Commit Graph

323 Commits

Author SHA1 Message Date
Tobias Tefke
fa05f27ad7 Trust: warn if build is signed with insecure keys
Change-Id: I1d58e232ed99dfe7e2addb651c114c1068e64105
2018-06-26 00:27:09 +02:00
Jesse Chan
5bfb5fafa6 sdk: Add an option to force pre-O apps to use full screen aspect ratio
When an app target pre-O releases, the default max aspect ratio
is 1.86:1 which leads to ugly black areas on devices that have
screens with higher aspect ratio (for example Galaxy S8/S9).

This change adds an option to allow users to change aspect ratio
for pre-O apps to full screen aspect ratio.

Change-Id: I2531542f736ee7b809ef7faffd72e5963e7d20d6
2018-06-12 00:45:46 -07:00
Joey
c0b21ca8ed sdk: Introduce Trust Interface
Change-Id: I5c3ece3f6035dd03be1ceab01020496c179f2e65
Signed-off-by: Joey <joey@lineageos.org>
2018-06-10 00:45:35 +02:00
Sam Mortimer
e703ff0a0b Add led capability LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS
*) Many existing liblights support notification brightness
   control via the alpha channel but do not support similar
   for the battery led.

*) 8f7a4559ab
   introduced a dependency on light capability
   LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS such that, when
   set, it was assumed that the battery led brightness is
   also liblights adjustable.  It turned out that this
   was not the case.

*) Create a new capability to allow devices to distinguish
   whether their liblights supports adjustable brightness
   control for notification and battery leds independently
   of one another.

*) Document how brightness support works in LightsCapabilities.

*) Copy LightsCapabilities comments to the default lights config
   to raise visibility.

Change-Id: Id95905f07128c78c6acacf3b60d71bb37f70bcfb
2018-06-05 20:26:52 +02:00
Rashed Abdel-Tawab
18fd692bbd lineage-sdk: Add backend for reading enhancement
Change-Id: Ibd1c9e057ddf8e9d21657aef0ebeeaa9a253e92d
2018-05-24 21:39:00 +02:00
Bruno Martins
285d9d6dbe LineageBatteryLights: Fix brightness for devices with segmented leds
* In case mCanAdjustBrightness was false, the brightness level would
   always be set to the maximum value.

Change-Id: I034bc17ac1174c491830f0a6cb1969a99ee900a7
2018-04-26 18:52:26 +02:00
Bruno Martins
bd4ca1f551 LineageBatteryLights: Take current user settings into account
Change-Id: Ie99c14a73c14e1f5b6c39125625153f2628f884d
2018-04-26 15:13:35 +01:00
Bruno Martins
89eb3d49de LineageBatteryLights: Rename some class members and add more debugging
* Follow LineageNotificationLights debug logic

Change-Id: I6b4a91db45a119c8c0b8b30684386765b73b93d2
2018-04-26 15:13:04 +01:00
Michael Bestas
8f7a4559ab lineage-sdk: Allow adjusting brightness of non-RGB LEDs
* Mimic LineageNotificationLights logic

Change-Id: Ifc0c899ef78dbdec22fa69ecd0bcffe1a9488afe
2018-04-22 03:22:14 +02:00
LuK1337
bd83e97381 lineage-sdk: Update validators for button settings
* Fixes ArrayIndexOutOfBoundsException when accessing
  button settings after update from 14.1 when user had
  one hand selected before.

Change-Id: I3a8663211cfc5dd7ee22dbb6fa85a8eafb746790
2018-03-18 13:43:17 +00:00
Joey
fdd21f4a59 sdk: ilama API (9)
Change-Id: I22ec35e3ab59fe64c223e8e3433e12c05870a1c0
Signed-off-by: Joey <joey@lineageos.org>
2018-03-12 14:04:47 +01:00
Joey
15fa12ec02 sdk: fixes for documentation
Change-Id: Iace1ed8b9a4c38afda908a6923bdbea4679cba83
Signed-off-by: Joey <joey@lineageos.org>
2018-03-11 16:22:59 +00:00
Joey
5a72b57502 sdk: Styles API finalization for API9
Changes:

- Added getter for global style and current accent
- Added getter for a list of (available) trusted overlays
- Apps that want to change the global style now MUST specify their
  package name when calling setGlobalStyle().
  LineageParts will expose the name of the app that's currently managing
  the global style
- Improved documentation

Change-Id: Iaa1b106f43684b4120aa0f39023ebfddcb379806
Signed-off-by: Joey <joey@lineageos.org>
2018-03-11 16:22:59 +00:00
Bruno Martins
945545d8b9 LineageSettings: Add a setting for button backlight only when pressed
Change-Id: I1a914a5f0dab22376f2a86d58be4e4a0c233f6ac
2018-03-07 09:26:16 +00:00
Joey
76fc3d3942 sdk: introduce Style API
This API will allow apps to change global style mode and accent.

Global style mode can be
* Automatic (wallpaper)
* Automatic (day of time)
* Light
* Dark

Accent colors are defined in the caller application that will have
to pass the package name.

It's possible for apps to pass a Bitmap and get a suggestion
of a global style + accent color that can be applied.

Restrictions:
* Only one accent can be enabled at time.
* We're not limiting this to system apps, but we're marking
  this as dangerous permissions so apps will have to require
  it at runtime to the user.

Change-Id: I921e8758c3ae093a88e897899612830258c97f8d
Signed-off-by: Joey <joey@lineageos.org>
2018-03-05 13:33:30 +00:00
Sam Mortimer
17b61ed328 lineage-sdk lights: Let Lineage lights decide if notification led is on/off
*) Allows us to cater for the case where the notification led is turned off
   and yet the user wants to adjust battery light settings (which requires
   posting led notifications to illustrate the change).

Change-Id: I24d128d796a44f5b3e9051d441427cc19e2a3822
2018-02-28 00:06:35 -08:00
Joey
becaa68f53 sdk: add TILE_LOCATION_DETAIL logging const
Change-Id: I036b2e332ba0b03e50d323daf395bb13d160656d
Signed-off-by: Joey <joey@lineageos.org>
2018-02-16 21:33:39 +00:00
Sam Mortimer
681bd06b36 lineage-sdk: Set drawable bounds in generateAlertColorFromDrawable()
*) Android docs say this is required.

*) Fixes generating alert color from oreo gmail app (and probably
   many others).

Change-Id: Iad9a8ea82531c1cf844fae5456fd998a4b486165
2018-02-13 17:06:14 +00:00
Sam Mortimer
b37c96df9c lineage-sdk lights: Treat requested led color of 0 as needing a default
*) fw/b now sets the color to 0 to indicate that we need to set
   a default (to cover Oreo+ sdk where DEFAULT_LIGHTS has been
   deprecated).

Change-Id: I91b7cfff2ea6f8c1b999b6246c14416a2a47cbfb
2018-02-12 10:53:41 -08:00
Pranav Vashi
9a097830fa livedisplay: don't throw exception if config is not ready, warning is enough
Throwing an exception leads to rescueMode in oreo

Change-Id: I9c4cb7af8cae51936f439641b79ae522c84eaaee
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2018-02-11 20:22:13 +01:00
Joey
6b4410555a sdk: livedisplay: add a method to determine whether night mode is enabled
LiveDisplayManager.getMode() returns MODE_AUTO when night mode is enabled
automatically, so there's no way to determine if night is on when livedisplay
changes automatically

Change-Id: Ia47fc127232c2bb3b6634b55712060a919f8c9c1
Signed-off-by: Joey <joey@lineageos.org>
2018-02-11 20:22:13 +01:00
Joey
157a7c1cde sdk: add berry global style and accent settings
Change-Id: If4b2d913713c7e5d2dab8dd43a41a7d0db3c6cb2
Signed-off-by: Joey <joey@lineageos.org>
2018-02-11 20:22:13 +01:00
Luca Stefani
38b21a6648 sdk: Cleanup PerformanceManager
* Remove per-app profiles support
* Remove cpu boost support

Change-Id: I37e7473f8df1d08a69bc9274ae356dc1133811db
2018-02-08 17:33:54 +01:00
Jon Haus
7ea84eb2f9 lineage-sdk: Add Network Traffic [2/3]
Changes made since the original implementation from older branches:

*) Forward-ported to Oreo and adapted to Lineage SDK (bgcngm).

*) Implement LineageStatusBarItem interfaces to receive visibility
   and color tint information (bgcngm / sam3000).

*) Move from fw/b to lineage-sdk (sam3000).

*) Increase refresh interval from 1s to 2s (sam3000).

*) Don't generate messages when the statusbar isn't visible (sam3000).

*) Allow for choice of unit to be kb/s or Mb/s (and kB/s and MB/s). This
   deprecates threshold selection for autohide (sam3000).

*) Add an option for whether units should be shown in the
   statusbar (sam3000).

*) Various other simplifications (sam3000).

*) Added vector drawables (courtesy of kover).

Change-Id: Ia5aadc3f03a7b434a047accbd7d53f4aa44c77fb
2018-01-28 03:52:35 +00:00
Sam Mortimer
27a44cc178 lineage-sdk: Add LineageStatusBarItem interfaces
*) Introduce LineageStatusBarItem class that contains interfaces
   and utility methods that can be used by status bar items that
   that are hosted here in the lineage-sdk in order to communicate
   with systemui.

*) Nested interface: Manager
   Implemented by layout view LineageStatusBarItemHolder in systemui.
   Contains methods that are used to request receipt of certain
   systemui events.

*) Nested interface: DarkReceiver
   Can be used to listen for systemui DarkReceiver events.

*) Nested interface: VisibilityReceiver
   Can be used to listen for changes in visibility of a statusbar item.
   Works even if the statusbar item sets it's own visibility to GONE.

*) Util method: findManager(View v) walks up through parent views to
   look for something that implements Manager.

*) Systemui side that provides a layout that implements Manager:
   https://review.lineageos.org/#/c/202265/

Change-Id: Ie237db5bfac9994b87de39372505cd61c39d89ee
2018-01-28 03:52:17 +00:00
Sam Mortimer
22e88073d7 lineage-sdk internal: Add FileUtils delete() and rename() helpers
Change-Id: I00170f5c42a9849ec71b2c328b56b1ee32e73747
2018-01-27 13:25:30 +00:00
Sam Mortimer
c7a8ed54b5 lineage-sdk: DnD light brightness control for battery and notifications
*) Support separate normal and dnd led brightness levels for battery
   and notifications.

*) Move lineage-specific notification bundle extras definitions from fw/b
   to LineageNotification here in the sdk.

*) In addition to the existing bundle extra EXTRA_FORCE_SHOW_LIGHTS, add
   a new extra EXTRA_FORCE_LIGHT_BRIGHTNESS that can be used to override
   the brightness level set by a Lineage system setting brightness level
   on a per notification basis.  This is used by the brightness sliders
   in LineageParts that otherwise would have to juggle changing / restoring
   the system led brightness setting whenever the a slider is on display.

*) Disable all lights in dnd mode when lineage setting ZEN_ALLOW_LIGHTS
   is set to 0.

Change-Id: I917f402a291682b582f68c8324a33c461357dad9
2018-01-25 20:38:10 +00:00
Michael Bestas
d3907794a6 lineage-sdk: Remove MediaRecorder API
* Last used in cm-13.0 for cyngn purposes

Change-Id: Ie5aa8b224c29f2d716489cf7a7eb2dfe2d8a3bbf
2018-01-24 02:43:13 +02:00
Michael Bestas
900f0098ba lineage-sdk: Remove ACTION_APP_FAILURE intent
* Was used by ThemeManagerService

Change-Id: I94b5e640a8280edced2706ab029a2558f2003486
2018-01-24 02:43:13 +02:00
Michael Bestas
e54c07d4ed lineage-sdk: Remove alarm clock API
* Last used/implemented in cm-13.0 DeskClock

Change-Id: I9db1a72e29fd2ce232f7cad69ee9b5a6fadfa5de
2018-01-24 02:43:12 +02:00
Michael Bestas
861ba2d874 lineage-sdk: Remove lineage telephony service
* Used for old MSIM API which is non-functional since a while

Change-Id: Ica2b9ae119d5972e425082433df3a7b099ae404a
2018-01-24 02:43:12 +02:00
Michael Bestas
99fba21024 lineage-sdk: Remove lineage status bar service
* Used for CM tiles API which is long dead

Change-Id: I66e8b57c035584aff5a4f5123388a4881e853a8f
2018-01-24 02:43:12 +02:00
Michael Bestas
498b79bb3a lineage-sdk: Remove external views API
* It was only used by live lockscreen

Change-Id: I78408eefb03dcccbe095311bea78baf8e6d852eb
2018-01-24 02:43:12 +02:00
Michael Bestas
60aa859cbe lineage-sdk: Remove app suggest feature
Change-Id: I60280aba6694da744e234ff5f2b9fd252da68908
2018-01-24 02:43:12 +02:00
Michael Bestas
dc1731e1dd lineagehw: Remove thermal monitor feature
Change-Id: I8422858634a2518b84efc56b24f2ace37f38724a
2018-01-24 02:43:12 +02:00
Michael Bestas
19d8afb7e6 lineagehw: Remove persistent storage feature
Change-Id: I286735192cf3f688980645efa7c1ba057fa825ca
2018-01-24 02:43:11 +02:00
Michael Bestas
d66c37c8d3 lineagehw: Remove tap to wake feature
Change-Id: I43e505b12b67eaad37a314a754d635988b8dee5e
2018-01-24 02:43:11 +02:00
Michael Bestas
d85907768c lineagehw: Remove unique device ID feature
Change-Id: I99aae7716e1b54e5ee2b6cb59ca75573126ffec4
2018-01-24 02:43:11 +02:00
Rashed Abdel-Tawab
a0e29562a2 lineage-sdk: Import power menu related classes
Different parts of the system need to check if advanced reboot is enabled,
so just move the method here and include it in said different parts.

The global actions constants also used to live in the frameworks, but as
they include our own additions and are also accessible by LineageParts,
place them here from now on.

Change-Id: Ic5a02b8118c702dced5a25d775a4cc84c92a3fc2
2018-01-21 00:29:08 +02:00
Bruno Martins
26a3d1efbf lineage-sdk: Add broadcast action for power menu update
This action used to be defined in the frameworks, but can be placed
here from now on.

Change-Id: I7886c682aea97be40d2dcd0b8f147acb660193ab
2018-01-12 13:42:21 +00:00
Roman Birg
de846c64c3 lineage-sdk internal: Import ActionUtils class
Change-Id: Iab14009d7e26064c8c6b732cf22be90da3ef7f04
2018-01-12 13:42:21 +00:00
Simon Shields
322b46a133 lineage-sdk internal: add LineageButtons
This class will be the new home for all the buttons logic currently
in fw/b. Currently, it only implements the "long press volume keys to
skip" feature.

Based on the following commits from cm-14.1:

commit 1296fb316946ca1361b2d32557b6c9e028f509c8
Author: Dark Eyes <dark_eyes_@hotmail.com>
Date:   Sat Nov 5 12:09:31 2016 -0400

    Fix long press volume buttons skip tracks

    Without that patch, the volume changes up or down prior
    to skipping tracks because the sendvolumekeyevent doesn't
    have the mayChangeVolume condition. Also, that part is
    useless cause the mUseTvRouting condition is taken care
    of correctly later.

    Change-Id: I88757315f135f013e7692861d46b3a07fbfc07d5

commit 61cebe2fea95f799b7b4edc540f6c38d3c13fbde
Author: Michael Bestas <mikeioannina@gmail.com>
Date:   Thu Dec 18 14:43:22 2014 +0200

    Fix volume key music controls and wake up

    - Forward port code from cm-11.0 and adjust for 5.0
    - Fix not being able to adjust volume when music control is on
    - Disable screen off volume/music control when wake key is enabled

    Change-Id: Ie0ad83965c41fd33120490c25a4ff3d9b2cbeb37

commit f41ba8af1796b4903dba3d134e56e8148f3b4808
Author: Austin T. Conn <atc3030dev@gmail.com>
Date:   Wed Dec 17 13:28:00 2014 -0500

    Settings: Forward Port Volume Long Press Skip Tracks (1/2)

    Bring Forward Volume Rocker Track Change

    Requires Settings Change
    http://review.cyanogenmod.org/#/c/82222/

    Change-Id: I70b00e08fe48707110725dd1daa56b1e48d15a03

Change-Id: I5c7f733913242bba822cf3f9f7e1e3320c2bedf7
2018-01-12 13:42:13 +00:00
Bruno Martins
5bcd8016d2 lineage-sdk: Import device keys custom rebinding configs and add helpers
* Used to "live" in fw/b since ever, but will be here from now on.

 * This also brings AOSP configs (config_longPressOnHomeBehavior and
   config_doubleTapOnHomeBehavior) to the SDK since those are being
   extended, putting everything in one place.

 * Long pressing home button will now default to launch assistant
   and menu button to open recent apps, leaving the past behind.

Change-Id: I0ca2b2cf9a565a334c3edf19a978fa6d2c4d2ea3
2018-01-12 11:21:31 +00:00
Bruno Martins
112da99f2a lineage-sdk: Import device hardware keys configs and constants
* Used to "live" in fw/b since ever, but will be here from now on.

Change-Id: I3469a4084590c96f41c6ff128cf008143d315728
2018-01-12 11:21:30 +00:00
Michael Bestas
3031b61c6c lineage-sdk: Introduce API level 8 - Hackberry
Change-Id: Ice54dba2b35e587d4280de6d86a250bc2c46469a
2018-01-01 18:30:14 +02:00
LuK1337
2f9375f4bc lineage-sdk: Add ACCELEROMETER_ROTATION_ANGLES to system settings
* Also add it to legacy settings so it migrates from
  AOSP SettingsProvider.

Change-Id: Ide6ebb2205af743b8ebd03548b622fd1502c5297
2017-12-23 18:09:14 +00:00
Sam Mortimer
211a874c39 lineage-sdk: Hide a pref group if all child prefs are themselves hidden
*) The change https://review.lineageos.org/#/c/193263/ knowingly removed
   the functionality where a pref group itself would be removed if all
   child prefs were removed (see comments around PS8/9).

*) bgcngm discovered cases where this is needed so add this
   functionality back.

Change-Id: Ibe684a6a21a2989623df71b08c2f5241682988ac
2017-12-22 00:23:48 +00:00
Sam Mortimer
0991abb0c3 lineage-sdk self-removing prefs: don't remove from death row until reaped
*) Graveyard is shared by all prefs with a given context.

*) When we reap in onAttached(), there may be prefs that aren't yet
   attached to the hierarchy.  Ensure that summonReaper keeps
   track of them until the last onAttached() is called in the context.

*) Fixes self-removing prefs that weren't being removed on a settings
   page that has at least one least other self-removing pref.

Change-Id: Ic48b86bb6f06aa29c44814a5487e2382349fb363
2017-12-19 01:19:13 +00:00
Sam Mortimer
7ab8aadc8a Revert "Revert "lineage-sdk self-removing prefs: move reap from onBindViewHolder to onAttached""
This reverts commit 9f648b7046.

Change-Id: Ia102cfb55c16eb52e1412e815abd081d504fc96f
2017-12-19 01:18:53 +00:00
Sam Mortimer
34d6da2407 lineage-sdk lights: add battery light isSupported() helper
*) Used by fw/b to prevent making LightsService
   calls when a battery light is not present.

Change-Id: I871a0fd3505e6f0b4db8eb6ba5971680c36a14c3
2017-12-13 12:36:46 -08:00