OnePlus One

The following settings were supplied by a user to get the OnePlus One working with lightflow:



Cyanogenmod --> settings:
Display & Lights --> Notification light --> Notification Light: Enabled (checked)
Accessibility --> Lightflow: Off
Security --> Notification Access --> Lightflow: Enabled (checked)

think the key is to change the above, turning them OFF and back ON if it is already on and then REBOOTING the phone.

Lightflow settings:
Summary: I didn't have to change ANY of the default app settings.

General settings --> Enable Light Flow: Enabled (checked)  --- IMPORTANT ---
General Settings --> LED Brightness: 100 percent (default)
General Settings --> Show LED in priority mode: Enabled (default)
General Settings --> Reduce Wake: Disabled (default)
General Settings --> Accessibility Check: Enabled (default)
General Settings --> Version upgrade reminder: Enabled (default)

LED Control Style: No changes (all default)

Sleep settings --> Enable sleep settings: Disabled (default)
Sleep settings: No changes (all default)

Persistent Icon --> Run in foreground: Enabled (default). I have changed this to Disabled and it works FINE without  the persistent Notification icon.
Persistent Icon --> Persistent Icon: Disabled (default)
Persistent Icon --> Persistent notification action: Launch Light Flow (default)
Persistent Icon --> Show the persistent icon in Colour: Disabled (default)
Persistent Icon --> Notification text: A count of active notifications

Device Settings and Root: No changes made (used default app settings)
Device Settings and Root --> Direct Mode: Off (default)
Device Settings and Root --> Root mode: Off (default)
Device Settings and Root --> Samsung root mode: Disabled (default)
Device Settings and Root --> Run every command as root: Disabled (default)
Device Settings and Root --> HTC Alternative direct mode: Disabled (default)
Device Settings and Root --> Reset color before change: Disabled (default)
Device Settings and Root --> Nexus 5 force LED reset: Enabled (default)
Device Settings and Root --> USA and Canada S3 mode: Disabled (default)

LED Control: No changes made (use default app settings)
LED Control --> Main LED control: Control - Light Flow controls the LED
LED Control --> Illumination Bar: Disabled (default)
LED Control --> Illumination alternative mode: Disabled (default)
LED Control --> Button back light control: No control (default)
LED Control --> Camera Flash LED control: No control (default)
LED Control --> Camera Flash control method: standard
LED Control --> 2-0068 control: Disabled (default)
LED Control --> led:flash_0 control: Disabled (default)
LED Control --> led:flash_1 control: Disabled (default)
LED Control --> led:flash_torch control: Disabled (default)
LED Control --> kpdbl-lut2 control: Disabled (default)
LED Control --> kpdbl-pwm-3 control: Disabled (default)
LED Control --> kpdbl-pwm-4 control: Disabled (default)
LED Control --> lcd-backlight control: Disabled (default)
LED Control --> mmc0 control: Disabled (default)
LED Control --> mmc1 control: Disabled (default)
LED Control --> torch-light control: Disabled (default)

L Preview Details

Update, now that android 5 has been officially released and the google have fixed the bug I'd reported I've an update coming in the next few days to remove the persistent notification.

Why do I have a persistent icon linking to this blog?

Version 3.20.107 of Light Flow adds in compatibility for the Android L preview.

At the moment there's a few issues, but versions prior to this cause a boot loop in android (ie shortly after the phone boot's it'll reboot with lightflow installed)

This seems to be an issue with L I've raised an issue on the android L issue tracker here: https://code.google.com/p/android-developer-preview/issues/detail?id=667

This can be "starred" to show you have this issue, but please don't comment unless you've something useful to add as every person who's starred the issue will get an email notification!

As for 3.20.107 there's a couple of things you'll notice
  • You'll get an additional notification in the notification bar that has a persistent icon that can't be removed
  • Cycling notifications is currently erratic
Find more details about these below

Additional notification

This persistent icon in the notification bar has been added to work around the reboot issue above. The LED's in android require a notification to be raised. These can't be low priority notification such as things like Google Now weather which only show in the notification shade when viewed. Each notification has a priority and only Normal, High and Max can show notifications which means showing it even when the notification bar isn't displayed. If set to Low or Min then the notification won't show.

Can anything be done about this?
Well, yes and no. Android L adds the concept of a secret notification which means it won't show on the lock screen which will help a little.

At the moment, this can't be added though as developers are not allowed to publish apps yet using the new features.

So why is there two notifications in the notification bar?
By default lightflow runs in foreground mode as it needs to always be running (similar to apps such as the new android wearable app) without this it'll end up missing some notifications.

I've tried to set the persistent foreground notification to control the LED but it seems very unreliable as it seems to have to stop and restart the notification to change it and if another app raises a notification in-between it'll take control of the LED and stop lightflow. I've put in a feature request to android to remove this (user selectable) and this can also be starred here: https://code.google.com/p/android-developer-preview/issues/detail?id=443


Cycling Notifications erractic

This is something I'm currently looking into but was keen to allow people to use the app with L so decided it was worth pushing out an update before this is fully resolved. Sometimes when cycling you'll get smooth changes, other times it'll look like there's not two notifications but just a flicker of the led. I'm not sure if this is part of the battery saving work going into L and batching up repeating operations. I'm still investigating this.



Hopefully by the time L becomes a consumer release these issues will have been resolved!

Hangouts

SMS notifications aren't working when using hangouts for the SMS app
Sadly if you are on a version of android prior to android 4.4 sms messages can't be separated from chat messages when the SMS is integrated into hangouts as it stops the broadcast of new sms messages to other apps and also doesn't store the data anywhere that 3rd party apps can access

Luckily android 4.4 has changed SMS quite a bit and therefore in android 4.4 SMS and chats will be separated out

Version 3.14.x versions of the app require "hangouts - all notifications" to be switched on. Versions 3.15.x upwards don't have this dependency for sms.

I get an SMS/MMS and Light Flow shows I've got a SMS/MMS but also a new hangout chat message when I don't
Hopefully this shouldn't happen too often but the way notifications come in from SMS and Chat notifications is very similar and trying to split them is difficult and based on the timing of the two notifications getting broadcast from android. If the time between the two broadcasts is longer than 3 seconds then light flow will end up showing them both as separate notifications.

Contact specific hangout notifications don't work properly
There's some limitations to these as there's very little data available from hangouts. If you've only a few outstanding chats then it should work as long as the name shown in the notification matches the contact's name. Once there's a larger stack the contacts full name isn't available, so it's not possible to look up the contact.

I've a mix of chats, some contact specific and others not, but my "others" don't get noticed
Sadly it's not really possible when these are mixed to work out if new messages are from "others" or contact specific people if you've already got outstanding contact specific notifications.

If you have no contact specific chats outstanding and get a hangout chat for "others" then it will work to notify.


Emails

When I read an e-mail on my computer or another device the notification icon from the mail app goes away, but the lightflow email notification stays on.

This is a limitation in android 4.2 and below 3rd party apps don't have access to email data and can't monitor for the dismissal of a 3rd party apps notification icon.

We've teamed up with the developer of Aqua Mail to bring better functionality. This will allow clearing of notification read on other devices as well as separate configuration for each mailbox. It also has the benefit of swiping away notifications from the notification bar will clear correctly.

With android 4.3 upwards the Light Flow notification should disappear once viewed on another device.

Calendar Reminders

Calendar notification are not working?
If you are using Android 4.0 and above make sure in the calendar reminder notification in lightflow that you have "Monitoring method" set to "notification" and "Clear notification style" set to "App entered"

WhatsApp

Whatsapp doesn't seem to be working?
In android 4.2 and below try the following:


  • Try going into WhatApp and make a note of the settings "popup notifications".
  • Then go into lightflow->notifications->WhatsApp, select "popup notifications" and make sure it's set to the same value as in WhatsApp
Contact specific notifications don't seem to work
Make sure that the contact's name matches in your phone "Exactly" to how it shows in the notification bar when a whatsapp message arrives. Without this matching you'll just get a generic whatsapp message notification.

Go SMS Pro

Do you support Go SMS Pro?
Yes, make sure you set up the following:
Go SMS Pro is supported by doing the following:
Go into lightflow, notifications, sms and make sure "alternate on monitoring" is OFF and "alternate off monitoring" is ON.

Then go into GO SMS Pro, select "settings", "Message Notifications"  and switch off "Disable other message notification" - note that this isn't required in android 4.4 upwards

Then go into the stock SMS app, "settings" and switch off "notifications" in the notification section.

Note that with version 3.20.105 or above will be required for support of recent versions of Go SMS Pro

Handcent


Do you support Handcent?
Handcent is supported by doing the following:
Go into handcent, settings, application settings, default messaging application, select "disable"
The go into the phones default messaging app and switch off it's notifications (this step varies slighly from phone to phone, but just look in your default messaging app in the settings section)
In light flow, notification, sms apps enable the notification and you should be able to leave "alternate on monitoring" and "alternate off monitoring" both off.
Note contact specific notifications don't currently work with handcent

Third Party App Integration - e.g. Llama and Tasker

From version 3.20.109 Light Flow allows 3rd party apps to toggle its settings. Apps such as Llama and tasker allow for this.

Below is a quick example of setting up actions to fire to change settings within light flow from other apps:

Llama
Add an event,  choose a condition then add an Action, choose "android intent"
Select an Intent send mode of "Broadcast".
Then an Action of one of the below.

com.rageconsulting.android.lightflow.SLEEP_TOGGLE
com.rageconsulting.android.lightflow.SLEEP_ON
com.rageconsulting.android.lightflow.SLEEP_OFF

If you press "ok" and "test actions" to see if you get a notification about switching on/off sleep mode.

If the Intent requires parameters place them into the "Extras" section. This can be done by just setting one parameter called EXTRA of type String

Here's an en example of the value to pass into the parameter for enabling the Facebook notification sound.

NOTIFICATION_NAME|facebook|ENABLED|TRUE

Tasker
Select "tasks" 
Press the "+" icon.
Select "misc"
Select "send intent"
Set one of the options below and place it into the "Action" category:

com.rageconsulting.android.lightflow.SLEEP_TOGGLE
com.rageconsulting.android.lightflow.SLEEP_ON
com.rageconsulting.android.lightflow.SLEEP_OFF

If an intent is more complex and requires parameters then these can also be supplied as in the example below:

Set the action as follows:
com.rageconsulting.android.lightflow.NOTIFICATION_ENABLE

When switching a notification on the following information is required:
EXTRA:ENABLED|TRUE|NOTIFICATION_NAME|charging
..would enable the battery charging notification

extra - this part is fixed and always has a color (:) after it
notification type - much match with what lightflow calls each notification type, add the lightflow debug widget and test a notification and you'll see something like "WIFI IS ON", therefore in this case "WIFI" is the next parameter and is followed by a pipe (|)
notification title - the title string of what you to display in the notification/dashclock/pebble or widget
notification text - the detail to show in the notification/dashclock/pebble or widget

So for example in the "extras" field place the following:
notification:WIFI|Wifi On|Wifi body text
Light flow also has 5 generic notifications which can be used for your own functions you want notifications for. These are names

EXTERNAL1EXTERNAL2EXTERNAL3EXTERNAL4EXTERNAL5

So for example if you want tasker to monitor CPU load you can set up an action in tasker for this and then issue an action of

com.rageconsulting.android.lightflow.NOTIFICATION_ON

with an "extra" of

notification:EXTERNAL1|CPU Load|CPU load is high

To switch the notification back off send:
com.rageconsulting.android.lightflow.NOTIFICATION_OFF

with an extra of:
notification:EXTERNAL1


Light Flow now has over 80 different intents that can be sent to it. See here for details:
https://docs.google.com/spreadsheets/d/1W2lwXFimDBZkDirRyeyOGUJpAzUQRUttFogsZDHcICk

Phone Help Lenovo

Note that most Lenovo phones that have a Notification Led need to be "rooted" to be able to use the LED with Light Flow.
 
Once enabled then go into Light Flow, settings and select "Direct Mode" and "Root mode" and hopefully you should then be able to control the LED.
 
Note that the test option may not work, but real notifications should do.

App Permissions

If your phone is running on Android 6.0 (Marshmallow) or above and you are on at least version 3.60.0 of Light Flow then by default the app will start with no permission requests. Permissions are then only requested based on the features you choose to use. For example for contact specific notifications the app must be able to read your contacts.

For older versions of Android and older versions of Light Flow here's a breakdown of the permissions required by the app on android 5.1 and below

Storage
Modify or delete contents of your storage
This is required for backing up and restoring your settings in the tools menu of lightflow

Your Messages
Access mail information
Used for monitoring which gmail accounts you have to notify
Read instant messages
For monitoring for new gtalk messages
Read your text messages
For contact specific SMS/MMS notifications the phone number needs to be looked up which requires this permission
Receive text messages (MMS and SMS)
Used to trigger the new sms notification on receipt of an SMS message

Your Location
Precise location (GPS and network)
For the full version of the app there's a notification so you know when GPS is on or off, this permission is required for that

Camera
Take pictures and video
Required by some phones (usually samsung) to get control of the auto focus system which is required before the camera flash led can be used for notification

Bluetooth
Pair with bluetooth devices
Needed to monitor when bluetooth is switched on and off

Your personal information
Access to Google Photos - used for picking pictures for the Live wallpaper option
Read calendar events plus confidential information
Used to trigger calendar notifications and be able to clear them

Network communication
Control near-field communication
For reading and writing to NFC tags to control sleep settings via NFC

Phone calls
Read phone status and identity
To monitor for missed calls and to prevent sounds and vibrations while in a phone call 

Your social information
Read call log
To be able to clear missed call notifications
Read your contacts
To be able to provide a list of contact specific notifications
Write call log
To clear the missed call notification when a missed notificaiton is cleared

System tools
Modify system settings
To be able to set the phone to silent mode and change the volume
Test access to protected storage
Used to see if the backup settings option can be used
Retrieve system internal status
Alternative method for monitoring notifications on rooted phones only

Affects battery
Control vibration
For notifications with vibration set
Prevent phone from sleeping
Used to run code to change the notification color and pick up on new events

Status bar
Expand/collapse status bar
For the galaxy s3 to stop the standard blue led overwriting the custom colors

Your applications information
Run at startup
So the service can start when the phone boots

Network communication
View wi-fi connections
Full network access (only in the lite version of the app to serve adverts)
To determine if wifi is switched on 
View network connections
For monitoring data notifications and wifi connection status

Your accounts
Find accounts on device
Used to list the gmail accounts and calendar lists
View configured account
Used to get the e-mail address and calendar names for the above permission

When I switch on Accessibility or the Notification Access for Light Flow it prompts that the app may capture credit card details and/or personal details, why do you want those?
We don't. It's a standard message from Android when switching on any accessibility services, similar to if you use a custom keyboard a similar message pops up. We use the notification access or accessibility service to capture notification events in the notification bar and to recognize when you've entered certain apps to automatically clear down notifications.

The full version of the app doesn't have any internet connection so can't do anything with the data anyway. The lite version just uses the internet for Adverts

Light Flow Release 3.20

After 4 months of late nights release 3.20 of Light Flow has started rolling out.

The main changes are interface based from a user perspective, but behind the scenes just as much has been changing.

Previously the app would switch off all notifications when entering the app and reset everything back up on exit. With the new "active" notifications page that had to change (otherwise that screen would always be blank) but the drive behind that was also to try and make the app more dynamic and when a setting change takes place it now happens straight away instead of on app exit.

This was essential for one of the new features I'd wanted to add for a while which is much better external app control. Apps such as Llama and tasker can now control approx 100 settings within the app directly (documentation coming soon). This also was necessary for new features planned to be added into future releases of Light Flow.

 
Copyright Reactle Ltd