// Path: app/src/main/java/io/bxbxbai/zhuanlan/core/DataCenter.java
// public final class DataCenter {
// 
//     private static DataCenter instance;
// 
//     private DataBase db;
// 
//     private DataCenter(Context context, String dbName) {
//         db = LiteOrm.newSingleInstance(context, dbName);
//     }
// 
//     public static void init(Context context, String dbName) {
//         if (instance == null) {
//             synchronized (DataCenter.class) {
//                 if (instance == null) {
//                     instance = new DataCenter(context.getApplicationContext(), dbName);
//                 }
//             }
//         }
//     }
// 
//     public static DataCenter instance() {
//         if (instance == null) {
//             throw new IllegalStateException("you must call LiteManager.init(context, dbName) first");
//         }
//         return instance;
//     }
// 
//     public <T> long queryCount(Class<T> clazz) {
//         return db.queryCount(clazz);
//     }
// 
//     public <T> int clear(Class<T> clazz) {
//         return db.delete(clazz);
//     }
// 
//     public void save(Object o) {
//         db.save(o);
//     }
// 
//     public <T> List<T> queryAll(Class<T> clazz) {
//         List<T> list = db.query(clazz);
//         return list == null ? new ArrayList<T>() : list;
//     }
// 
//     private class CacheContainer<T> extends HashMap<Class<T>, Map<String, T>> {
// 
// 
//     }
// 
// }


import android.app.Application;
import android.view.Choreographer;
import com.facebook.stetho.Stetho;
import io.bxbxbai.common.StopWatch;
import io.bxbxbai.common.Tips;
import io.bxbxbai.zhuanlan.core.DataCenter;
package io.bxbxbai.zhuanlan;




/**
 *
 * @author bxbxbai
 */
public class ZhuanlanApplication extends Application {
    private static ZhuanlanApplication mContext;

    private static final Choreographer.FrameCallback FRAME_CALLBACK = new Choreographer.FrameCallback() {
        @Override
        public void doFrame(long frameTimeNanos) {
            StopWatch.log("doFrame: " + frameTimeNanos);
        }
    };

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = this;
        Tips.init(this);
// Path: app/src/main/java/io/bxbxbai/zhuanlan/core/DataCenter.java
// public final class DataCenter {
// 
//     private static DataCenter instance;
// 
//     private DataBase db;
// 
//     private DataCenter(Context context, String dbName) {
//         db = LiteOrm.newSingleInstance(context, dbName);
//     }
// 
//     public static void init(Context context, String dbName) {
//         if (instance == null) {
//             synchronized (DataCenter.class) {
//                 if (instance == null) {
//                     instance = new DataCenter(context.getApplicationContext(), dbName);
//                 }
//             }
//         }
//     }
// 
//     public static DataCenter instance() {
//         if (instance == null) {
//             throw new IllegalStateException("you must call LiteManager.init(context, dbName) first");
//         }
//         return instance;
//     }
// 
//     public <T> long queryCount(Class<T> clazz) {
//         return db.queryCount(clazz);
//     }
// 
//     public <T> int clear(Class<T> clazz) {
//         return db.delete(clazz);
//     }
// 
//     public void save(Object o) {
//         db.save(o);
//     }
// 
//     public <T> List<T> queryAll(Class<T> clazz) {
//         List<T> list = db.query(clazz);
//         return list == null ? new ArrayList<T>() : list;
//     }
// 
//     private class CacheContainer<T> extends HashMap<Class<T>, Map<String, T>> {
// 
// 
//     }
// 
// }


// Path: app/src/main/java/io/bxbxbai/zhuanlan/ZhuanlanApplication.java
import android.app.Application;
import android.view.Choreographer;
import com.facebook.stetho.Stetho;
import io.bxbxbai.common.StopWatch;
import io.bxbxbai.common.Tips;
import io.bxbxbai.zhuanlan.core.DataCenter;

package io.bxbxbai.zhuanlan;




/**
 *
 * @author bxbxbai
 */
public class ZhuanlanApplication extends Application {
    private static ZhuanlanApplication mContext;

    private static final Choreographer.FrameCallback FRAME_CALLBACK = new Choreographer.FrameCallback() {
        @Override
        public void doFrame(long frameTimeNanos) {
            StopWatch.log("doFrame: " + frameTimeNanos);
        }
    };

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = this;
        Tips.init(this);
        DataCenter.init(this, "zhuanlan.db");