package com.edufound.reader.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;

import com.orhanobut.logger.Logger;


/**
 * 特定情况下页面返回上一个页面需要修改参数乱七八糟的
 */
public class BackPageReceiver extends BroadcastReceiver {


    /**
     * 评论,他人页面返回回来要刷新单独的videoitem来修改UI(是否关注和评论数)
     */
    public static final String BACK_HOME_REF_VIDEO_ITEM = "com.edufound.reader.back.home.ref.video.item";

    /**
     * 从小红花界面/个人信息修改界面回来刷新用户信息
     */
    public static final String BACK_HOME_REF_USER_INFO = "com.edufound.reader.back.home.ref.user.info";

    /**
     * 通知删除item
     * */
    public static final String BACK_HOME_REMOVE_VIDEO_ITEM="com.edufound.reader.back.home.remove.video.item";


    private static boolean isRegister = false;

    private static onBackPage mBackListener;

    private static class InstanceHolder {
        private static final BackPageReceiver INSTANCE = new BackPageReceiver();
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        mBackListener.pageBack(intent);
    }

    public static void registerReceiver(Context context, String action) {

        if(action.equals(BACK_HOME_REMOVE_VIDEO_ITEM)){
            Logger.e("注册删除广播");
        }
        IntentFilter intentFilter = new IntentFilter(action);
        context.registerReceiver(BackPageReceiver.InstanceHolder.INSTANCE, intentFilter);
        isRegister = true;
    }


    public static void registerBackPageReceiverListener(onBackPage listener) {
        mBackListener = listener;
    }

    public static void unRegisterReceiver(Context context) {
        if (isRegister) {
            context.unregisterReceiver(BackPageReceiver.InstanceHolder.INSTANCE);
            isRegister = false;
        }
    }


    public interface onBackPage {
        void pageBack(Intent intent);
    }
}