Commit Graph

655 Commits

Author SHA1 Message Date
Zhao Wei Liew
1c5e5e7006 cmsdk: Add GlobalSettingSwitchPreference class
We need to add toggles for some AOSP global settings,
such as heads up notifications.

Change-Id: I5e3cc8717c639bed4ee99e40c350ef7e7c2d76bd
2016-12-10 01:34:25 -08:00
Ethan Chen
41eab0f81a cmsdk: Use ConnectivityManager to manage tethering
* Hotspot is not assigning DHCP addresses correctly if enabled
  through the profiles codepath using WifiManager.

Change-Id: I9b67748d1b51c873864cf11f9240372e367a0c53
2016-12-09 20:05:41 -08:00
inky@build01
bb4cbde17f Automatic translation import
Change-Id: I27edba2815b88f0bcb41a8cfdde1f41a8b1c5f60
2016-12-08 22:52:40 -08:00
Michael W
8534274f5f cmsdk: utils: Introduce PackageManagerUtils class
Partially based off the PackageManagerHelper class in Launcher3.

Change-Id: I0ed2ea210cb52ac4bd94c7bc5320c24e6d423279
2016-12-08 17:13:07 -08:00
Adrian DC
ecde09bb94 cmsdk: Define a default LED capabilities value
* With the changes introduced by the commit
    If04e19891e778d1203241b03f398022400a531c8,
    the new integer overlay contains the device
    configuration for LEDs in a bit field

 * However if a device does not set this value,
    the build will fail with the following error
     "String types not allowed (... with value '')."

 * Therefore define the overlay to the default
    behaviour LIGHTS_PULSATING_LED = 8

Change-Id: I237cf2c0df856660a06bf45e8aa38a3552c8e901
2016-12-03 19:17:31 +01:00
Zhao Wei Liew
610916b378 cmsdk: Switch to a unified LED capabilities overlay
Add a unified and extensible overlay that encompasses
all the current LED capabilities, while allowing for
new future LED capabilities.

Change-Id: If04e19891e778d1203241b03f398022400a531c8
2016-12-03 09:12:30 +08:00
Zhao Wei Liew
77b34c39ed CMSDK: Add volume answer call CMSetting
Change-Id: Ie7f14b1af053d23876908ec3c99f038e76fe5beb
2016-12-01 20:59:49 -08:00
Steve Kondik
e8aecd3a8a cmsdk: Ensure CMHW feature constants aren't optimized out
* The preferences constraints system uses reflection to look up
   fields via strings, we need to ensure they are not optimized
   out by Proguard. Alternatively we can manually enumerate them,
   but it's yet another list of constants to maintain. We should
   have used a proper enumeration to begin with, but so it goes.
 * The @VisibleForTesting annotation is honored by the platform for
   ensuring that Proguard doesn't stomp fields. The support library
   has an @Keep annotation, but it's only supported by Gradle. If
   it becomes supported by the platform in the future, switch to
   it instead.
 * Also add tests for all of this.

Change-Id: I9f324e003e2a9de5604085b978d5f95bdd098d32
2016-11-22 22:48:35 -08:00
Gabriele M
7f19e742c1 PerformanceManager: Fix power hint values
Sync them with hardware/libhardware/include/hardware/power.h

Change-Id: Id9d454df40625b6fd743dbbb3eb8d10489c7e377
2016-11-08 06:44:31 -07:00
Steve Kondik
f133161814 cmhw: Fix boot handling
* Need to use sendBroadcastAsUser here.

Change-Id: I98eab88c796d6accf3c70f97436e3d7fa781fc1f
2016-11-06 00:34:51 -07:00
Danny Baumann
e01237ee2f Add a CMSystemSettingDropDownPreference.
Change-Id: Ic3b7589fe3a33b62fba3949e968789a3a99cf9f6
2016-11-02 13:28:01 +01:00
Danny Baumann
fbd5dc1b07 Add option definition for vibration during zen mode.
Change-Id: I7398adbaa691bc6ec50b56328190a317bee805eb
2016-11-02 09:21:58 +01:00
Martin Herndl
c7ecd4d8fa cmsdk: Fix non-triggered ON_DISCONNECT + cleanups
* the WifiInfo object may be null if there is no active connection
which should trigger an ON_DISCONNECT
* by using the already existing "getActiveSSID"-method there is no
need to cleanup UTF-8 encoded SSIDs

Change-Id: I69e4db55753ca1e02afde59b186dae822adf7b63
2016-10-31 11:06:09 +01:00
Steve Kondik
97054244ce cm: Fixes for 7.1
Change-Id: Iff5c6aebd704ea71e94f43049cbbca26fdf7421f
2016-10-26 02:41:49 -07:00
Steve Kondik
e721f8cff4 cmsdk: Add support for split screen button behavior
Change-Id: I7289e8abe23d047f909066a9986e8b9d55bec27e
2016-10-18 23:37:02 -07:00
Steve Kondik
26977b4a75 cmsdk: Refactor Parts to use RemotePreference
* Delete ALL the codes!

Change-Id: I839ba927f03363601452bdc3d894e09549366302
2016-10-17 19:24:29 -07:00
Steve Kondik
3805419c29 cmsdk: RemotePreference API
* Factoring out the work done for CMParts into an actual API that can
   be used for all of the various device settings apps.

Change-Id: Ie1b47c900c2b37457b90f1b0af0634d5fe12fd9a
2016-10-17 19:24:01 -07:00
Steve Kondik
0dae635abe cmsdk: Helper for working with Settings URIs
* Add a bunch of helpers for dealing with settings URIs in
   a transparent way.
 * This also includes the "Observatory" which is an aggregator
   of ContentObservers. Inspired by TunerService.

Change-Id: Ie30c3f712d3c6536af559d93f7debe2dcc5ead06
2016-10-17 19:19:17 -07:00
Steve Kondik
78079eacb8 cmsdk: Add support for more preference constraints
* Add support for negation- prefix with !
 * Add requiresAction constraint, which checks if an application is
   available to resolve the given action
 * Fix issues with operations order
 * Add flag to remove a preference if it's intent can't be resolved
 * Add helper to allow setting minLines of a preference, since it's
   common for things to get weird with the kinds of behavior we
   are introducing everywhere
 * Add support for nuking *other* preferences. For example with
   Doze, many devices have custom features and a extra_settings
   panel which is redundant with the switch. Now we can trivially
   override the one we don't want.

Change-Id: Ibb14b05add56b403013e908db1105dce9d34faad
2016-10-17 19:18:59 -07:00
Tetsuo55
32921b7361 cmsdk: Fix lint warning in string conversion
Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead
http://developer.android.com/reference/java/util/Locale.html#default_locale

Change-Id: I18abb9aa545961bebcb40e3a57152617a22e284f
2016-10-16 22:56:54 -07:00
Zhao Wei Liew
5d787c24d0 cmsdk: preference: Add SecureSettingSwitchPreference
We may need to store/retrieve secure settings in some cases.

Change-Id: Ibf329652d8d057485e39060c956846755c3a91d2
2016-10-13 19:55:57 +08:00
Steve Kondik
f4cd277473 cmsdk: Update performance profile descriptions
Change-Id: Ib7daffb32a74ec63d5845401b191dd30f76fa932
2016-10-13 04:13:53 -07:00
Steve Kondik
cd98e0b30b cmsdk: Rework the PerformanceManager
* Added a proper API for this thing
 * Pass objects around with necessary metadata, pre-filtered and sorted
 * Added event log and service dump
 * Simplified locking and adjusted for performance / correctness
 * Clarified/beautified code where possible
 * TODO:
   - Write profile descriptions
   - Finish the UI
   - Clean up javadocs
   - Do something with per-app profiles, maybe

Change-Id: Ie2ef84031e81a18e95dcd62392c7e6939860d933
2016-10-12 04:06:33 -07:00
Steve Kondik
7928707006 cmsdk: Update API
* Unbreak the build, we added a new public permission

Change-Id: I90fdd88f0296fd1b0e3f14a8caf5b61705084741
2016-10-11 08:19:36 -07:00
Steve Kondik
c27e31ffd7 cmsdk: Add support for PartsRefresher to CMPartsPreference
* Allow CMParts to update the summary (or any detail) of a preference
   so it can be shown correctly in the UI.
 * Also some cleanup and refactoring around the parts list.

Change-Id: Idc16a7eb1a1e4170671fd068bd240b88fadfb577
2016-10-11 02:36:10 -07:00
Zhao Wei Liew
33fc2d4385 cmsdk: Migrate STYLUS_ICON_ENABLED to CMSettings
Change-Id: If40a8f390d4105812e7fab89e3612f21d6d206a4
2016-10-09 05:47:30 -07:00
Zhao Wei Liew
a9367b4aac cmsdk: Remove duplicate legacy system element
This is already in the array several lines above.

Change-Id: I0e046902dc1bf01ea445587e1f8a4e7f8520051c
2016-10-09 05:47:09 -07:00
Steve Kondik
152ef22084 Merge branch 'cm-13.0' of git://github.com/CyanogenMod/cm_platform_sdk into cm-14.0
Change-Id: I28fdf53785f1ec81f5d811c099e81acdb91e0009
2016-10-09 05:20:44 -07:00
Steve Kondik
0cee14b03c cmsdk: Start Weather service in onUnlockUser
* Otherwise we get a bunch of noise at startup

Change-Id: I40ebd0767a090171cfcb46340f132bf36c9494b5
2016-10-09 02:23:34 -07:00
Steve Kondik
08086df9d0 cmsdk: Add constraints support for CMHardware features
* This patch will make it easy to hide preferences based on the
   lack of a CMHardware feature. In the preference, specify this:

     cm:requiresFeature="cmhardware:FEATURE_KEY_DISABLE"

   ..and the preference will magically be removed if the feature
   is not supported.

Change-Id: I51699df7b39bb38b9ea69c93ade658736f89b988
2016-10-08 19:37:20 -07:00
Steve Kondik
009662e24e cmsdk: Re-enable use of custom AIDL generation
Change-Id: I23e18d56626032bd828484954bae5251cc3b8158
2016-10-08 13:26:42 -07:00
Steve Kondik
0452ebac72 cmsdk: Add search resources plumbing for CMParts
Change-Id: I541bbbabd81eb249b7696f23d5122b6a5f4f8f50
2016-10-08 04:22:31 -07:00
Steve Kondik
5ba48458e1 cmsdk: Change how parts are launched
* Encode the part into the action and use an explicit intent instead
   of relying on extras.

Change-Id: I4f035d6b839e9701e20a9b78dbe2a39757aad13e
2016-10-08 04:22:30 -07:00
d34d
c4f27d5b81 Themes: Introduce theme mixes into ThemesContract
Change-Id: I6341bada8e3ef674b272621f90bc9beb28767a59
TICKET: CYNGNOS-2121
2016-10-07 10:14:28 -07:00
Steve Kondik
5d08519c6c cmsdk: Add owner constraint for preferences
* Set "cm:requiresOwner=true" to enforce that the current user
   is an owner, otherwise the preference will be removed.

Change-Id: I20d1348f58a855d07676882db773f73687396a6d
2016-09-25 23:17:49 -07:00
pinky@build01
2f32195b3a Automatic translation import
Change-Id: I01b303114376f6f8fe72d873d8cf3ce46ee05fd0
Ticket: -
2016-09-25 00:16:01 -07:00
Steve Kondik
2d61e0ceba cmsdk: Add constraints and behaviors for our preferences
* Add a new set of attributes which can be declared in the
   preference XML which will cause the preference to be
   removed from the hierarchy if the constraint is not met.
   Currently we can check for installed packages, system
   properties, config references, and system features.
 * CMPartsPreference is also updated to use similar logic
   based on the external XML.

Change-Id: If8fb39cd3312623e38bb3498bfb3f29ed8b444d6
2016-09-19 03:22:36 -07:00
d34d
06aec1f6f2 themes: Relabel theme dir after creation
After creating the theme directory it will be labeled as a
system_data_file.  By calling SELinux.restorecon() the directory
will be correctly labeled as a themeservice_app_data_file

Change-Id: I73a28da883a467bf8859d879dbe22962424e4a23
TICKET: NIGHTLIES-3349
2016-09-15 10:43:20 -07:00
Steve Kondik
9faa2740a5 cmsdk: Add ListPreference helpers backed by CMSettings
Change-Id: Ide607a4ba3b220d82aff5019f61ecdc7afe0a523
2016-09-14 01:47:44 -07:00
Steve Kondik
3b6cfcc7d5 cmsdk: Move unnecessary strings out of here
* These can live in CMParts now

Change-Id: I766e902887be976b984a4db38310a1a7756c4ef3
2016-09-13 10:33:17 -07:00
Steve Kondik
7db76d6a5d cmsdk: Add CMParts API
* Add a Preference subclass which queries CMParts and handles all
   the work needed to add a new part into Settings with a single
   line of XML.
 * The parts list lives in the CMParts app as res/xml/parts_catalog.xml
 * We also support receiving a broadcast to update the title/summary.

Change-Id: Iaceddc85272718ba93e4086cc2577c3b016419e2
2016-09-13 10:27:01 -07:00
Steve Kondik
683c67fdd4 cmsdk: Fix LiveDisplay
* Google changed the way TwilightService works in N, which was never
   a public API to begin with. Create a local version to avoid this
   problem in the future, which also contains the logic we expect
   and have tested extensively.

Change-Id: I11098b14fa75664ce8efbc34888c6f97e3af5ca1
2016-09-13 10:26:34 -07:00
Steve Kondik
5dec2bb8fc cmsdk: Fix tests for N
Change-Id: I49175f9e60440ea40993d1d7a0cc3f64cf92d010
2016-09-13 10:26:26 -07:00
Steve Kondik
ad90c58703 cmsdk: Mark HOTWORD_INPUT_CHANGED as a protected broadcast
Change-Id: I2511fe7e8c9c29022cc232e95747a71c5120ce57
2016-09-13 09:48:27 -07:00
Danny Baumann
fceb077b6f Don't unboundedly enqueue transition messages.
As long as the light sensor is providing values, each value change will
enqueue a transition message, which may queue up. Stop doing that and
ensure only one transition message is queued at any given time.

Change-Id: I6e9c5b265066089ff9e0cea7237c2023ed1af30c
2016-09-12 07:31:07 -07:00
Danny Baumann
a110c75eb9 Don't unboundedly enqueue transition messages.
As long as the light sensor is providing values, each value change will
enqueue a transition message, which may queue up. Stop doing that and
ensure only one transition message is queued at any given time.

Change-Id: I6e9c5b265066089ff9e0cea7237c2023ed1af30c
2016-09-12 16:18:22 +02:00
Steve Kondik
3da45e19ad cmsdk: Untangle internal vs. external dependencies
* The public SDK build is currently including AIDLs which are
   meant to be used for internal purposes only. My assumption
   is that this particular implementation was done before we
   split off an "internal" SDK, which is used by the platform itself.
 * The issue came up when adding an AIDL which has a backing
   Java data object which was not included.
 * It should be safe to simply hide this interface. All references
   to it are hidden already. It is only used for internal purposes
   and does not change the API.
 * With the internal dependencies removed from the public SDK, we
   can completely remove the reference in the makefile.

Change-Id: I0515815543feb077ee5e289b9f900e28758c6e98
2016-09-11 13:54:30 -07:00
Steve Kondik
7be730bbf1 cmsdk: Add CMSettings preference helpers
* These lived in the Settings app previously, but are now moved as
   we need them in a few places.
 * The support library required to use these helpers, but we
   intentionally reference it using LOCAL_JAVA_LIBRARIES so the
   application will need to declare a dependency.

Change-Id: I56844def5e1100ca0300d0027312cc9adcaab941
2016-09-08 13:41:16 -07:00
clyde@build01
f15f366c62 Automatic translation import
Change-Id: Ia86641b028e5799beed97b40fe3f0c9326ceeacd
Ticket: -
2016-09-06 20:06:59 -07:00
Steve Kondik
aac8bdc05d cmsdk: Introduce API level 7 - Guava
Change-Id: I9fda50cc46d15e4f89a29303be18c8947befc3e1
2016-09-04 04:35:09 -07:00