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

Commit 7a0969c6 authored by Yi Jiang's avatar Yi Jiang Committed by Android (Google) Code Review
Browse files

Merge "Introduces RotationResolverService to the system"

parents bcece2f0 0127af73
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ package android {
    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
@@ -133,6 +134,7 @@ package android {
    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
@@ -9961,6 +9963,37 @@ package android.service.resumeonreboot {
}
package android.service.rotationresolver {
  public final class RotationResolutionRequest implements android.os.Parcelable {
    method public int describeContents();
    method public int getCurrentRotation();
    method @NonNull public String getPackageName();
    method public int getProposedRotation();
    method public long getTimeoutMillis();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
  }
  public abstract class RotationResolverService extends android.app.Service {
    ctor public RotationResolverService();
    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
  }
  public static interface RotationResolverService.RotationResolverCallback {
    method public void onFailure(int);
    method public void onSuccess(int);
  }
}
package android.service.search {
  public abstract class SearchUiService extends android.app.Service {
+9 −0
Original line number Diff line number Diff line
@@ -3261,6 +3261,15 @@ public class ApplicationPackageManager extends PackageManager {
        }
    }

    @Override
    public String getRotationResolverPackageName() {
        try {
            return mPM.getRotationResolverPackageName();
        } catch (RemoteException e) {
            throw e.rethrowAsRuntimeException();
        }
    }

    @Override
    public String getWellbeingPackageName() {
        try {
+10 −0
Original line number Diff line number Diff line
@@ -4498,6 +4498,16 @@ public abstract class Context {
     */
    public static final String ATTENTION_SERVICE = "attention";

    /**
     * Official published name of the (internal) rotation resolver service.
     *
     * // TODO(b/178151184): change it back to rotation resolver before S release.
     *
     * @see #getSystemService(String)
     * @hide
     */
    public static final String ROTATION_RESOLVER_SERVICE = "resolver";

    /**
     * Use with {@link #getSystemService(String)} to retrieve a
     * {@link android.view.inputmethod.InputMethodManager} for accessing input
+2 −0
Original line number Diff line number Diff line
@@ -722,6 +722,8 @@ interface IPackageManager {

    String getAttentionServicePackageName();

    String getRotationResolverPackageName();

    String getWellbeingPackageName();

    String getAppPredictionServicePackageName();
+10 −0
Original line number Diff line number Diff line
@@ -8636,6 +8636,16 @@ public abstract class PackageManager {
                "getAttentionServicePackageName not implemented in subclass");
    }

    /**
     * @return rotation resolver service's package name, or null if there's none.
     *
     * @hide
     */
    public String getRotationResolverPackageName() {
        throw new UnsupportedOperationException(
                "getRotationResolverPackageName not implemented in subclass");
    }

    /**
     * @return the wellbeing app package name, or null if it's not defined by the OEM.
     *
Loading