BaseActivity.java 3.88 KB
package com.cnlive.goldenline.ui.base;

import android.app.ProgressDialog;
import android.os.Bundle;
import android.support.annotation.DrawableRes;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;

import com.cnlive.goldenline.R;
import com.cnlive.goldenline.ui.widget.CNAccelerometerSensor;
import com.cnlive.goldenline.util.MD5_c;
import com.umeng.analytics.MobclickAgent;
import com.umeng.message.PushAgent;

import butterknife.BindView;
import butterknife.ButterKnife;


/**
 * Created by zuoxian on 15/9/7.
 */
public abstract class BaseActivity extends AppCompatActivity implements View.OnClickListener {
    private MD5_c md5_c;
    @Nullable
    @BindView(R.id.toolbar)
    protected Toolbar toobar;

    @Nullable
    @BindView(R.id.img_logo)
    protected ImageView img_logo;

    @Nullable
    @BindView(R.id.toolbar_title)
    public TextView tv_title;

    @Nullable
    @BindView(R.id.btn_go_back)
    public ImageButton imgBtn_back;

    @Nullable
    @BindView(R.id.movie_icon)
    public ImageView movie_icon;

    @Nullable
    @BindView(R.id.menu_edit)
    public TextView tv_edit;

    public boolean mIsOnPause;

    private ProgressDialog mDialog;

    protected CNAccelerometerSensor cnAccelerometerSensor;

    @Override
    public void setContentView(int layoutResID) {
        super.setContentView(layoutResID);
        mDialog = new ProgressDialog(this);

        mDialog.setCancelable(true);
        try {
            ButterKnife.bind(this);
        } catch (Exception e) {
            e.printStackTrace();
        }
        initView();
    }


    public void showProgressDialog(String title, String msg) {
        mDialog.setMessage(msg);
        mDialog.setTitle(title);
        mDialog.show();
    }

    public void dismissProgressDialog() {
        mDialog.dismiss();
    }

    protected void initView() {
        if (toobar == null) {
            toobar = (Toolbar) findViewById(R.id.toolbar);
        }
        if (toobar != null) {
            setSupportActionBar(toobar);
        }
        if (tv_title == null) {
            tv_title = (TextView) findViewById(R.id.toolbar_title);
        }
        if (imgBtn_back == null) {
            imgBtn_back = (ImageButton) findViewById(R.id.btn_go_back);
        }
        if (imgBtn_back != null) imgBtn_back.setOnClickListener(this);

    }

    public void setMovieIcon(@DrawableRes int drawableId) {
        if (movie_icon == null) {
            movie_icon = (ImageView) findViewById(R.id.movie_icon);
        }
        movie_icon.setBackgroundResource(drawableId);
    }

    public void setTitle(String title) {
        if (tv_title != null) {
            tv_title.setText(title);
        }
    }

    protected void hideTitle(boolean isVisiable) {
        if (tv_title != null) {
            tv_title.setVisibility(isVisiable ? View.VISIBLE : View.GONE);
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        PushAgent.getInstance(this).onAppStart();
        cnAccelerometerSensor = new CNAccelerometerSensor(this);
    }


    public void onResume() {
        super.onResume();
        mIsOnPause = false;
        MobclickAgent.onResume(this);
        if (cnAccelerometerSensor != null) cnAccelerometerSensor.register();

    }

    public void onPause() {
        super.onPause();
        mIsOnPause = true;
        MobclickAgent.onResume(this);

        if (cnAccelerometerSensor != null) cnAccelerometerSensor.unregister();
    }

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.btn_go_back) {
            finish();
        }
    }

    public String getMd5(String s2) {
        md5_c = new MD5_c();
        return md5_c.getMDCode_c(this, s2);
    }
}