HelperUtil.java 7.73 KB
package com.cnlive.strike.util;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.text.TextUtils;
import android.util.Log;

import com.cnlive.strike.moudle.user.model.LoginSuccessInfo;
import com.cnlive.strike.moudle.user.model.UserConst;
import com.cnlive.strike.moudle.user.ui.activity.LoginActivity;

public class HelperUtil {
    private static final String activityClassName = "com.cnlive.strike.moduleuser.TestActivity";

//    public static boolean goTo(Activity context, int eventType) {
//        boolean result = true;
//        if (null == context) {
//            return result;
//        }
////        PackageManager packageManager = context.getPackageManager();
////        PackageInfo packageInfo = null;
////        try {
////            packageInfo = packageManager.getPackageInfo(
////                    context.getPackageName(), PackageManager.GET_ACTIVITIES);
////            for (ActivityInfo activity : packageInfo.activities) {
////                CharSequence labelSeq = activity.loadLabel(packageManager);
////                if (null == activity || null != labelSeq || null == activity.name || TextUtils.isEmpty(activity.name)) {
////                    if ("UserAPI".equals(labelSeq)) {
////                        Class<?> aClass = Class.forName(activity.name);
////                        Intent intent = new Intent(context, aClass);
////                        intent.putExtra("eventType", eventType);
////                        context.startActivity(intent);
////                        Log.e("回调结果", activity.name);
////                        result = true;
////                        break;
////                    } else {
////                        continue;
////                    }
////
////                } else {
////                    continue;
////                }
////            }
////        } catch (PackageManager.NameNotFoundException e) {
////            e.printStackTrace();
////        } catch (ClassNotFoundException e) {
////            e.printStackTrace();
////        }
//
//        try {
//            Class clz = Class.forName(activityClassName);
//            Intent intent = new Intent(context, clz);
//            intent.putExtra("eventType", eventType);
//            context.startActivity(intent);
//        } catch (ClassNotFoundException e) {
//            e.printStackTrace();
//            Log.d("error", e.toString());
//        }
//        return result;
//    }

    public static void isNewUser(Activity context, LoginSuccessInfo successInfo, boolean isHasOtherUserInfo) {
        if (null == context) {
            return;
        }
//        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        try {
            Class clz = Class.forName(activityClassName);
            Intent intent = new Intent(context, clz);
            intent.putExtra("eventType", UserConst.IS_NEW_USER);
            //有第三方平台数据
            if (isHasOtherUserInfo) {
                intent.putExtra("type", successInfo.getType());
                intent.putExtra("uri", successInfo.getUri());
                intent.putExtra(LoginActivity.TAG_CLICK_AD, successInfo.clickAd);
                intent.putExtra("sharetype", successInfo.getTagShare());
                if (!TextUtils.isEmpty(successInfo.getTagMsg())) {
                    intent.putExtra("classifyTagMsg", successInfo.getTagMsg());
                }
                context.startActivity(intent);
            } else {
                //没有第三方平台数据
                intent.putExtra(LoginActivity.TAG_MSG, TextUtils.isEmpty(successInfo.getTagMsg()) ? "" : successInfo.getTagMsg());
                intent.putExtra(LoginActivity.TAG_CLICK_AD, successInfo.clickAd);
                context.startActivity(intent);
                context.finish();
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            Log.d("error", e.toString());
        }
    }


    /**
     * 不是新用户
     *
     * @param context
     * @param successInfo
     */
    public static void isNotNewUser(Activity context, LoginSuccessInfo successInfo) {
        if (null == context) {
            return;
        }
        try {
            Class clz = Class.forName(activityClassName);
            Intent intent = new Intent(context, clz);
            intent.putExtra("eventType", UserConst.IS_NOT_NEW_USER);
            intent.putExtra("type", successInfo.getType());
            intent.putExtra("uri", successInfo.getUri());
            intent.putExtra(LoginActivity.TAG_CLICK_AD, successInfo.clickAd);
            intent.putExtra("sharetype", successInfo.getTagShare());
            if (!TextUtils.isEmpty(successInfo.getTagMsg())) {
                intent.putExtra("classifyTagMsg", successInfo.getTagMsg());
            }
            context.startActivity(intent);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            Log.d("error", e.toString());
        }
    }


    /**
     * 修改用户头像
     *
     * @param context
     * @param faceUrl
     */
    public static void modifyUserImage(Context context, String faceUrl) {
        if (null == context) {
            return;
        }
        try {
            Class clz = Class.forName(activityClassName);
            Intent intent = new Intent(context, clz);
            intent.putExtra("eventType", UserConst.MODIFY_USER_IMAGE);
            context.startActivity(intent);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            Log.d("error", e.toString());
        }
    }

    /**
     * 用户失效
     *
     * @param context
     */
    public static void userInvalid(Context context) {
        if (null == context) {
            return;
        }
        try {
            Class clz = Class.forName(activityClassName);
            Intent intent = new Intent(context, clz);
            intent.putExtra("eventType", UserConst.USER_INVALID);
            context.startActivity(intent);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            Log.d("error", e.toString());
        }
    }

    /**
     * 修改用户名称
     *
     * @param context
     */
    public static void modifyUserName(Context context, String nickName) {
        if (null == context) {
            return;
        }
        try {
            Class clz = Class.forName(activityClassName);
            Intent intent = new Intent(context, clz);
            intent.putExtra("eventType", UserConst.MODIFY_USER_NAME);
            intent.putExtra("nickName", nickName);

            context.startActivity(intent);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            Log.d("error", e.toString());
        }
    }


    /**
     * 下金币
     *
     * @param context
     * @param taskId
     * @param contentId
     * @param addtype
     * @param isDouyin
     */
    public static void goToCoinRainAction(Context context, String taskId, String contentId, String addtype, Boolean isDouyin) {
        if (null == context) {
            return;
        }
        try {
            Class clz = Class.forName(activityClassName);
            Intent intent = new Intent(context, clz);
            intent.putExtra("eventType", UserConst.COIN_RAIN_ACTION);
            intent.putExtra("taskId", taskId);
            intent.putExtra("contentId", contentId);
            intent.putExtra("addtype", addtype);
            intent.putExtra("isDouyin", isDouyin);

            context.startActivity(intent);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            Log.d("error", e.toString());
        }
    }

}