• Announcements

    • PsychoI3oy

      Unsupported devices & future versions   09/03/16

      Unsupported devices posts outside the Device requests forum will be deleted without comment. Posts asking about/for future versions of CM will be locked and/or deleted.   We don't have a crystal ball; we don't know if someone will make CM $version for your deivce or if CM $version+1 will be made for your supported device.
MartinLong

Notification Profiles

44 posts in this topic

I'm putting together a "notification profiles" patch, supporting finer-grained (per app) control of notification sounds/vibrate/lights, and grouped into profiles (meeting, silent, car etc). App control (eg Tasker) will also be supported. Think of it as "Quiet hours++". Would that interest people?

I've finished most of the framework changes, and embarking on the settings screens. Just wondered if there was any feedback before I get to far down the road.

Features so far:

- A set of profiles can be defined, eg. work, home, night, silent, meeting).

- Each profile can have a number of notification groups eg. incoming call, sms, email, gmail, other

- You can assign many apps to each group. The group is then be configured to change the notification behaviour for those apps.

- Each of lights, vibrate and sound can be configured to either: override default/app setting, suppress default/app setting (ie silent), or leave unchanged.

- Profile switching can be done manually, using a menu, or delegated to an app, for example Tasker, Locale, or a widget.

- An app will also be able to configure the profiles.

This will only work for Notifications, delivered using the NotificationManager to start with. However, the api will also allow the current profile to be queried, allowing apps such as Dialer and Skype to honour the settings. I will probably upgrade the Dialer so that incoming calls are handled, and this could also serve as a reference implementation.

There ARE api changes - this is necessary. A ProfileManager is exposed as a system service. However, much of the functionality can be contained in the ROM anyway, so it shouldn't prove to be an issue.

I know I'll certainly get use out of it, even if it doesn't get accepted.

Share this post


Link to post
Share on other sites

First indications are good - handled SMS profile, overriding notifications from Handcent and Messaging.

Anyone out there who wouldn't mind putting together an icon for the settings screen? I'm rubbish at this kind of thing. Needs to fit the established style - the menu text displayed is "Profiles", maybe musical notes?

Share this post


Link to post
Share on other sites

Well... if anyone is interested, I'm making some progress on this. Basics are in my github repos:

https://github.com/martinlong1978

Seems interesting, I can't wait to try this in CM7 RC2 unless they are using another iteration. Anyways, thanks for your hard work!

Share this post


Link to post
Share on other sites

Only a short question. Is there a way to control these profiles with Tasker ? I cannot find a setting for that. Or does it need an update of Tasker ?

Share this post


Link to post
Share on other sites

Not yet. The API is ready, but I haven't created a Tasker/Locale plugin yet.

Share this post


Link to post
Share on other sites

Ah thanks for the fast reply. And where can I set mp3 ringtones to the profiles ? I am only seeing the preinstalled ones. Thank you very much for this Patch :)

Share this post


Link to post
Share on other sites

I'd be interested in this for sure. :D

Share this post


Link to post
Share on other sites

It uses the default ringtone chooser, built into the OS. To use MP3 ringtones you can either:

- Use an app which converts your MP3s to ringtones

- Use an app which replaces the default chooser (such as Handcent).

I do the second option. The handcent chooser is pretty good.

Share this post


Link to post
Share on other sites

All... the Tasker/Local plugin is now available, for a very small fee:

http://j.mp/i1idgH

Thanks man! Did you upload the app to another Market (ex. appbrain) ? I dont have a credit card to pay it :(

Share this post


Link to post
Share on other sites

It should appear on appbrain soon. I've checked but it's not there yet. Though I don't think you can use appbrain to buy apps.

I'll investigate other options.

Share this post


Link to post
Share on other sites

It should appear on appbrain soon. I've checked but it's not there yet. Though I don't think you can use appbrain to buy apps.

I'll investigate other options.

Ok thanks. Pay Pal would be nice.

Share this post


Link to post
Share on other sites

Hello Martin, now that you've made a Tasker plugin, I see how I will be able to integrate your Profile Settings into my setup. I do have a question though:

Let us say I'm in the 'Work' profile and looking at the 'GMail' app category. What function does 'Ring mode' & 'Phone ringtone' serve for this category since the dialer isn't included? I understand 'Notification mode' & 'Notification tone' & the 'Vibrate mode' & 'Lights mode'. Would the 'Ring mode' & 'Phone ringtone' settings only matter if the 'Phone' app happens to be included in the current app category? Should I just leave these two settings untouched?

Share this post


Link to post
Share on other sites

Hello Martin, now that you've made a Tasker plugin, I see how I will be able to integrate your Profile Settings into my setup. I do have a question though:

Let us say I'm in the 'Work' profile and looking at the 'GMail' app category. What function does 'Ring mode' & 'Phone ringtone' serve for this category since the dialer isn't included? I understand 'Notification mode' & 'Notification tone' & the 'Vibrate mode' & 'Lights mode'. Would the 'Ring mode' & 'Phone ringtone' settings only matter if the 'Phone' app happens to be included in the current app category? Should I just leave these two settings untouched?

Yes, you are correct. The 'Ring Mode' and 'Phone Ringtone' only apply to categories which include the Phone app, or another app that might "ring", such as Skype, or another VOIP app. They are separate, as some apps might both ring and generate notifications. Eg, for the phone app, you might like a different ringtone to the sound for missed call notifications.

Share this post


Link to post
Share on other sites

Yes, you are correct. The 'Ring Mode' and 'Phone Ringtone' only apply to categories which include the Phone app, or another app that might "ring", such as Skype, or another VOIP app. They are separate, as some apps might both ring and generate notifications. Eg, for the phone app, you might like a different ringtone to the sound for missed call notifications.

Thanks, I understand now.

I was running some tests, switching between profiles to see behavior of the profiles. I have added Google Voice & Google Talk to my 'SMS' app group. I had a profile that overrode the 'Notification tone' of the SMS group and this worked correctly for Google Voice & Messaging but the Google Talk app still fired its selected ringtone, not the overridden sound from the Profile.

Share this post


Link to post
Share on other sites

Martin,

Could you please upload your app to the AndAppStore so we can purchase via PayPal ?

Share this post


Link to post
Share on other sites

Martin, this idea is fantastic. I am struggling a bit to get the behaviors like I want. Is there any FAQ/tutorial on the Profile settings? I thought I had it figured out but Gtalk started making noise in the middle of the night...Clearly I need to work on it more. I have purchased the Tasker plug in so I'm well on my way. Thanks for this feature it has been a sore spot with Android for me since I got my phone a year ago.

Share this post


Link to post
Share on other sites

I haven't had time to do any documentation yet - difficult with a family, and I think I used up most of my "credit" writing the implementation. I'll try to put something up once I get around to it.

It's a shame it needs documenting - I would like to try and make it so obvious that it doesn't need documenting. Any suggestions would be useful, though I can't always guarantee it's possible.

Share this post


Link to post
Share on other sites

I haven't had time to do any documentation yet - difficult with a family, and I think I used up most of my "credit" writing the implementation. I'll try to put something up once I get around to it.

It's a shame it needs documenting - I would like to try and make it so obvious that it doesn't need documenting. Any suggestions would be useful, though I can't always guarantee it's possible.

Well I suppose the first not so intuitive part is what the over-ride part is for. I'd like it to do just what I set it to do in my profile and nothing different. The other big things to help simplicity that you may already be working on is volume controls. Each profile should have the ability to change the volume for notifications and phone. I think a simple fix for my Gtalk making noise at night is just to find a silent notification tone which I don't seem to have an option of in CM7. I suppose the other confusing part was the notification and phone options in each app inside the profile but I read your explanation of this above. I think finally perhaps where you show On/off/Over Ride on the modes you could show the current tone selected for Notification and Ring so that going into the selection isn't needed.

Just my suggestions based on simplification but I still need an explanation of the override feature.

Again thanks for ALL of your work on this. I totally understand the family commitments but commend you for this addition.

On that note I have a suggestion/request that is outside the scope of simplification. This feature needs a widget that can go on the Homescreen and allows a pop up to select the profile. You might look at Ringleader Pro Free for an example of this. I've been using it in lieu of this feature so far...

Share this post


Link to post
Share on other sites

Well I suppose the first not so intuitive part is what the over-ride part is for. I'd like it to do just what I set it to do in my profile and nothing different. The other big things to help simplicity that you may already be working on is volume controls. Each profile should have the ability to change the volume for notifications and phone. I think a simple fix for my Gtalk making noise at night is just to find a silent notification tone which I don't seem to have an option of in CM7. I suppose the other confusing part was the notification and phone options in each app inside the profile but I read your explanation of this above. I think finally perhaps where you show On/off/Over Ride on the modes you could show the current tone selected for Notification and Ring so that going into the selection isn't needed.

Just my suggestions based on simplification but I still need an explanation of the override feature.

Again thanks for ALL of your work on this. I totally understand the family commitments but commend you for this addition.

On that note I have a suggestion/request that is outside the scope of simplification. This feature needs a widget that can go on the Homescreen and allows a pop up to select the profile. You might look at Ringleader Pro Free for an example of this. I've been using it in lieu of this feature so far...

Thanks for the input. I plan to include a widget in the Tasker plugin.

Share this post


Link to post
Share on other sites

Thanks for the input. I plan to include a widget in the Tasker plugin.

No problem. Could you briefly explain the on\off\no override setting purpose and behavior or point me to somewhere you have already explained it?

Share this post


Link to post
Share on other sites

Martin,

I just wanted to purchase your app via PayPal and AndAppStore but there is an error occuring.

The seller accepts encrypted website payments only. You cannot pay the seller through un-encrypted buttons. Please contact your seller for more details.

Could you please fix it ?

Share this post


Link to post
Share on other sites

Martin,

I just wanted to purchase your app via PayPal and AndAppStore but there is an error occuring.

Could you please fix it ?

Sorry about the delay... I had to upgrade to a premier account :(

No problem. Could you briefly explain the on\off\no override setting purpose and behavior or point me to somewhere you have already explained it?

Again, sorry about the delay, been away from my PC for a while.

Basically, consider that Notification Profiles "tinkers" with whatever sounds an app may/or may not put in it's notifications. Some apps might include sounds for some notifications, but remain quiet for others, or they might use different sounds for different things. Messaging, for example, might use different sounds for different contacts (as you have set the up in your contacts list).

"No override" preserves whatever sound an app has, or hasn't set. So, if you have nicely set up a bunch of custom SMS tones for contacts, then you will want to use this setting.

"On" forces the sound selected in the profile to play. This will ignore whatever tone you have set up in the app, or in the system settings, or in your contacts, or whatever.

"Off" forces silence. Even if the app selects a ringtone, this will override that with silence.

I hope this clarifies it. I have taken onboard some of your other suggestions too - one or two were already on my list, but it looks unlikely that they'll make it into CM7 full.

Regards

Martin

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now