PushHelper.java 5.02 KB
package com.cnlive.goldenline.util;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.util.Log;
import android.view.Gravity;
import android.widget.Toast;

import com.cnlive.goldenline.model.response.bean.LiveShowBean;
import com.cnlive.goldenline.model.response.bean.VideoDemandBean;
import com.cnlive.goldenline.ui.activity.DianBoPlayerActivity;
import com.cnlive.goldenline.ui.activity.LiveShowActivity;
import com.cnlive.goldenline.ui.activity.MyTicketActivity;
import com.cnlive.goldenline.ui.activity.TheatreInfoActivity;
import com.cnlive.goldenline.ui.activity.WalletActivity;
import com.cnlive.goldenline.ui.activity.WebViewActivity;
import com.cnlive.goldenline.ui.activity.act.ActActivity;

/**
 * Created by Sivin on 2017/3/23.
 */

public class PushHelper {

    /**
     * 充值成功----->
     */
    public static final String PUSH_TYPE_AUTO_RECHARGE_SUCCESS = "101";

    /**
     * 预约成功---->
     */
    public static final String PUSH_TYPE_AUTO_RESERVATION_SUCCESS = "102";


    /**
     * 即将直播---->
     */
    public static final String PUSH_TYPE_AUTO_ABOUT_TO_START = "103";


    /**
     * 直播详情页--->
     */
    public static final String PUSH_TYPE_MANUAL_LIVE_DETAILS = "201";


    /**
     * 点播详情页
     */
    public static final String PUSH_TYPE_MANUAL_DEMAND_DETAILS = "202";

    /**
     * 活动详情页
     */
    public static final String PUSH_TYPE_MANUAL_EVENT_DETAILS = "203";


    /**
     * 剧场详情页
     */
    public static final String PUSH_TYPE_MANUAL_THEATER_DETAILS = "204";


    /**
     * url
     */
    public static final String PUSH_TYPE_MANUAL_URL = "205";


    public static Intent getIntent(@NonNull Context ctx, @NonNull String type, String jsonStr) {

        Log.e("push", "getIntent: ");
        Intent intent = null;

        switch (type) {

            case PUSH_TYPE_AUTO_RECHARGE_SUCCESS:// 支付成功推送
                if (isLogin(ctx)) {
                    intent = new Intent(ctx, WalletActivity.class);
                }
                break;

            case PUSH_TYPE_AUTO_RESERVATION_SUCCESS: //预约成功推送
                if (isLogin(ctx))
                    intent = new Intent(ctx, MyTicketActivity.class);
                break;


            case PUSH_TYPE_AUTO_ABOUT_TO_START: // 即将开始直播
                if (isLogin(ctx)){
                    intent = new Intent(ctx, MyTicketActivity.class);
                }
                break;

            case PUSH_TYPE_MANUAL_LIVE_DETAILS:  //直播详情推送

                if (jsonStr != null && isLogin(ctx)) {
                    Log.e("push", "live: ");
                    LiveShowBean liveShowBean = JsonParser.getParseBean(jsonStr, LiveShowBean.class);
                    if (liveShowBean != null) {
                        Log.e("push", "live: 2");
                        Bundle bundle = new Bundle();
                        bundle.putParcelable("data", liveShowBean);
                        intent = new Intent(ctx, LiveShowActivity.class);
                        intent.putExtras(bundle);
                    }
                }
                break;

            case PUSH_TYPE_MANUAL_DEMAND_DETAILS: //点播详情推送
                if (jsonStr != null) {
                    VideoDemandBean dianboBean = JsonParser.getParseBean(jsonStr, VideoDemandBean.class);
                    if (dianboBean != null) {
                        intent = new Intent(ctx, DianBoPlayerActivity.class);
                        intent.putExtra("data", dianboBean);
                    }
                }

                break;

            case PUSH_TYPE_MANUAL_EVENT_DETAILS:  //活动详情推送
                if(jsonStr !=null && isLogin(ctx)){
                    intent = new Intent(ctx, ActActivity.class);
                    intent.putExtra("actionId", jsonStr);
                }
                break;

            case PUSH_TYPE_MANUAL_URL:  //Url推送

                if(jsonStr != null){
                    Log.e("url", "getIntent: "+jsonStr);
                    Bundle bundle = new Bundle();
                    bundle.putString("url",jsonStr);
                    intent = new Intent(ctx, WebViewActivity.class);
                    intent.putExtra("url",bundle);
                }

                break;

            case PUSH_TYPE_MANUAL_THEATER_DETAILS: //剧院推送
                if (jsonStr != null) {
                    intent = new Intent(ctx, TheatreInfoActivity.class);
                    intent.putExtra("id",jsonStr);
                }
                break;
        }
        return intent;
    }


    private static boolean isLogin(Context context) {

        boolean isLogin = new UserService(context).isAutoLogin();
        if (!isLogin) {
            Log.e("test", "isLogin  : " );
            Toast toast = Toast.makeText(context, "请先登录",Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER, 0, 0);
            toast.show();
        }
        return isLogin;
    }


}