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

Commit 81f76a08 authored by Anton Hansson's avatar Anton Hansson
Browse files

Tweak the getPartitions API

- Rename methods
- Annotate public APIs with @NonNull
- implement equals/hashcode

Bug: 117146036
Bug: 112584519
Test: atest BuildVersionTest
Change-Id: I0b55e7f8e240948e674a981b280d8c8c94de6f8e
parent 9cb1e613
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -32523,7 +32523,7 @@ package android.os {
  public class Build {
    ctor public Build();
    method public static java.util.List<android.os.Build.Partition> getPartitions();
    method public static java.util.List<android.os.Build.Partition> getFingerprintedPartitions();
    method public static java.lang.String getRadioVersion();
    method public static java.lang.String getSerial();
    field public static final java.lang.String BOARD;
@@ -32554,9 +32554,9 @@ package android.os {
  public static class Build.Partition {
    ctor public Build.Partition();
    method public long getBuildTimeMillis();
    method public java.lang.String getFingerprint();
    method public java.lang.String getName();
    method public long getTimeMillis();
    field public static final java.lang.String PARTITION_NAME_SYSTEM = "system";
  }
+22 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.os;

import android.Manifest;
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.TestApi;
@@ -1103,19 +1104,37 @@ public class Build {
        }

        /** The name of this partition, e.g. "system", or "vendor" */
        @NonNull
        public String getName() {
            return mName;
        }

        /** The build fingerprint of this partition, see {@link Build#FINGERPRINT}. */
        @NonNull
        public String getFingerprint() {
            return mFingerprint;
        }

        /** The time (ms since epoch), at which this partition was built, see {@link Build#TIME}. */
        public long getTimeMillis() {
        public long getBuildTimeMillis() {
            return mTimeMs;
        }

        @Override
        public boolean equals(Object o) {
            if (!(o instanceof Partition)) {
                return false;
            }
            Partition op = (Partition) o;
            return mName.equals(op.mName)
                    && mFingerprint.equals(op.mFingerprint)
                    && mTimeMs == op.mTimeMs;
        }

        @Override
        public int hashCode() {
            return Objects.hash(mName, mFingerprint, mTimeMs);
        }
    }

    /**
@@ -1124,7 +1143,8 @@ public class Build {
     * The list includes partitions that are suitable candidates for over-the-air updates. This is
     * not an exhaustive list of partitions on the device.
     */
    public static List<Partition> getPartitions() {
    @NonNull
    public static List<Partition> getFingerprintedPartitions() {
        ArrayList<Partition> partitions = new ArrayList();

        String[] names = new String[] {