// Path: app/src/main/java/com/itheima/mobilesafe/db/BlacklistDbOpenHelper.java
// public class BlacklistDbOpenHelper extends SQLiteOpenHelper {
//     public BlacklistDbOpenHelper(Context context) {
//         super(context, "blacklist.db", null, 1);
//     }
// 
//     @Override
//     public void onCreate(SQLiteDatabase db) {
//         db.execSQL("create table blacklist (_id integer primary key autoincrement, name varchar(20), number varchar(20), mode varchar(2))");
//     }
// 
//     @Override
//     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 
//     }
// }
// 
// Path: app/src/main/java/com/itheima/mobilesafe/utils/CLog.java
// @SuppressWarnings("unused")
// public class CLog {
//     private static final boolean DEBUG = BuildConfig.SHOW_LOG;
// 
//     public static String getTag() {
//         String tag = "";
//         final StackTraceElement[] ste = Thread.currentThread().getStackTrace();
//         for (int i = 0; i < ste.length; i++) {
//             if (ste[i].getMethodName().equals("getTag")) {
//                 tag = "(" + ste[i + 1].getFileName() + ":" + ste[i + 1].getLineNumber() + ")";
//             }
//         }
//         return tag;
//     }
// 
//     public static void v(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.v(tab, message);
//         }
//     }
// 
//     public static void d(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.d(tab, message);
//         }
//     }
// 
//     public static void e(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.e(tab, message);
//         }
//     }
// 
//     public static void w(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.w(tab, message);
//         }
//     }
// 
//     public static void i(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.i(tab, message);
//         }
//     }
// 
// }
// 
// Path: app/src/main/java/com/itheima/mobilesafe/utils/objects/BlockedCaller.java
// public class BlockedCaller implements BaseContact {
//     private String name;
//     private String number;
// 
//     public int getMODE() {
//         return MODE;
//     }
// 
//     public void setMODE(int MODE) {
//         this.MODE = MODE;
//     }
// 
//     private int MODE;
// 
//     @Override
//     public String toString() {
//         return "BlockedCaller{" +
//                 "name='" + name + '\'' +
//                 ", number='" + number + '\'' +
//                 ", MODE=" + MODE +
//                 '}';
//     }
// 
//     @Override
//     public String getName() {
//         return name;
//     }
// 
//     @Override
//     public String getNumber() {
//         return number;
//     }
// 
//     @Override
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     @Override
//     public void setNumber(String number) {
//         this.number = number;
//     }
// }


import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.Nullable;
import com.itheima.mobilesafe.db.BlacklistDbOpenHelper;
import com.itheima.mobilesafe.utils.CLog;
import com.itheima.mobilesafe.utils.objects.BlockedCaller;
import java.util.ArrayList;
import java.util.List;
            });

        } else {
            if (response != null)
                response.onFail(DB_ERROR, "数据库错误");
        }
    }

    /**
     * Remove the number from blacklist
     *
     * @param number modify data by identifying number
     */
    @Override
    public void remove(String number) {
        SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
        if (db.isOpen()) {
            db.delete(TABLE, "number=?", new String[]{number});
            db.close();
        }
    }

    /**
     * Get all blocked-callers
     *
     * @return contents of blacklist the table
     */
    @Override
    public List<BlockedCaller> queryAll() {
        SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
// Path: app/src/main/java/com/itheima/mobilesafe/db/BlacklistDbOpenHelper.java
// public class BlacklistDbOpenHelper extends SQLiteOpenHelper {
//     public BlacklistDbOpenHelper(Context context) {
//         super(context, "blacklist.db", null, 1);
//     }
// 
//     @Override
//     public void onCreate(SQLiteDatabase db) {
//         db.execSQL("create table blacklist (_id integer primary key autoincrement, name varchar(20), number varchar(20), mode varchar(2))");
//     }
// 
//     @Override
//     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 
//     }
// }
// 
// Path: app/src/main/java/com/itheima/mobilesafe/utils/CLog.java
// @SuppressWarnings("unused")
// public class CLog {
//     private static final boolean DEBUG = BuildConfig.SHOW_LOG;
// 
//     public static String getTag() {
//         String tag = "";
//         final StackTraceElement[] ste = Thread.currentThread().getStackTrace();
//         for (int i = 0; i < ste.length; i++) {
//             if (ste[i].getMethodName().equals("getTag")) {
//                 tag = "(" + ste[i + 1].getFileName() + ":" + ste[i + 1].getLineNumber() + ")";
//             }
//         }
//         return tag;
//     }
// 
//     public static void v(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.v(tab, message);
//         }
//     }
// 
//     public static void d(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.d(tab, message);
//         }
//     }
// 
//     public static void e(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.e(tab, message);
//         }
//     }
// 
//     public static void w(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.w(tab, message);
//         }
//     }
// 
//     public static void i(String tab, String message) {
//         if (MyApplication.getInstance().getPackageName().contains(".test") || DEBUG) {
//             Config.showDebugLog = true;
//             Log.i(tab, message);
//         }
//     }
// 
// }
// 
// Path: app/src/main/java/com/itheima/mobilesafe/utils/objects/BlockedCaller.java
// public class BlockedCaller implements BaseContact {
//     private String name;
//     private String number;
// 
//     public int getMODE() {
//         return MODE;
//     }
// 
//     public void setMODE(int MODE) {
//         this.MODE = MODE;
//     }
// 
//     private int MODE;
// 
//     @Override
//     public String toString() {
//         return "BlockedCaller{" +
//                 "name='" + name + '\'' +
//                 ", number='" + number + '\'' +
//                 ", MODE=" + MODE +
//                 '}';
//     }
// 
//     @Override
//     public String getName() {
//         return name;
//     }
// 
//     @Override
//     public String getNumber() {
//         return number;
//     }
// 
//     @Override
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     @Override
//     public void setNumber(String number) {
//         this.number = number;
//     }
// }


// Path: app/src/main/java/com/itheima/mobilesafe/db/dao/BlacklistDao.java
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.Nullable;
import com.itheima.mobilesafe.db.BlacklistDbOpenHelper;
import com.itheima.mobilesafe.utils.CLog;
import com.itheima.mobilesafe.utils.objects.BlockedCaller;
import java.util.ArrayList;
import java.util.List;

            });

        } else {
            if (response != null)
                response.onFail(DB_ERROR, "数据库错误");
        }
    }

    /**
     * Remove the number from blacklist
     *
     * @param number modify data by identifying number
     */
    @Override
    public void remove(String number) {
        SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
        if (db.isOpen()) {
            db.delete(TABLE, "number=?", new String[]{number});
            db.close();
        }
    }

    /**
     * Get all blocked-callers
     *
     * @return contents of blacklist the table
     */
    @Override
    public List<BlockedCaller> queryAll() {
        SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
        List<BlockedCaller> myList = null;