package com.aiyou.utils;
import com.aiyou.bbs.bean.User;
import external.otherview.ActivitySplitAnimationUtil;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
/**
* Activity跳转函数类
*
* @author sollian
*/
public class ActivityFunc {
public static final String KEY_BACKGROUND = "background";
public static final String KEY_USER = "user";
public static void startActivity(Activity activity, Intent intent) {
activity.startActivity(intent);
// activity.overridePendingTransition(android.R.anim.fade_in, 0);
}
/**
* @param activity
* @param cls 要打开的Activity
* @param user 用户
* @param needAnim 是否需要中心打开动画
*/
public static void startActivity(Activity activity, Class<?> cls,
User user, boolean needAnim) {
Intent intent = new Intent(activity, cls);
if (!SwitchManager.getInstance(activity).isSimpleModeEnabled()) {
Drawable drawable = AiYouManager.getBlurBg(activity);
if (null != drawable) {
Bitmap bmp = ((BitmapDrawable) drawable).getBitmap();
intent.putExtra(KEY_BACKGROUND, bmp);
}
}
if (null != user) {
intent.putExtra(KEY_USER, user);
}
// 如果这个activity已经启动了,就不产生新的activity,而只是把这个activity实例加到栈顶来就可以了。
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
if (needAnim && !SwitchManager.getInstance(activity).isSimpleModeEnabled()) {
ActivitySplitAnimationUtil.startActivity(activity, intent, 0.9);
} else {
activity.startActivity(intent);
// activity.overridePendingTransition(android.R.anim.fade_in, 0);
}
}
/**
* 启动新的Activity
*
* @param activity
* @param cls 要启动的Activity
* @param user 用户
* @param requestCode
*/
public static void startActivityForResult(Activity activity, Class<?> cls,
User user, int requestCode) {
Intent intent = new Intent(activity, cls);
if (!SwitchManager.getInstance(activity).isSimpleModeEnabled()) {
Drawable drawable = AiYouManager.getBlurBg(activity);
if (null != drawable) {
Bitmap bmp = ((BitmapDrawable) drawable).getBitmap();
intent.putExtra(KEY_BACKGROUND, bmp);
}
}
if (null != user) {
intent.putExtra(KEY_USER, user);
}
// 如果这个activity已经启动了,就不产生新的activity,而只是把这个activity实例加到栈顶来就可以了。
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivityForResult(intent, requestCode);
// activity.overridePendingTransition(android.R.anim.fade_in, 0);
}
}