package cn.jmessage.android.uikit.groupchatdetail;

import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.WindowManager;

import cn.jpush.im.android.api.JMessageClient;
import cn.jpush.im.android.api.event.UserLogoutEvent;

/**
 * Created by Ken on 2015/3/13.
 */

/**
 * 主要用于一些初始化的动作
 */
public class BaseActivity extends Activity {
    private static final String TAG = "BaseActivity";

    protected BaseHandler mHandler;
    protected float mDensity;
    protected int mDensityDpi;
    protected int mAvatarSize;
    protected int mWidth;
    protected int mHeight;
    private Dialog mDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        //初始化JMessage-sdk
        JMessageClient.init(this);
        //订阅接收消息 这里主要是添加或删除群成员的event
        JMessageClient.registerEventReceiver(this);
        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        mDensity = dm.density;
        mDensityDpi = dm.densityDpi;
        mWidth = dm.widthPixels;
        mHeight = dm.heightPixels;
        mAvatarSize = (int) (50 * mDensity);
    }

    @Override
    protected void onDestroy() {
        JMessageClient.unRegisterEventReceiver(this);
        super.onDestroy();
    }

    public class BaseHandler extends Handler {

        @Override
        public void handleMessage(Message msg) {
            handleMsg(msg);
        }
    }

    public void handleMsg(Message message) {
    }

    public void onEventMainThread(UserLogoutEvent event) {
        Context context = BaseActivity.this;
        String title = context.getString(IdHelper.getString(context, "jmui_user_logout_dialog_title"));
        String msg = context.getString(IdHelper.getString(context, "jmui_user_logout_dialog_message"));
        mDialog = DialogCreator.createBaseCustomDialog(context, title, msg, onClickListener);
        mDialog.getWindow().setLayout((int) (0.8 * mWidth), WindowManager.LayoutParams.WRAP_CONTENT);
        mDialog.show();
    }

    private View.OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mDialog.dismiss();
        }
    };

}