'packages/apps/ContactsCommon'
'packages/apps/Dialer'
'packages/apps/ExactCalculator'
+ 'packages/apps/PackageInstaller'
'packages/apps/PhoneCommon'
'packages/apps/Settings'
'system/core'
-From d07486f26f3fe0b9a22fbac5531b9852d9988ab3 Mon Sep 17 00:00:00 2001
+From 3dcf1c44b81a2fb51a3da26470cd946303d27261 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= <marten.kongstad@sonymobile.com>
Date: Tue, 15 Dec 2015 16:08:31 +0100
-Subject: [PATCH 01/41] OMS7-N: Support tagging resources as OK to overlay
+Subject: [PATCH 01/44] OMS7-N: Support tagging resources as OK to overlay
[1/11]
This will allow applications to have a resource xml defining what
-From f3466dfae58c90cf66ce7ba80f5bde10caa9e559 Mon Sep 17 00:00:00 2001
+From 9f51624bfb2dbc78f791ef9ea1a9d81c6c4b68f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= <marten.kongstad@sonymobile.com>
Date: Tue, 15 Dec 2015 16:40:23 +0100
-Subject: [PATCH 02/41] OMS7-N: Introduce the OverlayManagerService [2/11]
+Subject: [PATCH 02/44] OMS7-N: Introduce the OverlayManagerService [2/11]
Add a new system service to manage Runtime Resource Overlays. This will
offload the PackageManagerService and allow administration of overlay
-From f0f40f676d1c318d42b8d408cfe203705b1e43ab Mon Sep 17 00:00:00 2001
+From 88f2665cf9a811c5261aed2c200f05f5d36e1680 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= <marten.kongstad@sonymobile.com>
Date: Thu, 2 Jun 2016 09:35:31 +0200
-Subject: [PATCH 03/41] OMS7-N: Integrate OverlayManagerService into framework
+Subject: [PATCH 03/44] OMS7-N: Integrate OverlayManagerService into framework
[3/11]
Hand over ownership of overlays to OverlayManagerService.
-From c1b44cfc571b13251f309ae88fa508d14e88757e Mon Sep 17 00:00:00 2001
+From 1a224d9b41b2046fb7eaa26c57c75b9ba11574c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= <marten.kongstad@sonymobile.com>
Date: Mon, 25 Apr 2016 16:29:22 +0200
-Subject: [PATCH 04/41] OMS7-N: Set EXTRA_REPLACING correctly in
+Subject: [PATCH 04/44] OMS7-N: Set EXTRA_REPLACING correctly in
ACTION_PACKAGE_ADDED [4/11]
When broadcasting ACTION_PACKAGE_ADDED the recipients of the Intent are
-From 102f77b58d5e8fdf1ffa3cde1d9e7def7e258ddb Mon Sep 17 00:00:00 2001
+From a27ed7bc2f1e2450d7febf07a8c0912233f89a8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= <marten.kongstad@sonymobile.com>
Date: Mon, 29 Feb 2016 14:12:35 +0100
-Subject: [PATCH 05/41] OMS7-N: idmap: suppress print for padded resources
+Subject: [PATCH 05/44] OMS7-N: idmap: suppress print for padded resources
[5/11]
Change-Id: I565ccf515068b96927e4317cc9c06543415bb324
-From b1d23772931f66453ecf99e83e14eea004994d6b Mon Sep 17 00:00:00 2001
+From a40cb29e8ce6822cc93df52d1ed39d42fcacf402 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= <marten.kongstad@sonymobile.com>
Date: Thu, 2 Jun 2016 09:34:36 +0200
-Subject: [PATCH 06/41] OMS7-N: Fix memory leak during idmap creation [6/11]
+Subject: [PATCH 06/44] OMS7-N: Fix memory leak during idmap creation [6/11]
Plug a memory leak in AssetManager::createIdmap.
-From 0ae524b1eb5203b583a1a8eb85d2c760ebeac7f3 Mon Sep 17 00:00:00 2001
+From fcf5fb5a90e23fcc926ee57021f701a6690263e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= <marten.kongstad@sonymobile.com>
Date: Thu, 2 Jun 2016 09:35:09 +0200
-Subject: [PATCH 07/41] OMS7-N: installd: add command 'rmidmap' [7/11]
+Subject: [PATCH 07/44] OMS7-N: installd: add command 'rmidmap' [7/11]
Add an installd command to remove an idmap file. This is the inverse of
the 'idmap' command and is intended for clean-up once an idmap file is
-From 4932eb37c98c0bd99cbdb4d361786dccae8766cb Mon Sep 17 00:00:00 2001
+From 0fdefd8cada3c8f38865c4963b98c05768aca559 Mon Sep 17 00:00:00 2001
From: Josh Guilfoyle <Josh.Guilfoyle@T-Mobile.com>
Date: Wed, 26 Jan 2011 23:28:43 -0800
-Subject: [PATCH 08/41] OMS7-N: Disable Zygote preloaded drawables [8/11]
+Subject: [PATCH 08/44] OMS7-N: Disable Zygote preloaded drawables [8/11]
With a theme applied, most of these preloaded drawables go unused. Any
assets the theme has redirected will need to be loaded with each app
-From be65b305cc3a5774bc4f2ab6d9dd9b784b256ebe Mon Sep 17 00:00:00 2001
+From b6b118aaba00675b1975ef1d7bbf9316f5b3b0eb Mon Sep 17 00:00:00 2001
From: Nicholas Chum <nicholaschum@gmail.com>
Date: Sun, 19 Jun 2016 10:37:13 -0400
-Subject: [PATCH 09/41] OMS7-N: Persistence on boot through
+Subject: [PATCH 09/44] OMS7-N: Persistence on boot through
OverlayManagerServiceImpl [9/11]
Overlays should not be enforced by the traditional OverlayManagerService
-From a7ff75d09244fa9a8a421cfc999379da621c408e Mon Sep 17 00:00:00 2001
+From e0ac8ddef5ab883b46bd4ca31574a3e295c001bb Mon Sep 17 00:00:00 2001
From: Nicholas Chum <nicholaschum@gmail.com>
Date: Thu, 27 Oct 2016 07:08:00 +0200
-Subject: [PATCH 10/41] OMS7-N: Do not enforce code policy limiting overlay
+Subject: [PATCH 10/44] OMS7-N: Do not enforce code policy limiting overlay
installation [10/11]
Change-Id: Iea317f3771f25dbfcbf4938e88cace12fd97d7eb
-From 305c00ccb8fe676877485f1bd7c0cc41d34b1dd7 Mon Sep 17 00:00:00 2001
+From d3735910edfaf506fd49adc6bfaacaa845965496 Mon Sep 17 00:00:00 2001
From: Jacob McSwain <jacob.a.mcswain@gmail.com>
Date: Sun, 26 Jun 2016 15:21:52 -0500
-Subject: [PATCH 11/41] OMS7-N: Implement multi-target enable/disable and
+Subject: [PATCH 11/44] OMS7-N: Implement multi-target enable/disable and
disable-all [11/11]
Just use the enable option like normal, but you can add more arguments
-From 6b36b4663c1da24ecec0196180dddc283f3a721b Mon Sep 17 00:00:00 2001
+From 0d038faef60856f1cd5c5fe7a1873d47727c4a8d Mon Sep 17 00:00:00 2001
From: Dave Kover <dkover@cyngn.com>
Date: Fri, 9 Dec 2016 10:47:17 -0700
-Subject: [PATCH 12/41] Themes: Expose resolver hardcoded colors
+Subject: [PATCH 12/44] Themes: Expose resolver hardcoded colors
commit dbbd5e70cc65002df41561474b03362022dd6716
Author: Dave Kover <dkover@cyngn.com>
-From aa2c8a922722632841d9142a88586dc236cad408 Mon Sep 17 00:00:00 2001
+From 0270217a8cd01fb3f177457dd7289e0d5937d42b Mon Sep 17 00:00:00 2001
From: Nicholas Chum <nicholaschum@gmail.com>
Date: Tue, 17 Nov 2015 18:57:11 -0500
-Subject: [PATCH 13/41] Themes: Allow Immersive cling colors to be fully themed
+Subject: [PATCH 13/44] Themes: Allow Immersive cling colors to be fully themed
This allows the immersive mode help tooltip to be themed completely by
removing hardcoded framework calls. Let the themer decide what they want
-From af05b5247a40c91e0de13f762d0af99041c69a4a Mon Sep 17 00:00:00 2001
+From 66f7123b3f0f9f303ce85c742c1feccfc1ced792 Mon Sep 17 00:00:00 2001
From: Nicholas Chum <nicholaschum@gmail.com>
Date: Mon, 23 Nov 2015 23:49:15 -0500
-Subject: [PATCH 14/41] Themes: Allow Permission Icons to be fully themed
+Subject: [PATCH 14/44] Themes: Allow Permission Icons to be fully themed
This removes the forced @android:color/black tint on the permission
icons during app sideload through PackageInstaller.
-From fc55fd2a74e77e263e81b19aaf537bb7fae17d4e Mon Sep 17 00:00:00 2001
+From 425642e9223a14abddea7e34618ae3f6b5385e36 Mon Sep 17 00:00:00 2001
From: Dave Kover <dkover@cyngn.com>
Date: Thu, 14 Apr 2016 10:19:13 +0700
-Subject: [PATCH 15/41] Themes: Allow Navbar ripple color to be themed
+Subject: [PATCH 15/44] Themes: Allow Navbar ripple color to be themed
PS1:
Layers Commit by @setiawanjimmy
-From 8c6a98311b73e38c0a842d5cf7b4bea5cb626981 Mon Sep 17 00:00:00 2001
+From 2a48eb8da1a13d2302e23363efb1473d015d1f86 Mon Sep 17 00:00:00 2001
From: Ivan Iskandar <iiiiskandar14@gmail.com>
Date: Sun, 18 Sep 2016 21:33:18 +0700
-Subject: [PATCH 16/41] SystemUI: Expose QS edit item decoration background
+Subject: [PATCH 16/44] SystemUI: Expose QS edit item decoration background
color
PS2:
-From 38de6486d9b493868e13c5774dac6b218cf8a33f Mon Sep 17 00:00:00 2001
+From db1dd6cb157f002aa6c60d2d9c99d9045758db84 Mon Sep 17 00:00:00 2001
From: Simao Gomes Viana <xdevs23@outlook.com>
Date: Fri, 25 Nov 2016 20:50:29 +0100
-Subject: [PATCH 17/41] Allow custom alpha for notification shade bg color
+Subject: [PATCH 17/44] Allow custom alpha for notification shade bg color
Change-Id: If621df83d994feae0448a734408ba85ac8329325
---
-From 47406dcb3bebfaf7821c2af411a5e8b7b2cdcb52 Mon Sep 17 00:00:00 2001
+From 4a835c1782a74f73bf44be58aa5e6269badbbe4d Mon Sep 17 00:00:00 2001
From: "Niklas Schnettler (Sh4dowSoul)" <niklas.schnettler@gmail.com>
Date: Wed, 5 Oct 2016 18:07:43 +0200
-Subject: [PATCH 18/41] Themes: Expose various QuickSettings text colors
+Subject: [PATCH 18/44] Themes: Expose various QuickSettings text colors
Change-Id: Iaea71ca83afbc3d8cc6faea6afac16cabb46cfff
---
-From bce27255976a238a6b4a97fd808521cd72b8026d Mon Sep 17 00:00:00 2001
+From 41ab365045aba18537b51505a201a33d74a8944d Mon Sep 17 00:00:00 2001
From: Nicholas Chum <nicholaschum@gmail.com>
Date: Sat, 27 Aug 2016 10:56:46 -0400
-Subject: [PATCH 19/41] Notifications: Expose a bool to disable dynamic colors
+Subject: [PATCH 19/44] Notifications: Expose a bool to disable dynamic colors
This commit allows a themer to overlay a boolean value in config.xml to
disable dynamic colors applied to the app title and app icon of each
-From 4a191c1636383128017ee5182873af0df7077195 Mon Sep 17 00:00:00 2001
+From ae4223f3c318ecfbc738c2d632a413a11c10e98a Mon Sep 17 00:00:00 2001
From: George G <kreach3r@users.noreply.github.com>
Date: Mon, 14 Nov 2016 14:49:47 +0200
-Subject: [PATCH 20/41] Notification dynamic colors bool compatible with OMS7
+Subject: [PATCH 20/44] Notification dynamic colors bool compatible with OMS7
OMS7 introduced this fine piece of code: https://github.com/SubstratumResources/platform_frameworks_base/blob/n-oms7/core/java/android/app/ResourcesManager.java#L897..#L904
-From 9133a2832f4681ca8d1fdab3ad57e5a56535ecf6 Mon Sep 17 00:00:00 2001
+From 8d44b632200a6ea720ec51eff9ba9dfad45eef07 Mon Sep 17 00:00:00 2001
From: Daniel Koman <dankoman30@gmail.com>
Date: Fri, 17 Apr 2015 11:56:28 -0600
-Subject: [PATCH 21/41] Allow prevention of doze notification color inversion
+Subject: [PATCH 21/44] Allow prevention of doze notification color inversion
Removed empty newline at the end -- KreAch3R
Removed slims files for aosp roms -- Bgill55
-From 6dd0c6b50d696c4602ab7131135c1a5eb550b2c5 Mon Sep 17 00:00:00 2001
+From 4040a5fa9e8f23c423c0023d0ea5d6214e568634 Mon Sep 17 00:00:00 2001
From: George G <kreach3r@users.noreply.github.com>
Date: Mon, 14 Nov 2016 14:44:17 +0200
-Subject: [PATCH 22/41] OMS7 compatible 'Ambient notification inversion'
+Subject: [PATCH 22/44] OMS7 compatible 'Ambient notification inversion'
OMS7 introduced this fine piece of code: https://github.com/SubstratumResources/platform_frameworks_base/blob/n-oms7/core/java/android/app/ResourcesManager.java#L897..#L904
-From 40bf760e7bee4b0d0d649408e1adfc850dc2b73a Mon Sep 17 00:00:00 2001
+From 5c488c2096386c1e87addd0b95d6541a4524fc3a Mon Sep 17 00:00:00 2001
From: Ivan Iskandar <iiiiskandar14@gmail.com>
Date: Mon, 5 Dec 2016 19:00:04 +0700
-Subject: [PATCH 23/41] SystemUI: Use own drawables for QS expand icon
+Subject: [PATCH 23/44] SystemUI: Use own drawables for QS expand icon
This was using the volume panel drawables used also on volume panel.
So with this commit themers can give different icon for either QS
-From b6ae6c8b465c50b8f37da4d6a81eb0eddadf0e6a Mon Sep 17 00:00:00 2001
+From 042bd738c1cb8c42a724539977988ad8b863dae9 Mon Sep 17 00:00:00 2001
From: 0xD34D <clark@scheffsblend.com>
Date: Mon, 9 Jan 2017 07:19:41 +0530
-Subject: [PATCH 24/41] N-Extras: Add dynamic theme BootAnimation support
+Subject: [PATCH 24/44] N-Extras: Add dynamic theme BootAnimation support
Extracted from "Themes: Port to CM13 [1/3]"
http://review.cyanogenmod.org/#/c/113273/14
-From d5323804320c6588d6d83560c1d403d89dbb3bf5 Mon Sep 17 00:00:00 2001
+From 397cd6d8b76e2b84dc80d142066d143d61d8a4f4 Mon Sep 17 00:00:00 2001
From: 0xD34D <clark@scheffsblend.com>
Date: Wed, 22 Jun 2016 23:54:23 +0300
-Subject: [PATCH 25/41] N-Extras: Add dynamic theme fonts support
+Subject: [PATCH 25/44] N-Extras: Add dynamic theme fonts support
Due to the nature of the removal of assetSeq in OMS7+, we now use the
more controllable font scale updating code to update the fonts on
-From 9b60cd4f107e4be9c805c5a56da985de9bde05eb Mon Sep 17 00:00:00 2001
+From 3aa52c4d1f1cb561de907163ef438df9f4897d45 Mon Sep 17 00:00:00 2001
From: Nicholas Chum <nicholaschum@gmail.com>
Date: Sun, 17 Jul 2016 17:56:40 -0400
-Subject: [PATCH 26/41] N-Extras: AudioService: Allow system effect sounds to
+Subject: [PATCH 26/44] N-Extras: AudioService: Allow system effect sounds to
be themed
This commit checks whether there is a preexisting file in the themed
-From 44d05d148e2f64f2a721ff804fbf46ac8478b6da Mon Sep 17 00:00:00 2001
+From 943c3e2f786f07343334f605722d900cde029843 Mon Sep 17 00:00:00 2001
From: George G <kreach3r@users.noreply.github.com>
Date: Mon, 4 Jul 2016 06:25:15 +0300
-Subject: [PATCH 27/41] OMS7-N: ApplicationsState: add filter for Substratum
+Subject: [PATCH 27/44] OMS7-N: ApplicationsState: add filter for Substratum
overlays [1/2]
This commit allows the framework to handle the filtering of the
-From 43daca4255aaa6f333c69740421a311809c652f6 Mon Sep 17 00:00:00 2001
+From 0403260834d8f01960e9f8ea7354596eddef3be0 Mon Sep 17 00:00:00 2001
From: Kuba Schenk <abukcz@gmail.com>
Date: Thu, 1 Dec 2016 21:48:26 +0100
-Subject: [PATCH 28/41] OMS7-N: ApplicationsState: add filter for Substratum
+Subject: [PATCH 28/44] OMS7-N: ApplicationsState: add filter for Substratum
icon overlays [1/2]
This commit allows the framework to handle the filtering of the icon overlays found for OMS.
-From c602af4461346f83d2abe6c7fe7a1f8541e9f3f9 Mon Sep 17 00:00:00 2001
+From a60d2fea89df8eecd7af96a58f8fbc3624d1b8bf Mon Sep 17 00:00:00 2001
From: Abdulwahab Isam <abdoi94.iq@gmail.com>
Date: Fri, 7 Oct 2016 08:30:11 +0300
-Subject: [PATCH 29/41] Themes: Expose QS battery
+Subject: [PATCH 29/44] Themes: Expose QS battery
This is needed for white themes like Belo. Should function the same with dark themes as well.
-From 9ea71ff58bdd4b91adf3a64f9231d93dec3da2d7 Mon Sep 17 00:00:00 2001
+From e4837e24107e06a75dcd06981aa3e04bfa6948fa Mon Sep 17 00:00:00 2001
From: bigrushdog <randall.rushing@gmail.com>
Date: Mon, 19 Dec 2016 04:33:31 -0800
-Subject: [PATCH 30/41] OMS: Introduce MODIFY_OVERLAYS permission for user apps
+Subject: [PATCH 30/44] OMS: Introduce MODIFY_OVERLAYS permission for user apps
This permission will grant the app read and write permissions
to access OverlayManagerService. If caller does not posess
-From 2c2324583fd644b1ae67f1cb82dc2542cdb0cf1a Mon Sep 17 00:00:00 2001
+From 78d15ca661f48f1d811fc760a4d90dd74179240b Mon Sep 17 00:00:00 2001
From: daveyannihilation <daveyannihilation@hotmail.com>
Date: Sun, 1 Jan 2017 01:47:53 -0700
-Subject: [PATCH 31/41] SystemUI: Expose switch bar title
+Subject: [PATCH 31/44] SystemUI: Expose switch bar title
This is needed for the power notifications switchbar in SystemUI Tuner, amongst other things.
-From 6974958b8cc7d2ceb91c7ff7223f2823f700e368 Mon Sep 17 00:00:00 2001
+From 5d0bab85243ef8c14d99b88879925745c906af83 Mon Sep 17 00:00:00 2001
From: Bryan Owens <djbryan3540@gmail.com>
Date: Fri, 6 Jan 2017 21:12:15 +0800
-Subject: [PATCH 32/41] Themes: Expose manifest styles for themes
+Subject: [PATCH 32/44] Themes: Expose manifest styles for themes
Change-Id: Ie3a4fdead4f4fa1c121018b38de1c86a05bbcff2
---
-From b532b8fb75627ef3eeb2bf6f01bfe1275febd80c Mon Sep 17 00:00:00 2001
+From 086081173e84533937aa0d6898a609b48103ec7b Mon Sep 17 00:00:00 2001
From: mickybart <mickybart@pygoscelis.org>
Date: Sat, 19 Nov 2016 19:05:05 -0500
-Subject: [PATCH 33/41] OMS: StrictMode and files under /data/system/theme/
+Subject: [PATCH 33/44] OMS: StrictMode and files under /data/system/theme/
Themes are using /data/system/theme/ to push some files like LowBattery.ogg (audio notification)
When the device battery trigger the low battery state, the sound is not played due
-From cc3bfea805430652d7e5a2cefb967e1c4517852a Mon Sep 17 00:00:00 2001
+From 7d8713e9763e72ce1ecb42e8f715b87314b3962b Mon Sep 17 00:00:00 2001
From: Daniel Koman <dankoman30@gmail.com>
Date: Wed, 28 Sep 2016 15:28:26 +0200
-Subject: [PATCH 34/41] doze: allow grayscale even if invert boolean is false
+Subject: [PATCH 34/44] doze: allow grayscale even if invert boolean is false
for dark themes, we are setting the config boolean for inverting
doze notifications to false. in addition to preventing
-From 6f4856fb66622c83067a3f2c86fad1d64ba75360 Mon Sep 17 00:00:00 2001
+From 0681be50ad65469131c1da1382ac023ca531c392 Mon Sep 17 00:00:00 2001
From: Alex Cruz <mazdarider23@gmail.com>
Date: Tue, 24 Jan 2017 11:14:46 +0100
-Subject: [PATCH 35/41] Expose external qs tile tint color
+Subject: [PATCH 35/44] Expose external qs tile tint color
This should allow themers to get around issues like this (see pic below)
-From b9f2673cdd2a0a0128878cd10fb7283c242476ab Mon Sep 17 00:00:00 2001
+From 7681b7b8ad224b947c65274af013e039edb5dc0a Mon Sep 17 00:00:00 2001
From: George G <kreach3r@users.noreply.github.com>
Date: Thu, 2 Feb 2017 01:52:27 +0200
-Subject: [PATCH 36/41] graphics: ADB "N" icon compatible with OMS7
+Subject: [PATCH 36/44] graphics: ADB "N" icon compatible with OMS7
It's the same problem as the booleans again. This time, it affected the adb "N" icon in the statusbar.
This commit should fix this.
-From ecddd70ad7cff4fcd49d492dec4cc1fb290e0749 Mon Sep 17 00:00:00 2001
+From c811f30de1b47ef4e5675d526b2ee328dd1dc55d Mon Sep 17 00:00:00 2001
From: Alex Cruz <mazdarider23@gmail.com>
Date: Sat, 4 Feb 2017 14:13:26 +0100
-Subject: [PATCH 37/41] Set external QS tiles tint mode to SRC_ATOP
+Subject: [PATCH 37/44] Set external QS tiles tint mode to SRC_ATOP
While the external qs tile tint color was exposed, we had the same problem
we had with the external icons in Settings which is if a themer set the color
-From bc0ea1ef67109a58132d7db397df60e4f0e2b249 Mon Sep 17 00:00:00 2001
+From 7b49025a167342f122f5c0a20b88a12073946929 Mon Sep 17 00:00:00 2001
From: Branden M <wasabi.dev@gmail.com>
Date: Wed, 1 Feb 2017 22:22:45 -0600
-Subject: [PATCH 38/41] Themes: Expose Keyguard affordance circle background
+Subject: [PATCH 38/44] Themes: Expose Keyguard affordance circle background
Change-Id: Id4a078cdbc944fa0c0736103045a0382d49ecb80
---
-From 154164cf68848d26779851d41b6062ebdd2dc566 Mon Sep 17 00:00:00 2001
+From 1111f1d28dabdebbf5359c1656e397c43f5dd9f1 Mon Sep 17 00:00:00 2001
From: SpiritCroc <spiritcroc@gmail.com>
Date: Sun, 5 Feb 2017 12:00:54 +0100
-Subject: [PATCH 39/41] Notification tint: add optional findContrastColor
+Subject: [PATCH 39/44] Notification tint: add optional findContrastColor
algorithm for dark backgrounds
Overlay config_useDarkBgNotificationIconTextTinting to enable dark bg tinting
-From 3e7aa0c9eb4e2b82a8d20e843ad3b77cfff66ebd Mon Sep 17 00:00:00 2001
+From 9d944857f968243c8766ccd7d04dbe9ffdd6a8aa Mon Sep 17 00:00:00 2001
From: bigrushdog <randall.rushing@gmail.com>
Date: Sat, 14 Jan 2017 23:33:38 -0800
-Subject: [PATCH 40/41] Add a protected broadcast for Masquerade events
+Subject: [PATCH 40/44] Add a protected broadcast for Masquerade events
Parse extras to get event details. Docs will be available
in Masquerade source code
-From 31f81ddb83f6546de3aa79688b29302c6624b779 Mon Sep 17 00:00:00 2001
+From 3d4deeba261756fa40b95f6056e5c514400d446e Mon Sep 17 00:00:00 2001
From: Evan Anderson <evananderson@aospa.co>
Date: Mon, 27 Feb 2017 15:16:18 -0500
-Subject: [PATCH 41/41] OMS: Add hide annotation to MODIFY_OVERLAYS permission
+Subject: [PATCH 41/44] OMS: Add hide annotation to MODIFY_OVERLAYS permission
* Modifications in this file affect the public API, so we must hide our
additions to build in release mode
--- /dev/null
+From 17726643d79eb0c48bfb78eb03e0725dd0951af1 Mon Sep 17 00:00:00 2001
+From: Bryan Owens <djbryan3540@gmail.com>
+Date: Mon, 27 Feb 2017 19:06:31 -0600
+Subject: [PATCH 42/44] FWB: Give power dialogs own set of volume icons for
+ themes
+
+Change-Id: I5add336c06a83b162dfd0832dfabfb06a2827421
+Signed-off-by: Bryan Owens <djbryan3540@gmail.com>
+---
+ core/res/res/drawable/ic_power_audio_ring_notif.xml | 20 ++++++++++++++++++++
+ .../res/drawable/ic_power_audio_ring_notif_mute.xml | 20 ++++++++++++++++++++
+ .../drawable/ic_power_audio_ring_notif_vibrate.xml | 20 ++++++++++++++++++++
+ core/res/res/layout/global_actions_silent_mode.xml | 6 +++---
+ 4 files changed, 63 insertions(+), 3 deletions(-)
+ create mode 100644 core/res/res/drawable/ic_power_audio_ring_notif.xml
+ create mode 100644 core/res/res/drawable/ic_power_audio_ring_notif_mute.xml
+ create mode 100644 core/res/res/drawable/ic_power_audio_ring_notif_vibrate.xml
+
+diff --git a/core/res/res/drawable/ic_power_audio_ring_notif.xml b/core/res/res/drawable/ic_power_audio_ring_notif.xml
+new file mode 100644
+index 0000000..6b2dcc4
+--- /dev/null
++++ b/core/res/res/drawable/ic_power_audio_ring_notif.xml
+@@ -0,0 +1,20 @@
++<?xml version="1.0" encoding="utf-8"?>
++<!--
++ Copyright (C) 2017 The Android Open Source Project
++
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++
++ http://www.apache.org/licenses/LICENSE-2.0
++
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
++-->
++
++<selector xmlns:android="http://schemas.android.com/apk/res/android">
++ <item android:drawable="@drawable/ic_audio_ring_notif" />
++</selector>
+diff --git a/core/res/res/drawable/ic_power_audio_ring_notif_mute.xml b/core/res/res/drawable/ic_power_audio_ring_notif_mute.xml
+new file mode 100644
+index 0000000..dab250c
+--- /dev/null
++++ b/core/res/res/drawable/ic_power_audio_ring_notif_mute.xml
+@@ -0,0 +1,20 @@
++<?xml version="1.0" encoding="utf-8"?>
++<!--
++ Copyright (C) 2017 The Android Open Source Project
++
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++
++ http://www.apache.org/licenses/LICENSE-2.0
++
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
++-->
++
++<selector xmlns:android="http://schemas.android.com/apk/res/android">
++ <item android:drawable="@drawable/ic_audio_ring_notif_mute" />
++</selector>
+diff --git a/core/res/res/drawable/ic_power_audio_ring_notif_vibrate.xml b/core/res/res/drawable/ic_power_audio_ring_notif_vibrate.xml
+new file mode 100644
+index 0000000..f278ccb
+--- /dev/null
++++ b/core/res/res/drawable/ic_power_audio_ring_notif_vibrate.xml
+@@ -0,0 +1,20 @@
++<?xml version="1.0" encoding="utf-8"?>
++<!--
++ Copyright (C) 2017 The Android Open Source Project
++
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++
++ http://www.apache.org/licenses/LICENSE-2.0
++
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
++-->
++
++<selector xmlns:android="http://schemas.android.com/apk/res/android">
++ <item android:drawable="@drawable/ic_audio_ring_notif_vibrate" />
++</selector>
+diff --git a/core/res/res/layout/global_actions_silent_mode.xml b/core/res/res/layout/global_actions_silent_mode.xml
+index a358623..3fe7bbe 100644
+--- a/core/res/res/layout/global_actions_silent_mode.xml
++++ b/core/res/res/layout/global_actions_silent_mode.xml
+@@ -37,7 +37,7 @@
+ android:layout_marginEnd="8dp"
+ android:layout_marginTop="6dp"
+ android:layout_marginBottom="6dp"
+- android:src="@drawable/ic_audio_ring_notif_mute"
++ android:src="@drawable/ic_power_audio_ring_notif_mute"
+ android:scaleType="center"
+ android:duplicateParentState="true"
+ android:background="@drawable/silent_mode_indicator"
+@@ -65,7 +65,7 @@
+ android:layout_marginEnd="8dp"
+ android:layout_marginTop="6dp"
+ android:layout_marginBottom="6dp"
+- android:src="@drawable/ic_audio_ring_notif_vibrate"
++ android:src="@drawable/ic_power_audio_ring_notif_vibrate"
+ android:scaleType="center"
+ android:duplicateParentState="true"
+ android:background="@drawable/silent_mode_indicator"
+@@ -94,7 +94,7 @@
+ android:layout_marginEnd="8dp"
+ android:layout_marginTop="6dp"
+ android:layout_marginBottom="6dp"
+- android:src="@drawable/ic_audio_ring_notif"
++ android:src="@drawable/ic_power_audio_ring_notif"
+ android:scaleType="center"
+ android:duplicateParentState="true"
+ android:background="@drawable/silent_mode_indicator"
+--
+2.9.3
+
--- /dev/null
+From 7eac9d03405f62fab88d54b448c177a2f114149c Mon Sep 17 00:00:00 2001
+From: George G <kreach3r@users.noreply.github.com>
+Date: Sat, 25 Feb 2017 17:32:18 +0200
+Subject: [PATCH 43/44] base: Force authorize all calling packages by
+ Masquerade (2/3)
+
+Change-Id: Iaf354c4d891acf9f5e19767223e4f9860a07338f
+---
+ core/java/android/provider/Settings.java | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
+index 7fe6034..4d3e6c9 100644
+--- a/core/java/android/provider/Settings.java
++++ b/core/java/android/provider/Settings.java
+@@ -6572,6 +6572,12 @@ public final class Settings {
+ public static final String VOLUME_LINK_NOTIFICATION = "volume_link_notification";
+
+ /**
++ * Force authorize Substratum (or equivalent) frontend calling packages by Masquerade
++ * @hide
++ */
++ public static final String FORCE_AUTHORIZE_SUBSTRATUM_PACKAGES = "force_authorize_substratum_packages";
++
++ /**
+ * This are the settings to be backed up.
+ *
+ * NOTE: Settings are backed up and restored in the order they appear
+--
+2.9.3
+
--- /dev/null
+From fe50bb1ff1c0f13805f04fe85e5245b54aa5d5b2 Mon Sep 17 00:00:00 2001
+From: Nathan Chancellor <natechancellor@gmail.com>
+Date: Sat, 4 Mar 2017 00:35:08 +0100
+Subject: [PATCH 44/44] Revert "Add a protected broadcast for Masquerade
+ events"
+
+Requires https://substratum.review/#/c/374
+
+This reverts commit 4cd8990c89e79acb926f9c1ae1959661955dcbe2.
+
+Change-Id: Ida416c3949379a3d6a24a104667c74eef1f56630
+---
+ core/res/AndroidManifest.xml | 1 -
+ services/core/java/com/android/server/pm/PackageManagerService.java | 3 +--
+ 2 files changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
+index e4eeedf..eddbc1d 100644
+--- a/core/res/AndroidManifest.xml
++++ b/core/res/AndroidManifest.xml
+@@ -517,7 +517,6 @@
+ <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
+
+ <protected-broadcast android:name="cyanogenmod.intent.action.LID_STATE_CHANGED" />
+- <protected-broadcast android:name="masquerade.substratum.STATUS_CHANGED" />
+
+ <!-- ====================================================================== -->
+ <!-- RUNTIME PERMISSIONS -->
+diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
+index 79032a9..faaff1f 100644
+--- a/services/core/java/com/android/server/pm/PackageManagerService.java
++++ b/services/core/java/com/android/server/pm/PackageManagerService.java
+@@ -4568,8 +4568,7 @@ public class PackageManagerService extends IPackageManager.Stub {
+ if (actionName.startsWith("android.net.netmon.lingerExpired")
+ || actionName.startsWith("com.android.server.sip.SipWakeupTimer")
+ || actionName.startsWith("com.android.internal.telephony.data-reconnect")
+- || actionName.startsWith("android.net.netmon.launchCaptivePortalApp")
+- || actionName.startsWith("masquerade.substratum.STATUS_CHANGED")) {
++ || actionName.startsWith("android.net.netmon.launchCaptivePortalApp")) {
+ return true;
+ }
+ }
+--
+2.9.3
+
--- /dev/null
+From 3ce22cd049cde21d7790c58b255b9d072e116625 Mon Sep 17 00:00:00 2001
+From: Bryan Owens <djbryan3540@gmail.com>
+Date: Fri, 8 Apr 2016 19:41:40 -0500
+Subject: [PATCH] PackageInstaller: Add tint mode to icons
+
+This allows custom icons can show in permissions settings
+
+Change-Id: I8fa2360d1340cb825938f4c820d99c98d3037baa
+Signed-off-by: Bryan Owens <djbryan3540@gmail.com>
+---
+ src/com/android/packageinstaller/permission/utils/Utils.java | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/com/android/packageinstaller/permission/utils/Utils.java b/src/com/android/packageinstaller/permission/utils/Utils.java
+index 22663e1..628846a 100644
+--- a/src/com/android/packageinstaller/permission/utils/Utils.java
++++ b/src/com/android/packageinstaller/permission/utils/Utils.java
+@@ -25,6 +25,7 @@ import android.content.pm.ResolveInfo;
+ import android.content.res.Resources;
+ import android.content.res.Resources.Theme;
+ import android.graphics.drawable.Drawable;
++import android.graphics.PorterDuff;
+ import android.util.ArraySet;
+ import android.util.Log;
+ import android.util.TypedValue;
+@@ -112,6 +113,7 @@ public final class Utils {
+ theme.resolveAttribute(attr, typedValue, true);
+ icon = icon.mutate();
+ icon.setTint(context.getColor(typedValue.resourceId));
++ icon.setTintMode(PorterDuff.Mode.SRC_ATOP);
+ return icon;
+ }
+
+--
+2.9.3
+
-From fb8b604d7d4d86cf960001f71dc21429915148e4 Mon Sep 17 00:00:00 2001
+From a739cf95edde6b4b63caf7bec08ad22236e88674 Mon Sep 17 00:00:00 2001
From: Ivan Iskandar <iiiiskandar14@gmail.com>
Date: Sun, 18 Sep 2016 10:12:05 +0700
-Subject: [PATCH 01/15] Settings: Expose dashboard category and tile color
+Subject: [PATCH 01/20] Settings: Expose dashboard category and tile color
Change-Id: Ia9c83eb9b8360923ed52e03641b4179681a80330
---
diff --git a/res/drawable/dashboard_category_title_bg.xml b/res/drawable/dashboard_category_title_bg.xml
new file mode 100644
-index 0000000000..0e9604d838
+index 0000000..0e9604d
--- /dev/null
+++ b/res/drawable/dashboard_category_title_bg.xml
@@ -0,0 +1,21 @@
+</shape>
diff --git a/res/drawable/dashboard_tile_bg.xml b/res/drawable/dashboard_tile_bg.xml
new file mode 100644
-index 0000000000..61d113d645
+index 0000000..61d113d
--- /dev/null
+++ b/res/drawable/dashboard_tile_bg.xml
@@ -0,0 +1,21 @@
+ <solid android:color="@color/selectable_card_background" />
+</shape>
diff --git a/res/drawable/selectable_card.xml b/res/drawable/selectable_card.xml
-index df9ddb1367..74018b214b 100644
+index df9ddb1..74018b2 100644
--- a/res/drawable/selectable_card.xml
+++ b/res/drawable/selectable_card.xml
@@ -18,5 +18,5 @@
+ <item android:drawable="@drawable/dashboard_tile_bg"/>
+</ripple>
diff --git a/res/layout/dashboard_category.xml b/res/layout/dashboard_category.xml
-index 2e5dd5ce06..7836644806 100644
+index 2e5dd5c..7836644 100644
--- a/res/layout/dashboard_category.xml
+++ b/res/layout/dashboard_category.xml
@@ -20,7 +20,7 @@
android:layout_width="match_parent"
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
new file mode 100644
-index 0000000000..60419bd1f7
+index 0000000..60419bd
--- /dev/null
+++ b/res/values/projekt_colors.xml
@@ -0,0 +1,21 @@
+ <color name="selectable_card_background">@color/card_background</color>
+</resources>
--
-2.11.1
+2.9.3
-From 1b7c96b4230b77062f64f6cf8917ba13beb26006 Mon Sep 17 00:00:00 2001
+From 84d0c53dc8dc5ff66d267419ed820596dfbf7aa3 Mon Sep 17 00:00:00 2001
From: daveyannihilation <daveyannihilation@hotmail.com>
Date: Tue, 20 Sep 2016 23:35:04 +0800
-Subject: [PATCH 02/15] Settings: Expose condition card colors
+Subject: [PATCH 02/20] Settings: Expose condition card colors
PS2 Change to the actual colors in fwb that these attrs call to.
2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/res/layout/condition_card.xml b/res/layout/condition_card.xml
-index 7c9e46da00..88277c2510 100644
+index 7c9e46d..88277c2 100644
--- a/res/layout/condition_card.xml
+++ b/res/layout/condition_card.xml
@@ -1,6 +1,6 @@
</com.android.internal.widget.ButtonBarLayout>
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
-index 60419bd1f7..9340830703 100644
+index 60419bd..9340830 100644
--- a/res/values/projekt_colors.xml
+++ b/res/values/projekt_colors.xml
@@ -18,4 +18,13 @@
+ <color name="condition_card_second_button_text_color">@*android:color/primary_text_default_material_dark</color>
</resources>
--
-2.11.1
+2.9.3
-From 64be60474bd1d2e0bbf14d91410a411f14261175 Mon Sep 17 00:00:00 2001
+From b2817a3e509a47d3294e469c121d032fd3c38008 Mon Sep 17 00:00:00 2001
From: George G <kreach3r@users.noreply.github.com>
Date: Tue, 3 Nov 2015 23:57:22 +0200
-Subject: [PATCH 03/15] Settings: Expose storage summary text
+Subject: [PATCH 03/20] Settings: Expose storage summary text
This commit simply exposes the storage summary text hardcodes to allow
themers to theme them without issue.
4 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/res/layout/storage_summary.xml b/res/layout/storage_summary.xml
-index 7bc51df5e6..c01d2dae5d 100644
+index 7bc51df..c01d2da 100644
--- a/res/layout/storage_summary.xml
+++ b/res/layout/storage_summary.xml
@@ -33,7 +33,7 @@
android:ellipsize="marquee"
android:fadingEdge="horizontal" />
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
-index 9340830703..fb0d99eee3 100644
+index 9340830..fb0d99e 100644
--- a/res/values/projekt_colors.xml
+++ b/res/values/projekt_colors.xml
@@ -27,4 +27,6 @@
+ <color name="storage_summary_title_color">@*android:color/accent_device_default_light</color>
</resources>
diff --git a/src/com/android/settings/deviceinfo/StorageSummaryPreference.java b/src/com/android/settings/deviceinfo/StorageSummaryPreference.java
-index e1cf7742ef..274179830c 100644
+index e1cf774..2741798 100644
--- a/src/com/android/settings/deviceinfo/StorageSummaryPreference.java
+++ b/src/com/android/settings/deviceinfo/StorageSummaryPreference.java
@@ -21,6 +21,7 @@ import android.graphics.Color;
super.onBindViewHolder(view);
}
diff --git a/src/com/android/settings/deviceinfo/StorageVolumePreference.java b/src/com/android/settings/deviceinfo/StorageVolumePreference.java
-index 63890758ba..9d3c7dccf2 100644
+index 6389075..9d3c7dc 100644
--- a/src/com/android/settings/deviceinfo/StorageVolumePreference.java
+++ b/src/com/android/settings/deviceinfo/StorageVolumePreference.java
@@ -27,6 +27,7 @@ import android.support.v7.preference.PreferenceViewHolder;
}
--
-2.11.1
+2.9.3
-From 946409ac329ca598e53f2f3811cadd340be32abe Mon Sep 17 00:00:00 2001
+From 590daaff47c0b305695176e6e74c339af85634c3 Mon Sep 17 00:00:00 2001
From: daveyannihilation <daveyannihilation@hotmail.com>
Date: Fri, 25 Nov 2016 15:20:04 -0700
-Subject: [PATCH 04/15] Settings: Expose gesture settings switchbar
+Subject: [PATCH 04/20] Settings: Expose gesture settings switchbar
In Settings > Gestures, there is a hardcoded white background above each switch. Link to a colors.xml value instead.
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/res/layout/gesture_preference.xml b/res/layout/gesture_preference.xml
-index ccbc42ad25..9fcd14f3fc 100644
+index ccbc42a..9fcd14f 100644
--- a/res/layout/gesture_preference.xml
+++ b/res/layout/gesture_preference.xml
@@ -31,7 +31,7 @@
<TextView
android:id="@android:id/title"
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
-index fb0d99eee3..00252332ba 100644
+index fb0d99e..00252332 100644
--- a/res/values/projekt_colors.xml
+++ b/res/values/projekt_colors.xml
@@ -29,4 +29,7 @@
+
</resources>
--
-2.11.1
+2.9.3
-From 5cb9037f346b3c96ba7e457410d87388499f144c Mon Sep 17 00:00:00 2001
+From 46a271fe4474c1623b40e13558adbfa7fbdcc01b Mon Sep 17 00:00:00 2001
From: SpiritCroc <spiritcroc@gmail.com>
Date: Thu, 8 Dec 2016 20:40:16 +0100
-Subject: [PATCH 05/15] Settings: Expose storage icon colors
+Subject: [PATCH 05/20] Settings: Expose storage icon colors
Change-Id: I97ce427f0683791670f1bbf82eaef66152fe4961
---
3 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
-index 00252332ba..bb6099ba98 100644
+index 00252332..bb6099b 100644
--- a/res/values/projekt_colors.xml
+++ b/res/values/projekt_colors.xml
@@ -31,5 +31,12 @@
+ <color name="storage_private_5">#ffc0ca33</color>
</resources>
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
-index 533799a1dd..57fd13b734 100755
+index 533799a..57fd13b 100755
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -24,6 +24,7 @@ import android.app.Fragment;
final Preference pref = new Preference(context);
pref.setKey(rec.getFsUuid());
diff --git a/src/com/android/settings/deviceinfo/StorageVolumePreference.java b/src/com/android/settings/deviceinfo/StorageVolumePreference.java
-index 9d3c7dccf2..8a2780a90b 100644
+index 9d3c7dc..8a2780a 100644
--- a/src/com/android/settings/deviceinfo/StorageVolumePreference.java
+++ b/src/com/android/settings/deviceinfo/StorageVolumePreference.java
@@ -89,7 +89,7 @@ public class StorageVolumePreference extends Preference {
}
--
-2.11.1
+2.9.3
-From 56c08bfddaec67737e1732eb9cd4ffdd52afe236 Mon Sep 17 00:00:00 2001
+From 7b6a788a5e63c6d606d09e497fd3296148b1ddee Mon Sep 17 00:00:00 2001
From: SpiritCroc <spiritcroc@gmail.com>
Date: Fri, 9 Dec 2016 12:47:54 +0100
-Subject: [PATCH 06/15] Settings: Expose LinearColorBar default colors
+Subject: [PATCH 06/20] Settings: Expose LinearColorBar default colors
Change-Id: I8e63f10f9e4079d1a03eaece18e8343102f4a755
---
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
-index bb6099ba98..e1977f9fd3 100644
+index bb6099b..e1977f9 100644
--- a/res/values/projekt_colors.xml
+++ b/res/values/projekt_colors.xml
@@ -39,4 +39,9 @@
+ <color name="linear_color_bar_right">#ffced7db</color>
</resources>
diff --git a/src/com/android/settings/applications/LinearColorBar.java b/src/com/android/settings/applications/LinearColorBar.java
-index b637671f73..b0b8b82e8c 100644
+index b637671..b0b8b82 100644
--- a/src/com/android/settings/applications/LinearColorBar.java
+++ b/src/com/android/settings/applications/LinearColorBar.java
@@ -15,6 +15,7 @@ import android.util.DisplayMetrics;
\ No newline at end of file
+}
--
-2.11.1
+2.9.3
-From 457a8da5fd6fa43f790e698b1b0a15f9f0c9acab Mon Sep 17 00:00:00 2001
+From 303eb15b016fecdd7032bd3c6a5f291d578aaaec Mon Sep 17 00:00:00 2001
From: George G <kreach3r@users.noreply.github.com>
Date: Mon, 4 Jul 2016 12:07:11 +0300
-Subject: [PATCH 07/15] OMS7-N: Apps: show/hide Substratum overlays [2/2]
+Subject: [PATCH 07/20] OMS7-N: Apps: show/hide Substratum overlays [2/2]
Default behavior is "hidden" substratum overlays,
as they pollute the screen, and you can't notice the
create mode 100644 res/values/projekt_strings.xml
diff --git a/res/menu/manage_apps.xml b/res/menu/manage_apps.xml
-index 02ee2bbefd..67f09e5fc8 100644
+index 02ee2bb..67f09e5 100644
--- a/res/menu/manage_apps.xml
+++ b/res/menu/manage_apps.xml
@@ -30,6 +30,14 @@
android:showAsAction="never" />
diff --git a/res/values/projekt_strings.xml b/res/values/projekt_strings.xml
new file mode 100644
-index 0000000000..177e78c49d
+index 0000000..177e78c
--- /dev/null
+++ b/res/values/projekt_strings.xml
@@ -0,0 +1,23 @@
+
+</resources>
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
-index 8b1dd27ef1..070754addb 100644
+index 8b1dd27..070754a 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -107,6 +107,7 @@ public class ManageApplications extends InstrumentedFragment
switch (mLastSortMode) {
case R.id.sort_order_size:
--
-2.11.1
+2.9.3
-From 45885914daa1443de451af02100299719946ac38 Mon Sep 17 00:00:00 2001
+From 81e80f7f8dcc84a66e2cb297e5c18399eb115944 Mon Sep 17 00:00:00 2001
From: Kuba Schenk <abukcz@gmail.com>
Date: Thu, 1 Dec 2016 22:00:31 +0100
-Subject: [PATCH 08/15] OMS7-N: Apps: show/hide Substratum icon overlays [2/2]
+Subject: [PATCH 08/20] OMS7-N: Apps: show/hide Substratum icon overlays [2/2]
Default behavior is "hidden" substratum icon overlays,
as they pollute the screen, and you can't notice the
3 files changed, 37 insertions(+), 9 deletions(-)
diff --git a/res/menu/manage_apps.xml b/res/menu/manage_apps.xml
-index 67f09e5fc8..267cff8b41 100644
+index 67f09e5..267cff8 100644
--- a/res/menu/manage_apps.xml
+++ b/res/menu/manage_apps.xml
@@ -38,6 +38,14 @@
android:title="@string/sort_order_alpha"
android:showAsAction="never" />
diff --git a/res/values/projekt_strings.xml b/res/values/projekt_strings.xml
-index 177e78c49d..4c4554415d 100644
+index 177e78c..4c45544 100644
--- a/res/values/projekt_strings.xml
+++ b/res/values/projekt_strings.xml
@@ -20,4 +20,9 @@
+
</resources>
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
-index 070754addb..5d3b353766 100644
+index 070754a..5d3b353 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -108,6 +108,7 @@ public class ManageApplications extends InstrumentedFragment
switch (mLastSortMode) {
case R.id.sort_order_size:
--
-2.11.1
+2.9.3
-From 38bcbdd04a15f416a8840e23d3d168684f940607 Mon Sep 17 00:00:00 2001
+From 725d540d6f14c2a45017f24bb618596ee19cf024 Mon Sep 17 00:00:00 2001
From: Ivan Iskandar <iiiiskandar14@gmail.com>
Date: Fri, 9 Dec 2016 02:19:20 +0100
-Subject: [PATCH 09/15] Exclude overlays from the app counter
+Subject: [PATCH 09/20] Exclude overlays from the app counter
This exclude overlays from the app counter that shows
in manage app summary.
2 files changed, 7 insertions(+)
diff --git a/src/com/android/settings/applications/AppCounter.java b/src/com/android/settings/applications/AppCounter.java
-index fb8d5809e7..852358dca3 100644
+index fb8d580..852358d 100644
--- a/src/com/android/settings/applications/AppCounter.java
+++ b/src/com/android/settings/applications/AppCounter.java
@@ -47,6 +47,7 @@ public abstract class AppCounter extends AsyncTask<Void, Void, Integer> {
user.id);
for (ApplicationInfo info : list.getList()) {
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
-index 5d3b353766..ed617814b3 100644
+index 5d3b353..ed61781 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -1297,6 +1297,12 @@ public class ManageApplications extends InstrumentedFragment
}
Intent launchIntent = new Intent(Intent.ACTION_MAIN, null)
--
-2.11.1
+2.9.3
-From 5e86a2b47a16296973b88288668cce923008769f Mon Sep 17 00:00:00 2001
+From 0ed4673eecf51c0c334e5bb91e86d653841219bb Mon Sep 17 00:00:00 2001
From: Ivan Iskandar <iiiiskandar14@gmail.com>
Date: Wed, 14 Dec 2016 14:58:54 +0100
-Subject: [PATCH 10/15] Hide the "show/hide overlays" when no overlay installed
+Subject: [PATCH 10/20] Hide the "show/hide overlays" when no overlay installed
Change-Id: I54088d27c9492e0992992de59bf340fe2465260a
---
1 file changed, 34 insertions(+), 4 deletions(-)
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
-index ed617814b3..c3bc4d4a94 100644
+index ed61781..c3bc4d4 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -195,6 +195,10 @@ public class ManageApplications extends InstrumentedFragment
private final ManageApplications mManageApplications;
--
-2.11.1
+2.9.3
-From 72e1afef314bb14db0b33f03bc0e346edd640573 Mon Sep 17 00:00:00 2001
+From 7cf66e5d4e6cc714d29cadb90ae9234c3ade2a9a Mon Sep 17 00:00:00 2001
From: Clark Scheff <clark@scheffsblend.com>
Date: Fri, 23 Dec 2016 09:52:57 -0500
-Subject: [PATCH 11/15] Expose color for external settings icons
+Subject: [PATCH 11/20] Expose color for external settings icons
Marhsmallow now allows for system apps to add settings. An icon is
loaded from the external package and a tint is applied to the icon
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
-index e1977f9fd3..4ecd1b293c 100644
+index e1977f9..4ecd1b2 100644
--- a/res/values/projekt_colors.xml
+++ b/res/values/projekt_colors.xml
@@ -39,9 +39,11 @@
+ <color name="external_tile_icon_tint_color">?android:attr/colorAccent</color>
</resources>
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
-index 6b2e145dc3..c29da4308e 100755
+index 6b2e145..c29da43 100755
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -114,10 +114,10 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
}
}
--
-2.11.1
+2.9.3
-From 8d4db41ae5b12205de0b8a29a324e261f2f54e68 Mon Sep 17 00:00:00 2001
+From 9430d79c84c8af7f7ce974b10cf649148e2922d4 Mon Sep 17 00:00:00 2001
From: Ivan Iskandar <iiiiskandar14@gmail.com>
Date: Sun, 8 Jan 2017 00:18:47 +0100
-Subject: [PATCH 12/15] Expose dashboard category padding bottom
+Subject: [PATCH 12/20] Expose dashboard category padding bottom
Change-Id: I5a0d3266bbe96dbe6a136f78ed84cb1ee0a6a19b
---
create mode 100644 res/values/projekt_dimens.xml
diff --git a/res/layout/dashboard_category.xml b/res/layout/dashboard_category.xml
-index 7836644806..86dac35d47 100644
+index 7836644..86dac35 100644
--- a/res/layout/dashboard_category.xml
+++ b/res/layout/dashboard_category.xml
@@ -19,7 +19,7 @@
<TextView android:id="@android:id/title"
diff --git a/res/values/projekt_dimens.xml b/res/values/projekt_dimens.xml
new file mode 100644
-index 0000000000..a5aae4e99d
+index 0000000..a5aae4e
--- /dev/null
+++ b/res/values/projekt_dimens.xml
@@ -0,0 +1,16 @@
+ <dimen name="dashboard_category_padding_bottom">8dip</dimen>
+</resources>
--
-2.11.1
+2.9.3
-From c65c1780b0e6df30bfbc56736916178698b85597 Mon Sep 17 00:00:00 2001
+From 1df525c93d1fe24c7bab897d3368d04911ebe4d6 Mon Sep 17 00:00:00 2001
From: Ivan Iskandar <iiiiskandar14@gmail.com>
Date: Sun, 8 Jan 2017 01:22:47 +0100
-Subject: [PATCH 13/15] Expose switchbar background color
+Subject: [PATCH 13/20] Expose switchbar background color
Change-Id: Idc8b09c921bb57c9464d6ea956cfdd9b2b95e6a8
---
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
-index 4ecd1b293c..f37cc54bb2 100644
+index 4ecd1b2..f37cc54 100644
--- a/res/values/projekt_colors.xml
+++ b/res/values/projekt_colors.xml
@@ -46,4 +46,6 @@
+ <color name="switchbar_background_color">?android:attr/colorSecondary</color>
</resources>
diff --git a/res/values/themes.xml b/res/values/themes.xml
-index ffe802e2f2..acabe2195f 100644
+index ffe802e..acabe21 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -196,13 +196,13 @@
<style name="Theme.DialogWhenLarge" parent="@*android:style/Theme.DeviceDefault.Settings.DialogWhenLarge">
diff --git a/src/com/android/settings/widget/SwitchBar.java b/src/com/android/settings/widget/SwitchBar.java
-index 240c06296b..ce73a397f0 100644
+index 240c062..ce73a39 100644
--- a/src/com/android/settings/widget/SwitchBar.java
+++ b/src/com/android/settings/widget/SwitchBar.java
@@ -24,6 +24,7 @@ import android.text.SpannableStringBuilder;
mTextView.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO);
mLabel = getResources().getString(R.string.switch_off_text);
--
-2.11.1
+2.9.3
-From 17f5c8bc2386fbf9f3516a30fae7506789cea81d Mon Sep 17 00:00:00 2001
+From 7ca0f24d413447e70d1cb7beb4de30c7f9092fe9 Mon Sep 17 00:00:00 2001
From: SpiritCroc <spiritcroc@gmail.com>
Date: Sun, 22 Jan 2017 20:51:47 +0100
-Subject: [PATCH 14/15] Settings: Expose bluetooth pin confirm dialog text
+Subject: [PATCH 14/20] Settings: Expose bluetooth pin confirm dialog text
colors
Change-Id: I1e1eb2da23f2470a82574da7ef326d56f770eb95
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/res/layout/bluetooth_pin_confirm.xml b/res/layout/bluetooth_pin_confirm.xml
-index ebdf65de78..6609a1b70f 100644
+index ebdf65d..6609a1b 100644
--- a/res/layout/bluetooth_pin_confirm.xml
+++ b/res/layout/bluetooth_pin_confirm.xml
@@ -40,7 +40,7 @@
</LinearLayout>
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
-index f37cc54bb2..e0d3ab1ea3 100644
+index f37cc54..e0d3ab1 100644
--- a/res/values/projekt_colors.xml
+++ b/res/values/projekt_colors.xml
@@ -48,4 +48,9 @@
+ <color name="bluetooth_phonebook_sharing_message_confirm_pin">@*android:color/secondary_text_material_light</color>
</resources>
--
-2.11.1
+2.9.3
-From d97a240864c1da2c5f705f54fbc308a87a3fbbcc Mon Sep 17 00:00:00 2001
+From 8d7fce408ebcd7167a186bac0dfc13831b3624e5 Mon Sep 17 00:00:00 2001
From: Ivan Iskandar <iiiiskandar14@gmail.com>
Date: Sat, 28 Jan 2017 13:40:55 +0100
-Subject: [PATCH 15/15] Set external settings icon tint mode to SRC_ATOP
+Subject: [PATCH 15/20] Set external settings icon tint mode to SRC_ATOP
With "Expose color for external settings icons" commit, themers can change
the color of the external settings icon to whatever they want except
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
-index c29da4308e..8259d39ee6 100755
+index c29da43..8259d39 100755
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -19,6 +19,7 @@ import android.content.Context;
}
}
--
-2.11.1
+2.9.3
--- /dev/null
+From 904cfc107939f7576ee5f89335b11649f18a17e7 Mon Sep 17 00:00:00 2001
+From: Clark Scheff <clark@scheffsblend.com>
+Date: Mon, 27 Feb 2017 00:55:37 +0100
+Subject: [PATCH 16/20] Settings: Guard against themes without colorAccent
+ defined
+
+If an applied theme omits the colorAccent attribute in their style
+AppOpsSummary will crash because typedValue.resourceId is 0.
+
+Check if typedValue.resourceId is 0 and if so use switch_accent_color
+for tab indicator color.
+
+Change-Id: I2754a88a50277abb1b685183c0fb2e5b606eb451
+---
+ res/values/projekt_colors.xml | 3 +++
+ src/com/android/settings/applications/AppOpsSummary.java | 4 +++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
+index e0d3ab1..a619c50 100644
+--- a/res/values/projekt_colors.xml
++++ b/res/values/projekt_colors.xml
+@@ -53,4 +53,7 @@
+ <color name="bluetooth_pairing_caption">@*android:color/secondary_text_material_light</color>
+ <color name="bluetooth_pairing_code_message">@*android:color/secondary_text_material_light</color>
+ <color name="bluetooth_phonebook_sharing_message_confirm_pin">@*android:color/secondary_text_material_light</color>
++
++ <!-- App ops -->
++ <color name="switch_accent_color">@*android:color/accent_device_default_light</color>
+ </resources>
+diff --git a/src/com/android/settings/applications/AppOpsSummary.java b/src/com/android/settings/applications/AppOpsSummary.java
+index a86be73..cd534cd 100644
+--- a/src/com/android/settings/applications/AppOpsSummary.java
++++ b/src/com/android/settings/applications/AppOpsSummary.java
+@@ -161,7 +161,9 @@ public class AppOpsSummary extends InstrumentedFragment {
+ Resources.Theme theme = tabs.getContext().getTheme();
+ TypedValue typedValue = new TypedValue();
+ theme.resolveAttribute(android.R.attr.colorAccent, typedValue, true);
+- final int colorAccent = getContext().getColor(typedValue.resourceId);
++ final int colorAccent = typedValue.resourceId != 0
++ ? getContext().getColor(typedValue.resourceId)
++ : getContext().getColor(R.color.switch_accent_color);
+ tabs.setTabIndicatorColor(colorAccent);
+
+ // We have to do this now because PreferenceFrameLayout looks at it
+--
+2.9.3
+
--- /dev/null
+From cf477fb782230b1941ba790b4bdcea983396182e Mon Sep 17 00:00:00 2001
+From: Bryan Owens <djbryan3540@gmail.com>
+Date: Mon, 27 Feb 2017 20:02:56 -0600
+Subject: [PATCH 17/20] Settings: Expose styles in the manifest for themes
+
+Change-Id: Ib6999e21894acb2083b63e3f1f4a84f9d81ec9c1
+Signed-off-by: Bryan Owens <djbryan3540@gmail.com>
+---
+ AndroidManifest.xml | 50 +++++++++++++++++++++----------------------
+ res/values/projekt_styles.xml | 30 ++++++++++++++++++++++++++
+ 2 files changed, 55 insertions(+), 25 deletions(-)
+ create mode 100644 res/values/projekt_styles.xml
+
+diff --git a/AndroidManifest.xml b/AndroidManifest.xml
+index 6c156cb..bc41523 100755
+--- a/AndroidManifest.xml
++++ b/AndroidManifest.xml
+@@ -214,7 +214,7 @@
+
+ <activity android:name="AirplaneModeVoiceActivity"
+ android:label="@string/wireless_networks_settings_title"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Voice"
++ android:theme="@style/Theme.VoiceActivity"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.settings.VOICE_CONTROL_AIRPLANE_MODE" />
+@@ -388,7 +388,7 @@
+ android:exported="true"
+ android:permission="android.permission.CONNECTIVITY_INTERNAL"
+ android:taskAffinity=""
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter>
+ <action android:name="android.net.conn.PROMPT_UNVALIDATED" />
+ <category android:name="android.intent.category.DEFAULT" />
+@@ -596,7 +596,7 @@
+
+ <activity android:name="DateTimeSettingsSetupWizard"
+ android:label="@string/date_and_time"
+- android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar"
++ android:theme="@style/Theme.DateTimeSettingsSetupWizard"
+ android:screenOrientation="behind">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+@@ -765,7 +765,7 @@
+
+ <activity android:name=".inputmethod.UserDictionaryAddWordActivity"
+ android:label="@string/user_dict_settings_title"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
++ android:theme="@style/Theme.SettingsDialog"
+ android:windowSoftInputMode="stateVisible"
+ android:noHistory="true"
+ android:excludeFromRecents="true">
+@@ -1044,7 +1044,7 @@
+
+ <activity android:name="SettingsLicenseActivity"
+ android:label="@string/settings_license_activity_title"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Panel"
++ android:theme="@style/Theme.SettingsLicenseActivity"
+ android:configChanges="orientation|screenSize">
+ <intent-filter android:priority="1">
+ <action android:name="android.settings.LICENSE" />
+@@ -1163,7 +1163,7 @@
+ <activity android:name=".fuelgauge.RequestIgnoreBatteryOptimizations"
+ android:label="@string/high_power_apps"
+ android:taskAffinity=""
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter android:priority="1">
+ <action android:name="android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
+ <category android:name="android.intent.category.DEFAULT" />
+@@ -1281,7 +1281,7 @@
+ </activity>
+
+ <activity android:name=".notification.ZenModeVoiceActivity"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
++ android:theme="@style/Theme.SettingsDialog"
+ android:label="@string/zen_mode_settings_title">
+ <intent-filter>
+ <action android:name="android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE" />
+@@ -2087,7 +2087,7 @@
+ </activity-alias>
+
+ <activity android:name=".AppPicker" android:label="@string/select_application"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />
++ android:theme="@style/Theme.AppPicker" />
+
+ <!-- Keep compatibility with old shortcuts. -->
+ <activity-alias android:name="UsbSettings"
+@@ -2104,7 +2104,7 @@
+ android:label="@string/bluetooth_pairing_request"
+ android:excludeFromRecents="true"
+ android:windowSoftInputMode="stateVisible|adjustResize"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter android:priority="1">
+ <action android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
+ <category android:name="android.intent.category.DEFAULT" />
+@@ -2137,7 +2137,7 @@
+ android:label="@string/bluetooth_permission_request"
+ android:excludeFromRecents="true"
+ android:permission="android.permission.BLUETOOTH"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter android:priority="1">
+ <action android:name="android.bluetooth.adapter.action.REQUEST_DISCOVERABLE" />
+ <action android:name="android.bluetooth.adapter.action.REQUEST_ENABLE" />
+@@ -2158,14 +2158,14 @@
+ android:excludeFromRecents="true"
+ android:exported="true"
+ android:permission="android.permission.MANAGE_USB"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar">
++ android:theme="@style/Theme.SettingsDialog">
+ </activity>
+
+ <activity android:name=".RemoteBugreportActivity"
+ android:excludeFromRecents="true"
+ android:exported="true"
+ android:permission="android.permission.DUMP"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar">
++ android:theme="@style/Theme.SettingsDialog">
+ <intent-filter>
+ <action android:name="android.settings.SHOW_REMOTE_BUGREPORT_DIALOG" />
+ <category android:name="android.intent.category.DEFAULT" />
+@@ -2176,7 +2176,7 @@
+ android:label="@string/bluetooth_pairing_request"
+ android:excludeFromRecents="true"
+ android:permission="android.permission.BLUETOOTH"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ </activity>
+
+ <receiver android:name=".bluetooth.BluetoothPairingRequest">
+@@ -2199,7 +2199,7 @@
+ android:label="@string/bluetooth_connection_permission_request"
+ android:excludeFromRecents="true"
+ android:permission="android.permission.BLUETOOTH_ADMIN"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter android:priority="1">
+ <action android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
+ <action android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
+@@ -2209,7 +2209,7 @@
+
+ <activity android:name="ActivityPicker"
+ android:label="@string/activity_picker_label"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert"
++ android:theme="@style/Theme.SettingsAlertDialog"
+ android:finishOnCloseSystemDialogs="true">
+ <intent-filter android:priority="1">
+ <action android:name="android.intent.action.PICK_ACTIVITY" />
+@@ -2272,7 +2272,7 @@
+
+ <!-- TODO: Is this needed? -->
+ <activity android:name="BandMode"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert"
++ android:theme="@style/Theme.SettingsAlertDialog"
+ android:process="com.android.phone">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+@@ -2300,7 +2300,7 @@
+ <!-- Standard picker for widgets -->
+ <activity android:name="AppWidgetPickActivity"
+ android:label="@string/widget_picker_title"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert"
++ android:theme="@style/Theme.SettingsAlertDialog"
+ android:finishOnCloseSystemDialogs="true">
+ <intent-filter android:priority="1">
+ <action android:name="android.appwidget.action.APPWIDGET_PICK" />
+@@ -2309,7 +2309,7 @@
+ </activity>
+
+ <activity android:name="AllowBindAppWidgetActivity"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert"
++ android:theme="@style/Theme.SettingsAlertDialog"
+ android:finishOnCloseSystemDialogs="true"
+ android:excludeFromRecents="true">
+ <intent-filter android:priority="1">
+@@ -2379,7 +2379,7 @@
+
+ <activity android:name=".fuelgauge.BatterySaverModeVoiceActivity"
+ android:label="@string/power_usage_summary_title"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Voice"
++ android:theme="@style/Theme.VoiceActivity"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE" />
+@@ -2615,7 +2615,7 @@
+ <activity android:name=".nfc.PaymentDefaultDialog"
+ android:label="@string/nfc_payment_set_default_label"
+ android:excludeFromRecents="true"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter android:priority="1">
+ <action android:name="android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT" />
+ <category android:name="android.intent.category.DEFAULT" />
+@@ -2633,7 +2633,7 @@
+ <activity android:name=".SmsDefaultDialog"
+ android:label="@string/sms_application_title"
+ android:excludeFromRecents="true"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter android:priority="1">
+ <action android:name="android.provider.Telephony.ACTION_CHANGE_DEFAULT" />
+ <category android:name="android.intent.category.DEFAULT" />
+@@ -2643,7 +2643,7 @@
+ <activity android:name=".ActiveNetworkScorerDialog"
+ android:label="@string/wifi_assistant_title"
+ android:excludeFromRecents="true"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter android:priority="1">
+ <action android:name="android.net.scoring.CHANGE_ACTIVE" />
+ <category android:name="android.intent.category.DEFAULT" />
+@@ -2905,7 +2905,7 @@
+ </activity>
+
+ <activity android:name=".sim.SimPreferenceDialog"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
++ android:theme="@style/Theme.SettingsDialog"
+ android:excludeFromRecents="true">
+ </activity>
+
+@@ -2923,7 +2923,7 @@
+ </activity>
+
+ <activity android:name=".sim.SimDialogActivity"
+- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
++ android:theme="@style/Theme.SettingsDialog"
+ android:label="@string/sim_settings_title"
+ android:excludeFromRecents="true">
+ <intent-filter>
+@@ -3049,7 +3049,7 @@
+ <activity android:name=".WebViewImplementation"
+ android:exported="true"
+ android:excludeFromRecents="true"
+- android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert">
++ android:theme="@style/Theme.SettingsAlertDialog">
+ <intent-filter>
+ <action android:name="android.settings.WEBVIEW_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+diff --git a/res/values/projekt_styles.xml b/res/values/projekt_styles.xml
+new file mode 100644
+index 0000000..6f0ce96
+--- /dev/null
++++ b/res/values/projekt_styles.xml
+@@ -0,0 +1,30 @@
++<?xml version="1.0" encoding="utf-8"?>
++<!--
++ Copyright (C) 2017 Project Substratum
++
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++
++ http://www.apache.org/licenses/LICENSE-2.0
++
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
++-->
++
++<resources>
++ <style name="Theme.DateTimeSettingsSetupWizard" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar" />
++
++ <style name="Theme.SettingsLicenseActivity" parent="@android:style/Theme.DeviceDefault.Light.Panel" />
++
++ <style name="Theme.AppPicker" parent="@android:style/Theme.DeviceDefault.Light.Dialog" />
++
++ <style name="Theme.SettingsDialog" parent="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" />
++
++ <style name="Theme.SettingsAlertDialog" parent="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert" />
++
++ <style name="Theme.VoiceActivity" parent="@*android:style/Theme.DeviceDefault.Light.Voice" />
++</resources>
+--
+2.9.3
+
--- /dev/null
+From 393ecf10f319d909ded17aa8ecf3202e73e3733c Mon Sep 17 00:00:00 2001
+From: Randall Rushing <randall.rushing@gmail.com>
+Date: Tue, 5 Apr 2016 11:24:26 -0500
+Subject: [PATCH 18/20] Settings: Expose and add tint mode to custom icons
+
+This allows themers to add custom icons and have them still show in
+power usage detail
+
+adding to this original commit: http://review.cyanogenmod.org/#/c/136136/
+
+Change-Id: Id38035d8eaa4c3bd004fe747a5df3899646e5cdc
+Signed-off-by: Bryan Owens <djbryan3540@gmail.com>
+---
+ res/values/projekt_colors.xml | 5 ++---
+ src/com/android/settings/fuelgauge/PowerUsageDetail.java | 7 +++++--
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
+index a619c50..a93ca3c 100644
+--- a/res/values/projekt_colors.xml
++++ b/res/values/projekt_colors.xml
+@@ -43,17 +43,16 @@
+ <color name="linear_color_bar_left">@*android:color/accent_device_default_light</color>
+ <color name="linear_color_bar_middle">@*android:color/accent_device_default_light</color>
+ <color name="linear_color_bar_right">#ffced7db</color>
+-
+ <!-- External Icon Tint -->
+ <color name="external_tile_icon_tint_color">?android:attr/colorAccent</color>
+ <!-- Settings switchbar background -->
+ <color name="switchbar_background_color">?android:attr/colorSecondary</color>
+-
+ <!-- Bluetooth pairing pin confirm dialog -->
+ <color name="bluetooth_pairing_caption">@*android:color/secondary_text_material_light</color>
+ <color name="bluetooth_pairing_code_message">@*android:color/secondary_text_material_light</color>
+ <color name="bluetooth_phonebook_sharing_message_confirm_pin">@*android:color/secondary_text_material_light</color>
+-
+ <!-- App ops -->
+ <color name="switch_accent_color">@*android:color/accent_device_default_light</color>
++ <!-- Power Usage Hard colors-->
++ <color name="power_usage_ab_icon_tint">@android:color/white</color>
+ </resources>
+diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
+index f091f66..eae0ca1 100644
+--- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java
++++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
+@@ -29,6 +29,7 @@ import android.content.pm.PackageInfo;
+ import android.content.pm.PackageManager;
+ import android.content.pm.PackageManager.NameNotFoundException;
+ import android.graphics.drawable.Drawable;
++import android.graphics.PorterDuff;
+ import android.net.Uri;
+ import android.os.BatteryStats;
+ import android.os.Bundle;
+@@ -481,12 +482,14 @@ public class PowerUsageDetail extends PowerUsageBase implements Button.OnClickLi
+ if (appIcon == null) {
+ appIcon = getActivity().getPackageManager().getDefaultActivityIcon();
+ }
+-
++ if (appIcon != null) {
++ appIcon.setTintMode(PorterDuff.Mode.SRC_ATOP);
++ }
+ if (pkg == null && mPackages != null) {
+ pkg = mPackages[0];
+ }
+ AppHeader.createAppHeader(this, appIcon, title, pkg, uid,
+- mDrainType != DrainType.APP ? android.R.color.white : 0);
++ mDrainType != DrainType.APP ? R.color.power_usage_ab_icon_tint : 0);
+ }
+
+ public void onClick(View v) {
+--
+2.9.3
+
--- /dev/null
+From da47e91252026c33587940c9146be8c97dc1db63 Mon Sep 17 00:00:00 2001
+From: Bryan Owens <djbryan3540@gmail.com>
+Date: Mon, 27 Feb 2017 22:24:09 -0600
+Subject: [PATCH 19/20] Settings: Expose "ALL" hardcoded and @android colors
+
+Change-Id: Iac46ea78387881e2237c3b9fb302c84987fe94f3
+Signed-off-by: Bryan Owens <djbryan3540@gmail.com>
+---
+ res/layout-sw600dp/nfc_payment_how_it_works.xml | 12 ++++++------
+ res/layout/app_header.xml | 2 +-
+ res/layout/crypt_keeper_emergency_button.xml | 2 +-
+ res/layout/crypt_keeper_status.xml | 4 ++--
+ res/layout/data_usage_chart.xml | 4 ++--
+ res/layout/filter_spinner_item.xml | 2 +-
+ res/layout/master_clear_disallowed_screen.xml | 4 ++--
+ res/layout/multi_sim_dialog.xml | 6 +++---
+ res/layout/network_reset_disallowed_screen.xml | 4 ++--
+ res/layout/nfc_payment_how_it_works.xml | 12 ++++++------
+ res/layout/permission_settings.xml | 2 +-
+ res/layout/preference_importance_slider.xml | 2 +-
+ res/layout/settings_color_picker_item.xml | 2 +-
+ res/layout/storage_internal_format.xml | 2 +-
+ res/layout/storage_wizard_navigation.xml | 2 +-
+ res/values/projekt_colors.xml | 18 ++++++++++++++++++
+ .../android/settings/deviceinfo/StorageSettings.java | 2 ++
+ .../settings/deviceinfo/StorageVolumePreference.java | 2 ++
+ 18 files changed, 53 insertions(+), 31 deletions(-)
+
+diff --git a/res/layout-sw600dp/nfc_payment_how_it_works.xml b/res/layout-sw600dp/nfc_payment_how_it_works.xml
+index 3bee160..5d71e1a 100644
+--- a/res/layout-sw600dp/nfc_payment_how_it_works.xml
++++ b/res/layout-sw600dp/nfc_payment_how_it_works.xml
+@@ -3,7 +3,7 @@
+ android:id="@+id/trusted_devices_prompt_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+- android:background="#FF80CBC4" >
++ android:background="@color/nfc_how_it_works_main_background" >
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+@@ -12,7 +12,7 @@
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="336dp"
+- android:background="#FFB2DFDB" >
++ android:background="@color/nfc_how_it_works_background" >
+ </LinearLayout>
+
+ <LinearLayout
+@@ -37,7 +37,7 @@
+ android:layout_width="420dp"
+ android:layout_height="wrap_content"
+ android:text="@string/nfc_how_it_works_title"
+- android:textColor="#FF263238"
++ android:textColor="@color/nfc_how_it_works_title_text_color"
+ android:textSize="24sp" />
+
+ <TextView
+@@ -47,14 +47,14 @@
+ android:paddingTop="10dp"
+ android:paddingBottom="18dp"
+ android:text="@string/nfc_how_it_works_content"
+- android:textColor="#FF263238"
++ android:textColor="@color/nfc_how_it_works_content_text_color"
+ android:textSize="20sp" />
+ </LinearLayout>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:layout_alignParentBottom="true"
+- android:background="#FFB2DFDB" >
++ android:background="@color/nfc_how_it_works_footer_background" >
+ <Button
+ android:id="@+id/nfc_how_it_works_button"
+ android:background="?android:attr/selectableItemBackground"
+@@ -64,7 +64,7 @@
+ android:layout_marginRight="20dp"
+ android:text="@string/nfc_how_it_works_got_it"
+ android:textSize="14sp"
+- android:textColor="#263238"
++ android:textColor="@color/nfc_how_it_works_got_it_text_color"
+ style="?android:attr/borderlessButtonStyle" />
+ </RelativeLayout>
+ </RelativeLayout>
+diff --git a/res/layout/app_header.xml b/res/layout/app_header.xml
+index 2d8a099..bbce943 100644
+--- a/res/layout/app_header.xml
++++ b/res/layout/app_header.xml
+@@ -36,7 +36,7 @@
+ android:layout_alignWithParentIfMissing="true"
+ android:layout_centerVertical="true"
+ android:textAppearance="@style/TextAppearance.Switch"
+- android:textColor="@android:color/white"
++ android:textColor="@color/text_color_white"
+ android:textAlignment="viewStart" />
+
+ <ImageView
+diff --git a/res/layout/crypt_keeper_emergency_button.xml b/res/layout/crypt_keeper_emergency_button.xml
+index 0b6f810..cf35315 100644
+--- a/res/layout/crypt_keeper_emergency_button.xml
++++ b/res/layout/crypt_keeper_emergency_button.xml
+@@ -33,7 +33,7 @@
+ android:layout_gravity="center_horizontal"
+ android:textSize="14sp"
+ android:fontFamily="sans-serif"
+- android:textColor="#FFFFFF"
++ android:textColor="@color/emergency_call_button_text_color"
+ style="?android:attr/borderlessButtonStyle" />
+
+ </LinearLayout>
+diff --git a/res/layout/crypt_keeper_status.xml b/res/layout/crypt_keeper_status.xml
+index bddff1a..fd9f82e 100644
+--- a/res/layout/crypt_keeper_status.xml
++++ b/res/layout/crypt_keeper_status.xml
+@@ -35,7 +35,7 @@
+ android:layout_marginEnd="8dip"
+ android:textSize="16sp"
+ android:fontFamily="sans-serif"
+- android:textColor="@android:color/white"
++ android:textColor="@color/text_color_white"
+ android:text="@string/enter_password"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal" />
+@@ -52,7 +52,7 @@
+ android:marqueeRepeatLimit ="marquee_forever"
+ android:textSize="16sp"
+ android:fontFamily="sans-serif"
+- android:textColor="#B3FFFFFF"
++ android:textColor="@color/owner_info_text_color"
+ android:gravity="center_horizontal" />
+
+ </LinearLayout>
+diff --git a/res/layout/data_usage_chart.xml b/res/layout/data_usage_chart.xml
+index c87a006..324d09f 100644
+--- a/res/layout/data_usage_chart.xml
++++ b/res/layout/data_usage_chart.xml
+@@ -44,7 +44,7 @@
+ android:layout_gravity="start|bottom"
+ settings:strokeColor="#00000000"
+ settings:fillColor="?android:attr/colorAccent"
+- settings:fillColorSecondary="#ff80cbc4"
++ settings:fillColorSecondary="@color/data_usage_chart_series_fill_Color_Secondary"
+ settings:safeRegion="3dp" />
+
+ <com.android.settings.widget.ChartNetworkSeriesView
+@@ -102,7 +102,7 @@
+ settings:neighborMargin="5dip"
+ settings:labelSize="60dip"
+ settings:labelTemplate="@string/data_usage_sweep_limit"
+- settings:labelColor="#fff4511e"
++ settings:labelColor="@color/data_usage_sweep_limit_label_Color"
+ settings:safeRegion="4dp" />
+
+ </com.android.settings.widget.ChartDataUsageView>
+diff --git a/res/layout/filter_spinner_item.xml b/res/layout/filter_spinner_item.xml
+index e83dd80..6b7bdb8 100644
+--- a/res/layout/filter_spinner_item.xml
++++ b/res/layout/filter_spinner_item.xml
+@@ -23,5 +23,5 @@
+ android:layout_height="wrap_content"
+ android:ellipsize="marquee"
+ android:textAppearance="@style/TextAppearance.Switch"
+- android:textColor="@android:color/white"
++ android:textColor="@color/text_color_white"
+ android:textAlignment="inherit"/>
+diff --git a/res/layout/master_clear_disallowed_screen.xml b/res/layout/master_clear_disallowed_screen.xml
+index 80326ca..ce14f46 100644
+--- a/res/layout/master_clear_disallowed_screen.xml
++++ b/res/layout/master_clear_disallowed_screen.xml
+@@ -26,8 +26,8 @@
+ android:layout_height="match_parent"
+ android:drawSelectorOnTop="false"
+ android:scrollbarStyle="insideOverlay"
+- android:background="@android:color/white"
+- android:cacheColorHint="@android:color/white"
++ android:background="@color/background_color_white"
++ android:cacheColorHint="@color/background_color_white"
+ android:fadingEdgeLength="16dip" />
+
+ <TextView android:id="@android:id/empty"
+diff --git a/res/layout/multi_sim_dialog.xml b/res/layout/multi_sim_dialog.xml
+index d0e7df8..02643ac 100644
+--- a/res/layout/multi_sim_dialog.xml
++++ b/res/layout/multi_sim_dialog.xml
+@@ -44,7 +44,7 @@
+ android:hint="@string/sim_name_hint"
+ android:inputType="textNoSuggestions"
+ android:maxLength="@integer/sim_name_length"
+- android:textColor="@android:color/black"
++ android:textColor="@color/text_color_black"
+ style="?android:attr/textAppearanceMedium" />
+
+ </LinearLayout>
+@@ -82,7 +82,7 @@
+ android:text="@string/sim_editor_carrier" />
+
+ <TextView android:id="@+id/carrier"
+- android:textColor="@android:color/black"
++ android:textColor="@color/text_color_black"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingStart="@dimen/sim_content_padding"
+@@ -110,7 +110,7 @@
+ android:paddingBottom="@dimen/sim_dialog_margin_bottom"
+ android:paddingStart="@dimen/sim_content_padding"
+ android:singleLine="true"
+- android:textColor="@android:color/black"
++ android:textColor="@color/text_color_black"
+ style="?android:attr/textAppearanceMedium" />
+
+ </LinearLayout>
+diff --git a/res/layout/network_reset_disallowed_screen.xml b/res/layout/network_reset_disallowed_screen.xml
+index 04f6fc2..e72708b 100644
+--- a/res/layout/network_reset_disallowed_screen.xml
++++ b/res/layout/network_reset_disallowed_screen.xml
+@@ -26,8 +26,8 @@
+ android:layout_height="match_parent"
+ android:drawSelectorOnTop="false"
+ android:scrollbarStyle="insideOverlay"
+- android:background="@android:color/white"
+- android:cacheColorHint="@android:color/white"
++ android:background="@color/background_color_white"
++ android:cacheColorHint="@color/background_color_white"
+ android:fadingEdgeLength="16dip" />
+
+ <TextView android:id="@android:id/empty"
+diff --git a/res/layout/nfc_payment_how_it_works.xml b/res/layout/nfc_payment_how_it_works.xml
+index 565a16b..a870e5b 100644
+--- a/res/layout/nfc_payment_how_it_works.xml
++++ b/res/layout/nfc_payment_how_it_works.xml
+@@ -3,7 +3,7 @@
+ android:id="@+id/trusted_devices_prompt_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+- android:background="#FF80CBC4" >
++ android:background="@color/nfc_how_it_works_main_background" >
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+@@ -12,7 +12,7 @@
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="200dp"
+- android:background="#FFB2DFDB" >
++ android:background="@color/nfc_how_it_works_background" >
+ </LinearLayout>
+
+ <LinearLayout
+@@ -38,7 +38,7 @@
+ android:text="@string/nfc_how_it_works_title"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+- android:textColor="#FF263238"
++ android:textColor="@color/nfc_how_it_works_title_text_color"
+ android:textSize="24sp" />
+
+ <TextView
+@@ -50,14 +50,14 @@
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:text="@string/nfc_how_it_works_content"
+- android:textColor="#FF263238"
++ android:textColor="@color/nfc_how_it_works_content_text_color"
+ android:textSize="16sp" />
+ </LinearLayout>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:layout_alignParentBottom="true"
+- android:background="#FFB2DFDB" >
++ android:background="@color/nfc_how_it_works_footer_background" >
+ <Button
+ android:id="@+id/nfc_how_it_works_button"
+ android:background="?android:attr/selectableItemBackground"
+@@ -67,7 +67,7 @@
+ android:layout_marginRight="20dp"
+ android:text="@string/nfc_how_it_works_got_it"
+ android:textSize="14sp"
+- android:textColor="#263238"
++ android:textColor="@color/nfc_how_it_works_got_it_text_color"
+ style="?android:attr/borderlessButtonStyle" />
+ </RelativeLayout>
+ </RelativeLayout>
+diff --git a/res/layout/permission_settings.xml b/res/layout/permission_settings.xml
+index f08b9d6..2067c02 100644
+--- a/res/layout/permission_settings.xml
++++ b/res/layout/permission_settings.xml
+@@ -43,7 +43,7 @@
+ android:text="@string/permissions_label" />
+ <TextView android:id="@+id/security_settings_billing_desc"
+ android:text="@string/security_settings_billing_desc"
+- android:textColor="#ffffb060"
++ android:textColor="@color/security_settings_billing_desc_text_color"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:paddingTop="6dip"
+ android:paddingBottom="6dip"
+diff --git a/res/layout/preference_importance_slider.xml b/res/layout/preference_importance_slider.xml
+index 3861807..7e340f9 100644
+--- a/res/layout/preference_importance_slider.xml
++++ b/res/layout/preference_importance_slider.xml
+@@ -61,7 +61,7 @@
+ android:thumbTint="?android:attr/colorAccent"
+ android:progressTint="?android:attr/colorAccent"
+ style="@android:style/Widget.Material.SeekBar.Discrete"
+- android:tickMarkTint="@android:color/black" />
++ android:tickMarkTint="@color/importance_secondary_slider_tickMarkTint_color" />
+
+ </FrameLayout>
+
+diff --git a/res/layout/settings_color_picker_item.xml b/res/layout/settings_color_picker_item.xml
+index c171950..d8fc8c1 100644
+--- a/res/layout/settings_color_picker_item.xml
++++ b/res/layout/settings_color_picker_item.xml
+@@ -41,7 +41,7 @@
+ android:paddingBottom="8dp"
+ android:paddingRight="8dp"
+ android:paddingLeft="8dp"
+- android:textColor="@android:color/black"
++ android:textColor="@color/text_color_black"
+ style="?android:attr/textAppearanceMedium" />
+
+ </LinearLayout>
+\ No newline at end of file
+diff --git a/res/layout/storage_internal_format.xml b/res/layout/storage_internal_format.xml
+index 8aec28f..c90ed28 100644
+--- a/res/layout/storage_internal_format.xml
++++ b/res/layout/storage_internal_format.xml
+@@ -46,7 +46,7 @@
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/storage_menu_format"
+- android:textColor="@android:color/white"
++ android:textColor="@color/text_color_white"
+ android:backgroundTint="@color/storage_wizard_button_red" />
+ </FrameLayout>
+
+diff --git a/res/layout/storage_wizard_navigation.xml b/res/layout/storage_wizard_navigation.xml
+index 94f9baf..191d4f2 100644
+--- a/res/layout/storage_wizard_navigation.xml
++++ b/res/layout/storage_wizard_navigation.xml
+@@ -46,7 +46,7 @@
+ android:layout_marginBottom="16dp"
+ android:layout_marginEnd="16dp"
+ android:text="@string/wizard_next"
+- android:textColor="@android:color/white"
++ android:textColor="@color/text_color_white"
+ android:backgroundTint="@color/storage_wizard_button" />
+
+ </LinearLayout>
+diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
+index a93ca3c..eb37be3 100644
+--- a/res/values/projekt_colors.xml
++++ b/res/values/projekt_colors.xml
+@@ -55,4 +55,22 @@
+ <color name="switch_accent_color">@*android:color/accent_device_default_light</color>
+ <!-- Power Usage Hard colors-->
+ <color name="power_usage_ab_icon_tint">@android:color/white</color>
++ <!-- NFC hard colors -->
++ <color name="nfc_how_it_works_main_background">#FF80CBC4</color>
++ <color name="nfc_how_it_works_background">#FFB2DFDB</color>
++ <color name="nfc_how_it_works_title_text_color">#FF263238</color>
++ <color name="nfc_how_it_works_content_text_color">#FF263238</color>
++ <color name="nfc_how_it_works_footer_background">#FFB2DFDB</color>
++ <color name="nfc_how_it_works_got_it_text_color">#263238</color>
++ <!-- Permission Settings Hard colors-->
++ <color name="security_settings_billing_desc_text_color">#ffffb060</color>
++ <!-- Misc Hard colors-->
++ <color name="importance_secondary_slider_tickMarkTint_color">@android:color/black</color>
++ <color name="emergency_call_button_text_color">#ffffff</color>
++ <color name="owner_info_text_color">#B3FFFFFF</color>
++ <color name="data_usage_chart_series_fill_Color_Secondary">#ff80cbc4</color>
++ <color name="data_usage_sweep_limit_label_Color">#fff4511e</color>
++ <color name="text_color_black">@android:color/black</color>
++ <color name="text_color_white">@android:color/white</color>
++ <color name="background_color_white">@android:color/white</color>
+ </resources>
+diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
+index 57fd13b..6ab7a85 100755
+--- a/src/com/android/settings/deviceinfo/StorageSettings.java
++++ b/src/com/android/settings/deviceinfo/StorageSettings.java
+@@ -27,6 +27,7 @@ import android.content.Intent;
+ import android.content.res.Resources ;
+ import android.graphics.Color;
+ import android.graphics.drawable.Drawable;
++import android.graphics.PorterDuff;
+ import android.os.AsyncTask;
+ import android.os.Bundle;
+ import android.os.UserHandle;
+@@ -204,6 +205,7 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
+ final Drawable icon = context.getDrawable(R.drawable.ic_sim_sd);
+ icon.mutate();
+ icon.setTint(getColorPublic(getResources()));
++ icon.setTintMode(PorterDuff.Mode.SRC_ATOP);
+
+ final Preference pref = new Preference(context);
+ pref.setKey(rec.getFsUuid());
+diff --git a/src/com/android/settings/deviceinfo/StorageVolumePreference.java b/src/com/android/settings/deviceinfo/StorageVolumePreference.java
+index 8a2780a..a6c227c 100644
+--- a/src/com/android/settings/deviceinfo/StorageVolumePreference.java
++++ b/src/com/android/settings/deviceinfo/StorageVolumePreference.java
+@@ -20,6 +20,7 @@ import android.content.Context;
+ import android.content.res.ColorStateList;
+ import android.graphics.Color;
+ import android.graphics.drawable.Drawable;
++import android.graphics.PorterDuff;
+ import android.os.storage.StorageManager;
+ import android.os.storage.VolumeInfo;
+ import android.support.v7.preference.Preference;
+@@ -100,6 +101,7 @@ public class StorageVolumePreference extends Preference {
+
+ icon.mutate();
+ icon.setTint(mColor);
++ icon.setTintMode(PorterDuff.Mode.SRC_ATOP);
+ setIcon(icon);
+
+ if (volume.getType() == VolumeInfo.TYPE_PUBLIC
+--
+2.9.3
+
--- /dev/null
+From c8e8c8ce738542fd65e9f081d5202f32279c8b61 Mon Sep 17 00:00:00 2001
+From: George G <kreach3r@users.noreply.github.com>
+Date: Sat, 25 Feb 2017 18:24:06 +0200
+Subject: [PATCH 20/20] Development: Allow all Masquerade calling packages for
+ debugging (3/3)
+
+It is also only allowed for Owner accounts.
+
+Change-Id: I4d8ca60ead6fe058e7bc2ef8b7613e77457b3f27
+---
+ res/values/projekt_strings.xml | 4 ++++
+ res/xml/development_prefs.xml | 5 +++++
+ src/com/android/settings/DevelopmentSettings.java | 20 ++++++++++++++++++++
+ 3 files changed, 29 insertions(+)
+
+diff --git a/res/values/projekt_strings.xml b/res/values/projekt_strings.xml
+index 4c45544..0d339e2 100644
+--- a/res/values/projekt_strings.xml
++++ b/res/values/projekt_strings.xml
+@@ -25,4 +25,8 @@
+ <string name="menu_show_substratum_icons">Show icon overlays</string>
+ <string name="menu_hide_substratum_icons">Hide icon overlays</string>
+
++ <!-- Force authorize substratum packages -->
++ <string name="force_authorize_substratum_packages_title">Force authorize every theme app</string>
++ <string name="force_authorize_substratum_packages_summary">Allow theme apps from unknown sources</string>
++
+ </resources>
+diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
+index 1e7ed4a..d654829 100644
+--- a/res/xml/development_prefs.xml
++++ b/res/xml/development_prefs.xml
+@@ -210,6 +210,11 @@
+ android:entries="@array/select_logpersist_titles"
+ android:entryValues="@array/select_logpersist_values" />
+
++ <SwitchPreference
++ android:key="force_authorize_substratum_packages"
++ android:title="@string/force_authorize_substratum_packages_title"
++ android:summary="@string/force_authorize_substratum_packages_summary" />
++
+ </PreferenceCategory>
+
+ <PreferenceCategory android:key="debug_networking_category"
+diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
+index 02e2a75..1941c66 100644
+--- a/src/com/android/settings/DevelopmentSettings.java
++++ b/src/com/android/settings/DevelopmentSettings.java
+@@ -235,6 +235,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
+
+ private static final String DEVELOPMENT_TOOLS = "development_tools";
+
++ private static final String FORCE_AUTHORIZE_SUBSTRATUM_PACKAGES = "force_authorize_substratum_packages";
++
+ private static final int RESULT_DEBUG_APP = 1000;
+ private static final int RESULT_MOCK_LOCATION_APP = 1001;
+
+@@ -261,6 +263,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
+ private boolean mHaveDebugSettings;
+ private boolean mDontPokeProperties;
+
++ private SwitchPreference mForceAuthorizeSubstratumPackages;
++
+ private SwitchPreference mEnableAdb;
+ private SwitchPreference mAdbOverNetwork;
+ private Preference mClearAdbKeys;
+@@ -427,6 +431,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
+ mForceAllowOnExternal = findAndInitSwitchPref(FORCE_ALLOW_ON_EXTERNAL_KEY);
+ mPassword = (PreferenceScreen) findPreference(LOCAL_BACKUP_PASSWORD);
+ mAllPrefs.add(mPassword);
++ mForceAuthorizeSubstratumPackages = findAndInitSwitchPref(FORCE_AUTHORIZE_SUBSTRATUM_PACKAGES);
+
+ if (!mUm.isAdminUser()) {
+ disableForUser(mEnableAdb);
+@@ -434,6 +439,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
+ disableForUser(mEnableTerminal);
+ disableForUser(mPassword);
+ disableForUser(mUpdateRecoveryPreference);
++ disableForUser(mForceAuthorizeSubstratumPackages);
+ }
+
+ mDebugAppPref = findPreference(DEBUG_APP_KEY);
+@@ -814,6 +820,18 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
+ updateRootAccessOptions();
+ updateAdbOverNetwork();
+ updateUpdateRecoveryOptions();
++ updateForceAuthorizeSubstratumPackagesOptions();
++ }
++
++ private void writeForceAuthorizeSubstratumPackagesOptions() {
++ Settings.Secure.putInt(getActivity().getContentResolver(),
++ Settings.Secure.FORCE_AUTHORIZE_SUBSTRATUM_PACKAGES,
++ mForceAuthorizeSubstratumPackages.isChecked() ? 1 : 0);
++ }
++
++ private void updateForceAuthorizeSubstratumPackagesOptions() {
++ mForceAuthorizeSubstratumPackages.setChecked(Settings.Secure.getInt(getActivity().getContentResolver(),
++ Settings.Secure.FORCE_AUTHORIZE_SUBSTRATUM_PACKAGES, 0) != 0);
+ }
+
+ private void updateAdbOverNetwork() {
+@@ -2256,6 +2274,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
+ writeUSBAudioOptions();
+ } else if (preference == mForceResizable) {
+ writeForceResizableOptions();
++ } else if (preference == mForceAuthorizeSubstratumPackages) {
++ writeForceAuthorizeSubstratumPackagesOptions();
+ } else if (INACTIVE_APPS_KEY.equals(preference.getKey())) {
+ startInactiveAppsFragment();
+ } else if (BACKGROUND_CHECK_KEY.equals(preference.getKey())) {
+--
+2.9.3
+
-From 48b1e9e4ec59e58caede2f767f38d913dec192e3 Mon Sep 17 00:00:00 2001
+From 43af1b1a13305dc31c65b57f8873725b39ea7a09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= <marten.kongstad@sonymobile.com>
Date: Mon, 22 Jun 2015 09:31:25 +0200
-Subject: [PATCH 1/7] OMS-N: Add service 'overlay' to service_contexts
+Subject: [PATCH 1/9] OMS-N: Add service 'overlay' to service_contexts
The 'overlay' service is the Overlay Manager Service, which tracks
packages and their Runtime Resource Overlay overlay packages.
-From adc92468ee663265bb3dde82647cb91b8511016c Mon Sep 17 00:00:00 2001
+From 24ba87c1ec82d440abff46133b27162b43842273 Mon Sep 17 00:00:00 2001
From: d34d <clark@cyngn.com>
Date: Wed, 4 Jan 2017 10:29:34 -0800
-Subject: [PATCH 2/7] Introduce sepolicy exceptions for theme assets
+Subject: [PATCH 2/9] Introduce sepolicy exceptions for theme assets
Assets such as composed icons and ringtones need to be accessed
by apps. This patch adds the policy needed to facilitate this.
-From e900b51625d328268f2eeecb7e83aab899b550e5 Mon Sep 17 00:00:00 2001
+From e619ebc5b228930b19159bef7c4f1a293a097cc5 Mon Sep 17 00:00:00 2001
From: bigrushdog <randall.rushing@gmail.com>
Date: Wed, 4 Jan 2017 10:31:29 -0800
-Subject: [PATCH 3/7] sepolicy: fix themed boot animation
+Subject: [PATCH 3/9] sepolicy: fix themed boot animation
W BootAnimation: type=1400 audit(0.0:42): avc: denied { open } for uid=1003 path="/data/system/theme/bootanimation.zip" dev="mmcblk0p42" ino=1657697 scontext=u:r:bootanim:s0 tcontext=u:object_r:system_data_file:s0 tclass=file permissive=0
-From 51dc94d1fa1d5ab2b2743baa943805ad80fcb463 Mon Sep 17 00:00:00 2001
+From abc55e52d2ed586db46134e666b03f7ba9fe26f9 Mon Sep 17 00:00:00 2001
From: George G <kreach3r@users.noreply.github.com>
Date: Wed, 8 Feb 2017 17:22:44 +0200
-Subject: [PATCH 4/7] sepolicy: fix themed sounds
+Subject: [PATCH 4/9] sepolicy: fix themed sounds
02-08 17:26:48.011 18259-18259/? W/SoundPoolThread: type=1400 audit(0.0:31): avc: denied { read } for path="/data/system/theme/audio/ui/Lock.ogg" dev="dm-0" ino=1006317 scontext=u:r:drmserver:s0 tcontext=u:object_r:theme_data_file:s0 tclass=file permissive=0
-From 6835036b16a0400b5b38d2c35a7517e2e24af2a1 Mon Sep 17 00:00:00 2001
+From e1905bc1ed00099aa296b7a8a169ccf4bb4890ce Mon Sep 17 00:00:00 2001
From: Surge1223 <surge1223@gmail.com>
Date: Sat, 18 Feb 2017 08:46:15 -0600
-Subject: [PATCH 5/7] initial policy edits for masquerade to operate rootless
+Subject: [PATCH 5/9] initial policy edits for masquerade to operate rootless
Change-Id: Iddfc408f206033772b9d49d335ca94e63b5e5210
---
-From 857ed4080b52eae82ad51c038894d3df009bbd1c Mon Sep 17 00:00:00 2001
+From da2fe9e937c56243d86fffa553be7c99e1fa3876 Mon Sep 17 00:00:00 2001
From: Surge1223 <surge1223@gmail.com>
Date: Tue, 21 Feb 2017 12:28:05 -0600
-Subject: [PATCH 6/7] sepolicy: rename masquerade domain and allow JobService
+Subject: [PATCH 6/9] sepolicy: rename masquerade domain and allow JobService
in system_server
This attempts to address the issue of JobService being unable to process
-From 81312f4a922b43ff64ab3dd527b3964435e89abe Mon Sep 17 00:00:00 2001
+From 08ce7639e5995fda422c3b3f3f0548a240077967 Mon Sep 17 00:00:00 2001
From: Surge1223 <surge1223@gmail.com>
Date: Wed, 22 Feb 2017 20:45:04 -0600
-Subject: [PATCH 7/7] sepolicy: allow masquerade to read and write theme assets
+Subject: [PATCH 7/9] sepolicy: allow masquerade to read and write theme assets
Fix for masquerade to handle theme assets including fonts and bootanimation, also
takes into account when /data/system/theme doesnt exist
--- /dev/null
+From 8644e2d8e88630abf338767b2dd9608b1d68ca1b Mon Sep 17 00:00:00 2001
+From: Miccia <bono.michele94@gmail.com>
+Date: Mon, 27 Feb 2017 12:36:21 +0100
+Subject: [PATCH 8/9] sepolicy: Fix application of bootanimation
+
+Change-Id: I7365d28fecf18b4d1aa42b2210e023b202dd97a5
+---
+ masquerade.te | 5 +++++
+ system_server.te | 2 ++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/masquerade.te b/masquerade.te
+index 2f17030..0cbbdb2 100644
+--- a/masquerade.te
++++ b/masquerade.te
+@@ -61,3 +61,8 @@ allow masquerade property_socket:sock_file write;
+ allow masquerade system_prop:property_service set;
+ allow masquerade connectivity_service:service_manager find;
+ allow masquerade display_service:service_manager find;
++
++allow masquerade media_rw_data_file:dir { search write };
++allow masquerade media_rw_data_file:file { open unlink };
++allow masquerade network_management_service:service_manager find;
++allow masquerade media_rw_data_file:dir remove_name;
+diff --git a/system_server.te b/system_server.te
+index 5e2a3a8..c544803 100644
+--- a/system_server.te
++++ b/system_server.te
+@@ -580,3 +580,5 @@ neverallow system_server { dev_type -frp_block_device }:blk_file no_rw_file_perm
+ neverallow system_server self:process execmem;
+ neverallow system_server ashmem_device:chr_file execute;
+ neverallow system_server system_server_tmpfs:file execute;
++
++allow system_server theme_data_file:dir search;
+--
+2.9.3
+
--- /dev/null
+From ea4fd1f19e8c37427e0b350faad177e8ccba1689 Mon Sep 17 00:00:00 2001
+From: LuK1337 <priv.luk@gmail.com>
+Date: Wed, 1 Mar 2017 23:11:49 +0100
+Subject: [PATCH 9/9] sepolicy: Redo masquerade rules
+
+* Use macros
+* Label custom properties
+* Reorder rules alphabetically
+
+Change-Id: I6ea45271d64dfbe373104e8f6637b95150fa0dbb
+---
+ masquerade.te | 41 ++++++++++++++++++-----------------------
+ property.te | 1 +
+ property_contexts | 1 +
+ system_server.te | 8 ++++++--
+ 4 files changed, 26 insertions(+), 25 deletions(-)
+
+diff --git a/masquerade.te b/masquerade.te
+index 0cbbdb2..6fbc5e1 100644
+--- a/masquerade.te
++++ b/masquerade.te
+@@ -11,16 +11,15 @@ app_domain(masquerade)
+ binder_service(masquerade)
+
+ # Modify system dalvik-cache
+-allow masquerade dalvikcache_data_file:file { getattr open read };
+-allow masquerade dalvikcache_data_file:dir { getattr search };
++allow masquerade dalvikcache_data_file:dir r_dir_perms;
++allow masquerade dalvikcache_data_file:file rw_file_perms;
+
+ # Read and write /data/data subdirectory.
+ allow masquerade system_app_data_file:dir create_dir_perms;
+ allow masquerade system_app_data_file:{ file lnk_file } create_file_perms;
+
+ # /data/resource-cache
+-allow masquerade resourcecache_data_file:file r_file_perms;
+-allow masquerade resourcecache_data_file:dir r_dir_perms;
++r_dir_file(masquerade, resourcecache_data_file)
+
+ # Read wallpaper file.
+ allow masquerade wallpaper_file:file r_file_perms;
+@@ -38,31 +37,27 @@ allow masquerade { system_data_file wallpaper_file }:file link;
+ allow masquerade ringtone_file:dir { create_dir_perms relabelto };
+ allow masquerade ringtone_file:file create_file_perms;
+
+-# Manage overlays and start JobService
+-allow masquerade overlay_service:service_manager find;
+-allow masquerade activity_service:service_manager find;
+-
+ # System file accesses.
+-allow masquerade system_file:dir r_dir_perms;
+-allow masquerade system_file:dir rmdir;
+ allow masquerade kernel:system module_request;
+-allow masquerade dalvikcache_data_file:file { setattr write };
+-allow masquerade system_data_file:dir { add_name create rmdir remove_name setattr write };
+-allow masquerade system_data_file:file { create getattr setattr unlink write read };
++allow masquerade system_data_file:dir create_dir_perms;
++allow masquerade system_data_file:file create_file_perms;
++allow masquerade system_file:dir { r_dir_perms rmdir };
+
+ # Allow handling of theme assets
+-allow masquerade theme_data_file:dir { add_name create remove_name setattr write rmdir };
+-allow masquerade theme_data_file:file { create setattr write unlink };
++allow masquerade theme_data_file:dir create_dir_perms;
++allow masquerade theme_data_file:file create_file_perms;
+
+ # Modify system properties
+-allow masquerade init:unix_stream_socket connectto;
+-allow masquerade mount_service:service_manager find;
+-allow masquerade property_socket:sock_file write;
+-allow masquerade system_prop:property_service set;
++set_prop(masquerade, theme_prop)
++
++# Edit files in /sdcard
++allow masquerade media_rw_data_file:dir rw_dir_perms;
++allow masquerade media_rw_data_file:file rw_file_perms;
++
++# Services
++allow masquerade activity_service:service_manager find;
+ allow masquerade connectivity_service:service_manager find;
+ allow masquerade display_service:service_manager find;
+-
+-allow masquerade media_rw_data_file:dir { search write };
+-allow masquerade media_rw_data_file:file { open unlink };
++allow masquerade mount_service:service_manager find;
+ allow masquerade network_management_service:service_manager find;
+-allow masquerade media_rw_data_file:dir remove_name;
++allow masquerade overlay_service:service_manager find;
+diff --git a/property.te b/property.te
+index af7013f..44f15bb 100644
+--- a/property.te
++++ b/property.te
+@@ -38,5 +38,6 @@ type dalvik_prop, property_type, core_property_type;
+ type config_prop, property_type, core_property_type;
+ type device_logging_prop, property_type;
+ type safemode_prop, property_type;
++type theme_prop, property_type;
+
+ allow property_type tmpfs:filesystem associate;
+diff --git a/property_contexts b/property_contexts
+index 4368a98..0280e7a 100644
+--- a/property_contexts
++++ b/property_contexts
+@@ -23,6 +23,7 @@ ro.hw. u:object_r:system_prop:s0
+ sys. u:object_r:system_prop:s0
+ sys.cppreopt u:object_r:cppreopt_prop:s0
+ sys.powerctl u:object_r:powerctl_prop:s0
++sys.refresh_theme u:object_r:theme_prop:s0
+ sys.usb.ffs. u:object_r:ffs_prop:s0
+ service. u:object_r:system_prop:s0
+ wlan. u:object_r:system_prop:s0
+diff --git a/system_server.te b/system_server.te
+index c544803..5262a79 100644
+--- a/system_server.te
++++ b/system_server.te
+@@ -351,6 +351,9 @@ set_prop(system_server, ctl_bugreport_prop)
+ # cppreopt property
+ set_prop(system_server, cppreopt_prop)
+
++# theme property
++get_prop(system_server, theme_prop)
++
+ # Create a socket for receiving info from wpa.
+ type_transition system_server wifi_data_file:sock_file system_wpa_socket;
+ type_transition system_server wpa_socket:sock_file system_wpa_socket;
+@@ -529,6 +532,9 @@ allow system_server media_rw_data_file:dir search;
+ # Allow invoking tools like "timeout"
+ allow system_server toolbox_exec:file rx_file_perms;
+
++# Allow `search` in theme_data_file directory
++allow system_server theme_data_file:dir search;
++
+ # Postinstall
+ #
+ # For OTA dexopt, allow calls coming from postinstall.
+@@ -580,5 +586,3 @@ neverallow system_server { dev_type -frp_block_device }:blk_file no_rw_file_perm
+ neverallow system_server self:process execmem;
+ neverallow system_server ashmem_device:chr_file execute;
+ neverallow system_server system_server_tmpfs:file execute;
+-
+-allow system_server theme_data_file:dir search;
+--
+2.9.3
+