package com.android.contacts.util; import java.util.ArrayList; import java.util.List; import java.util.Vector; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.net.Uri; import android.provider.BaseColumns; import com.android.contacts.model.BlackCallsEntity; public class BlackCallsDb { protected static final String TAG = "BlackCallsDb"; private final Context context; public static Vector<BlackCallsEntity> BlackCallsVector = new Vector<BlackCallsEntity>(); public static Vector<BlackCallsEntity> BlackRecorderVector = new Vector<BlackCallsEntity>(); public static final String AUTHORITY = "com.android.providers.contacts.block"; public static final class BlockMumber implements BaseColumns { public static final Uri CONTENT_URI = Uri.parse("content://com.android.providers.contacts.block/block_mumbers"); public static final String MUMBER_VALUE = "mumber_value"; public static final String BLOCK_TYPE = "block_type"; public static final String NOTES = "notes"; } public static final class BlockRecorder implements BaseColumns { public static final Uri CONTENT_URI = Uri.parse("content://com.android.providers.contacts.block/block_recorded"); public static final String MUMBER_VALUE = "mumber_value"; public static final String BLOCK_DATE = "block_date"; } public BlackCallsDb(Context context) { this.context = context; } public List<BlackCallsEntity> QueryBlackRecoder(){ ContentResolver cr = context.getContentResolver(); String[] columns = new String[]{BlockRecorder.MUMBER_VALUE,BlockRecorder.BLOCK_DATE}; Cursor cursor = cr.query(BlockRecorder.CONTENT_URI, columns, null, null, null); BlackRecorderVector = new Vector<BlackCallsEntity>(); List<BlackCallsEntity> result = new ArrayList<BlackCallsEntity>(); if (cursor.getCount() != 0) { cursor.moveToFirst(); for (int i = 0; i < cursor.getCount(); i++) { BlackCallsEntity BlackCalls = new BlackCallsEntity(); BlackCalls.setBlackCallsNumber(cursor.getString(cursor.getColumnIndex(BlockRecorder.MUMBER_VALUE))); BlackCalls.setBlackRecoderDate(cursor.getString(cursor.getColumnIndex(BlockRecorder.BLOCK_DATE))); result.add(BlackCalls); // Goto next row cursor.moveToNext(); BlackCallsVector.add(BlackCalls); } cursor.close(); } else { String examplenumber = "10086"; String date = "2011-4-1"; AddBlackCalls(examplenumber,date); QueryBlackCalls(); cursor.close(); } return result; } // public List<BlackCallsEntity> QueryBlackCalls(Context base){ public List<BlackCallsEntity> QueryBlackCalls(){ // ContentResolver cr = base.getContentResolver(); ContentResolver cr = context.getContentResolver(); String[] columns = new String[]{BlockMumber.MUMBER_VALUE,BlockMumber.BLOCK_TYPE}; Cursor cursor = cr.query(BlockMumber.CONTENT_URI, columns, null, null, null); BlackCallsVector = new Vector<BlackCallsEntity>(); List<BlackCallsEntity> result = new ArrayList<BlackCallsEntity>(); if (cursor.getCount() != 0) { cursor.moveToFirst(); for (int i = 0; i < cursor.getCount(); i++) { BlackCallsEntity BlackCalls = new BlackCallsEntity(); BlackCalls.setBlackCallsNumber(cursor.getString(cursor.getColumnIndex(BlockMumber.MUMBER_VALUE))); BlackCalls.setBlackCallsType(cursor.getString(cursor.getColumnIndex(BlockMumber.BLOCK_TYPE))); result.add(BlackCalls); // Goto next row cursor.moveToNext(); BlackCallsVector.add(BlackCalls); } cursor.close(); } else { String examplenumber = "10086"; String type = "Call"; AddBlackCalls(examplenumber,type); QueryBlackCalls(); cursor.close(); } return result; } public boolean AddBlackRecoders(String BlackCallsNumber,String date) { //ContentResolver cr = base.getContentResolver(); ContentResolver cr = context.getContentResolver(); ContentValues values = new ContentValues(); values.put(BlockRecorder.MUMBER_VALUE,BlackCallsNumber); values.put(BlockRecorder.BLOCK_DATE,date); //values.put("block_number", "" + count++); return cr.insert(BlockRecorder.CONTENT_URI, values) != null; } public boolean AddBlackCalls(String BlackCallsNumber,int Type) { //ContentResolver cr = base.getContentResolver(); ContentResolver cr = context.getContentResolver(); ContentValues values = new ContentValues(); values.put(BlockMumber.MUMBER_VALUE,BlackCallsNumber); values.put(BlockMumber.BLOCK_TYPE,Type); //values.put("block_number", "" + count++); return cr.insert(BlockMumber.CONTENT_URI, values) != null; } // public boolean AddBlackCalls(Context base,String BlackCallsNumber,String Type) public boolean AddBlackCalls(String BlackCallsNumber,String Type) { //ContentResolver cr = base.getContentResolver(); ContentResolver cr = context.getContentResolver(); ContentValues values = new ContentValues(); values.put(BlockMumber.MUMBER_VALUE,BlackCallsNumber); values.put(BlockMumber.BLOCK_TYPE,Type); //values.put("block_number", "" + count++); return cr.insert(BlockMumber.CONTENT_URI, values) != null; } //public boolean DelBlackCalls(Context base,String BlackCallsNumber) public boolean DelBlackCalls(String BlackCallsNumber) { //ContentResolver cr = base.getContentResolver(); ContentResolver cr = context.getContentResolver(); return cr.delete(BlockMumber.CONTENT_URI, BlockMumber.MUMBER_VALUE + "='" + BlackCallsNumber + "'", null)>0; //int result = cr.delete(BlockMumber.CONTENT_URI, BlockMumber.MUMBER_VALUE + "='" + BlackCallsNumber + "'", null); } public boolean UpdateBlackType(String BlackCallsNumber,int Type) { ContentResolver cr = context.getContentResolver(); ContentValues values = new ContentValues(); values.put(BlockMumber.BLOCK_TYPE,Type); return cr.update(BlockMumber.CONTENT_URI, values, BlockMumber.MUMBER_VALUE + "='" + BlackCallsNumber + "'", null)>0; } public boolean UpdateBlackType(String BlackCallsNumber,String Type) { ContentResolver cr = context.getContentResolver(); ContentValues values = new ContentValues(); values.put(BlockMumber.BLOCK_TYPE,Type); return cr.update(BlockMumber.CONTENT_URI, values, BlockMumber.MUMBER_VALUE + "='" + BlackCallsNumber + "'", null)>0; } public boolean DelBlackLogs(String BlackLogsNumber) { ContentResolver cr = context.getContentResolver(); return cr.delete(BlockRecorder.CONTENT_URI, BlockRecorder.MUMBER_VALUE + "='" + BlackLogsNumber + "'", null)>0; } }