SystemUI: Smart Pixels [1/2]

Disables a percentage of pixels on screen to reduce power consumption.
If enabled with battery saver, don't scale brightness at 0.5f for UX.

Includes:
 - Option to enable on battery saver
 - User chosen grid
 - Burn-in protection

Configurable via overlay and disabled by defualt:
  "config_supportSmartPixels"

Squashed:

    From: Sergii Pylypenko <x.pelya.x@gmail.com>
    Date: Sun, 8 Apr 2018 17:55:02 -0700
    Subject: SystemUI: Screen-dimmer-pixel-filter

    Major credits to Sergii Pylypenko

    Change-Id: Ib2d7e18ad8fe2313dbf7593bf55a2cfec03ce567
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

    From: Adin Kwok <adin.kwok@carbonrom.org>
    Date: Wed, 18 Apr 2018 01:05:27 -0700
    Subject: Smart Pixels: Switch to registered receiver

    Switching to a registered receiver allows to properly handle updates
    on enabling of battery saver mode and switching of users.

    Also only update screen filter with burn-in protection when the
    device is in an interactive state.

    Test: Service starts after rebooting with it enabled
          Service starts on battery saver mode (user toggle)
          Service starts on battery saver mode (auto-enabled)
          Service re-adjusts on user switch to current user settings
          Filter updates after selected timeout

    Change-Id: Iced17fd5cc49e0163754bf75782f8465b54e859b
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

    From: Adin Kwok <adin.kwok@carbonrom.org>
    Date: Sat, 21 Apr 2018 01:46:50 -0700
    Subject: Smart Pixels: Dynamically register receiver

    Don't keep the receiver registered if it isn't enabled.

    Change-Id: If6975df536598ee19d0ee17ec4150ae1b055e18c
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

    From: Pranav Vashi <neobuddy89@gmail.com>
    Date: Sun, 26 Mar 2023 11:49:54 +0530
    Subject: SmartPixels: Use CoreStartable interface for receiver

    * Also clean up and add check whether smart pixels is supported.

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

    From: Adin Kwok <adin.kwok@carbonrom.org>
    Date: Mon, 22 Oct 2018 13:00:13 -0700
    Subject: Smart Pixels: Update default grid pattern

    Change-Id: I826a5a2fdc3aaa9c64f59fbe8b28c8757ca31c58
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
    From: Anay Wadhera <anay1018@gmail.com>
    Date: Mon, 28 Feb 2022 17:03:54 -0800
    Subject: SystemUI: mark smartpixels as a trusted overlay

    Change-Id: I1b5e17f5b4397e61350746b161d58366a19a1fc9
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Change-Id: Id3c78548cb090ab2da11f543da31c5a408fb9fe9
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
8 files changed