package com.securitynull.sn_guard.functions.call; import android.content.ContentResolver; import android.database.Cursor; import android.provider.CallLog; import java.util.ArrayList; import java.util.Date; /** * Created by Petrosyan on 20/11/13. */ public class CallManager { private ContentResolver cr; public CallManager() { super(); } public CallManager(ContentResolver cr) { super(); this.cr = cr; } public ContentResolver getContentRes() { return cr; } public void setContentRes(ContentResolver cr) { this.cr = cr; } public ArrayList<Call> getAllCalls() { ArrayList<Call> callList = new ArrayList<Call>(); Cursor cur = this.cr.query(CallLog.Calls.CONTENT_URI, null, null, null, null); int numIndex = cur.getColumnIndex(CallLog.Calls.NUMBER); int typeIndex = cur.getColumnIndex(CallLog.Calls.TYPE); int dateIndex = cur.getColumnIndex(CallLog.Calls.DATE); int durIndex = cur.getColumnIndex(CallLog.Calls.DURATION); if (cur.getCount() > 0) { while (cur.moveToNext()) { String number = cur.getString(numIndex); String callDate = cur.getString(dateIndex); String callDuration = cur.getString(durIndex); String callType = cur.getString(typeIndex); if (Integer.parseInt(callType) == CallLog.Calls.INCOMING_TYPE) { callList.add(new Call(number, new Date(Long.valueOf(callDate)), callDuration, true)); } else if (Integer.parseInt(callType) == CallLog.Calls.OUTGOING_TYPE) { callList.add(new Call(number, new Date(Long.valueOf(callDate)), callDuration, false)); } } } cur.close(); return callList; } }