code: @Nullable
      public static ViewPropertyAnimator makeScaleDownAnimation(Activity a) {
          Rect to = a.getIntent().getSourceBounds();
          return to != null ? makeScaleDownAnimation(a, to) : null;
      }
docs: Scale the Activity down to the rectangle provided by its
  {@link Intent#getSourceBounds() getIntent().getSourceBounds()}. To see the Activity behind
  this one, you must include the below attributes[1] in your Activity theme. You may further
  modify the animator, for example to fade out the Activity by decreasing its
  {@link ViewPropertyAnimator#alpha(float) alpha} and/or set an
  {@link ViewPropertyAnimator#withEndAction(Runnable) end action} that finishes the Activity.
  When finishing the Activity in this way, you may wish to also call
  {@link Activity#overridePendingTransition(int, int) Activity.overridePendingTransition(0,
  0)} in order to prevent the system Activity close animation from running.
  <p>
  1. Activity theme attributes
  </p>
  {@code <item name="android:windowBackground">@android:color/transparent</item>}<br/>
  {@code <item name="android:windowIsTranslucent">true</item>}
  
  @return null when the Activity's Intent does not have
  {@link Intent#getSourceBounds() source bounds}
  @see ActivityOptions#makeScaleUpAnimation(View, int, int, int, int)