package com.securitynull.sn_guard.functions.sms; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import android.util.Log; import java.text.SimpleDateFormat; import java.util.ArrayList; /** * Created by Petrosyan on 20/11/13. */ public class SMSManager { //private static final Uri SMS = Uri.parse("content://sms"); private static final Uri SMS_INBOX = Uri.parse("content://sms/inbox"); //private static final Uri URI_SENT = Uri.parse("content://sms/sent"); private ContentResolver cr; public SMSManager() { super(); } public SMSManager(ContentResolver cr) { super(); this.cr = cr; } public ContentResolver getContentRes() { return cr; } public void setContentRes(ContentResolver cr) { this.cr = cr; } public ArrayList<SMS> getAllSMS() { ArrayList<SMS> smsList = new ArrayList<SMS>(); Cursor cur = this.cr.query(this.SMS_INBOX, null, null, null, "date DESC"); if (cur.getCount() > 0) { while (cur.moveToNext()) { SMS sms = new SMS(); sms.setMessageID(String.valueOf(cur.getLong(cur.getColumnIndex("_id")))); sms.setThreadID(String.valueOf(cur.getLong(cur.getColumnIndex("thread_id")))); sms.setAddress(cur.getString(cur.getColumnIndex("address"))); sms.setContactID(String.valueOf(cur.getLong(cur.getColumnIndex("person")))); sms.setTimestamp(String.valueOf(new SimpleDateFormat("hh:mm:ss MM/dd/yyyy").format(cur.getLong(cur.getColumnIndex("date"))))); sms.setSubject(cur.getString(cur.getColumnIndex("subject"))); sms.setBody(cur.getString(cur.getColumnIndex("body"))); sms.setReaded(cur.getInt(cur.getColumnIndex("read"))); sms.setDeleted(cur.getInt(cur.getColumnIndex("deleted"))); sms.setLocked(cur.getInt(cur.getColumnIndex("locked"))); smsList.add(sms); } } cur.close(); return smsList; } public void setMessageReadStatus(int messageID) { ContentValues values = new ContentValues(); values.put("read", true); this.cr.update(this.SMS_INBOX, values, "_id= " + messageID, null); } public int getUnReadMessageCount() { Cursor c = this.cr.query(this.SMS_INBOX, null, "read = 0", null, null); int count = c.getCount(); c.close(); return count; } public int getMessageCount() { Cursor c = this.cr.query(this.SMS_INBOX, null, null, null, null); int count = c.getCount(); c.close(); return count; } }