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

Commit ae136715 authored by Shubang Lu's avatar Shubang Lu Committed by Android (Google) Code Review
Browse files

Merge changes I004dceb4,I0ae8fccd into main

* changes:
  [MQ] Add more names for picture profile
  [MQ] Handle active profile listener
parents 3ee025de cc25e5a2
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -31,16 +31,26 @@ import androidx.annotation.NonNull;
public final class ActiveProcessingPicture implements Parcelable {
    private final int mId;
    private final String mProfileId;
    private final boolean mForGlobal;

    public ActiveProcessingPicture(int id, @NonNull String profileId) {
        mId = id;
        mProfileId = profileId;
        mForGlobal = true;
    }

    /** @hide */
    public ActiveProcessingPicture(int id, @NonNull String profileId, boolean forGlobal) {
        mId = id;
        mProfileId = profileId;
        mForGlobal = forGlobal;
    }

    /** @hide */
    ActiveProcessingPicture(Parcel in) {
        mId = in.readInt();
        mProfileId = in.readString();
        mForGlobal = in.readBoolean();
    }

    @NonNull
@@ -73,6 +83,14 @@ public final class ActiveProcessingPicture implements Parcelable {
        return mProfileId;
    }

    /**
     * @hide
     */
    @NonNull
    public boolean isForGlobal() {
        return mForGlobal;
    }

    @Override
    public int describeContents() {
        return 0;
@@ -82,5 +100,6 @@ public final class ActiveProcessingPicture implements Parcelable {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeInt(mId);
        dest.writeString(mProfileId);
        dest.writeBoolean(mForGlobal);
    }
}
+29 −0
Original line number Diff line number Diff line
@@ -214,11 +214,31 @@ public final class MediaQualityManager {
            }
        };

        IActiveProcessingPictureListener apListener = new IActiveProcessingPictureListener.Stub() {
            @Override
            public void onActiveProcessingPicturesChanged(List<ActiveProcessingPicture> aps) {
                List<ActiveProcessingPicture> nonGlobal = new ArrayList<>();
                for (ActiveProcessingPicture ap : aps) {
                    if (!ap.isForGlobal()) {
                        nonGlobal.add(ap);
                    }
                }
                for (ActiveProcessingPictureListenerRecord record : mApListenerRecords) {
                    if (record.mIsGlobal) {
                        record.postActiveProcessingPicturesChanged(aps);
                    } else {
                        record.postActiveProcessingPicturesChanged(nonGlobal);
                    }
                }
            }
        };

        try {
            if (mService != null) {
                mService.registerPictureProfileCallback(ppCallback);
                mService.registerSoundProfileCallback(spCallback);
                mService.registerAmbientBacklightCallback(abCallback);
                mService.registerActiveProcessingPictureListener(apListener);
            }
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
@@ -1225,6 +1245,15 @@ public final class MediaQualityManager {
        public Consumer<List<ActiveProcessingPicture>> getListener() {
            return mListener;
        }

        public void postActiveProcessingPicturesChanged(List<ActiveProcessingPicture> aps) {
            mExecutor.execute(new Runnable() {
                @Override
                public void run() {
                    mListener.accept(aps);
                }
            });
        }
    }

    /**
+14 −0
Original line number Diff line number Diff line
@@ -140,6 +140,20 @@ public final class PictureProfile implements Parcelable {
     */
    public static final String STATUS_HDR = "HDR";

    /** @hide */
    public static final String NAME_STANDARD = "standard";
    /** @hide */
    public static final String NAME_VIVID = "vivid";
    /** @hide */
    public static final String NAME_SPORTS = "sports";
    /** @hide */
    public static final String NAME_GAME = "game";
    /** @hide */
    public static final String NAME_MOVIE = "movie";
    /** @hide */
    public static final String NAME_ENERGY_SAVING = "energy_saving";
    /** @hide */
    public static final String NAME_USER = "user";

    private PictureProfile(@NonNull Parcel in) {
        mId = in.readString();
+28 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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.quality;

import android.media.quality.ActiveProcessingPicture;

/**
 * Interface to receive event from media quality service.
 * @hide
 */
oneway interface IActiveProcessingPictureListener {
    void onActiveProcessingPicturesChanged(in List<ActiveProcessingPicture> ap);
}
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.media.quality;

import android.media.quality.AmbientBacklightSettings;
import android.media.quality.IActiveProcessingPictureListener;
import android.media.quality.IAmbientBacklightCallback;
import android.media.quality.IPictureProfileCallback;
import android.media.quality.ISoundProfileCallback;
@@ -70,6 +71,7 @@ interface IMediaQualityManager {
    void registerPictureProfileCallback(in IPictureProfileCallback cb);
    void registerSoundProfileCallback(in ISoundProfileCallback cb);
    void registerAmbientBacklightCallback(in IAmbientBacklightCallback cb);
    void registerActiveProcessingPictureListener(in IActiveProcessingPictureListener l);

    List<ParameterCapability> getParameterCapabilities(in List<String> names, int userId);

Loading