public ist<SMSModelsDto> getSMS() {
Uri uriSMSURI = Uri.parse("content://sms/");
ContentResolver cr = getContentResolver();
c = cr.query(uriSMSURI, null, null, null, null);
startManagingCursor(c);
if (c.moveToFirst()) {
for (int i = 0; i < c.getCount(); i++) {
String header = c.getString(c.getColumnIndexOrThrow("address"));
if (stringSMSModelsDtoHashMap.containsKey(header)) {
smsModelsDto = stringSMSModelsDtoHashMap.get(header);
smsModelsDto.setRepeatCount(smsModelsDto.getRepeatCount() + 1);
stringSMSModelsDtoHashMap.put(header, smsModelsDto);
} else {
smsModelsDto = new SMSModelsDto();
smsModelsDto.setId(c.getString(c.getColumnIndexOrThrow("_id")));
String threadId = null;
threadId = c.getString(c.getColumnIndexOrThrow("thread_id"));;
if(threadId != null){
smsModelsDto.setThreadId(threadId);
}
smsModelsDto.setHeader(header);
smsModelsDto.setName(header);
smsModelsDto.setBody(c.getString(c.getColumnIndexOrThrow("body")));
smsModelsDto.setRead(Byte.parseByte(c.getString(c.getColumnIndex("read"))));
smsModelsDto.setDate(Long.parseLong(c.getString(c.getColumnIndexOrThrow("date"))));
if (c.getString(c.getColumnIndexOrThrow("type")).contains("1")) {
smsModelsDto.setType((byte) 1);
} else {
smsModelsDto.setType((byte) 0);
}
stringSMSModelsDtoHashMap.put(header, smsModelsDto);
}
if (sms.contains(smsModelsDto)) {
sms.set(sms.indexOf(smsModelsDto), smsModelsDto);
} else {
sms.add(smsModelsDto);
}
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
}
});
c.moveToNext();
}
if (PermissionCheck.readAndWriteContacts(HomeActivity.this)) {
loadContactsData();
}
}
return sms;
}
public class SMSModelsDto{
private String id;
private String threadId;
private String header;
private String body;
private long date;
private String name;
private String image;
private byte type;
private byte read;
private int repeatCount = 1;
private boolean supportReply = false;
public String getThreadId() {
return threadId;
}
public void setThreadId(String threadId) {
this.threadId = threadId;
}
public boolean isSupportReply() {
return supportReply;
}
public void setSupportReply(boolean supportReply) {
this.supportReply = supportReply;
}
public String getHeader(){
return header;
}
public void setHeader(String header){
this.header = header;
}
public String getBody(){
return body;
}
public void setBody(String body){
this.body = body;
}
public long getDate() {
return date;
}
public void setDate(long date) {
this.date = date;
}
public byte getType(){
return type;
}
public void setType(byte type){
this.type = type;
}
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
public byte getRead(){
return read;
}
public void setRead(byte read){
this.read = read;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public int getRepeatCount(){
return repeatCount;
}
public void setRepeatCount(int repeatCount){
this.repeatCount = repeatCount;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString(){
return "SMSModelsDto{" +
"id='" + id + '\'' +
", header='" + header + '\'' +
", body='" + body + '\'' +
", date='" + date + '\'' +
", image=" + image +
", type=" + type +
", read=" + read +
'}';
}
}