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

Commit 8346ad0a authored by Gil Dobjanschi's avatar Gil Dobjanschi Committed by Android (Google) Code Review
Browse files

Merge "Fix invalidateTransition method"

parents 4aa2fe50 549a65b5
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ public abstract class Effect {

        mDurationMs = durationMs;

        mMediaItem.invalidateTransitions(this);
        mMediaItem.invalidateTransitions(mStartTimeMs, mDurationMs);
    }

    /**
@@ -113,7 +113,7 @@ public abstract class Effect {

        mStartTimeMs = startTimeMs;

        mMediaItem.invalidateTransitions(this);
        mMediaItem.invalidateTransitions(mStartTimeMs, mDurationMs);
    }

    /**
@@ -137,7 +137,7 @@ public abstract class Effect {
        mStartTimeMs = startTimeMs;
        mDurationMs = durationMs;

        mMediaItem.invalidateTransitions(this);
        mMediaItem.invalidateTransitions(mStartTimeMs, mDurationMs);
    }

    /**
+19 −0
Original line number Diff line number Diff line
@@ -206,6 +206,25 @@ public class MediaImageItem extends MediaItem {
        return thumbnailArray;
    }

    /*
     * {@inheritDoc}
     */
    @Override
    void invalidateTransitions(long startTimeMs, long durationMs) {
        // Check if the effect overlaps with the beginning and end transitions
        if (mBeginTransition != null) {
            if (startTimeMs < mBeginTransition.getDuration()) {
                mBeginTransition.invalidate();
            }
        }

        if (mEndTransition != null) {
            if (startTimeMs + durationMs > mDurationMs - mEndTransition.getDuration()) {
                mEndTransition.invalidate();
            }
        }
    }

    /**
     * Resize a bitmap to the specified width and height
     *
+7 −41
Original line number Diff line number Diff line
@@ -234,7 +234,7 @@ public abstract class MediaItem {
        }

        mEffects.add(effect);
        invalidateTransitions(effect);
        invalidateTransitions(effect.getStartTime(), effect.getDuration());
    }

    /**
@@ -252,7 +252,7 @@ public abstract class MediaItem {
        for (Effect effect : mEffects) {
            if (effect.getId().equals(effectId)) {
                mEffects.remove(effect);
                invalidateTransitions(effect);
                invalidateTransitions(effect.getStartTime(), effect.getDuration());
                return effect;
            }
        }
@@ -337,7 +337,7 @@ public abstract class MediaItem {
        }

        mOverlays.add(overlay);
        invalidateTransitions(overlay);
        invalidateTransitions(overlay.getStartTime(), overlay.getDuration());
    }

    /**
@@ -358,7 +358,7 @@ public abstract class MediaItem {
                if (overlay instanceof OverlayFrame) {
                    ((OverlayFrame)overlay).invalidate();
                }
                invalidateTransitions(overlay);
                invalidateTransitions(overlay.getStartTime(), overlay.getDuration());
                return overlay;
            }
        }
@@ -449,44 +449,10 @@ public abstract class MediaItem {
    /**
     * Invalidate the start and end transitions if necessary
     *
     * @param effect The effect that was added or removed
     * @param startTimeMs The start time of the effect or overlay
     * @param durationMs The duration of the effect or overlay
     */
    void invalidateTransitions(Effect effect) {
        // Check if the effect overlaps with the beginning and end transitions
        if (mBeginTransition != null) {
            if (effect.getStartTime() < mBeginTransition.getDuration()) {
                mBeginTransition.invalidate();
            }
        }

        if (mEndTransition != null) {
            if (effect.getStartTime() + effect.getDuration() > getDuration()
                    - mEndTransition.getDuration()) {
                mEndTransition.invalidate();
            }
        }
    }

    /**
     * Invalidate the start and end transitions if necessary
     *
     * @param overlay The effect that was added or removed
     */
    void invalidateTransitions(Overlay overlay) {
        // Check if the overlay overlaps with the beginning and end transitions
        if (mBeginTransition != null) {
            if (overlay.getStartTime() < mBeginTransition.getDuration()) {
                mBeginTransition.invalidate();
            }
        }

        if (mEndTransition != null) {
            if (overlay.getStartTime() + overlay.getDuration() > getDuration()
                    - mEndTransition.getDuration()) {
                mEndTransition.invalidate();
            }
        }
    }
    abstract void invalidateTransitions(long startTimeMs, long durationMs);

    /**
     * Adjust the duration transitions.
+19 −0
Original line number Diff line number Diff line
@@ -213,6 +213,25 @@ public class MediaVideoItem extends MediaItem {
        return null;
    }

    /*
     * {@inheritDoc}
     */
    @Override
    void invalidateTransitions(long startTimeMs, long durationMs) {
        // Check if the effect overlaps with the beginning and end transitions
        if (mBeginTransition != null) {
            if (startTimeMs < mBeginTransition.getDuration()) {
                mBeginTransition.invalidate();
            }
        }

        if (mEndTransition != null) {
            if (startTimeMs + durationMs > mEndBoundaryTimeMs - mEndTransition.getDuration()) {
                mEndTransition.invalidate();
            }
        }
    }

    /*
     * {@inheritDoc}
     */
+3 −3
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ public abstract class Overlay {

        mDurationMs = durationMs;

        mMediaItem.invalidateTransitions(this);
        mMediaItem.invalidateTransitions(mStartTimeMs, mDurationMs);
    }

    /**
@@ -122,7 +122,7 @@ public abstract class Overlay {

        mStartTimeMs = startTimeMs;

        mMediaItem.invalidateTransitions(this);
        mMediaItem.invalidateTransitions(mStartTimeMs, mDurationMs);
    }

    /**
@@ -139,7 +139,7 @@ public abstract class Overlay {
        mStartTimeMs = startTimeMs;
        mDurationMs = durationMs;

        mMediaItem.invalidateTransitions(this);
        mMediaItem.invalidateTransitions(mStartTimeMs, mDurationMs);
    }

    /**
Loading