Source code
package android.support.v4.app;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Build.VERSION;
import android.os.Bundle;
import android.support.v4.util.Pair;
import android.view.View;
public class ActivityOptionsCompat {
private static class ActivityOptionsImpl21 extends ActivityOptionsCompat {
private final ActivityOptionsCompat21 mImpl;
ActivityOptionsImpl21(ActivityOptionsCompat21 impl) {
this.mImpl = impl;
}
public Bundle toBundle() {
return this.mImpl.toBundle();
}
public void update(ActivityOptionsCompat otherOptions) {
if (otherOptions instanceof ActivityOptionsImpl21) {
this.mImpl.update(((ActivityOptionsImpl21) otherOptions).mImpl);
}
}
}
private static class ActivityOptionsImplJB extends ActivityOptionsCompat {
private final ActivityOptionsCompatJB mImpl;
ActivityOptionsImplJB(ActivityOptionsCompatJB impl) {
this.mImpl = impl;
}
public Bundle toBundle() {
return this.mImpl.toBundle();
}
public void update(ActivityOptionsCompat otherOptions) {
if (otherOptions instanceof ActivityOptionsImplJB) {
this.mImpl.update(((ActivityOptionsImplJB) otherOptions).mImpl);
}
}
}
public static ActivityOptionsCompat makeCustomAnimation(Context context, int enterResId, int exitResId) {
if (VERSION.SDK_INT >= 16) {
return new ActivityOptionsImplJB(ActivityOptionsCompatJB.makeCustomAnimation(context, enterResId, exitResId));
}
return new ActivityOptionsCompat();
}
public static ActivityOptionsCompat makeScaleUpAnimation(View source, int startX, int startY, int startWidth, int startHeight) {
if (VERSION.SDK_INT >= 16) {
return new ActivityOptionsImplJB(ActivityOptionsCompatJB.makeScaleUpAnimation(source, startX, startY, startWidth, startHeight));
}
return new ActivityOptionsCompat();
}
public static ActivityOptionsCompat makeThumbnailScaleUpAnimation(View source, Bitmap thumbnail, int startX, int startY) {
if (VERSION.SDK_INT >= 16) {
return new ActivityOptionsImplJB(ActivityOptionsCompatJB.makeThumbnailScaleUpAnimation(source, thumbnail, startX, startY));
}
return new ActivityOptionsCompat();
}
public static ActivityOptionsCompat makeSceneTransitionAnimation(Activity activity, View sharedElement, String sharedElementName) {
if (VERSION.SDK_INT >= 21) {
return new ActivityOptionsImpl21(ActivityOptionsCompat21.makeSceneTransitionAnimation(activity, sharedElement, sharedElementName));
}
return new ActivityOptionsCompat();
}
public static ActivityOptionsCompat makeSceneTransitionAnimation(Activity activity, Pair<View, String>... sharedElements) {
if (VERSION.SDK_INT < 21) {
return new ActivityOptionsCompat();
}
View[] views = null;
String[] names = null;
if (sharedElements != null) {
views = new View[sharedElements.length];
names = new String[sharedElements.length];
for (int i = 0; i < sharedElements.length; i++) {
views[i] = (View) sharedElements[i].first;
names[i] = (String) sharedElements[i].second;
}
}
return new ActivityOptionsImpl21(ActivityOptionsCompat21.makeSceneTransitionAnimation(activity, views, names));
}
protected ActivityOptionsCompat() {
}
public Bundle toBundle() {
return null;
}
public void update(ActivityOptionsCompat otherOptions) {
}
}