Following up to my oh-so popular post about making Android more like a Blackberry, I’ve found a way to create notification Profiles that do what I want.
After fiddling for about a week (seriously), with probably 20 apps and runaround forum threads, this seemingly basic functionality couldn’t be done in Android ICS.
To recap, what I wanted was:
- The ability to disable all notifications at “Night”, except for the phone ringer and notifications for incoming email to one email address that I use to alert me of server-type mishaps.
No matter what app I tried, I wasn’t able to find a way to do this. Many of the apps out there can whitelist contacts, but many required that they be from a phone number and not an email address. I even tried an SMS alert from my monitoring service, but that app just plain didn’t work at all.
The solution? Flash the ROM of my ICS Galaxy nexus to the latest nightly build for Cyanogenmod 9.
Cyanogenmod 9 (and earlier versions), has a built-in setting aptly named “Profiles”. This feature allows you to control notifications for various situations, such as “Work” or “Car” or “Night”. Additionally, you can control the notifications for specific apps. Default apps include Gmail and Email.
What I did was set up all of my email accounts in the Gmail app, and the server-alert account in the Email app using Exchange (per my related post). Once this was set up, I could then use Profiles to override the notifications for the Gmail app when set to the “Night” profile, and subsequently pump up the volume for the Email app and its server-alert email address.
Seems so simple, right? I think the problem I had in finding an app to do this was that Google apparently changed the way apps can be accessed by other programs, basically disallowing the type of control I wanted. Flashing a different ROM removed this restriction.
Anyway, I’ve been using the mod for a few days now and it’s been very stable. It also has a lot of nice and seemingly obvious tweaks to the stock ICS interface that I really think enhances the usability of the OS. Another nice touch is that the changes are relatively transparent; there’s no bloatware or gratuitous interface skinning here. It still looks like stock ICS, but with some welcome tweaks.
Let me try and sum up how to Flash this ROM in my own words:
- Install the Galaxy Nexus Toolkit (This allows you to root, unlock, install Clockworkmod recovery, everything, in one step)
- Install ROMManager from the Google Play store
- Assuming you successfully installed the Toolkit, you can now download the latest CM9 build and also the Google Apps files to your PC (I don’t know if you can do all of this on a Mac, but luckily my Mac has Bootcamp and Win7 on it; it won’t work with Fusion or Parallels)
- Create a directory (folder) on your GNex called “cm9”, and copy the above two files in .zip form to it. (I like to keep the ROM files in one place rather than loose on the root level /sdcard)
- Launch ROMManager and select Reboot into Recovery (this will reboot into Clockworkmod recovery)
- Continue from Step 6 in the article above
Note: This will wipe your device of all user data, but not photos or media type stuff. Just your apps and your account setups like Gmail, etc. Once you are up and running again, you can just restore most of this stuff easily once you sign into your Google account again.
Update: Updating to a new build on CM9 is also easy:
- Download the latest nightly build from Cyanogenmod.
- Once downloaded, launch ROM Manager, (optional: select Backup Current ROM" if you want to be safe and have a restore point), then select “Install ROM from SD card”. “Wipe Dalvik cache” is selected by default. Proceed.
- When your Nexus reboots into CWM Recovery, use the volume buttons to select “install zip from sdcard” (press Power button to select), then navigate to your /Downloads directory to select the new ROM build.
- After installation, reboot the device and allow Android to finish updating itself.
- Done!
YAR (Yet Another ROM): LiquidSmooth
I found another ROM that also has the Profiles settings. It’s called LiquidSmooth (I think they may have just ripped it off from CM and integrated it into their own ROM under CM open source license). I tried it for a couple days, but went back to CM9 because of one issue: I couldn’t get my notifications to remain persistent in my status bar until dismissed. For example, an email is received, and it dings me and shows me a little email icon in the status bar. It remains there until I slide down my notification and dismiss it. For some reason, in Liquid Smooth the icon showed up but went away on it’s own after about a second or two. It remains in the notifications panel, but not visible in the status bar, so basically you don’t really know if there is an email by glancing at the status bar area. It’s probably a setting somewhere that I missed, but I didn’t want to deal with it.
On the plus side, Liquid Smooth fixed two bugs I have been experiencing with CM9: 1) YouTube does not launch at all and 2) Using DoubleTwist in CM9 results in really bad wifi performance. I’ve since uninstalled DoubleTwist and I don’t use YT anyway, so no big deal there.
Notification Fix: A helpful tip fixed my notification icon issue with LiquidSmooth. At some point I must have changed the notification color to Black, making it essentially invisible. To fix this, in the main section of Liquid Control under Statusbar: select General. Scroll all the way down to the bottom selection (Notification Color). Open that up and change the color to #fff (white). Now just back out and all your notifications should stay "visible" until you dismiss or check them.
Hence, I am back to running Liquid Smooth for now. It seems to be generally more compatible with various apps. For example, Youtube and Doubletwist work fine for me. Another thing is Bluetooth Audio to my car stereo works, but with CM9 it doesn’t. I do find it faster than CM9 as well, supposedly one of the selling points of this ROM.