Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab36ee2d authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 5389215 from 3b7df49b to qt-release

Change-Id: I0f5807fb03fc81ef756df50860bbc9c56e890270
parents 3e3ce441 3b7df49b
Loading
Loading
Loading
Loading
+25 −8
Original line number Diff line number Diff line
@@ -772,7 +772,6 @@ java_defaults {
        "android.hardware.vibrator-V1.3-java",
        "android.hardware.wifi-V1.0-java-constants",
        "networkstack-aidl-framework-java",
        "netd_aidl_parcelables-java",
        "devicepolicyprotosnano",
    ],

@@ -912,6 +911,9 @@ aidl_interface {
        "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: {
@@ -925,13 +927,21 @@ aidl_interface {
}

aidl_interface {
    name: "networkstack-aidl-framework",
    name: "ipmemorystore-aidl-interfaces",
    local_include_dir: "core/java",
    srcs: [
        "core/java/android/net/TcpKeepalivePacketDataParcelable.aidl",
        "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",
    ],
    api_dir: "aidl/networkstack",
    backend: {
        java: {
@@ -941,18 +951,25 @@ aidl_interface {
}

filegroup {
    name: "framework-networkstack-shared-srcs",
    name: "framework-annotations",
    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",
        "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",
    ]
}

filegroup {
    name: "framework-networkstack-shared-srcs",
    srcs: [
        // TODO: remove these annotations as soon as we can use andoid.support.annotations.*
        ":framework-annotations",
        "core/java/android/net/DhcpResults.java",
        "core/java/android/util/LocalLog.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",
+40 −24
Original line number Diff line number Diff line
@@ -5429,7 +5429,7 @@ package android.app {
    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 public android.os.Bundle getExtras();
    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);
@@ -12016,7 +12016,7 @@ package android.content.pm {
    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);
@@ -23294,6 +23294,7 @@ package android.media {
    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
@@ -25698,14 +25699,14 @@ package android.media {
  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 {
@@ -25713,13 +25714,13 @@ package android.media {
  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 {
@@ -25750,7 +25751,7 @@ package android.media {
  }
  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 {
@@ -28757,10 +28758,9 @@ package android.net {
  }
  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
@@ -28770,12 +28770,23 @@ package android.net {
    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.AnswerParser<T> {
    method @NonNull public T parse(@NonNull byte[]) throws android.net.ParseException;
  }
  public static interface DnsResolver.RawAnswerListener {
    method public void onAnswer(@Nullable byte[]);
  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 {
@@ -29090,6 +29101,8 @@ package android.net {
  }
  public class ParseException extends java.lang.RuntimeException {
    ctor public ParseException(@NonNull String);
    ctor public ParseException(@NonNull String, @NonNull Throwable);
    field public String response;
  }
@@ -45049,7 +45062,6 @@ package android.telephony {
    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);
@@ -51944,6 +51956,7 @@ package android.view {
    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();
@@ -51955,6 +51968,7 @@ package android.view {
    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();
@@ -51970,9 +51984,11 @@ package android.view {
    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 {
@@ -53017,7 +53033,7 @@ package android.view.contentcapture {
    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;
  }
+35 −37

File changed.

Preview size limit exceeded, changes collapsed.

+17 −18
Original line number Diff line number Diff line
@@ -727,6 +727,7 @@ package android.content.rollback {
    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
@@ -1305,11 +1306,14 @@ package android.net {

package android.net.apf {

  public class ApfCapabilities {
  public final class ApfCapabilities implements android.os.Parcelable {
    ctor public ApfCapabilities(int, int, int);
    method public int describeContents();
    method public static boolean getApfDrop8023Frames(android.content.Context);
    method public static int[] getApfEthTypeBlackList(android.content.Context);
    method public boolean hasDataAccess();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
    field public final int apfPacketFormat;
    field public final int apfVersionSupported;
    field public final int maximumApfProgramSize;
@@ -1507,16 +1511,16 @@ package android.net.metrics {

package android.net.util {

  public class SocketUtils {
  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 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, @NonNull byte[]);
    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;
  }

@@ -2067,6 +2071,8 @@ package android.provider {
    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 {
@@ -2092,13 +2098,6 @@ package android.provider {
    method @Nullable public String getString(@NonNull String, @Nullable String);
  }

  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 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;
@@ -3176,19 +3175,19 @@ package android.view.inspector {

  @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();
@@ -3217,7 +3216,7 @@ package android.widget {
  }

  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
  }
@@ -3253,7 +3252,7 @@ package android.widget {
    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
+13 −11
Original line number Diff line number Diff line
@@ -310,7 +310,7 @@ message Atom {
        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;
@@ -3311,25 +3311,27 @@ message BatteryCycleCount {
}

/**
 * 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;
}

/*
Loading