From f516231b9c15bc754e61fb980b81b78c0ed77f6b Mon Sep 17 00:00:00 2001 From: Mathieu Maret Date: Tue, 6 Nov 2012 10:35:01 +0100 Subject: [PATCH] Code cleaning and reformating --- .../multismssender/DeliveryDbAdapter.java | 270 +++++++------ .../multismssender/GroupEditActivity.java | 111 +++--- .../multismssender/GroupsDbAdapter.java | 357 +++++++++-------- .../multismssender/ListEntryActivity.java | 66 ++-- .../multismssender/MessageReceiver.java | 21 +- .../multismssender/MultiSmsSender.java | 369 +++++++++--------- .../multismssender/PhoneNumberSelection.java | 144 ++++--- .../SelectDeliveryActivity.java | 49 ++- .../multismssender/SelectGroupActivity.java | 52 ++- 9 files changed, 723 insertions(+), 716 deletions(-) diff --git a/src/com/hectorone/multismssender/DeliveryDbAdapter.java b/src/com/hectorone/multismssender/DeliveryDbAdapter.java index 66171a7..548a0fd 100644 --- a/src/com/hectorone/multismssender/DeliveryDbAdapter.java +++ b/src/com/hectorone/multismssender/DeliveryDbAdapter.java @@ -17,83 +17,84 @@ import android.provider.UserDictionary.Words; import android.text.TextUtils; import android.util.Log; -public class DeliveryDbAdapter extends ContentProvider { - - - public static final String PROVIDER_NAME ="com.hectorone.multismssender.provider"; - public static final Uri CONTENT_DELIVERY_URI = Uri.parse("content://" + PROVIDER_NAME + "/delivery"); - public static final Uri CONTENT_MESSAGE_URI = Uri.parse("content://" + PROVIDER_NAME + "/message"); +public class DeliveryDbAdapter extends ContentProvider { + + public static final String PROVIDER_NAME = "com.hectorone.multismssender.provider"; + public static final Uri CONTENT_DELIVERY_URI = Uri.parse("content://" + + PROVIDER_NAME + "/delivery"); + public static final Uri CONTENT_MESSAGE_URI = Uri.parse("content://" + + PROVIDER_NAME + "/message"); private static final int ENTRIES = 1; private static final int ENTRY_ID = 2; private static final int MESSAGES = 3; - private static final int MESSAGES_ID = 4; + private static final int MESSAGES_ID = 4; private static final UriMatcher uriMatcher; - static{ + static { uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); - uriMatcher.addURI(PROVIDER_NAME, "delivery" , ENTRIES); + uriMatcher.addURI(PROVIDER_NAME, "delivery", ENTRIES); uriMatcher.addURI(PROVIDER_NAME, "delivery/#", ENTRY_ID); - uriMatcher.addURI(PROVIDER_NAME, "message" , MESSAGES); - uriMatcher.addURI(PROVIDER_NAME, "message/#" , MESSAGES_ID); + uriMatcher.addURI(PROVIDER_NAME, "message", MESSAGES); + uriMatcher.addURI(PROVIDER_NAME, "message/#", MESSAGES_ID); } - public static final String KEY_DELIVERY_ENTRY_ROWID = "_id"; public static final String KEY_DELIVERY_ENTRY_NAME = "name"; public static final String KEY_DELIVERY_ENTRY_NUMBER = "number"; public static final String KEY_DELIVERY_ENTRY_DELIVERED = "delivered"; public static final String KEY_DELIVERY_ENTRY_MESSAGE_ID = "message_id"; + public static final String KEY_MESSAGE_ROWID = "_id"; + public static final String KEY_MESSAGE_NAME = "name"; + public static final String KEY_MESSAGE_DATE = "date"; - public static final String KEY_MESSAGE_ROWID = "_id"; - public static final String KEY_MESSAGE_NAME = "name"; - public static final String KEY_MESSAGE_DATE = "date"; - - private static final String TAG = "deliveryDbAdapter"; + private static final String TAG = "deliveryDbAdapter"; private DeliveryDbHelper mDbHelper; - //private SQLiteDatabase mDb; + // private SQLiteDatabase mDb; /** * Database creation sql statement */ - public static final String DATABASE_NAME = "delivery"; - public static final String DATABASE_DELIVERY_ENTRY_TABLE = "delivery_entry"; - public static final String DATABASE_MESSAGE_TABLE = "message"; + public static final String DATABASE_NAME = "delivery"; + public static final String DATABASE_DELIVERY_ENTRY_TABLE = "delivery_entry"; + public static final String DATABASE_MESSAGE_TABLE = "message"; public static final String DATABASE_DELIVERY_ENTRY_CREATE = "create table " - + DATABASE_DELIVERY_ENTRY_TABLE - + " ("+KEY_DELIVERY_ENTRY_ROWID+" integer primary key autoincrement, " - + KEY_DELIVERY_ENTRY_NAME + " text not null," - + KEY_DELIVERY_ENTRY_NUMBER + " text not null," - + KEY_DELIVERY_ENTRY_DELIVERED + " integer," - + KEY_DELIVERY_ENTRY_MESSAGE_ID + " integer);"; + + DATABASE_DELIVERY_ENTRY_TABLE + " (" + KEY_DELIVERY_ENTRY_ROWID + + " integer primary key autoincrement, " + KEY_DELIVERY_ENTRY_NAME + + " text not null," + KEY_DELIVERY_ENTRY_NUMBER + " text not null," + + KEY_DELIVERY_ENTRY_DELIVERED + " integer," + + KEY_DELIVERY_ENTRY_MESSAGE_ID + " integer);"; - public static final String DATABASE_DELIVERY_CREATE = "create table " - + DATABASE_MESSAGE_TABLE - + " (" + KEY_MESSAGE_ROWID + " integer primary key autoincrement, " - + KEY_MESSAGE_NAME + " text not null," - + KEY_MESSAGE_DATE + " text not null);"; + public static final String DATABASE_DELIVERY_CREATE = "create table " + + DATABASE_MESSAGE_TABLE + " (" + KEY_MESSAGE_ROWID + + " integer primary key autoincrement, " + KEY_MESSAGE_NAME + + " text not null," + KEY_MESSAGE_DATE + " text not null);"; + + public static final int DATABASE_VERSION = 4; - public static final int DATABASE_VERSION = 4; - private static HashMap sDeliveryProjectionMap; private static HashMap sMessageProjectionMap; - + static { sDeliveryProjectionMap = new HashMap(); - sMessageProjectionMap = new HashMap(); - sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_ROWID , KEY_DELIVERY_ENTRY_ROWID); - sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_NAME , KEY_DELIVERY_ENTRY_NAME); - sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_NUMBER , KEY_DELIVERY_ENTRY_NUMBER); - sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_DELIVERED , KEY_DELIVERY_ENTRY_DELIVERED); - sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_MESSAGE_ID, KEY_DELIVERY_ENTRY_MESSAGE_ID); - - sMessageProjectionMap.put(KEY_MESSAGE_ROWID , KEY_MESSAGE_ROWID); - sMessageProjectionMap.put(KEY_MESSAGE_NAME , KEY_MESSAGE_NAME); - sMessageProjectionMap.put(KEY_MESSAGE_DATE , KEY_MESSAGE_DATE); - } + sMessageProjectionMap = new HashMap(); + sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_ROWID, + KEY_DELIVERY_ENTRY_ROWID); + sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_NAME, + KEY_DELIVERY_ENTRY_NAME); + sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_NUMBER, + KEY_DELIVERY_ENTRY_NUMBER); + sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_DELIVERED, + KEY_DELIVERY_ENTRY_DELIVERED); + sDeliveryProjectionMap.put(KEY_DELIVERY_ENTRY_MESSAGE_ID, + KEY_DELIVERY_ENTRY_MESSAGE_ID); + sMessageProjectionMap.put(KEY_MESSAGE_ROWID, KEY_MESSAGE_ROWID); + sMessageProjectionMap.put(KEY_MESSAGE_NAME, KEY_MESSAGE_NAME); + sMessageProjectionMap.put(KEY_MESSAGE_DATE, KEY_MESSAGE_DATE); + } private static class DeliveryDbHelper extends SQLiteOpenHelper { @@ -119,113 +120,120 @@ public class DeliveryDbAdapter extends ContentProvider { } } + // *********************** Content Provider **************************************** - - // *********************** Content Provider **************************************** - @Override public int delete(Uri uri, String selection, String[] selectionArgs) { - SQLiteDatabase db = mDbHelper.getWritableDatabase(); - int count; + SQLiteDatabase db = mDbHelper.getWritableDatabase(); + int count; switch (uriMatcher.match(uri)) { case ENTRIES: - count = db.delete(DATABASE_DELIVERY_ENTRY_TABLE, selection, selectionArgs); + count = db.delete(DATABASE_DELIVERY_ENTRY_TABLE, selection, + selectionArgs); break; - case ENTRY_ID: - { + case ENTRY_ID: { String id = uri.getPathSegments().get(1); - count = db.delete(DATABASE_DELIVERY_ENTRY_TABLE, KEY_DELIVERY_ENTRY_ROWID + "=" + id - + (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""), selectionArgs); + count = db.delete( + DATABASE_DELIVERY_ENTRY_TABLE, + KEY_DELIVERY_ENTRY_ROWID + + "=" + + id + + (!TextUtils.isEmpty(selection) ? " AND (" + + selection + ')' : ""), selectionArgs); - break; } case MESSAGES: - count = db.delete(DATABASE_MESSAGE_TABLE, selection, selectionArgs); - + count = db.delete(DATABASE_MESSAGE_TABLE, selection, selectionArgs); + break; - case MESSAGES_ID: - { + case MESSAGES_ID: { String id = uri.getPathSegments().get(1); - count = db.delete(DATABASE_DELIVERY_ENTRY_TABLE, KEY_MESSAGE_ROWID + "=" + id - + (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""), selectionArgs); + count = db.delete(DATABASE_DELIVERY_ENTRY_TABLE, KEY_MESSAGE_ROWID + + "=" + + id + + (!TextUtils.isEmpty(selection) ? " AND (" + selection + + ')' : ""), selectionArgs); break; } default: - throw new IllegalArgumentException("Unknown URI " + uri); - + throw new IllegalArgumentException("Unknown URI " + uri); + } getContext().getContentResolver().notifyChange(uri, null); return count; } - @Override public String getType(Uri uri) { - switch (uriMatcher.match(uri)){ + switch (uriMatcher.match(uri)) { case ENTRIES: return "vnd.android.cursor.dir/vnd." + PROVIDER_NAME + ".entry"; - case ENTRY_ID: - return "vnd.android.cursor.item/vnd."+ PROVIDER_NAME + ".entry"; + case ENTRY_ID: + return "vnd.android.cursor.item/vnd." + PROVIDER_NAME + ".entry"; case MESSAGES: return "vnd.android.cursor.dir/vnd." + PROVIDER_NAME + ".message"; - case MESSAGES_ID: - return "vnd.android.cursor.item/vnd."+ PROVIDER_NAME + ".message"; + case MESSAGES_ID: + return "vnd.android.cursor.item/vnd." + PROVIDER_NAME + ".message"; default: - throw new IllegalArgumentException("Unsupported URI: " + uri); - } + throw new IllegalArgumentException("Unsupported URI: " + uri); + } } - @Override public Uri insert(Uri uri, ContentValues values) { ContentValues initialValues; - if (values != null) { + if (values != null) { initialValues = new ContentValues(values); } else { initialValues = new ContentValues(); - } + } switch (uriMatcher.match(uri)) { - case ENTRIES:{ - if (initialValues.containsKey(KEY_DELIVERY_ENTRY_NAME) == false) { - throw new SQLException(KEY_DELIVERY_ENTRY_NAME+ " must be specified"); + case ENTRIES: { + if (initialValues.containsKey(KEY_DELIVERY_ENTRY_NAME) == false) { + throw new SQLException(KEY_DELIVERY_ENTRY_NAME + + " must be specified"); + } + if (initialValues.containsKey(KEY_DELIVERY_ENTRY_NUMBER) == false) { + throw new SQLException(KEY_DELIVERY_ENTRY_NUMBER + + " must be specified"); + } + if (initialValues.containsKey(KEY_DELIVERY_ENTRY_MESSAGE_ID) == false) { + throw new SQLException(KEY_DELIVERY_ENTRY_MESSAGE_ID + + " must be specified"); } - if (initialValues.containsKey(KEY_DELIVERY_ENTRY_NUMBER) == false) { - throw new SQLException(KEY_DELIVERY_ENTRY_NUMBER+ " must be specified"); - } - if (initialValues.containsKey(KEY_DELIVERY_ENTRY_MESSAGE_ID) == false) { - throw new SQLException(KEY_DELIVERY_ENTRY_MESSAGE_ID+ " must be specified"); - } initialValues.put(KEY_DELIVERY_ENTRY_DELIVERED, 0); SQLiteDatabase db = mDbHelper.getWritableDatabase(); - long rowId = db.insert(DATABASE_DELIVERY_ENTRY_TABLE, null, initialValues); + long rowId = db.insert(DATABASE_DELIVERY_ENTRY_TABLE, null, + initialValues); if (rowId > 0) { - Uri newUri = ContentUris.withAppendedId( CONTENT_DELIVERY_URI, rowId); + Uri newUri = ContentUris.withAppendedId(CONTENT_DELIVERY_URI, + rowId); getContext().getContentResolver().notifyChange(newUri, null); return newUri; } throw new SQLException("Failed to insert row into " + uri); - + } - - case MESSAGES: - { - if (initialValues.containsKey(KEY_MESSAGE_NAME) == false) { - throw new SQLException(KEY_MESSAGE_NAME+ " must be specified"); + + case MESSAGES: { + if (initialValues.containsKey(KEY_MESSAGE_NAME) == false) { + throw new SQLException(KEY_MESSAGE_NAME + " must be specified"); + } + if (initialValues.containsKey(KEY_MESSAGE_DATE) == false) { + throw new SQLException(KEY_MESSAGE_DATE + " must be specified"); } - if (initialValues.containsKey(KEY_MESSAGE_DATE) == false) { - throw new SQLException(KEY_MESSAGE_DATE+ " must be specified"); - } SQLiteDatabase db = mDbHelper.getWritableDatabase(); - long rowId = db.insert(DATABASE_MESSAGE_TABLE,null, initialValues); + long rowId = db.insert(DATABASE_MESSAGE_TABLE, null, initialValues); if (rowId > 0) { - Uri newUri = ContentUris.withAppendedId( CONTENT_MESSAGE_URI, rowId); + Uri newUri = ContentUris.withAppendedId(CONTENT_MESSAGE_URI, + rowId); getContext().getContentResolver().notifyChange(newUri, null); return newUri; } @@ -234,63 +242,64 @@ public class DeliveryDbAdapter extends ContentProvider { } default: - throw new IllegalArgumentException("Unknown URI " + uri); + throw new IllegalArgumentException("Unknown URI " + uri); } } - @Override public boolean onCreate() { mDbHelper = new DeliveryDbHelper(getContext()); return true; } - @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { - + SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); - + switch (uriMatcher.match(uri)) { case ENTRIES: qb.setTables(DATABASE_DELIVERY_ENTRY_TABLE); qb.setProjectionMap(sDeliveryProjectionMap); - + break; case ENTRY_ID: qb.setTables(DATABASE_DELIVERY_ENTRY_TABLE); qb.setProjectionMap(sDeliveryProjectionMap); - qb.appendWhere(KEY_DELIVERY_ENTRY_ROWID + "=" + uri.getPathSegments().get(1)); - + qb.appendWhere(KEY_DELIVERY_ENTRY_ROWID + "=" + + uri.getPathSegments().get(1)); + break; case MESSAGES: qb.setTables(DATABASE_MESSAGE_TABLE); qb.setProjectionMap(sMessageProjectionMap); - + break; case MESSAGES_ID: qb.setTables(DATABASE_MESSAGE_TABLE); qb.setProjectionMap(sMessageProjectionMap); - qb.appendWhere(KEY_MESSAGE_ROWID + "=" + uri.getPathSegments().get(1)); + qb.appendWhere(KEY_MESSAGE_ROWID + "=" + + uri.getPathSegments().get(1)); break; default: - throw new IllegalArgumentException("Unknown URI " + uri); - + throw new IllegalArgumentException("Unknown URI " + uri); + } - - //Run the query + + // Run the query SQLiteDatabase db = mDbHelper.getReadableDatabase(); - Cursor c = qb.query(db, projection, selection, selectionArgs, null, null, sortOrder); - - // Tell the cursor what uri to watch, so it knows when its source data changes + Cursor c = qb.query(db, projection, selection, selectionArgs, null, + null, sortOrder); + + // Tell the cursor what uri to watch, so it knows when its source data + // changes c.setNotificationUri(getContext().getContentResolver(), uri); return c; } - @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { @@ -299,36 +308,41 @@ public class DeliveryDbAdapter extends ContentProvider { switch (uriMatcher.match(uri)) { case ENTRIES: - count = db.update(DATABASE_DELIVERY_ENTRY_TABLE, values, selection, selectionArgs); + count = db.update(DATABASE_DELIVERY_ENTRY_TABLE, values, selection, + selectionArgs); break; - case ENTRY_ID: - { + case ENTRY_ID: { String id = uri.getPathSegments().get(1); - count = db.update(DATABASE_DELIVERY_ENTRY_TABLE, values, Words._ID + "=" + id - + (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""), selectionArgs); + count = db.update(DATABASE_DELIVERY_ENTRY_TABLE, values, Words._ID + + "=" + + id + + (!TextUtils.isEmpty(selection) ? " AND (" + selection + + ')' : ""), selectionArgs); break; } case MESSAGES: - count = db.update(DATABASE_MESSAGE_TABLE, values, selection, selectionArgs); + count = db.update(DATABASE_MESSAGE_TABLE, values, selection, + selectionArgs); break; - case MESSAGES_ID: - { + case MESSAGES_ID: { String id = uri.getPathSegments().get(1); - count = db.update(DATABASE_MESSAGE_TABLE, values, Words._ID + "=" + id - + (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""), selectionArgs); + count = db.update(DATABASE_MESSAGE_TABLE, values, Words._ID + + "=" + + id + + (!TextUtils.isEmpty(selection) ? " AND (" + selection + + ')' : ""), selectionArgs); break; } default: - throw new IllegalArgumentException("Unknown URI " + uri); + throw new IllegalArgumentException("Unknown URI " + uri); } getContext().getContentResolver().notifyChange(uri, null); return count; } - } diff --git a/src/com/hectorone/multismssender/GroupEditActivity.java b/src/com/hectorone/multismssender/GroupEditActivity.java index ad59ea5..1e86e75 100644 --- a/src/com/hectorone/multismssender/GroupEditActivity.java +++ b/src/com/hectorone/multismssender/GroupEditActivity.java @@ -10,7 +10,6 @@ import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Data; -import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; @@ -33,44 +32,48 @@ public class GroupEditActivity extends ListActivity { setContentView(R.layout.edit_group_list); mGroupNameText = (EditText) findViewById(R.id.groupName); - //Cursor c = getContentResolver().query(Phones.CONTENT_URI, null, null, null, Phones.NAME); - Cursor c = getContentResolver().query(Data.CONTENT_URI, - new String[] {Data._ID, Data.MIMETYPE, Phone.NUMBER, Phone.TYPE, Phone.LABEL, Contacts.DISPLAY_NAME}, - Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'", - null, Contacts.DISPLAY_NAME); + // Cursor c = getContentResolver().query(Phones.CONTENT_URI, null, null, + // null, Phones.NAME); + Cursor c = getContentResolver().query( + Data.CONTENT_URI, + new String[] { Data._ID, Data.MIMETYPE, Phone.NUMBER, + Phone.TYPE, Phone.LABEL, Contacts.DISPLAY_NAME }, + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'", null, + Contacts.DISPLAY_NAME); startManagingCursor(c); String[] mSelected = {}; - + mDb = new GroupsDbAdapter(this); mDb.open(); - + Long groupId; Bundle extras = getIntent().getExtras(); - groupId = extras != null ? extras.getLong(SelectGroupActivity.PARAM_GROUP_ID): null; - + groupId = extras != null ? extras + .getLong(SelectGroupActivity.PARAM_GROUP_ID) : null; + if (groupId != null) { Cursor groupNameCursor = mDb.fetchGroup(groupId); startManagingCursor(groupNameCursor); - String groupName = groupNameCursor.getString(groupNameCursor.getColumnIndex(GroupsDbAdapter.KEY_GROUP_NAME)); + String groupName = groupNameCursor.getString(groupNameCursor + .getColumnIndex(GroupsDbAdapter.KEY_GROUP_NAME)); mGroupNameText.setText(groupName); Cursor numbers = mDb.fetchPhonesFromGroup(groupId); startManagingCursor(numbers); numbers.moveToFirst(); int phoneNumIdx = numbers.getColumnIndex(Phone.NUMBER); mSelected = new String[numbers.getCount()]; - for(int i = 0; i < numbers.getCount(); i++) { + for (int i = 0; i < numbers.getCount(); i++) { mSelected[i] = numbers.getString(phoneNumIdx); numbers.moveToNext(); } - + mGid = groupId; } - - mAdpater = new GroupDataListAdapter(this, R.layout.number_row, c, new String[] { - Contacts.DISPLAY_NAME, Phone.NUMBER - }, new int[] {R.id.name, R.id.phone}, mSelected); + mAdpater = new GroupDataListAdapter(this, R.layout.number_row, c, + new String[] { Contacts.DISPLAY_NAME, Phone.NUMBER }, + new int[] { R.id.name, R.id.phone }, mSelected); setListAdapter(mAdpater); Button ok = (Button) findViewById(R.id.okGroups); @@ -86,45 +89,45 @@ public class GroupEditActivity extends ListActivity { } }); } - + protected void onStart() { - Log.d("GroupEdit","---onStart"); + //Log.d("GroupEdit", "---onStart"); mDb.open(); super.onStart(); } - + protected void onResume() { - Log.d("GroupEdit","---onResume"); + //Log.d("GroupEdit", "---onResume"); super.onResume(); } protected void onStop() { - Log.d("GroupEdit","---OnStop"); + //Log.d("GroupEdit", "---OnStop"); mDb.close(); super.onStop(); } - + private void createGroup() { - if (mGid == null) { + if (mGid == null) { String name = mGroupNameText.getText().toString(); - if(name.equals("")) { + if (name.equals("")) { name = getResources().getString(R.string.noName); } mGid = mDb.createGroup(name); } } - + private void reNameGroup() { - if (mGid != null) { + if (mGid != null) { String name = mGroupNameText.getText().toString(); - if(name.equals("")) { + if (name.equals("")) { name = getResources().getString(R.string.noName); } mDb.updateGroup(mGid, name); } } - public class GroupDataListAdapter extends SimpleCursorAdapter{ + public class GroupDataListAdapter extends SimpleCursorAdapter { public HashSet selected; int nameidx; @@ -135,11 +138,11 @@ public class GroupEditActivity extends ListActivity { public GroupDataListAdapter(Context context, int layout, Cursor c, String[] from, int[] to, String[] rawSelected) { super(context, layout, c, from, to); - nameidx = c.getColumnIndex(Contacts.DISPLAY_NAME); + nameidx = c.getColumnIndex(Contacts.DISPLAY_NAME); numberidx = c.getColumnIndex(Phone.NUMBER); - idIdx = c.getColumnIndex(Data._ID); - mContext = context; - selected = new HashSet(); + idIdx = c.getColumnIndex(Data._ID); + mContext = context; + selected = new HashSet(); for (int i = 0; i < rawSelected.length; i++) { selected.add(rawSelected[i].trim()); } @@ -149,56 +152,54 @@ public class GroupEditActivity extends ListActivity { Cursor c = getCursor(); startManagingCursor(c); c.moveToPosition(position); -// String name = c.getString(nameidx); - String contactNumber = c.getString(numberidx); - long id = c.getLong(idIdx); - - View v = super.getView(position, convertView, parent); - LinearLayout background = (LinearLayout)v.findViewById(R.id.row_background); - CheckBox checkbox = (CheckBox)v.findViewById(R.id.CheckBox); + + String contactNumber = c.getString(numberidx); + long id = c.getLong(idIdx); + View v = super.getView(position, convertView, parent); + LinearLayout background = (LinearLayout) v + .findViewById(R.id.row_background); + + CheckBox checkbox = (CheckBox) v.findViewById(R.id.CheckBox); checkbox.setOnClickListener(new addNumberToGroupClickListener(id)); checkbox.setChecked(selected.contains(contactNumber)); - background.setOnClickListener(new OnClickListener() { - + @Override public void onClick(View v) { - CheckBox checkbox = (CheckBox)v.findViewById(R.id.CheckBox); + CheckBox checkbox = (CheckBox) v + .findViewById(R.id.CheckBox); checkbox.performClick(); - + } }); return v; - } } - - private class addNumberToGroupClickListener implements OnClickListener{ + + private class addNumberToGroupClickListener implements OnClickListener { Long mId; - - + public addNumberToGroupClickListener(Long id) { super(); this.mId = id; } - public void onClick(View v) { - CheckBox cBox = (CheckBox)v; + CheckBox cBox = (CheckBox) v; createGroup(); - if(cBox.isChecked()) { + if (cBox.isChecked()) { mDb.addPhoneToGroup(mGid, mId); - }else { + } else { mDb.removePhoneToGroup(mGid, mId); } - + } - + } } diff --git a/src/com/hectorone/multismssender/GroupsDbAdapter.java b/src/com/hectorone/multismssender/GroupsDbAdapter.java index c17b03f..fb3ab62 100755 --- a/src/com/hectorone/multismssender/GroupsDbAdapter.java +++ b/src/com/hectorone/multismssender/GroupsDbAdapter.java @@ -1,4 +1,3 @@ - package com.hectorone.multismssender; import android.content.ContentValues; @@ -14,203 +13,219 @@ import android.util.Log; /** * Simple groups database access helper class. Defines the basic CRUD operations - * for the group add example, and gives the ability to list all groups as well as - * retrieve or modify a specific group. + * for the group add example, and gives the ability to list all groups as well + * as retrieve or modify a specific group. * */ public class GroupsDbAdapter { + public static final String KEY_GROUP_NAME = "name"; + public static final String KEY_GROUP_ROWID = "_id"; - public static final String KEY_GROUP_NAME = "name"; - public static final String KEY_GROUP_ROWID = "_id"; + public static final String KEY_GROUP_TO_PHONE_ROWID = "_id"; + public static final String KEY_GROUP_TO_PHONE_GROUPID = "gid"; + public static final String KEY_GROUP_TO_PHONE_PHONEID = "pid"; - public static final String KEY_GROUP_TO_PHONE_ROWID = "_id"; - public static final String KEY_GROUP_TO_PHONE_GROUPID = "gid"; - public static final String KEY_GROUP_TO_PHONE_PHONEID = "pid"; - - private static final String TAG = "groupsDbAdapter"; - private GroupDbHelper mDbHelper; - private SQLiteDatabase mDb; - - /** - * Database creation sql statement - */ - private static final String DATABASE_GROUP_CREATE = - "create table groups (_id integer primary key autoincrement, " - + "name text not null);"; - - private static final String DATABASE_GROUP_TO_PHONE_CREATE = - "create table group_TO_PHONE (_id integer primary key autoincrement, " - + "gid integer not null, pid integer not null);"; + private static final String TAG = "groupsDbAdapter"; + private GroupDbHelper mDbHelper; + private SQLiteDatabase mDb; - private static final String DATABASE_NAME = "dataGroup"; - private static final String DATABASE_GROUP_TABLE = "groups"; - private static final String DATABASE_GROUP_TO_PHONE_TABLE = "group_TO_PHONE"; - private static final int DATABASE_VERSION = 4; + /** + * Database creation sql statement + */ + private static final String DATABASE_GROUP_CREATE = "create table groups (_id integer primary key autoincrement, " + + "name text not null);"; - private final Context mCtx; + private static final String DATABASE_GROUP_TO_PHONE_CREATE = "create table group_TO_PHONE (_id integer primary key autoincrement, " + + "gid integer not null, pid integer not null);"; - private static class GroupDbHelper extends SQLiteOpenHelper { + private static final String DATABASE_NAME = "dataGroup"; + private static final String DATABASE_GROUP_TABLE = "groups"; + private static final String DATABASE_GROUP_TO_PHONE_TABLE = "group_TO_PHONE"; + private static final int DATABASE_VERSION = 4; - GroupDbHelper(Context context) { - super(context, DATABASE_NAME, null, DATABASE_VERSION); - } + private final Context mCtx; - @Override - public void onCreate(SQLiteDatabase db) { - - db.execSQL(DATABASE_GROUP_CREATE); - db.execSQL(DATABASE_GROUP_TO_PHONE_CREATE); - } + private static class GroupDbHelper extends SQLiteOpenHelper { - - @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - Log.w(TAG, "Upgrading database from version " + oldVersion + " to " - + newVersion + ", which will destroy all old data"); - db.execSQL("DROP TABLE IF EXISTS groups"); - db.execSQL("DROP TABLE IF EXISTS group_TO_PHONE"); - onCreate(db); - } - } + GroupDbHelper(Context context) { + super(context, DATABASE_NAME, null, DATABASE_VERSION); + } - /** - * Constructor - takes the context to allow the database to be - * opened/created - * - * @param ctx the Context within which to work - */ - public GroupsDbAdapter(Context ctx) { - this.mCtx = ctx; - } + @Override + public void onCreate(SQLiteDatabase db) { - /** - * Open the groups database. If it cannot be opened, try to create a new - * instance of the database. If it cannot be created, throw an exception to - * signal the failure - * - * @return this (self reference, allowing this to be chained in an - * initialization call) - * @throws SQLException if the database could be neither opened or created - */ - public GroupsDbAdapter open() throws SQLException { - mDbHelper = new GroupDbHelper(mCtx); - mDb = mDbHelper.getWritableDatabase(); - - return this; - } - - public void close() { - mDbHelper.close(); - } + db.execSQL(DATABASE_GROUP_CREATE); + db.execSQL(DATABASE_GROUP_TO_PHONE_CREATE); + } + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + + newVersion + ", which will destroy all old data"); + db.execSQL("DROP TABLE IF EXISTS groups"); + db.execSQL("DROP TABLE IF EXISTS group_TO_PHONE"); + onCreate(db); + } + } - /** - * Create a new group using the name provided. If the group is - * successfully created return the new rowId for that group, otherwise return - * a -1 to indicate failure. - * - * @param name the name of the group - */ - public long createGroup(String name) { - ContentValues initialValues = new ContentValues(); - initialValues.put(KEY_GROUP_NAME, name); + /** + * Constructor - takes the context to allow the database to be + * opened/created + * + * @param ctx + * the Context within which to work + */ + public GroupsDbAdapter(Context ctx) { + this.mCtx = ctx; + } - return mDb.insert(DATABASE_GROUP_TABLE, null, initialValues); - } + /** + * Open the groups database. If it cannot be opened, try to create a new + * instance of the database. If it cannot be created, throw an exception to + * signal the failure + * + * @return this (self reference, allowing this to be chained in an + * initialization call) + * @throws SQLException + * if the database could be neither opened or created + */ + public GroupsDbAdapter open() throws SQLException { + mDbHelper = new GroupDbHelper(mCtx); + mDb = mDbHelper.getWritableDatabase(); - /** - * Delete the group with the given rowId - * - * @param rowId id of group to delete - * @return true if deleted, false otherwise - */ - public boolean deleteGroup(long rowId) { + return this; + } - return mDb.delete(DATABASE_GROUP_TABLE, KEY_GROUP_ROWID + "=" + rowId, null) > 0 && mDb.delete(DATABASE_GROUP_TO_PHONE_TABLE, KEY_GROUP_TO_PHONE_GROUPID + "=" + rowId, null) > 0; - - } + public void close() { + mDbHelper.close(); + } - /** - * Return a Cursor over the list of all groups in the database - * - * @return Cursor over all groups - */ - public Cursor fetchAllGroups() { + /** + * Create a new group using the name provided. If the group is successfully + * created return the new rowId for that group, otherwise return a -1 to + * indicate failure. + * + * @param name + * the name of the group + */ + public long createGroup(String name) { + ContentValues initialValues = new ContentValues(); + initialValues.put(KEY_GROUP_NAME, name); - return mDb.query(DATABASE_GROUP_TABLE, new String[] {KEY_GROUP_ROWID, KEY_GROUP_NAME}, null, null, null, null, KEY_GROUP_NAME); - } + return mDb.insert(DATABASE_GROUP_TABLE, null, initialValues); + } - /** - * Return a Cursor positioned at the group that matches the given rowId - * - * @param rowId id of group to retrieve - * @return Cursor positioned to matching group, if found - * @throws SQLException if group could not be found/retrieved - */ - public Cursor fetchGroup(long rowId) throws SQLException { + /** + * Delete the group with the given rowId + * + * @param rowId + * id of group to delete + * @return true if deleted, false otherwise + */ + public boolean deleteGroup(long rowId) { - Cursor mCursor = + return mDb.delete(DATABASE_GROUP_TABLE, KEY_GROUP_ROWID + "=" + rowId, + null) > 0 + && mDb.delete(DATABASE_GROUP_TO_PHONE_TABLE, + KEY_GROUP_TO_PHONE_GROUPID + "=" + rowId, null) > 0; - mDb.query(true, DATABASE_GROUP_TABLE, new String[] {KEY_GROUP_ROWID, KEY_GROUP_NAME}, KEY_GROUP_ROWID + "=" + rowId, null, - null, null, null, null); - if (mCursor != null) { - mCursor.moveToFirst(); - } - return mCursor; + } - } + /** + * Return a Cursor over the list of all groups in the database + * + * @return Cursor over all groups + */ + public Cursor fetchAllGroups() { - /** - * @param rowId id of group to update - * @param name value to set group name to - */ - public boolean updateGroup(long rowId, String name) { - ContentValues args = new ContentValues(); - args.put(KEY_GROUP_NAME, name); + return mDb.query(DATABASE_GROUP_TABLE, new String[] { KEY_GROUP_ROWID, + KEY_GROUP_NAME }, null, null, null, null, KEY_GROUP_NAME); + } - return mDb.update(DATABASE_GROUP_TABLE, args, KEY_GROUP_ROWID + "=" + rowId, null) > 0; - } - - - public Cursor fetchPhonesFromGroup(long groupId) { - Cursor mCursor = mDb.query(true, DATABASE_GROUP_TO_PHONE_TABLE, new String[] {KEY_GROUP_TO_PHONE_PHONEID}, KEY_GROUP_TO_PHONE_GROUPID + "=" + groupId, null, null, null, null, null); - Cursor userCursor = null; - int phoneIdIdx = mCursor.getColumnIndex(KEY_GROUP_TO_PHONE_PHONEID); - if(mCursor != null) { - userCursor = mCtx.getContentResolver().query(Data.CONTENT_URI, - new String[] {Data._ID, Data.MIMETYPE, Phone.NUMBER, Phone.TYPE, Phone.LABEL, Contacts.DISPLAY_NAME}, - Data._ID +" IN "+ cursorToStringList(mCursor, phoneIdIdx), - null, Contacts.DISPLAY_NAME); - } - mCursor.close(); - return userCursor; - } + /** + * Return a Cursor positioned at the group that matches the given rowId + * + * @param rowId + * id of group to retrieve + * @return Cursor positioned to matching group, if found + * @throws SQLException + * if group could not be found/retrieved + */ + public Cursor fetchGroup(long rowId) throws SQLException { - - public long addPhoneToGroup(long groupId, long phoneId ) { - ContentValues initialValues = new ContentValues(); - initialValues.put(KEY_GROUP_TO_PHONE_GROUPID, groupId); - initialValues.put(KEY_GROUP_TO_PHONE_PHONEID, phoneId); + Cursor mCursor = - return mDb.insert(DATABASE_GROUP_TO_PHONE_TABLE, null, initialValues); - } - - public boolean removePhoneToGroup(long groupId, long phoneId) { - return mDb.delete(DATABASE_GROUP_TO_PHONE_TABLE, KEY_GROUP_TO_PHONE_GROUPID + "=" + groupId+ " AND "+ KEY_GROUP_TO_PHONE_PHONEID + "=" + phoneId, null) > 0; - } - - public String cursorToStringList(Cursor cursor, int columnIdx) { - cursor.moveToFirst(); - String list = "( "; - while(!cursor.isAfterLast()) { - list += cursor.getString(columnIdx); - if(!cursor.isLast()) { - list += " , "; - } - cursor.moveToNext(); - } - list +=" )"; - return list; - } + mDb.query(true, DATABASE_GROUP_TABLE, new String[] { KEY_GROUP_ROWID, + KEY_GROUP_NAME }, KEY_GROUP_ROWID + "=" + rowId, null, null, + null, null, null); + if (mCursor != null) { + mCursor.moveToFirst(); + } + return mCursor; + + } + + /** + * @param rowId + * id of group to update + * @param name + * value to set group name to + */ + public boolean updateGroup(long rowId, String name) { + ContentValues args = new ContentValues(); + args.put(KEY_GROUP_NAME, name); + + return mDb.update(DATABASE_GROUP_TABLE, args, KEY_GROUP_ROWID + "=" + + rowId, null) > 0; + } + + public Cursor fetchPhonesFromGroup(long groupId) { + Cursor mCursor = mDb.query(true, DATABASE_GROUP_TO_PHONE_TABLE, + new String[] { KEY_GROUP_TO_PHONE_PHONEID }, + KEY_GROUP_TO_PHONE_GROUPID + "=" + groupId, null, null, null, + null, null); + Cursor userCursor = null; + int phoneIdIdx = mCursor.getColumnIndex(KEY_GROUP_TO_PHONE_PHONEID); + if (mCursor != null) { + userCursor = mCtx.getContentResolver() + .query(Data.CONTENT_URI, + new String[] { Data._ID, Data.MIMETYPE, + Phone.NUMBER, Phone.TYPE, Phone.LABEL, + Contacts.DISPLAY_NAME }, + Data._ID + " IN " + + cursorToStringList(mCursor, phoneIdIdx), + null, Contacts.DISPLAY_NAME); + } + mCursor.close(); + return userCursor; + } + + public long addPhoneToGroup(long groupId, long phoneId) { + ContentValues initialValues = new ContentValues(); + initialValues.put(KEY_GROUP_TO_PHONE_GROUPID, groupId); + initialValues.put(KEY_GROUP_TO_PHONE_PHONEID, phoneId); + + return mDb.insert(DATABASE_GROUP_TO_PHONE_TABLE, null, initialValues); + } + + public boolean removePhoneToGroup(long groupId, long phoneId) { + return mDb.delete(DATABASE_GROUP_TO_PHONE_TABLE, + KEY_GROUP_TO_PHONE_GROUPID + "=" + groupId + " AND " + + KEY_GROUP_TO_PHONE_PHONEID + "=" + phoneId, null) > 0; + } + + public String cursorToStringList(Cursor cursor, int columnIdx) { + cursor.moveToFirst(); + String list = "( "; + while (!cursor.isAfterLast()) { + list += cursor.getString(columnIdx); + if (!cursor.isLast()) { + list += " , "; + } + cursor.moveToNext(); + } + list += " )"; + return list; + } } diff --git a/src/com/hectorone/multismssender/ListEntryActivity.java b/src/com/hectorone/multismssender/ListEntryActivity.java index 024bdaf..351d2f6 100644 --- a/src/com/hectorone/multismssender/ListEntryActivity.java +++ b/src/com/hectorone/multismssender/ListEntryActivity.java @@ -1,6 +1,5 @@ package com.hectorone.multismssender; - import android.app.ListActivity; import android.content.Context; import android.database.Cursor; @@ -16,97 +15,96 @@ public class ListEntryActivity extends ListActivity { DeliveryDbAdapter mDbHelper; Long mDeliveryId; public static final int REFRESH_ID = 0; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.entry_list); Bundle extras = getIntent().getExtras(); - mDeliveryId = extras != null ? extras.getLong(SelectDeliveryActivity.PARAM_DELIVERY_ID): null; - - //mDbHelper = new DeliveryDbAdapter(this); - //mDbHelper.open(); + mDeliveryId = extras != null ? extras + .getLong(SelectDeliveryActivity.PARAM_DELIVERY_ID) : null; + fillData(); registerForContextMenu(getListView()); - } - + public void fillData() { - - Cursor deliveryCursor = getContentResolver().query(DeliveryDbAdapter.CONTENT_DELIVERY_URI, null, DeliveryDbAdapter.KEY_DELIVERY_ENTRY_MESSAGE_ID+" = " + mDeliveryId, null, null); - //Cursor deliveryCursor = mDbHelper.fetchAllEntry(mDeliveryId); + + Cursor deliveryCursor = getContentResolver().query( + DeliveryDbAdapter.CONTENT_DELIVERY_URI, + null, + DeliveryDbAdapter.KEY_DELIVERY_ENTRY_MESSAGE_ID + " = " + + mDeliveryId, null, null); startManagingCursor(deliveryCursor); - String[] from = new String[]{DeliveryDbAdapter.KEY_DELIVERY_ENTRY_NAME, DeliveryDbAdapter.KEY_DELIVERY_ENTRY_NUMBER }; + String[] from = new String[] { + DeliveryDbAdapter.KEY_DELIVERY_ENTRY_NAME, + DeliveryDbAdapter.KEY_DELIVERY_ENTRY_NUMBER }; - int[] to = new int[]{R.id.name, R.id.number}; + int[] to = new int[] { R.id.name, R.id.number }; - EntryCursorAdapter notes = - new EntryCursorAdapter(this, R.layout.entry_row, deliveryCursor, from, to); + EntryCursorAdapter notes = new EntryCursorAdapter(this, + R.layout.entry_row, deliveryCursor, from, to); setListAdapter(notes); } - + @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } - - + @Override protected void onDestroy() { super.onDestroy(); } - + @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); - menu.add(0, REFRESH_ID,0, R.string.refresh); + menu.add(0, REFRESH_ID, 0, R.string.refresh); return true; } - + @Override public boolean onContextItemSelected(MenuItem item) { - switch(item.getItemId()) { + switch (item.getItemId()) { case REFRESH_ID: fillData(); return true; } return super.onContextItemSelected(item); } - - private class EntryCursorAdapter extends SimpleCursorAdapter{ + + private class EntryCursorAdapter extends SimpleCursorAdapter { Cursor c; int deliveredIdx; public EntryCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) { super(context, layout, c, from, to); - //TODO this.getCursor() + // TODO this.getCursor() this.c = c; - deliveredIdx = c.getColumnIndex(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_DELIVERED); + deliveredIdx = c + .getColumnIndex(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_DELIVERED); } - - - @Override public View getView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); - ImageView image = (ImageView)v.findViewById(R.id.delivered); - + ImageView image = (ImageView) v.findViewById(R.id.delivered); + c.moveToPosition(position); int delivered = c.getInt(deliveredIdx); - if(delivered != 0) { + if (delivered != 0) { image.setImageResource(R.drawable.btn_check_buttonless_on); - }else { + } else { image.setImageResource(R.drawable.btn_check_buttonless_off); } return v; } } - - } diff --git a/src/com/hectorone/multismssender/MessageReceiver.java b/src/com/hectorone/multismssender/MessageReceiver.java index 9a0477c..bb421f5 100644 --- a/src/com/hectorone/multismssender/MessageReceiver.java +++ b/src/com/hectorone/multismssender/MessageReceiver.java @@ -5,19 +5,18 @@ import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.net.Uri; -import android.util.Log; public class MessageReceiver extends BroadcastReceiver{ - public static final String MESSAGE_RECEIVED = "com.hectorone.multismssender.SMS_RECEIVED"; + public static final String MESSAGE_RECEIVED = "com.hectorone.multismssender.SMS_RECEIVED"; public static final String ANDROID_MESSAGE_RECEIVED = "android.provider.Telephony.SMS_RECEIVED"; - public static final String DEBUG_TAG="-------MessageReceiver--------"; + public static final String DEBUG_TAG = "-------MessageReceiver--------"; @Override public void onReceive(Context context, Intent intent) { if (MESSAGE_RECEIVED.equals(intent.getAction())) { - Log.d(DEBUG_TAG, "SMS_RECEIVED"); + //Log.d(DEBUG_TAG, "SMS_RECEIVED"); Uri entryURI = intent.getData(); if (entryURI != null){ @@ -26,20 +25,6 @@ public class MessageReceiver extends BroadcastReceiver{ context.getContentResolver().update(entryURI, values, null, null); } - /*String entryStr = entryURI.getLastPathSegment(); - entryId = Long.parseLong(entryStr);*/ - - //byte[] pdu = (byte[]) intent.getByteArrayExtra("pdu"); - //SmsMessage message = SmsMessage.createFromPdu(pdu); - //int status = message.getStatus(); - - - /*if(entryId != null) { - DeliveryDbAdapter mDbHelper = new DeliveryDbAdapter(context); - mDbHelper.open(); - mDbHelper.setEntryDelivered(entryId); - mDbHelper.close(); - }*/ } } diff --git a/src/com/hectorone/multismssender/MultiSmsSender.java b/src/com/hectorone/multismssender/MultiSmsSender.java index 4b34d50..4226a88 100644 --- a/src/com/hectorone/multismssender/MultiSmsSender.java +++ b/src/com/hectorone/multismssender/MultiSmsSender.java @@ -42,21 +42,21 @@ public class MultiSmsSender extends Activity { private ProgressDialog mSendingDialog; - public static final int ACTIVITY_EDIT = 0; + public static final int ACTIVITY_EDIT = 0; public static final int ACTIVITY_ADD_GROUP = 1; - public static final int ACTIVITY_DELIVERY = 2; + public static final int ACTIVITY_DELIVERY = 2; - private static final int INSERT_ID = Menu.FIRST; + private static final int INSERT_ID = Menu.FIRST; - public static final int MANY_MESSAGE = 50; + public static final int MANY_MESSAGE = 50; - private static final int DIALOG_PROGRESS = 0; - private static final int DIALOG_FINISHED = 1; - private static final int DIALOG_NONUMBER = 2; - private static final int DIALOG_MANYMESSAGE = 3; - private static final int DIALOG_STARTWAIT = 4; + private static final int DIALOG_PROGRESS = 0; + private static final int DIALOG_FINISHED = 1; + private static final int DIALOG_NONUMBER = 2; + private static final int DIALOG_MANYMESSAGE = 3; + private static final int DIALOG_STARTWAIT = 4; private static final int DIALOG_PROGRESS_CANCEL = 5; - private static final int SENDING_DIALOG_KEY = 6; + private static final int SENDING_DIALOG_KEY = 6; public static final String PARAM_NUMBERS_LIST = "param number list"; public static final String PARAM_FLUSH = "param flush"; @@ -72,89 +72,110 @@ public class MultiSmsSender extends Activity { final Handler mHandler = new Handler() { public void handleMessage(Message msg) { int type = msg.getData().getInt("ORIGIN"); + switch (type) { - case DIALOG_PROGRESS:{ + case DIALOG_PROGRESS: { int total = msg.getData().getInt("total"); - //Log.d(DEBUG_TAG, "========= total is "+total); mSendingDialog.setProgress(total); } - break; - case DIALOG_PROGRESS_CANCEL:{ + break; + + case DIALOG_PROGRESS_CANCEL: { mSendingDialog.cancel(); } - break; + break; - case DIALOG_FINISHED:{ - //dismissDialog(SENDING_DIALOG_KEY); + case DIALOG_FINISHED: { int total = msg.getData().getInt("total"); - new AlertDialog.Builder(MultiSmsSender.this).setPositiveButton( - getResources().getString(R.string.ok), - new DialogInterface.OnClickListener() { - - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - - } - }).setMessage( - total + " " - + getResources().getString(R.string.message_sent)) - .show(); - break; - } - - case DIALOG_NONUMBER:{ - new AlertDialog.Builder(MultiSmsSender.this).setPositiveButton( - getResources().getString(R.string.ok), - new DialogInterface.OnClickListener() { - - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - - } - }).setMessage( - getResources().getString(R.string.enter_number)).show(); - break; - } - case DIALOG_MANYMESSAGE:{ - new AlertDialog.Builder(MultiSmsSender.this) - .setMessage(getResources().getString(R.string.warning_many_message)) - .setCancelable(false) - .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - synchronized (MultiSmsSender.this) { - MultiSmsSender.this.notify(); - mManyMessageContinue = true; - } - dialog.dismiss(); - } - }) - .setNegativeButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - synchronized (MultiSmsSender.this) { - MultiSmsSender.this.notify(); - mManyMessageContinue = false; - } - dialog.dismiss(); - } - }) - .show(); + .setPositiveButton( + getResources().getString(R.string.ok), + new DialogInterface.OnClickListener() { + + public void onClick(DialogInterface dialog, + int which) { + dialog.dismiss(); + + } + + }) + .setMessage( + total + + " " + + getResources().getString( + R.string.message_sent)).show(); + break; + } + + case DIALOG_NONUMBER: { + new AlertDialog.Builder(MultiSmsSender.this) + .setPositiveButton( + getResources().getString(R.string.ok), + new DialogInterface.OnClickListener() { + + public void onClick(DialogInterface dialog, + int which) { + dialog.dismiss(); + + } + }) + .setMessage( + getResources().getString(R.string.enter_number)) + .show(); + break; + } + case DIALOG_MANYMESSAGE: { + + new AlertDialog.Builder(MultiSmsSender.this) + .setMessage( + getResources().getString( + R.string.warning_many_message)) + .setCancelable(false) + .setPositiveButton( + getResources().getString(R.string.ok), + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, + int id) { + synchronized (MultiSmsSender.this) { + MultiSmsSender.this.notify(); + mManyMessageContinue = true; + } + dialog.dismiss(); + } + }) + .setNegativeButton( + getResources().getString(R.string.cancel), + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, + int id) { + synchronized (MultiSmsSender.this) { + MultiSmsSender.this.notify(); + mManyMessageContinue = false; + } + dialog.dismiss(); + } + }).show(); break; } - case DIALOG_STARTWAIT:{ - new AlertDialog.Builder(MultiSmsSender.this).setPositiveButton( - getResources().getString(R.string.ok), - new DialogInterface.OnClickListener() { + case DIALOG_STARTWAIT: { + new AlertDialog.Builder(MultiSmsSender.this) + .setPositiveButton( + getResources().getString(R.string.ok), + new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - synchronized (MultiSmsSender.this) { - MultiSmsSender.this.notify(); - } - dialog.dismiss(); + public void onClick(DialogInterface dialog, + int which) { + synchronized (MultiSmsSender.this) { + MultiSmsSender.this.notify(); + } + dialog.dismiss(); - } - }).setMessage(getResources().getString(R.string.more_message)).show(); + } + }) + .setMessage( + getResources().getString(R.string.more_message)) + .show(); break; } @@ -168,17 +189,15 @@ public class MultiSmsSender extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.main); - - mAddButton = (Button) findViewById(R.id.contacts); - mAddGroupButton = (Button)findViewById(R.id.groups); - mSend = (Button) findViewById(R.id.send); - mContacts = (TextView) findViewById(R.id.numbers); - mEditor = (TextView) findViewById(R.id.editor); - mDeliveryCheckBox = (CheckBox) findViewById(R.id.deliveryCheckBox); + mAddButton = (Button) findViewById(R.id.contacts); + mAddGroupButton = (Button) findViewById(R.id.groups); + mSend = (Button) findViewById(R.id.send); + mContacts = (TextView) findViewById(R.id.numbers); + mEditor = (TextView) findViewById(R.id.editor); + mDeliveryCheckBox = (CheckBox) findViewById(R.id.deliveryCheckBox); mContacts.setImeOptions(EditorInfo.IME_ACTION_NEXT); - // mEditor.setImeOptions(EditorInfo.IME_ACTION_DONE); - + // mEditor.setImeOptions(EditorInfo.IME_ACTION_DONE); mAddButton.setOnClickListener(new OnClickListener() { @@ -186,13 +205,12 @@ public class MultiSmsSender extends Activity { selectNumbers(); } }); - + mAddGroupButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { display_group_list(); } }); - mSend.setOnClickListener(new OnClickListener() { @@ -200,14 +218,13 @@ public class MultiSmsSender extends Activity { showDialog(SENDING_DIALOG_KEY); mThreadSender = new MessageSenderThread(mHandler); mThreadSender.start(); - //sendMessage(); - } }); } public void selectNumbers() { - //startActivityForResult(new Intent(Intent.ACTION_PICK, People.CONTENT_URI), 0); + // startActivityForResult(new Intent(Intent.ACTION_PICK, + // People.CONTENT_URI), 0); Intent i = new Intent(this, PhoneNumberSelection.class); String rawNumbers = mContacts.getText().toString(); String[] numbers = rawNumbers.split(","); @@ -215,28 +232,27 @@ public class MultiSmsSender extends Activity { startActivityForResult(i, ACTIVITY_EDIT); } - - - private class MessageSenderThread extends Thread{ + private class MessageSenderThread extends Thread { Handler mHandler; - public MessageSenderThread( Handler h) { + public MessageSenderThread(Handler h) { mHandler = h; } + public synchronized void run() { super.run(); sendMessage(mHandler); } } - public void sendMessage(Handler handler) { - //DeliveryDbAdapter mDbHelper = new DeliveryDbAdapter(this); - - SmsManager manager = SmsManager.getDefault(); - String message = mEditor.getText().toString(); + + public void sendMessage(Handler handler) { + + SmsManager manager = SmsManager.getDefault(); + String message = mEditor.getText().toString(); HashMap deliveryIdMap = new HashMap(); - mManyMessageContinue = true; + mManyMessageContinue = true; if("".equals(message)) { { @@ -245,68 +261,63 @@ public class MultiSmsSender extends Activity { return; } - String[] numbers = mContacts.getText().toString().split(","); + String[] numbers = mContacts.getText().toString().split(","); ArrayList phoneNumberConform = new ArrayList(); - int size = numbers.length; - boolean haveDeliveryReports = mDeliveryCheckBox.isChecked(); - long messageId = -1; - ArrayList messages = manager.divideMessage(message); - int messageCount = messages.size(); - + int size = numbers.length; + boolean haveDeliveryReports = mDeliveryCheckBox.isChecked(); + long messageId = -1; + ArrayList messages = manager.divideMessage(message); + int messageCount = messages.size(); if (haveDeliveryReports) { ContentValues values = new ContentValues(2); - values.put(DeliveryDbAdapter.KEY_MESSAGE_NAME, message.substring(0, Math.min(30, message - .length())).replace('\n', ' ')); - values.put(DeliveryDbAdapter.KEY_MESSAGE_DATE, DateFormat.getDateInstance().format(new Date())); - messageId = Long.parseLong(getContentResolver().insert(DeliveryDbAdapter.CONTENT_MESSAGE_URI, values).getPathSegments().get(1)); - /* - mDbHelper.open(); - deliveryId = mDbHelper.createMessage(message.substring(0, Math.min(30, message - .length())).replace('\n', ' '), DateFormat.getDateInstance() - .format(new Date())); - mDbHelper.close();*/ + values.put(DeliveryDbAdapter.KEY_MESSAGE_NAME, + message.substring(0, Math.min(30, message.length())) + .replace('\n', ' ')); + values.put(DeliveryDbAdapter.KEY_MESSAGE_DATE, DateFormat + .getDateInstance().format(new Date())); + + messageId = Long.parseLong(getContentResolver() + .insert(DeliveryDbAdapter.CONTENT_MESSAGE_URI, values) + .getPathSegments().get(1)); } - - //Check if numbers are correct and prepare deliveryId - for(int i= 0; i< size; i++) { + // Check if numbers are correct and prepare deliveryId + for (int i = 0; i < size; i++) { String newN = numbers[i].trim(); newN = newN.replace(" ", ""); if (!newN.equals("") && PhoneNumberUtils.isWellFormedSmsAddress(newN) && !phoneNumberConform.contains(newN)) { phoneNumberConform.add(newN); - if(haveDeliveryReports) { + if (haveDeliveryReports) { ContentValues values = new ContentValues(3); - values.put(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_NAME, nameFromNumber(getContentResolver(), newN)); - values.put(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_NUMBER, newN); - values.put(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_MESSAGE_ID, messageId); - - long entryId = Long.parseLong(getContentResolver().insert(DeliveryDbAdapter.CONTENT_DELIVERY_URI, values).getPathSegments().get(1)); - deliveryIdMap.put(newN,entryId); - /* - mDbHelper.open(); - long entryId = mDbHelper.createEntry(nameFromNumber(getContentResolver(), newN), newN, messageId); - deliveryIdMap.put(newN,entryId); - mDbHelper.close();*/ - } + values.put(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_NAME, + nameFromNumber(getContentResolver(), newN)); + values.put(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_NUMBER, + newN); + values.put(DeliveryDbAdapter.KEY_DELIVERY_ENTRY_MESSAGE_ID, + messageId); + long entryId = Long.parseLong(getContentResolver() + .insert(DeliveryDbAdapter.CONTENT_DELIVERY_URI, + values).getPathSegments().get(1)); + deliveryIdMap.put(newN, entryId); + + } } } - - numbers = new String[size]; numbers = phoneNumberConform.toArray(numbers); - size = phoneNumberConform.size(); + size = phoneNumberConform.size(); if (size != 0) { - if(size > MANY_MESSAGE){ + if (size > MANY_MESSAGE) { { - displayDialog(handler, DIALOG_MANYMESSAGE,null); + displayDialog(handler, DIALOG_MANYMESSAGE, null); } synchronized (MultiSmsSender.this) { try { @@ -316,13 +327,12 @@ public class MultiSmsSender extends Activity { } } - } if (mManyMessageContinue) { int message_sent = 0; - int chunk_max = Math.min(MANY_MESSAGE, size); + int chunk_max = Math.min(MANY_MESSAGE, size); do { if (message_sent > 0) { displayDialog(handler, DIALOG_STARTWAIT, null); @@ -340,16 +350,15 @@ public class MultiSmsSender extends Activity { for (int i = message_sent; i < chunk_max; i++) { message_sent++; String newN = numbers[i]; - Message msg = handler.obtainMessage(); - Bundle b = new Bundle(); + Bundle b = new Bundle(); b.putInt("ORIGIN", DIALOG_PROGRESS); b.putInt("total", (i * 100) / size); msg.setData(b); handler.sendMessage(msg); ArrayList deliveryIntents = null; - ArrayList sentIntents = null; + ArrayList sentIntents = null; if (haveDeliveryReports) { deliveryIntents = new ArrayList( @@ -368,17 +377,19 @@ public class MultiSmsSender extends Activity { // Log.d(DEBUG_TAG, // "entry is "+entryId+" to number"+newN); for (int j = 0; j < messageCount; j++) { - if (j == (messageCount -1)){ - Uri entryURI = Uri.withAppendedPath( - DeliveryDbAdapter.CONTENT_DELIVERY_URI, "" - + entryId); + if (j == (messageCount - 1)) { + Uri entryURI = Uri + .withAppendedPath( + DeliveryDbAdapter.CONTENT_DELIVERY_URI, + "" + entryId); Intent intent = new Intent( MessageReceiver.MESSAGE_RECEIVED, - entryURI, this, MessageReceiver.class); - - deliveryIntents.add(PendingIntent.getBroadcast( - this, 0, intent, 0)); - }else{ + entryURI, this, + MessageReceiver.class); + + deliveryIntents.add(PendingIntent + .getBroadcast(this, 0, intent, 0)); + } else { deliveryIntents.add(null); } } @@ -393,22 +404,22 @@ public class MultiSmsSender extends Activity { } while (((size - message_sent) > 0) && appli_running); Message msg = handler.obtainMessage(); - Bundle b = new Bundle(); + Bundle b = new Bundle(); b.putInt("ORIGIN", DIALOG_FINISHED); b.putInt("total", phoneNumberConform.size()); msg.setData(b); handler.sendMessage(msg); } - displayDialog(handler, DIALOG_PROGRESS_CANCEL,null); - + displayDialog(handler, DIALOG_PROGRESS_CANCEL, null); } else { - displayDialog(handler, DIALOG_NONUMBER,null); + displayDialog(handler, DIALOG_NONUMBER, null); } } - private void displayDialog(Handler handler, int dialogId, HashMap params) { + private void displayDialog(Handler handler, int dialogId, + HashMap params) { Message msg = handler.obtainMessage(); Bundle b = new Bundle(); b.putInt("ORIGIN", dialogId); @@ -520,27 +531,27 @@ public class MultiSmsSender extends Activity { } // *********************** HELPER **************************************** - - - public String nameFromNumber(ContentResolver resolver, String number) { - Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)); - Cursor c = null; - try { - c = resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME},null, null, null); + + public String nameFromNumber(ContentResolver resolver, String number) { + Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, + Uri.encode(number)); + Cursor c = null; + try { + c = resolver.query(uri, new String[] { PhoneLookup.DISPLAY_NAME }, + null, null, null); } catch (Exception e) { return ""; } - - - if(c != null) { - c.moveToFirst(); - if(c.isFirst()) { - return c.getString(c.getColumnIndex(PhoneLookup.DISPLAY_NAME)); - }else { - return ""; - } - } - return ""; - } + + if (c != null) { + c.moveToFirst(); + if (c.isFirst()) { + return c.getString(c.getColumnIndex(PhoneLookup.DISPLAY_NAME)); + } else { + return ""; + } + } + return ""; + } } diff --git a/src/com/hectorone/multismssender/PhoneNumberSelection.java b/src/com/hectorone/multismssender/PhoneNumberSelection.java index 187d03d..1068044 100644 --- a/src/com/hectorone/multismssender/PhoneNumberSelection.java +++ b/src/com/hectorone/multismssender/PhoneNumberSelection.java @@ -21,29 +21,27 @@ import android.widget.LinearLayout; import android.widget.SimpleCursorAdapter; import android.widget.TextView; - -public class PhoneNumberSelection extends ListActivity -{ +public class PhoneNumberSelection extends ListActivity { PhoneDataListAdapter mAdpater; - - HashSet mSelectedSet; - private static final int INSERT_ID = Menu.FIRST; - private static final int SELECT_ALL_ID = Menu.FIRST + 1; - private static final int DESELECT_ALL_ID = Menu.FIRST + 2; + HashSet mSelectedSet; + private static final int INSERT_ID = Menu.FIRST; + private static final int SELECT_ALL_ID = Menu.FIRST + 1; + private static final int DESELECT_ALL_ID = Menu.FIRST + 2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.number_list); - String[] selected; - selected = savedInstanceState != null ? savedInstanceState.getStringArray(MultiSmsSender.PARAM_NUMBERS_LIST ) : null; + selected = savedInstanceState != null ? savedInstanceState + .getStringArray(MultiSmsSender.PARAM_NUMBERS_LIST) : null; if (selected == null) { Bundle extras = getIntent().getExtras(); - selected = extras != null ? extras.getStringArray(MultiSmsSender.PARAM_NUMBERS_LIST ) : null; + selected = extras != null ? extras + .getStringArray(MultiSmsSender.PARAM_NUMBERS_LIST) : null; } mSelectedSet = new HashSet(); @@ -56,37 +54,37 @@ public class PhoneNumberSelection extends ListActivity ok.setOnClickListener(new OnClickListener() { public void onClick(View v) { - Intent i = new Intent(); - String [] numbers = new String[mSelectedSet.size()]; + Intent i = new Intent(); + String[] numbers = new String[mSelectedSet.size()]; mSelectedSet.toArray(numbers); - Bundle bundle = new Bundle(); - - bundle.putStringArray(MultiSmsSender.PARAM_NUMBERS_LIST, numbers); + + Bundle bundle = new Bundle(); + bundle.putStringArray(MultiSmsSender.PARAM_NUMBERS_LIST, + numbers); bundle.putBoolean(MultiSmsSender.PARAM_FLUSH, true); i.putExtras(bundle); + setResult(RESULT_OK, i); finish(); - } }); - } private void fillData() { - - Cursor c = getContentResolver().query(Data.CONTENT_URI, - new String[] {Data._ID, Data.MIMETYPE, Phone.NUMBER, Phone.TYPE, Phone.LABEL, Contacts.DISPLAY_NAME}, - Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'", - null, Contacts.DISPLAY_NAME); + Cursor c = getContentResolver().query( + Data.CONTENT_URI, + new String[] { Data._ID, Data.MIMETYPE, Phone.NUMBER, + Phone.TYPE, Phone.LABEL, Contacts.DISPLAY_NAME }, + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'", null, + Contacts.DISPLAY_NAME); startManagingCursor(c); - mAdpater = new PhoneDataListAdapter(this, R.layout.number_row, c, new String[] { - Contacts.DISPLAY_NAME, Phone.NUMBER - }, new int[] {R.id.name, R.id.phone}, mSelectedSet); - - + mAdpater = new PhoneDataListAdapter(this, R.layout.number_row, c, + new String[] { Contacts.DISPLAY_NAME, Phone.NUMBER }, + new int[] { R.id.name, R.id.phone }, mSelectedSet); + setListAdapter(mAdpater); } @@ -100,19 +98,23 @@ public class PhoneNumberSelection extends ListActivity @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { - switch(item.getItemId()) { + switch (item.getItemId()) { case INSERT_ID: display_group_list(); return true; case SELECT_ALL_ID: - - /*Cursor c = getContentResolver().query(Phones.CONTENT_URI, null, null, null, Phones.NAME); - int numberIdx = c.getColumnIndex(Phones.NUMBER); - */ - Cursor c = getContentResolver().query(Data.CONTENT_URI, - new String[] {Data._ID, Data.MIMETYPE, Phone.NUMBER, Phone.TYPE, Phone.LABEL, Contacts.DISPLAY_NAME}, - Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'", - null, null); + + /* + * Cursor c = getContentResolver().query(Phones.CONTENT_URI, null, + * null, null, Phones.NAME); int numberIdx = + * c.getColumnIndex(Phones.NUMBER); + */ + Cursor c = getContentResolver().query( + Data.CONTENT_URI, + new String[] { Data._ID, Data.MIMETYPE, Phone.NUMBER, + Phone.TYPE, Phone.LABEL, Contacts.DISPLAY_NAME }, + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'", null, + null); int numberIdx = c.getColumnIndex(Phone.NUMBER); startManagingCursor(c); c.moveToFirst(); @@ -126,60 +128,44 @@ public class PhoneNumberSelection extends ListActivity mSelectedSet = new HashSet(); fillData(); return true; - } + } return super.onMenuItemSelected(featureId, item); } - - public void display_group_list(){ + public void display_group_list() { Intent i = new Intent(this, SelectGroupActivity.class); startActivityForResult(i, MultiSmsSender.ACTIVITY_ADD_GROUP); } - /*@Override - protected void onListItemClick(ListView l, View v, int position, long id) { - super.onListItemClick(l, v, position, id); - l.getItemAtPosition(position); - }*/ - - /*@Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - outState.putStringArray(MultiSmsSender.PARAM_NUMBERS_LIST, (String[] )mAdpater.selected.toArray()); - } - - @Override - protected void onPause() { - super.onPause(); - }*/ - - public class PhoneDataListAdapter extends SimpleCursorAdapter{ + public class PhoneDataListAdapter extends SimpleCursorAdapter { public PhoneDataListAdapter(Context context, int layout, Cursor c, String[] from, int[] to, HashSet selected) { super(context, layout, c, from, to); } - public View getView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); - LinearLayout background = (LinearLayout)v.findViewById(R.id.row_background); - String contactNumber = ((TextView)v.findViewById(R.id.phone)).getText().toString(); - - CheckBox checkbox = (CheckBox)v.findViewById(R.id.CheckBox); - checkbox.setOnClickListener(new addNumberToSelectedClickListener(contactNumber)); + LinearLayout background = (LinearLayout) v + .findViewById(R.id.row_background); + String contactNumber = ((TextView) v.findViewById(R.id.phone)) + .getText().toString(); + + CheckBox checkbox = (CheckBox) v.findViewById(R.id.CheckBox); + checkbox.setOnClickListener(new addNumberToSelectedClickListener( + contactNumber)); checkbox.setChecked(mSelectedSet.contains(contactNumber)); - background.setOnClickListener(new OnClickListener() { - + @Override public void onClick(View v) { - CheckBox checkbox = (CheckBox)v.findViewById(R.id.CheckBox); + CheckBox checkbox = (CheckBox) v + .findViewById(R.id.CheckBox); checkbox.performClick(); - + } }); return v; @@ -187,7 +173,7 @@ public class PhoneNumberSelection extends ListActivity } - private class addNumberToSelectedClickListener implements OnClickListener{ + private class addNumberToSelectedClickListener implements OnClickListener { String contactNumber; @@ -196,24 +182,26 @@ public class PhoneNumberSelection extends ListActivity } public void onClick(View v) { - CheckBox checkBox = (CheckBox)v; - if(checkBox.isChecked()) { + CheckBox checkBox = (CheckBox) v; + if (checkBox.isChecked()) { mSelectedSet.add(contactNumber); - }else { + } else { mSelectedSet.remove(contactNumber); } } } - - protected void onActivityResult(int requestCode, int resultCode, Intent intent) { + + protected void onActivityResult(int requestCode, int resultCode, + Intent intent) { super.onActivityResult(requestCode, resultCode, intent); - if(intent != null) { - String [] numbers = intent.getExtras().getStringArray(MultiSmsSender.PARAM_NUMBERS_LIST); - + if (intent != null) { + String[] numbers = intent.getExtras().getStringArray( + MultiSmsSender.PARAM_NUMBERS_LIST); + for (int i = 0; i < numbers.length; i++) { - mSelectedSet.add(numbers[i]); + mSelectedSet.add(numbers[i]); } fillData(); diff --git a/src/com/hectorone/multismssender/SelectDeliveryActivity.java b/src/com/hectorone/multismssender/SelectDeliveryActivity.java index 699faeb..a8fe87b 100644 --- a/src/com/hectorone/multismssender/SelectDeliveryActivity.java +++ b/src/com/hectorone/multismssender/SelectDeliveryActivity.java @@ -1,6 +1,5 @@ package com.hectorone.multismssender; - import android.app.ListActivity; import android.content.Intent; import android.database.Cursor; @@ -16,14 +15,12 @@ import android.widget.SimpleCursorAdapter; public class SelectDeliveryActivity extends ListActivity { - DeliveryDbAdapter mDbHelper; - public static final int DELETE_ID = Menu.FIRST; + public static final int DELETE_ID = Menu.FIRST; public static final int DELETE_ALL_ID = Menu.FIRST + 1; - public static final int REFRESH_ID = Menu.FIRST + 2; - - public static final String PARAM_DELIVERY_ID = "param_delivery_id"; + public static final int REFRESH_ID = Menu.FIRST + 2; + public static final String PARAM_DELIVERY_ID = "param_delivery_id"; @Override public void onCreate(Bundle savedInstanceState) { @@ -32,31 +29,31 @@ public class SelectDeliveryActivity extends ListActivity { fillData(); registerForContextMenu(getListView()); } - protected void onDestroy() { super.onDestroy(); } - + public void fillData() { - Cursor deliveryCursor = getContentResolver().query(DeliveryDbAdapter.CONTENT_MESSAGE_URI, null, null, null, null); + Cursor deliveryCursor = getContentResolver().query( + DeliveryDbAdapter.CONTENT_MESSAGE_URI, null, null, null, null); startManagingCursor(deliveryCursor); - String[] from = new String[]{DeliveryDbAdapter.KEY_MESSAGE_DATE, DeliveryDbAdapter.KEY_MESSAGE_NAME }; + String[] from = new String[] { DeliveryDbAdapter.KEY_MESSAGE_DATE, + DeliveryDbAdapter.KEY_MESSAGE_NAME }; - int[] to = new int[]{R.id.date, R.id.name}; + int[] to = new int[] { R.id.date, R.id.name }; - SimpleCursorAdapter notes = - new SimpleCursorAdapter(this, R.layout.delivery_row, deliveryCursor, from, to); + SimpleCursorAdapter notes = new SimpleCursorAdapter(this, + R.layout.delivery_row, deliveryCursor, from, to); setListAdapter(notes); } - - + @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); - menu.add(0, DELETE_ALL_ID,0, R.string.remove_all); + menu.add(0, DELETE_ALL_ID, 0, R.string.remove_all); return true; } @@ -67,14 +64,15 @@ public class SelectDeliveryActivity extends ListActivity { menu.add(0, DELETE_ID, 0, R.string.remove); } - - + @Override public boolean onContextItemSelected(MenuItem item) { - switch(item.getItemId()) { + switch (item.getItemId()) { case DELETE_ID: - AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); - getContentResolver().delete(DeliveryDbAdapter.CONTENT_MESSAGE_URI, DeliveryDbAdapter.KEY_MESSAGE_ROWID+ "="+ info.id, null); + AdapterContextMenuInfo info = (AdapterContextMenuInfo) item + .getMenuInfo(); + getContentResolver().delete(DeliveryDbAdapter.CONTENT_MESSAGE_URI, + DeliveryDbAdapter.KEY_MESSAGE_ROWID + "=" + info.id, null); fillData(); return true; } @@ -83,15 +81,16 @@ public class SelectDeliveryActivity extends ListActivity { @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { - switch(item.getItemId()) { + switch (item.getItemId()) { case DELETE_ALL_ID: - getContentResolver().delete(DeliveryDbAdapter.CONTENT_MESSAGE_URI, null, null); + getContentResolver().delete(DeliveryDbAdapter.CONTENT_MESSAGE_URI, + null, null); fillData(); return true; - } + } return super.onMenuItemSelected(featureId, item); } - + @Override protected void onListItemClick(ListView l, View v, int position, long id) { Intent i = new Intent(this, ListEntryActivity.class); diff --git a/src/com/hectorone/multismssender/SelectGroupActivity.java b/src/com/hectorone/multismssender/SelectGroupActivity.java index 8456ed1..0970431 100644 --- a/src/com/hectorone/multismssender/SelectGroupActivity.java +++ b/src/com/hectorone/multismssender/SelectGroupActivity.java @@ -1,14 +1,10 @@ package com.hectorone.multismssender; - - - import android.app.ListActivity; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Phone; -import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; @@ -18,21 +14,20 @@ import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.ListView; import android.widget.SimpleCursorAdapter; - -public class SelectGroupActivity extends ListActivity{ +public class SelectGroupActivity extends ListActivity { GroupsDbAdapter mDbHelper; - public static final int DELETE_ID = Menu.FIRST; - public static final int EDIT_ID = Menu.FIRST + 1; - public static final int CREATE_ID = Menu.FIRST + 2; + public static final int DELETE_ID = Menu.FIRST; + public static final int EDIT_ID = Menu.FIRST + 1; + public static final int CREATE_ID = Menu.FIRST + 2; - public static final String PARAM_GROUP_ID = "gid"; + public static final String PARAM_GROUP_ID = "gid"; public static final int ACTIVITY_EDIT_GROUP = 0; @Override public void onCreate(Bundle savedInstanceState) { - Log.d("SelectGroup", "***Create"); + //Log.d("SelectGroup", "***Create"); super.onCreate(savedInstanceState); setContentView(R.layout.group_list); mDbHelper = new GroupsDbAdapter(this); @@ -40,37 +35,36 @@ public class SelectGroupActivity extends ListActivity{ fillData(); registerForContextMenu(getListView()); } - + protected void onStart() { - Log.d("SelectGroup", "***onStart"); + //Log.d("SelectGroup", "***onStart"); mDbHelper.open(); super.onStart(); } protected void onStop() { - Log.d("SelectGroup", "***onStop"); + //Log.d("SelectGroup", "***onStop"); mDbHelper.close(); super.onStop(); } - public void fillData() { Cursor groupsCursor = mDbHelper.fetchAllGroups(); startManagingCursor(groupsCursor); - String[] from = new String[]{GroupsDbAdapter.KEY_GROUP_NAME}; + String[] from = new String[] { GroupsDbAdapter.KEY_GROUP_NAME }; - int[] to = new int[]{R.id.groupNameTextView}; + int[] to = new int[] { R.id.groupNameTextView }; - SimpleCursorAdapter notes = - new SimpleCursorAdapter(this, R.layout.group_row, groupsCursor, from, to); + SimpleCursorAdapter notes = new SimpleCursorAdapter(this, + R.layout.group_row, groupsCursor, from, to); setListAdapter(notes); } - + @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); - menu.add(0, CREATE_ID,0, R.string.create_group); + menu.add(0, CREATE_ID, 0, R.string.create_group); return true; } @@ -95,7 +89,7 @@ public class SelectGroupActivity extends ListActivity{ phonesListCursor.moveToNext(); } - + Intent i = new Intent(); Bundle bundle = new Bundle(); @@ -104,17 +98,19 @@ public class SelectGroupActivity extends ListActivity{ setResult(RESULT_OK, i); finish(); } - + @Override public boolean onContextItemSelected(MenuItem item) { - switch(item.getItemId()) { + switch (item.getItemId()) { case DELETE_ID: - AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); + AdapterContextMenuInfo info = (AdapterContextMenuInfo) item + .getMenuInfo(); mDbHelper.deleteGroup(info.id); fillData(); return true; case EDIT_ID: - AdapterContextMenuInfo infoEdit = (AdapterContextMenuInfo) item.getMenuInfo(); + AdapterContextMenuInfo infoEdit = (AdapterContextMenuInfo) item + .getMenuInfo(); editGroup(infoEdit.id); return true; } @@ -123,11 +119,11 @@ public class SelectGroupActivity extends ListActivity{ @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { - switch(item.getItemId()) { + switch (item.getItemId()) { case CREATE_ID: editGroup(null); return true; - } + } return super.onMenuItemSelected(featureId, item); }