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

Commit c74d0b6c authored by Craig Mautner's avatar Craig Mautner Committed by Android Git Automerger
Browse files

am 744e0a33: am 6dc499c6: Merge "Save and restore media metadata." into klp-dev

* commit '744e0a33':
  Save and restore media metadata.
parents 83ed1deb 744e0a33
Loading
Loading
Loading
Loading
+49 −5
Original line number Diff line number Diff line
@@ -104,8 +104,10 @@ public class KeyguardTransportControlView extends FrameLayout {
            new RemoteController.OnClientUpdateListener() {
        @Override
        public void onClientChange(boolean clearing) {
            if (clearing) {
                clearMetadata();
            }
        }

        @Override
        public void onClientPlaybackStateUpdate(int state) {
@@ -206,10 +208,10 @@ public class KeyguardTransportControlView extends FrameLayout {
            = new KeyguardUpdateMonitorCallback() {
        public void onScreenTurnedOff(int why) {
            setEnableMarquee(false);
        };
        }
        public void onScreenTurnedOn() {
            setEnableMarquee(true);
        };
        }
    };

    public KeyguardTransportControlView(Context context, AttributeSet attrs) {
@@ -328,6 +330,33 @@ public class KeyguardTransportControlView extends FrameLayout {
        removeCallbacks(mUpdateSeekBars);
    }

    @Override
    protected Parcelable onSaveInstanceState() {
        SavedState ss = new SavedState(super.onSaveInstanceState());
        ss.artist = mMetadata.artist;
        ss.trackTitle = mMetadata.trackTitle;
        ss.albumTitle = mMetadata.albumTitle;
        ss.duration = mMetadata.duration;
        ss.bitmap = mMetadata.bitmap;
        return ss;
    }

    @Override
    protected void onRestoreInstanceState(Parcelable state) {
        if (!(state instanceof SavedState)) {
            super.onRestoreInstanceState(state);
            return;
        }
        SavedState ss = (SavedState) state;
        super.onRestoreInstanceState(ss.getSuperState());
        mMetadata.artist = ss.artist;
        mMetadata.trackTitle = ss.trackTitle;
        mMetadata.albumTitle = ss.albumTitle;
        mMetadata.duration = ss.duration;
        mMetadata.bitmap = ss.bitmap;
        populateMetadata();
    }

    void setBadgeIcon(Drawable bmp) {
        mBadge.setImageDrawable(bmp);

@@ -587,6 +616,11 @@ public class KeyguardTransportControlView extends FrameLayout {

    static class SavedState extends BaseSavedState {
        boolean clientPresent;
        String artist;
        String trackTitle;
        String albumTitle;
        long duration;
        Bitmap bitmap;

        SavedState(Parcelable superState) {
            super(superState);
@@ -594,13 +628,23 @@ public class KeyguardTransportControlView extends FrameLayout {

        private SavedState(Parcel in) {
            super(in);
            this.clientPresent = in.readInt() != 0;
            clientPresent = in.readInt() != 0;
            artist = in.readString();
            trackTitle = in.readString();
            albumTitle = in.readString();
            duration = in.readLong();
            bitmap = Bitmap.CREATOR.createFromParcel(in);
        }

        @Override
        public void writeToParcel(Parcel out, int flags) {
            super.writeToParcel(out, flags);
            out.writeInt(this.clientPresent ? 1 : 0);
            out.writeInt(clientPresent ? 1 : 0);
            out.writeString(artist);
            out.writeString(trackTitle);
            out.writeString(albumTitle);
            out.writeLong(duration);
            bitmap.writeToParcel(out, flags);
        }

        public static final Parcelable.Creator<SavedState> CREATOR