DbUpdateManger.java 4.26 KB
package com.gimi.common.cinema.utils;

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import com.gimi.common.cinema.model.AsyncCallback;
import com.gimi.common.cinema.model.Constant;
import com.gimi.common.cinema.model.WrongMsg;

/**
 * Created by 李攀 on 2015/5/8.
 */
public class DbUpdateManger {
    private Context context;
    private Handler dbHandler;
    private DbUpdateUtils dbUpdateUtils;

    public DbUpdateManger(Context context, Handler handler) {
        this.context = context;
        dbHandler = handler;
    }

    public void insertLocalData() {
        if (dbUpdateUtils == null) {
            dbUpdateUtils = new DbUpdateUtils(context);
        }
        dbUpdateUtils.addAllLocalData(new AsyncCallback<Integer>() {
            @Override
            public void onStart() {
                super.onStart();
                dbHandler.sendEmptyMessage(Constant.DB_INIT_START);
            }

            @Override
            public void onSuccess(Integer data) {
                super.onSuccess(data);
                Message msg = Message.obtain();
                msg.obj = data;
                msg.what = Constant.DB_INIT_SUCCESS;
                dbHandler.sendMessage(msg);
            }

            @Override
            public void onMessage(String data) {
                super.onMessage(data);
                Message msg = Message.obtain();
                msg.obj = data;
                msg.what = Constant.DB_INIT_MSG;
                dbHandler.sendMessage(msg);
            }

            @Override
            public void onFailure(WrongMsg caught) {
                super.onFailure(caught);
                if (caught.getCode() == 0) {
                    dbHandler.sendEmptyMessage(Constant.DB_INIT_ZERO);
                } else {
                    dbHandler.sendEmptyMessage(Constant.DB_INIT_FAILURE);
                }
            }

            @Override
            public void onDone() {
                super.onDone();
                dbHandler.sendEmptyMessage(Constant.DB_INIT_DONE);
            }
        });
    }

    public void deleteMovieNotExits() {
        if (dbUpdateUtils == null) {
            dbUpdateUtils = new DbUpdateUtils(context);
        }
        dbUpdateUtils.deleteMovieNotExists(new AsyncCallback<Integer>() {
            @Override
            public void onStart() {
                super.onStart();
                dbHandler.sendEmptyMessage(Constant.DB_DELETE_NOT_EXIST_START);
            }

            @Override
            public void onSuccess(Integer data) {
                super.onSuccess(data);
                Message msg = Message.obtain();
                msg.obj = data;
                msg.what = Constant.DB_DELETE_NOT_EXIST_SUCCESS;
                dbHandler.sendMessage(msg);
            }

            @Override
            public void onFailure(WrongMsg caught) {
                super.onFailure(caught);
                dbHandler.sendEmptyMessage(Constant.DB_DELETE_NOT_EXIST_FAILURE);
            }

            @Override
            public void onDone() {
                super.onDone();
                dbHandler.sendEmptyMessage(Constant.DB_DELETE_NOT_EXIST_END);
            }
        });
    }

    public void insertDoubanMsg() {
        if (dbUpdateUtils == null) {
            dbUpdateUtils = new DbUpdateUtils(context);
        }
        dbUpdateUtils.initDoubanMsg(new AsyncCallback<Integer>() {
            @Override
            public void onStart() {
                super.onStart();
                dbHandler.sendEmptyMessage(Constant.DB_UPDATE_DOUBAN_MSG_START);
            }

            @Override
            public void onSuccess(Integer data) {
                super.onSuccess(data);
                Message msg = Message.obtain();
                msg.obj = data;
                msg.what = Constant.DB_UPDATE_DOUBAN_MSG_SUCCESS;
                dbHandler.sendMessage(msg);
            }

            @Override
            public void onFailure(WrongMsg caught) {
                super.onFailure(caught);
                dbHandler.sendEmptyMessage(Constant.DB_UPDATE_DOUBAN_MSG_FAILURE);
            }

            @Override
            public void onDone() {
                super.onDone();
                dbHandler.sendEmptyMessage(Constant.DB_UPDATE_DOUBAN_MSG_END);
            }
        });
    }

}