[Feature][ROM][4.3/4.4] Active Display

Search This thread

0xD34D

Senior Member
Feb 7, 2009
460
2,041
San Diego
ioMI2sEJDwZD0.png

The ChameleonOS team is proud to present to you our latest addition to the growing list of features. Please give a warm welcome to the new active display feature. With active display your device can turn on when new notifications arrive and display that information to you on the screen. There is no need to turn your device on every time you hear that distinctive notification sound. Your notifications are right where you need them without all the clutter and free from other distractions. If your device has a proximity sensor, which most touch screen phones have, you are in luck. Active display will not turn on if it detects something close to this sensor. So if you have your phone stashed away in your pocket or bag, don't worry, it won't turn the display on and waste your battery. And as an added bonus we've included an option to turn on pocket mode. When this is enabled active display will turn on your screen and display your current notifications instantly, provided you have any pending notifications.

Features
  • Instantly turns the device screen on and displays notifications as they arrive
  • Up to 8 notifications displayed in a horizontal strip that can be viewed by touching the notification icon
  • Short notification description can be displayed around the outside of the center ring
  • Touch the center ring notification to view the full notification
  • Unlock the device, open the app for the current notification or dismiss the current notification
  • Set a re-display time to have active display remind you of your pending notifications
  • Adjustable brightness level for when active display turns the screen on
  • Pocket mode which allows active display to turn on once you remove the device from your pocket or bag
Video Demonstration
* Active display will be merged into our github repos shortly and will be included in the upcoming nightly builds thereafter.



 
Last edited:

0xD34D

Senior Member
Feb 7, 2009
460
2,041
San Diego
Now for the important stuff that developers may be interested in. Since ChameleonOS is an open source project this feature is available for other developers to pick and incorporate into other ROMs. If you want to incorporate this you'll need to grab a few commits from our frameworks base and Settings projects.

From android_frameworks_base you'll want to pick the following commits [4.3]:
From android_frameworks_base you'll want to pick the following commits [4.4]:

And from Settings you'll want to pick these commits:

*Note: ChameleonOS started out by using CyanogenMod as a base so some dependencies may exist which would need to be resolved when incorporating this into other ROMs. Feel free to contact me if you encounter any problems and you can't figure out the resolution.

**UPDATE**
For those that are using a 4.3 or 4.4 based ROM that does not have Active Display integrated, I've managed to develop a stand alone application that adds the functionality of Active Display. There is an ad supported version as well as a paid version for those that like to support independent developers.
Active Display (ad supported)
Active Display w/o ads
 
Last edited:

chaoslimits

Senior Member
Mar 19, 2010
717
201
I guess you could consider the re-display option as being similar to pulse for the LED. Active display will turn on and show pending notifications at the interval specified by the user.

I guess without the Moto X dedicated CPU a pulse option would kill the battery? If you miss the notification, you can't really tell that you've gotten one.
 

0xD34D

Senior Member
Feb 7, 2009
460
2,041
San Diego
I guess without the Moto X dedicated CPU a pulse option would kill the battery? If you miss the notification, you can't really tell that you've gotten one.

The minimum setting is 1 minute so you could set it to that. Because it turns the display on momentarily to display the notifications, there will be some power consumption because of this. There are several different values the user can set this to and in a future release I'll have it so the user can set their own time instead of being confined to the discrete values that are available in the current implementation.
 

vampire36

Senior Member
May 11, 2011
2,170
2,023
Pune
Just 1 small question...how reliable is pocket mode ?
Cos I prefer that as the most amazing usp of active display :)
 

dmarco

Senior Member
Sep 14, 2010
501
81
45
Brooklyn, NY
So, do we just flash this the usual way or are there special instructions on how to properly do this??
Thanks in advance, this Rom looks AWESOME!!! Can't wait to flash it on my SGS3 :D

Sent from my SCH-I605 using XDA Premium 4 mobile app
 

cj360

Senior Member
Oct 24, 2011
1,332
709
I hope somebody makes a flashable zip for the latest PA

Sent from my Nexus 4 using Tapatalk 4

You can't make a chane to the source code with a flashable zip. THat's more work on someone who wants to do that, or a device maintainer could just cherry-pick the commits he's highlited which would be easier imo.
 

hoppermi

Senior Member
Feb 7, 2011
1,755
1,084
About pocket mode, it says it will turn on active display when out of the pocket. And so this means the proximity sensor will be on all the time after receiving a notification?

yes, pocket mode will enable proximity sensor when screen is off. Waving your hand over the device will also turn on the screen if there is a notification waiting as well, perfect for when my phone is on my desk.
 

0xD34D

Senior Member
Feb 7, 2009
460
2,041
San Diego
Just 1 small question...how reliable is pocket mode ?
Cos I prefer that as the most amazing usp of active display :)

It's been quite reliable for me. It uses the device's proximity sensor to determine if it should show the active display by listening for when the sensor goes from something being near to something being far (typically >5cm). The motivation behind adding this was because when I take my phone out of my pocket it is usually to check something. Having it turn on and display my notifications the moment I take it out just made sense to me. If you don't have any notifications then it's not going to turn on. I also use this to look at my notifications when my device is sitting on my desk. I can wave my hand over the screen and it turns on. It is an option so people can enable and disable it as they see fit.
 

0xD34D

Senior Member
Feb 7, 2009
460
2,041
San Diego
And so this will kill the battery slowly until the user puts the phone out of the pocket.

No it won't. Proximity sensors are interrupt based meaning they only update when the state changes from near->far or far->near. All the proximity sensors I've worked with thus far only provide two different values, one representing near and one representing far. So if the device is in your pocket, the sensor code is not going to be called until you the device. It's not like an accelerometer where values are always changing and thus code is always running.
 
  • Like
Reactions: sien1996 and tsukot

0xD34D

Senior Member
Feb 7, 2009
460
2,041
San Diego
Sunlight mode coming soon

I wanted to share a new feature coming to this implementation of active display. Some, if not all, displays are hard to see in direct sunlight so I wanted to see what I could do to make active display stand out a bit when staring at it when the sun is beating down on my display. I found that if I invert the colors, the items and text on active display are much easier to make out. If your device has a light sensor, and this mode is enabled in the settings, active display will invert the colors when it detects a bright light source. Bright in this case is greater than 8000 lumens.

For those worried about the sensor always polling, don't worry. The sensor is only being used while active display is on and showing content. Once the screen turns off or you unlock the sesnor is no longer being used.

i5fkvE7FEoAAM.png
 

vampire36

Senior Member
May 11, 2011
2,170
2,023
Pune
It's been quite reliable for me. It uses the device's proximity sensor to determine if it should show the active display by listening for when the sensor goes from something being near to something being far (typically >5cm). The motivation behind adding this was because when I take my phone out of my pocket it is usually to check something. Having it turn on and display my notifications the moment I take it out just made sense to me. If you don't have any notifications then it's not going to turn on. I also use this to look at my notifications when my device is sitting on my desk. I can wave my hand over the screen and it turns on. It is an option so people can enable and disable it as they see fit.
Dude works a treat...awesome...thanx a lot...nexus 4 :)
Now can just peek through apps as and when I want :)
Thanx a ton :)
 

UberSlackr

Senior Member
Apr 5, 2012
329
52
The ChameleonOS team is proud to present to you our latest addition to the growing list of features. Please give a warm welcome to the new active display feature....


That is awesome. I really hope someone ports this over to a full stock rom. or makes it possible to install by those of us with root.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 74
    ioMI2sEJDwZD0.png

    The ChameleonOS team is proud to present to you our latest addition to the growing list of features. Please give a warm welcome to the new active display feature. With active display your device can turn on when new notifications arrive and display that information to you on the screen. There is no need to turn your device on every time you hear that distinctive notification sound. Your notifications are right where you need them without all the clutter and free from other distractions. If your device has a proximity sensor, which most touch screen phones have, you are in luck. Active display will not turn on if it detects something close to this sensor. So if you have your phone stashed away in your pocket or bag, don't worry, it won't turn the display on and waste your battery. And as an added bonus we've included an option to turn on pocket mode. When this is enabled active display will turn on your screen and display your current notifications instantly, provided you have any pending notifications.

    Features
    • Instantly turns the device screen on and displays notifications as they arrive
    • Up to 8 notifications displayed in a horizontal strip that can be viewed by touching the notification icon
    • Short notification description can be displayed around the outside of the center ring
    • Touch the center ring notification to view the full notification
    • Unlock the device, open the app for the current notification or dismiss the current notification
    • Set a re-display time to have active display remind you of your pending notifications
    • Adjustable brightness level for when active display turns the screen on
    • Pocket mode which allows active display to turn on once you remove the device from your pocket or bag
    Video Demonstration
    * Active display will be merged into our github repos shortly and will be included in the upcoming nightly builds thereafter.



    65
    Now for the important stuff that developers may be interested in. Since ChameleonOS is an open source project this feature is available for other developers to pick and incorporate into other ROMs. If you want to incorporate this you'll need to grab a few commits from our frameworks base and Settings projects.

    From android_frameworks_base you'll want to pick the following commits [4.3]:
    From android_frameworks_base you'll want to pick the following commits [4.4]:

    And from Settings you'll want to pick these commits:

    *Note: ChameleonOS started out by using CyanogenMod as a base so some dependencies may exist which would need to be resolved when incorporating this into other ROMs. Feel free to contact me if you encounter any problems and you can't figure out the resolution.

    **UPDATE**
    For those that are using a 4.3 or 4.4 based ROM that does not have Active Display integrated, I've managed to develop a stand alone application that adds the functionality of Active Display. There is an ad supported version as well as a paid version for those that like to support independent developers.
    Active Display (ad supported)
    Active Display w/o ads
    7
    hey ,

    here how to add active display to your custom ROM

    git remote add upstream https://github.com/OmniKang/android_frameworks_base.git
    git fetch upstream
    git cherry-pick b7b15557fb4a4ef944701169c0f306148fd13390
    look if there conflict files and fix it, then upload it
    git add .
    git cherry-pick -c b7b15557fb4a4ef944701169c0f306148fd13390


    [detached HEAD cd29796] [1/3] Base: Squashed commits for 4.4 active display
    Author: 0xD34D <clark@scheffsblend.com>
    63 files changed, 2631 insertions(+), 7 deletions(-)
    create mode 100644 core/res/res/values/custom_dimens.xml
    create mode 100644 core/res/res/values/custom_strings.xml
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_ad_dismiss_notification_activated.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_ad_dismiss_notification_normal.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_ad_lock_pressed.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_ad_morenotifications.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_ad_target_unlock_activated.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_ad_target_unlock_normal.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_ad_unknown_icon.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_ad_unlock.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_handle_notification_normal.png
    create mode 100644 packages/SystemUI/res/drawable-hdpi/ic_lockscreen_target_activated.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_ad_dismiss_notification_activated.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_ad_dismiss_notification_normal.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_ad_lock_pressed.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_ad_morenotifications.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_ad_target_unlock_activated.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_ad_target_unlock_normal.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_ad_unknown_icon.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_ad_unlock.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_handle_notification_normal.png
    create mode 100644 packages/SystemUI/res/drawable-mdpi/ic_lockscreen_target_activated.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_ad_dismiss_notification_activated.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_ad_dismiss_notification_normal.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_ad_lock_pressed.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_ad_morenotifications.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_ad_target_unlock_activated.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_ad_target_unlock_normal.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_ad_unknown_icon.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_ad_unlock.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_handle_notification_normal.png
    create mode 100644 packages/SystemUI/res/drawable-xhdpi/ic_lockscreen_target_activated.png
    create mode 100644 packages/SystemUI/res/drawable-xxhdpi/ic_lockscreen_target_activated.png
    create mode 100644 packages/SystemUI/res/drawable/ad_active_notification_background.xml
    create mode 100644 packages/SystemUI/res/drawable/ic_ad_dismiss_notification.xml
    create mode 100644 packages/SystemUI/res/drawable/ic_ad_target_unlock.xml
    create mode 100644 packages/SystemUI/res/layout-land/active_display_content.xml
    create mode 100644 packages/SystemUI/res/layout-sw600dp/active_display_content.xml
    create mode 100644 packages/SystemUI/res/layout/active_display.xml
    create mode 100644 packages/SystemUI/res/layout/active_display_content.xml
    create mode 100644 packages/SystemUI/res/layout/glow_pad_container.xml
    create mode 100644 packages/SystemUI/res/layout/glow_pad_view.xml
    create mode 100644 packages/SystemUI/res/values/custom_arrays.xml
    create mode 100644 packages/SystemUI/res/values/custom_dimens.xml
    create mode 100644 packages/SystemUI/res/values/custom_donottranslate.xml
    create mode 100644 packages/SystemUI/res/values/custom_styles.xml
    create mode 100644 packages/SystemUI/src/com/android/systemui/statusbar/policy/activedisplay/ActiveDisplayView.java
    create mode 100644 packages/SystemUI/src/com/android/systemui/statusbar/policy/activedisplay/ClockView.java
    create mode 100644 packages/SystemUI/src/com/android/systemui/statusbar/policy/activedisplay/DummyActivity.java


    ctrl + x

    in attach the files required to add active display into settings

    upload all files don't forget to upload "crdroid" folder content to "src/com/android/settings/crdroid" in settings app

    to add active display in settings

    upload the files in attach:

    git add .
    git commit -m 'add active display'

    source : https://github.com/cristianomatos/a...mmit/1416cbfe1a664b55d39b45e2b53e062a94ed1b4c

    hoping if can this post help somebody

    regards
    7
    Sunlight mode coming soon

    I wanted to share a new feature coming to this implementation of active display. Some, if not all, displays are hard to see in direct sunlight so I wanted to see what I could do to make active display stand out a bit when staring at it when the sun is beating down on my display. I found that if I invert the colors, the items and text on active display are much easier to make out. If your device has a light sensor, and this mode is enabled in the settings, active display will invert the colors when it detects a bright light source. Bright in this case is greater than 8000 lumens.

    For those worried about the sensor always polling, don't worry. The sensor is only being used while active display is on and showing content. Once the screen turns off or you unlock the sesnor is no longer being used.

    i5fkvE7FEoAAM.png
    3
    I guess without the Moto X dedicated CPU a pulse option would kill the battery? If you miss the notification, you can't really tell that you've gotten one.

    The minimum setting is 1 minute so you could set it to that. Because it turns the display on momentarily to display the notifications, there will be some power consumption because of this. There are several different values the user can set this to and in a future release I'll have it so the user can set their own time instead of being confined to the discrete values that are available in the current implementation.