Permission Breakdown

Permissions Breakdown: android.permission.ACCESS_NETWORK_STATE: Google Voice Connectivity android.permission.INTERNET: Google Voice Connectivity android.permission.GET_ACCOUNTS: Get Google Account Names android.permission.MANAGE_ACCOUNTS: Create Google Account Prompt android.permission.READ_CONTACTS: Build Contacts List android.permission.READ_PROFILE: Get your profile icon android.permission.RECEIVE_BOOT_COMPLETED: Start on Boot android.permission.RECEIVE_SMS: Receive Text Messages android.permission.SEND_SMS: Send Text Messages android.permission.USE_CREDENTIALS: Get Google Voice OAuth2 credentials (never your password) android.permission.VIBRATE: Vibrate on New Message... Continue Reading →


v0.77: Download MMS v0.76: Vibration, Ringtone and Text Entry options v0.74: QuickReply revamped and customizable. Close-able conversations. v0.71: QuickReply for Android 3.0+ v0.70: Multiview support + theme fixes v0.69: Open and share MMS v0.68: Shows MMS, Navigation Modes and Collapsable Contact Banner v0.65: Crash fixes v0.64: Quick Reply system is complete v0.63: Google Voice stability... Continue Reading →

Sent to Google Play

Theoretical link: Reddit Link For those who don’t know, it’s been renamed as Fusion Messenger (or just Fusion)

Split Contacts List (Optional)

A couple of people were asking me for something like SlidingMenu, but it think SlidingMenu can get a bit difficult for some people to use. What I’ve done is created something similar to Google Play’s partial fragment screen. I”m not entirely sure how other people are doing it, but I got it to work pretty... Continue Reading →

SQL Update

Just going to post the new changes I did because Sender/Recipient is redundant with IsIncoming. I changed it to use ExternalAddress and indexed it. private static final String DATABASE_CREATE = "CREATE TABLE Messages " + "(" + "MessageID INTEGER PRIMARY KEY AUTOINCREMENT, " + "ProviderID INTEGER NOT NULL, " + "MessageStatusID UNSIGNED INTEGER NOT NULL,... Continue Reading →

Raw SQL queries and why you should care

Almost every android application uses SQLite in the background. It’s pretty powerful if you know what you’re doing. I’m going to show you what well done SQL script does for performance. This is the old getContactList function: public List<ContactItem> getContactsList() { Cursor senderCursor = db.query(DATABASE_TABLE, new String[] { "ProviderID", "Sender", "MAX(MessageID)" }, "Sender IS NOT... Continue Reading →

Google Voice: Push limitations

I’m going to explain a couple of things about the Google Voice protocols and how push works. As far as I know, (please correct me if I’m wrong), Google has only created 4 push implementations. Google Talk message on text message/voicemail receipt Email on text message/voicemail receipt SMS on text message/voicemail receipt Android C2DM trigger on text message/voicemail receipt... Continue Reading →

Conversation UI (Sneak Peek)

Here’s a very preliminary UI design for messaging. It’s modelled (read: stolen) from the stock MMS XML. I’m going to change what the status text says since the full date is just a placeholder. The icons signify “Sent via” and “Received via”. Here I’m messaging myself. Take a look at how long it takes to... Continue Reading →

Blog at

Up ↑