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

Commit 9c862eab authored by Anthony Stange's avatar Anthony Stange
Browse files

Revert "Introduce listUIChanges API for developer UI"

Revert "Show only listUIChanges instead of all"

Revert submission 10721220-hide

Reason for revert: Caused build breakage - b/151857606
Reverted Changes:
I7c725a1ec:Show only listUIChanges instead of all
Iec8755171:Introduce listUIChanges API for developer UI

Change-Id: I53ea91ee96bb6cb45e31e5fce58826cc59e58df6
parent 373b2a21
Loading
Loading
Loading
Loading
+0 −37
Original line number Diff line number Diff line
@@ -93,43 +93,6 @@ public class CompatibilityChangeInfo implements Parcelable {
        dest.writeString(mDescription);
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder("CompatibilityChangeInfo(")
                .append(getId());
        if (getName() != null) {
            sb.append("; name=").append(getName());
        }
        if (getEnableAfterTargetSdk() != -1) {
            sb.append("; enableAfterTargetSdk=").append(getEnableAfterTargetSdk());
        }
        if (getDisabled()) {
            sb.append("; disabled");
        }
        if (getLoggingOnly()) {
            sb.append("; loggingOnly");
        }
        return sb.append(")").toString();
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || !(o instanceof CompatibilityChangeInfo)) {
            return false;
        }
        CompatibilityChangeInfo that = (CompatibilityChangeInfo) o;
        return this.mChangeId == that.mChangeId
                && this.mName.equals(that.mName)
                && this.mEnableAfterTargetSdk == that.mEnableAfterTargetSdk
                && this.mDisabled == that.mDisabled
                && this.mLoggingOnly == that.mLoggingOnly
                && this.mDescription.equals(that.mDescription);

    }

    public static final Parcelable.Creator<CompatibilityChangeInfo> CREATOR =
            new Parcelable.Creator<CompatibilityChangeInfo>() {

+0 −8
Original line number Diff line number Diff line
@@ -221,14 +221,6 @@ interface IPlatformCompat
     */
    CompatibilityChangeInfo[] listAllChanges();

    /**
    * List the compatibility changes that should be present in the UI.
    * Filters out certain changes like e.g. logging only.
    *
    * @return An array of {@link CompatChangeInfo}.
    */
    CompatibilityChangeInfo[] listUIChanges();

    /**
     * Get an instance that can determine whether a changeid can be overridden for a package name.
     */
+0 −24
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManagerInternal;
import android.os.Binder;
import android.os.Build;
import android.os.RemoteException;
import android.os.UserHandle;
import android.util.Slog;
@@ -45,7 +44,6 @@ import com.android.server.LocalServices;

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Arrays;

/**
 * System server internal API for gating and reporting compatibility changes.
@@ -58,9 +56,6 @@ public class PlatformCompat extends IPlatformCompat.Stub {
    private final ChangeReporter mChangeReporter;
    private final CompatConfig mCompatConfig;

    private static int sMinTargetSdk = Build.VERSION_CODES.P;
    private static int sMaxTargetSdk = Build.VERSION_CODES.Q;

    public PlatformCompat(Context context) {
        mContext = context;
        mChangeReporter = new ChangeReporter(
@@ -225,12 +220,6 @@ public class PlatformCompat extends IPlatformCompat.Stub {
        return mCompatConfig.dumpChanges();
    }

    @Override
    public CompatibilityChangeInfo[] listUIChanges() {
        return Arrays.stream(listAllChanges()).filter(
                x -> isShownInUI(x)).toArray(CompatibilityChangeInfo[]::new);
    }

    /**
     * Check whether the change is known to the compat config.
     *
@@ -350,17 +339,4 @@ public class PlatformCompat extends IPlatformCompat.Stub {
        checkCompatChangeReadPermission();
        checkCompatChangeLogPermission();
    }

    private boolean isShownInUI(CompatibilityChangeInfo change) {
        if (change.getLoggingOnly()) {
            return false;
        }
        if (change.getEnableAfterTargetSdk() != 0) {
            if (change.getEnableAfterTargetSdk() < sMinTargetSdk
                    || change.getEnableAfterTargetSdk() > sMaxTargetSdk) {
                return false;
            }
        }
        return true;
    }
}
+0 −43
Original line number Diff line number Diff line
@@ -30,12 +30,10 @@ import static org.testng.Assert.assertThrows;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.PackageManagerInternal;
import android.os.Build;

import androidx.test.runner.AndroidJUnit4;

import com.android.internal.compat.AndroidBuildClassifier;
import com.android.internal.compat.CompatibilityChangeInfo;
import com.android.server.LocalServices;

import org.junit.Before;
@@ -79,47 +77,6 @@ public class PlatformCompatTest {
        LocalServices.addService(PackageManagerInternal.class, mPackageManagerInternal);
    }

    @Test
    public void testListAllChanges() {
        mCompatConfig = CompatConfigBuilder.create(mBuildClassifier, mContext)
                .addEnabledChangeWithId(1L)
                .addDisabledChangeWithIdAndName(2L, "change2")
                .addTargetSdkChangeWithIdAndDescription(Build.VERSION_CODES.O, 3L, "description")
                .addTargetSdkChangeWithId(Build.VERSION_CODES.P, 4L)
                .addTargetSdkChangeWithId(Build.VERSION_CODES.Q, 5L)
                .addTargetSdkChangeWithId(Build.VERSION_CODES.R, 6L)
                .addLoggingOnlyChangeWithId(7L)
                .build();
        mPlatformCompat = new PlatformCompat(mContext, mCompatConfig);
        assertThat(mPlatformCompat.listAllChanges()).asList().containsExactly(
                new CompatibilityChangeInfo(1L, "", -1, false, false, ""),
                new CompatibilityChangeInfo(2L, "change2", -1, true, false, ""),
                new CompatibilityChangeInfo(3L, "", Build.VERSION_CODES.O, false, false,
                        "description"),
                new CompatibilityChangeInfo(4L, "", Build.VERSION_CODES.P, false, false, ""),
                new CompatibilityChangeInfo(5L, "", Build.VERSION_CODES.Q, false, false, ""),
                new CompatibilityChangeInfo(6L, "", Build.VERSION_CODES.R, false, false, ""),
                new CompatibilityChangeInfo(7L, "", -1, false, true, ""));
    }

    public void testListUIChanges() {
        mCompatConfig = CompatConfigBuilder.create(mBuildClassifier, mContext)
                .addEnabledChangeWithId(1L)
                .addDisabledChangeWithIdAndName(2L, "change2")
                .addTargetSdkChangeWithIdAndDescription(Build.VERSION_CODES.O, 3L, "description")
                .addTargetSdkChangeWithId(Build.VERSION_CODES.P, 4L)
                .addTargetSdkChangeWithId(Build.VERSION_CODES.Q, 5L)
                .addTargetSdkChangeWithId(Build.VERSION_CODES.R, 6L)
                .addLoggingOnlyChangeWithId(7L)
                .build();
        mPlatformCompat = new PlatformCompat(mContext, mCompatConfig);
        assertThat(mPlatformCompat.listUIChanges()).asList().containsExactly(
                new CompatibilityChangeInfo(1L, "", -1, false, false, ""),
                new CompatibilityChangeInfo(2L, "change2", -1, true, false, ""),
                new CompatibilityChangeInfo(4L, "", Build.VERSION_CODES.P, false, false, ""),
                new CompatibilityChangeInfo(5L, "", Build.VERSION_CODES.Q, false, false, ""));
    }

    @Test
    public void testRegisterListenerToSameIdThrows() throws Exception {
        // Registering a listener to change 1 is successful.