@NonNull
    public static ActivityOptionsCompat makeClipRevealAnimation(@NonNull View source,
                                                                int startX, int startY, int width, int height) {
        if (Build.VERSION.SDK_INT >= 23) {
            return new ActivityOptionsCompatImpl(ActivityOptions.makeClipRevealAnimation(
                    source, startX, startY, width, height));
        }
        return new ActivityOptionsCompat();
    }
Create an ActivityOptions specifying an animation where the new
activity is revealed from a small originating area of the screen to
its final full representation.

@param source The View that the new activity is animating from.  This
              defines the coordinate space for <var>startX</var> and <var>startY</var>.
@param startX The x starting location of the new activity, relative to <var>source</var>.
@param startY The y starting location of the activity, relative to <var>source</var>.
@param width  The initial width of the new activity.
@param height The initial height of the new activity.
@return Returns a new ActivityOptions object that you can use to
supply these options as the options Bundle when starting an activity.
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/compat/ActivityOptionsCompat.java