-From 45cf60053ab74bf9d59c7a0c2d62696dd0478ef0 Mon Sep 17 00:00:00 2001
+From d6b3f93bec61769fab7ebf31e78bf0acb42bb2e6 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/45] OMS7-N: Support tagging resources as OK to overlay
+Subject: [PATCH 01/42] OMS7-N: Support tagging resources as OK to overlay
[1/11]
This will allow applications to have a resource xml defining what
7 files changed, 164 insertions(+), 15 deletions(-)
diff --git a/cmds/idmap/create.cpp b/cmds/idmap/create.cpp
-index c13d318f744..8656b0e0e5f 100644
+index c13d318..8656b0e 100644
--- a/cmds/idmap/create.cpp
+++ b/cmds/idmap/create.cpp
@@ -106,7 +106,7 @@ fail:
return true;
}
diff --git a/cmds/idmap/inspect.cpp b/cmds/idmap/inspect.cpp
-index f6afc859430..924090fbb9d 100644
+index f6afc85..924090f 100644
--- a/cmds/idmap/inspect.cpp
+++ b/cmds/idmap/inspect.cpp
@@ -192,6 +192,12 @@ namespace {
err = buf.nextUint32(&i);
diff --git a/include/androidfw/ResourceTypes.h b/include/androidfw/ResourceTypes.h
-index 12a6b0f9a4e..6094a576d75 100644
+index 12a6b0f..6094a57 100644
--- a/include/androidfw/ResourceTypes.h
+++ b/include/androidfw/ResourceTypes.h
@@ -1382,7 +1382,11 @@ struct ResTable_entry
String8* pTargetPath, String8* pOverlayPath);
diff --git a/libs/androidfw/AssetManager.cpp b/libs/androidfw/AssetManager.cpp
-index 5b36a43abdc..c0e8a980c2d 100644
+index 5b36a43..c0e8a98 100644
--- a/libs/androidfw/AssetManager.cpp
+++ b/libs/androidfw/AssetManager.cpp
@@ -252,7 +252,7 @@ bool AssetManager::addOverlayPath(const String8& packagePath, int32_t* cookie)
delete idmap;
return false;
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
-index e8c6fcf03a5..022f19efe86 100644
+index e8c6fcf..022f19e 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -59,7 +59,7 @@ namespace android {
if (inclValues) {
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
-index a1b1879e745..b2d04802bf1 100644
+index a1b1879..b2d0480 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -800,6 +800,7 @@ status_t compileResourceFile(Bundle* bundle,
: mName(name), mPackageId(packageId),
mTypeStringsMapping(0xffffffff),
diff --git a/tools/aapt/ResourceTable.h b/tools/aapt/ResourceTable.h
-index 54d56cfc26f..7e9b04429cc 100644
+index 54d56cf..7e9b044 100644
--- a/tools/aapt/ResourceTable.h
+++ b/tools/aapt/ResourceTable.h
@@ -139,6 +139,11 @@ public:
Vector<sp<ConfigList> > mOrderedConfigs;
SortedVector<String16> mCanAddEntries;
--
-2.11.1
+2.9.3
-From 32041002c96bbeb5dcffa3beef7114c597abffae Mon Sep 17 00:00:00 2001
+From 7cfd3aa15db2d7da9c7e0420cec8669c361e65cd 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/45] OMS7-N: Introduce the OverlayManagerService [2/11]
+Subject: [PATCH 02/42] 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
create mode 100644 services/core/java/com/android/server/om/OverlayManagerShellCommand.java
diff --git a/Android.mk b/Android.mk
-index bdb45550fa1..df427801fa7 100644
+index bdb4555..df42780 100644
--- a/Android.mk
+++ b/Android.mk
@@ -137,6 +137,7 @@ LOCAL_SRC_FILES += \
core/java/android/content/pm/IOnAppsChangedListener.aidl \
core/java/android/content/pm/IOtaDexopt.aidl \
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
-index 3a2f471e96e..1ca44e0f633 100644
+index 3a2f471..1ca44e0 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -3656,6 +3656,16 @@ public abstract class Context {
* process and user ID running in the system.
*
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
-index 861aae5a879..1afae798bcf 100644
+index 861aae5..1afae79 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -3092,6 +3092,40 @@ public class Intent implements Parcelable, Cloneable {
* {@link DocumentsProvider} instances installed on the device, letting the
diff --git a/core/java/android/content/om/IOverlayManager.aidl b/core/java/android/content/om/IOverlayManager.aidl
new file mode 100644
-index 00000000000..4f5d96038d1
+index 0000000..4f5d960
--- /dev/null
+++ b/core/java/android/content/om/IOverlayManager.aidl
@@ -0,0 +1,129 @@
+}
diff --git a/core/java/android/content/om/OverlayInfo.aidl b/core/java/android/content/om/OverlayInfo.aidl
new file mode 100644
-index 00000000000..e7d413d0775
+index 0000000..e7d413d
--- /dev/null
+++ b/core/java/android/content/om/OverlayInfo.aidl
@@ -0,0 +1,19 @@
+parcelable OverlayInfo;
diff --git a/core/java/android/content/om/OverlayInfo.java b/core/java/android/content/om/OverlayInfo.java
new file mode 100644
-index 00000000000..a25cf0c008c
+index 0000000..a25cf0c
--- /dev/null
+++ b/core/java/android/content/om/OverlayInfo.java
@@ -0,0 +1,290 @@
+ }
+}
diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java
-index f5bcf64417a..bdbdd1ebcf9 100644
+index f5bcf64..bdbdd1e 100644
--- a/core/java/android/content/pm/PackageManagerInternal.java
+++ b/core/java/android/content/pm/PackageManagerInternal.java
@@ -168,4 +168,28 @@ public abstract class PackageManagerInternal {
+ public abstract void setResourceDirs(int userId, String packageName, String[] resourceDirs);
}
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
-index 2c76dee9754..6a5bd3946db 100644
+index 2c76dee..6a5bd39 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -84,6 +84,10 @@
<protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
diff --git a/services/core/java/com/android/server/om/IdmapManager.java b/services/core/java/com/android/server/om/IdmapManager.java
new file mode 100644
-index 00000000000..e2a37750ef3
+index 0000000..e2a3775
--- /dev/null
+++ b/services/core/java/com/android/server/om/IdmapManager.java
@@ -0,0 +1,116 @@
+}
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
new file mode 100644
-index 00000000000..ec148dd9fa7
+index 0000000..ec148dd
--- /dev/null
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -0,0 +1,901 @@
+}
diff --git a/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java b/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
new file mode 100644
-index 00000000000..2a0d88b416d
+index 0000000..2a0d88b
--- /dev/null
+++ b/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
@@ -0,0 +1,478 @@
+}
diff --git a/services/core/java/com/android/server/om/OverlayManagerSettings.java b/services/core/java/com/android/server/om/OverlayManagerSettings.java
new file mode 100644
-index 00000000000..af0bb64bd67
+index 0000000..af0bb64
--- /dev/null
+++ b/services/core/java/com/android/server/om/OverlayManagerSettings.java
@@ -0,0 +1,656 @@
+}
diff --git a/services/core/java/com/android/server/om/OverlayManagerShellCommand.java b/services/core/java/com/android/server/om/OverlayManagerShellCommand.java
new file mode 100644
-index 00000000000..d6f53737913
+index 0000000..d6f5373
--- /dev/null
+++ b/services/core/java/com/android/server/om/OverlayManagerShellCommand.java
@@ -0,0 +1,179 @@
+ }
+}
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
-index 5a06bb341cd..cfc5a0edd5c 100644
+index 4cfa3d5..7860bbd 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
-@@ -21450,6 +21450,47 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
+@@ -21460,6 +21460,47 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
return mSettings.wasPackageEverLaunchedLPr(packageName, userId);
}
}
@Override
--
-2.11.1
+2.9.3
-From 2ad001347cfee56ced3c7515d42db82181ba2db8 Mon Sep 17 00:00:00 2001
+From f6bfedb67fced7d53d515b73bb4730215c2dc9e4 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/45] OMS7-N: Integrate OverlayManagerService into framework
+Subject: [PATCH 03/42] OMS7-N: Integrate OverlayManagerService into framework
[3/11]
Hand over ownership of overlays to OverlayManagerService.
core/java/android/app/IApplicationThread.java | 2 +
core/java/android/app/ResourcesManager.java | 119 ++++++++++++++----
core/java/android/content/pm/PackageParser.java | 20 +--
- core/java/android/content/pm/PackageUserState.java | 6 +
+ core/java/android/content/pm/PackageUserState.java | 7 +-
core/jni/android_util_AssetManager.cpp | 95 ---------------
- include/androidfw/AssetManager.h | 14 +--
+ include/androidfw/AssetManager.h | 15 +--
libs/androidfw/AssetManager.cpp | 112 -----------------
.../com/android/server/SystemServiceManager.java | 24 ++--
.../android/server/am/ActivityManagerService.java | 51 ++++++++
.../android/server/om/OverlayManagerService.java | 61 +++++-----
.../android/server/pm/PackageManagerService.java | 134 ++++-----------------
- .../com/android/server/pm/PackageSettingBase.java | 8 +-
+ .../com/android/server/pm/PackageSettingBase.java | 9 +-
.../core/java/com/android/server/pm/Settings.java | 4 +-
services/java/com/android/server/SystemServer.java | 4 +
- 21 files changed, 335 insertions(+), 480 deletions(-)
+ 21 files changed, 337 insertions(+), 481 deletions(-)
diff --git a/cmds/idmap/Android.mk b/cmds/idmap/Android.mk
-index 50ccb07a382..eb6da18ea0a 100644
+index 50ccb07..eb6da18 100644
--- a/cmds/idmap/Android.mk
+++ b/cmds/idmap/Android.mk
@@ -15,7 +15,7 @@
LOCAL_SHARED_LIBRARIES := liblog libutils libandroidfw
diff --git a/cmds/idmap/idmap.cpp b/cmds/idmap/idmap.cpp
-index 3ab19155362..d388977e8e2 100644
+index 3ab1915..d388977 100644
--- a/cmds/idmap/idmap.cpp
+++ b/cmds/idmap/idmap.cpp
@@ -13,8 +13,6 @@ SYNOPSIS \n\
return maybe_inspect(argv[2]);
}
diff --git a/cmds/idmap/idmap.h b/cmds/idmap/idmap.h
-index 8d4210bcb44..5914de96a99 100644
+index 8d4210b..5914de9 100644
--- a/cmds/idmap/idmap.h
+++ b/cmds/idmap/idmap.h
@@ -25,12 +25,6 @@ int idmap_create_path(const char *target_apk_path, const char *overlay_apk_path,
#endif // _IDMAP_H_
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
-index 50479c8e951..389f3422fb5 100644
+index 50479c8..389f342 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -16,6 +16,7 @@
throws RemoteException {
Parcel data = Parcel.obtain();
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
-index 2d22f26069f..55fc25de68b 100644
+index 2d22f26..55fc25d 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -897,6 +897,14 @@ public final class ActivityThread {
if (configDiff != 0) {
// Ask text layout engine to free its caches if there is a locale change
diff --git a/core/java/android/app/ApplicationThreadNative.java b/core/java/android/app/ApplicationThreadNative.java
-index 05d9d7e412f..47b05eee470 100644
+index 05d9d7e..47b05ee 100644
--- a/core/java/android/app/ApplicationThreadNative.java
+++ b/core/java/android/app/ApplicationThreadNative.java
@@ -16,6 +16,7 @@
Parcel data = Parcel.obtain();
data.writeInterfaceToken(IApplicationThread.descriptor);
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
-index 5a4470b2ecd..c7522b9fc55 100644
+index 5a4470b..c7522b9 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -266,6 +266,7 @@ public interface IActivityManager extends IInterface {
+ int UPDATE_ASSETS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 381;
}
diff --git a/core/java/android/app/IApplicationThread.java b/core/java/android/app/IApplicationThread.java
-index 3fa88ae674a..fcc97e3d719 100644
+index 3fa88ae..fcc97e3 100644
--- a/core/java/android/app/IApplicationThread.java
+++ b/core/java/android/app/IApplicationThread.java
@@ -104,6 +104,7 @@ public interface IApplicationThread extends IInterface {
+ int SCHEDULE_ASSETS_CHANGED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61;
}
diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java
-index 4916c1c1f5c..8cbca31a66c 100644
+index 4916c1c..8cbca31 100644
--- a/core/java/android/app/ResourcesManager.java
+++ b/core/java/android/app/ResourcesManager.java
@@ -29,6 +29,7 @@ import android.content.res.ResourcesImpl;
}
}
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
-index f2e3333b67d..8d42d2c590c 100644
+index f2e3333..77b70135f 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -668,10 +668,9 @@ public class PackageParser {
/**
* Data used to feed the KeySetManagerService
-@@ -5455,6 +5442,7 @@ public class PackageParser {
- ai.enabled = false;
- }
- ai.enabledSetting = state.enabled;
-+ ai.resourceDirs = state.resourceDirs;
+@@ -5458,6 +5445,7 @@ public class PackageParser {
if (state.protectedComponents != null) {
ai.protect = state.protectedComponents.size() > 0;
}
++ ai.resourceDirs = state.resourceDirs;
+ }
+
+ public static ApplicationInfo generateApplicationInfo(Package p, int flags,
diff --git a/core/java/android/content/pm/PackageUserState.java b/core/java/android/content/pm/PackageUserState.java
-index e64e4c4cc5e..4b276fb786f 100644
+index e64e4c4..8357395 100644
--- a/core/java/android/content/pm/PackageUserState.java
+++ b/core/java/android/content/pm/PackageUserState.java
@@ -31,6 +31,8 @@ import android.util.ArraySet;
public PackageUserState() {
installed = true;
hidden = false;
-@@ -76,6 +80,8 @@ public class PackageUserState {
- appLinkGeneration = o.appLinkGeneration;
- disabledComponents = ArrayUtils.cloneOrNull(o.disabledComponents);
- enabledComponents = ArrayUtils.cloneOrNull(o.enabledComponents);
-+ resourceDirs =
-+ o.resourceDirs == null ? null : Arrays.copyOf(o.resourceDirs, o.resourceDirs.length);
- protectedComponents = o.protectedComponents != null
+@@ -80,7 +84,8 @@ public class PackageUserState {
? new ArraySet<String>(o.protectedComponents) : null;
visibleComponents = o.visibleComponents != null
+ ? new ArraySet<String>(o.visibleComponents) : null;
+-
++ resourceDirs =
++ o.resourceDirs == null ? null : Arrays.copyOf(o.resourceDirs, o.resourceDirs.length);
+ }
+
+ /**
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp
-index 1a7294f1424..6c5a88fa827 100644
+index 1a7294f..6c5a88f 100644
--- a/core/jni/android_util_AssetManager.cpp
+++ b/core/jni/android_util_AssetManager.cpp
@@ -129,85 +129,6 @@ jint copyValue(JNIEnv* env, jobject outValue, const ResTable* table,
if (am == NULL) {
jniThrowException(env, "java/lang/OutOfMemoryError", "");
diff --git a/include/androidfw/AssetManager.h b/include/androidfw/AssetManager.h
-index 2d5f4c2f90b..c4991032b73 100644
+index 2d5f4c2..0326e2b 100644
--- a/include/androidfw/AssetManager.h
+++ b/include/androidfw/AssetManager.h
@@ -238,12 +238,10 @@ public:
static Mutex gLock;
static DefaultKeyedVector<String8, wp<SharedZip> > gOpen;
};
-@@ -357,8 +347,6 @@ private:
+@@ -357,9 +347,8 @@ private:
bool isUpToDate();
- void addOverlay(const String8& path, const asset_path& overlay);
- bool getOverlay(const String8& path, size_t idx, asset_path* out) const;
void closeZipFromPath(const String8& zip);
++
private:
void closeZip(int idx);
+
diff --git a/libs/androidfw/AssetManager.cpp b/libs/androidfw/AssetManager.cpp
-index c0e8a980c2d..b9954573d79 100644
+index c0e8a98..b995457 100644
--- a/libs/androidfw/AssetManager.cpp
+++ b/libs/androidfw/AssetManager.cpp
@@ -214,15 +214,6 @@ bool AssetManager::addAssetPath(
* Compute the zip file's index.
*
diff --git a/services/core/java/com/android/server/SystemServiceManager.java b/services/core/java/com/android/server/SystemServiceManager.java
-index 90f507c146b..904c967acdc 100644
+index 90f507c..904c967 100644
--- a/services/core/java/com/android/server/SystemServiceManager.java
+++ b/services/core/java/com/android/server/SystemServiceManager.java
@@ -16,6 +16,7 @@
* Starts the specified boot phase for all system services that have been started up to
* this point.
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
-index a3923b94ef9..f4d07aff3e6 100644
+index a3923b9..f4d07af 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -19344,6 +19344,57 @@ public final class ActivityManagerService extends ActivityManagerNative
* crash, etc dialogs. The idea is that if there is no affordence to
* press the on-screen buttons, or the user experience would be more
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
-index ec148dd9fa7..761ef5240ec 100644
+index ec148dd..761ef52 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -676,37 +676,36 @@ public final class OverlayManagerService extends SystemService {
private void schedulePersistSettings() {
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
-index cfc5a0edd5c..89549231806 100644
+index 7860bbd..1d9a590 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -400,17 +400,16 @@ public class PackageManagerService extends IPackageManager.Stub {
/**
* Tracks new system packages [received in an OTA] that we expect to
* find updated user-installed versions. Keys are package name, values
-@@ -2344,8 +2339,8 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -2347,8 +2342,8 @@ public class PackageManagerService extends IPackageManager.Stub {
File vendorOverlayDir = new File(VENDOR_OVERLAY_DIR);
scanDirTracedLI(vendorOverlayDir, mDefParseFlags
| PackageParser.PARSE_IS_SYSTEM
// Find base frameworks (resource packages without code).
scanDirTracedLI(frameworkDir, mDefParseFlags
-@@ -2402,7 +2397,7 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -2405,7 +2400,7 @@ public class PackageManagerService extends IPackageManager.Stub {
// Collect overlay in <Package>/system/vendor
scanDirLI(new File(RegionalizationSystemDir, "vendor/overlay"),
PackageParser.PARSE_IS_SYSTEM | PackageParser.PARSE_IS_SYSTEM_DIR,
}
}
-@@ -6729,60 +6724,6 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -6732,60 +6727,6 @@ public class PackageManagerService extends IPackageManager.Stub {
return finalList;
}
private void scanDirTracedLI(File dir, final int parseFlags, int scanFlags, long currentTime) {
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "scanDir");
try {
-@@ -6970,10 +6911,6 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -6973,10 +6914,6 @@ public class PackageManagerService extends IPackageManager.Stub {
pp.setOnlyPowerOffAlarmApps(mOnlyPowerOffAlarm);
pp.setDisplayMetrics(mMetrics);
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "parsePackage");
final PackageParser.Package pkg;
try {
-@@ -8206,7 +8143,6 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -8209,7 +8146,6 @@ public class PackageManagerService extends IPackageManager.Stub {
pkg.applicationInfo.privateFlags &=
~ApplicationInfo.PRIVATE_FLAG_DIRECT_BOOT_AWARE;
}
if ((policyFlags&PackageParser.PARSE_IS_PRIVILEGED) != 0) {
pkg.applicationInfo.privateFlags |= ApplicationInfo.PRIVATE_FLAG_PRIVILEGED;
-@@ -8801,7 +8737,6 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -8804,7 +8740,6 @@ public class PackageManagerService extends IPackageManager.Stub {
// writer
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "updateSettings");
synchronized (mPackages) {
// We don't expect installation to fail beyond this point
-@@ -9148,36 +9083,10 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -9151,36 +9086,10 @@ public class PackageManagerService extends IPackageManager.Stub {
}
pkgSetting.setTimeStamp(scanFileTime);
return pkg;
}
-@@ -16624,7 +16533,7 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -16627,7 +16536,7 @@ public class PackageManagerService extends IPackageManager.Stub {
false /*hidden*/, false /*suspended*/, null, null, null,
false /*blockUninstall*/,
ps.readUserState(nextUserId).domainVerificationStatus, 0,
}
}
-@@ -21482,14 +21391,13 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
+@@ -21492,14 +21401,13 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
@Override
public void setResourceDirs(int userId, String packageName, String[] resourceDirs) {
}
diff --git a/services/core/java/com/android/server/pm/PackageSettingBase.java b/services/core/java/com/android/server/pm/PackageSettingBase.java
-index 75427a8b75a..18c79cdda69 100644
+index 75427a8..d0c7f25 100644
--- a/services/core/java/com/android/server/pm/PackageSettingBase.java
+++ b/services/core/java/com/android/server/pm/PackageSettingBase.java
@@ -21,6 +21,7 @@ import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED
import android.content.pm.IntentFilterVerificationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageUserState;
-@@ -379,7 +380,7 @@ abstract class PackageSettingBase extends SettingBase {
- boolean notLaunched, boolean hidden, boolean suspended,
+@@ -380,7 +381,8 @@ abstract class PackageSettingBase extends SettingBase {
String lastDisableAppCaller, ArraySet<String> enabledComponents,
ArraySet<String> disabledComponents, boolean blockUninstall, int domainVerifState,
-- int linkGeneration,
-+ int linkGeneration, String[] resourceDirs,
- ArraySet<String> protectedComponents, ArraySet<String> visibleComponents) {
+ int linkGeneration,
+- ArraySet<String> protectedComponents, ArraySet<String> visibleComponents) {
++ ArraySet<String> protectedComponents, ArraySet<String> visibleComponents,
++ String[] resourceDirs) {
PackageUserState state = modifyUserState(userId);
state.ceDataInode = ceDataInode;
-@@ -395,6 +396,7 @@ abstract class PackageSettingBase extends SettingBase {
- state.blockUninstall = blockUninstall;
- state.domainVerificationStatus = domainVerifState;
+ state.enabled = enabled;
+@@ -397,6 +399,7 @@ abstract class PackageSettingBase extends SettingBase {
state.appLinkGeneration = linkGeneration;
-+ state.resourceDirs = resourceDirs;
state.protectedComponents = protectedComponents;
state.visibleComponents = visibleComponents;
++ state.resourceDirs = resourceDirs;
}
-@@ -455,6 +457,10 @@ abstract class PackageSettingBase extends SettingBase {
+
+ ArraySet<String> getEnabledComponents(int userId) {
+@@ -455,6 +458,10 @@ abstract class PackageSettingBase extends SettingBase {
modifyUserStateComponents(userId, false, true).enabledComponents.add(componentClassName);
}
PackageUserState state = modifyUserStateComponents(userId, false, true);
boolean changed = state.disabledComponents != null
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
-index 285b5bbf3ec..2b36e0e0e4d 100755
+index 285b5bb..f00080c 100755
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -813,6 +813,7 @@ final class Settings {
null
);
}
-@@ -1726,7 +1728,7 @@ final class Settings {
-
+@@ -1727,7 +1729,7 @@ final class Settings {
ps.setUserState(userId, ceDataInode, enabled, installed, stopped, notLaunched,
hidden, suspended, enabledCaller, enabledComponents, disabledComponents,
-- blockUninstall, verifState, linkGeneration,
-+ blockUninstall, verifState, linkGeneration, null,
- protectedComponents, visibleComponents);
+ blockUninstall, verifState, linkGeneration,
+- protectedComponents, visibleComponents);
++ protectedComponents, visibleComponents, null);
} else if (tagName.equals("preferred-activities")) {
readPreferredActivitiesLPw(parser, userId);
+ } else if (tagName.equals(TAG_PERSISTENT_PREFERRED_ACTIVITIES)) {
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
-index 6f2141708ed..ab425c05e95 100644
+index 6f21417..ab425c0 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -85,6 +85,7 @@ import com.android.server.media.projection.MediaProjectionManagerService;
// service, and permissions service, therefore we start it after them.
startSensorService();
--
-2.11.1
+2.9.3
-From ed383d26424a1787cbd06629d0b71a6858eb970d Mon Sep 17 00:00:00 2001
+From c55ae74be951a94f19d9e2f97b2f74156dabe718 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/45] OMS7-N: Set EXTRA_REPLACING correctly in
+Subject: [PATCH 04/42] OMS7-N: Set EXTRA_REPLACING correctly in
ACTION_PACKAGE_ADDED [4/11]
When broadcasting ACTION_PACKAGE_ADDED the recipients of the Intent are
1 file changed, 1 insertion(+)
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
-index 89549231806..3abcdbb19d2 100644
+index 1d9a590..f1dfbae 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
-@@ -1715,6 +1715,7 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -1718,6 +1718,7 @@ public class PackageManagerService extends IPackageManager.Stub {
// Send added for users that don't see the package for the first time
if (update) {
}
sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED, packageName,
--
-2.11.1
+2.9.3
-From f8889f2970a1abd1c4847035a6eda28a06486c3f Mon Sep 17 00:00:00 2001
+From cca20e72b03339f1084d69dc89d13d96bd2529df 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/45] OMS7-N: idmap: suppress print for padded resources
+Subject: [PATCH 05/42] OMS7-N: idmap: suppress print for padded resources
[5/11]
Change-Id: I565ccf515068b96927e4317cc9c06543415bb324
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/cmds/idmap/inspect.cpp b/cmds/idmap/inspect.cpp
-index 924090fbb9d..cb52a394427 100644
+index 924090f..cb52a39 100644
--- a/cmds/idmap/inspect.cpp
+++ b/cmds/idmap/inspect.cpp
@@ -289,7 +289,9 @@ namespace {
}
--
-2.11.1
+2.9.3
-From 3f8902d99fc8e7b1d3d294349db065ed71f46936 Mon Sep 17 00:00:00 2001
+From 1a29f1792ba225dd491f43d3ade34ee6366ea4c0 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/45] OMS7-N: Fix memory leak during idmap creation [6/11]
+Subject: [PATCH 06/42] OMS7-N: Fix memory leak during idmap creation [6/11]
Plug a memory leak in AssetManager::createIdmap.
1 file changed, 25 insertions(+), 13 deletions(-)
diff --git a/libs/androidfw/AssetManager.cpp b/libs/androidfw/AssetManager.cpp
-index b9954573d79..ef580e386ab 100644
+index b995457..ef580e3 100644
--- a/libs/androidfw/AssetManager.cpp
+++ b/libs/androidfw/AssetManager.cpp
@@ -291,22 +291,34 @@ bool AssetManager::createIdmap(const char* targetApkPath, const char* overlayApk
bool AssetManager::addDefaultAssets()
--
-2.11.1
+2.9.3
-From 77e70e046ea44a3fe57af2c53747f16d37df4c0b Mon Sep 17 00:00:00 2001
+From 7c06a1ac96cdbd3cd0bf68813edee118adc6338d 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/45] OMS7-N: installd: add command 'rmidmap' [7/11]
+Subject: [PATCH 07/42] 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
1 file changed, 7 insertions(+)
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java
-index 2e18b1c417f..7f618b8134b 100644
+index 2e18b1c..7f618b8 100644
--- a/services/core/java/com/android/server/pm/Installer.java
+++ b/services/core/java/com/android/server/pm/Installer.java
@@ -170,6 +170,13 @@ public final class Installer extends SystemService {
assertValidInstructionSet(instructionSet);
mInstaller.execute("rmdex", codePath, instructionSet);
--
-2.11.1
+2.9.3
-From 30a80a1bc345caab58ccaf5e00c460ed43604540 Mon Sep 17 00:00:00 2001
+From 8ba04dc55f9be19336dfba92db5b9761b7ef4828 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/45] OMS7-N: Disable Zygote preloaded drawables [8/11]
+Subject: [PATCH 08/42] 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
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
-index 20f84b52d19..455849e0c19 100644
+index 20f84b5..455849e 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -108,7 +108,7 @@ public class ZygoteInit {
mResources.finishPreloading();
} catch (RuntimeException e) {
--
-2.11.1
+2.9.3
-From 5a3a75f20bb450999384f8a3d5bf91eb6f921ad5 Mon Sep 17 00:00:00 2001
+From 86352b365ebc436025efd731970432fd4b5e9493 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/45] OMS7-N: Persistence on boot through
+Subject: [PATCH 09/42] OMS7-N: Persistence on boot through
OverlayManagerServiceImpl [9/11]
Overlays should not be enforced by the traditional OverlayManagerService
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java b/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
-index 2a0d88b416d..4c6196824cf 100644
+index 2a0d88b..4c61968 100644
--- a/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
+++ b/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
@@ -402,34 +402,45 @@ final class OverlayManagerServiceImpl {
private void removeIdmapIfPossible(@NonNull final OverlayInfo oi) {
--
-2.11.1
+2.9.3
-From b3f1d015b1582b75c0d6c447d99fa2972a03f890 Mon Sep 17 00:00:00 2001
+From aaa0557792eacf970fa7a1288e7d3aacce1f9a38 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/45] OMS7-N: Do not enforce code policy limiting overlay
+Subject: [PATCH 10/42] OMS7-N: Do not enforce code policy limiting overlay
installation [10/11]
Change-Id: Iea317f3771f25dbfcbf4938e88cace12fd97d7eb
1 file changed, 4 deletions(-)
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
-index 3abcdbb19d2..faaff1f08a2 100644
+index f1dfbae..a57b79a 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
-@@ -8149,10 +8149,6 @@ public class PackageManagerService extends IPackageManager.Stub {
+@@ -8152,10 +8152,6 @@ public class PackageManagerService extends IPackageManager.Stub {
pkg.applicationInfo.privateFlags |= ApplicationInfo.PRIVATE_FLAG_PRIVILEGED;
}
mCustomResolverComponentName.getPackageName().equals(pkg.packageName)) {
setUpCustomResolverActivity(pkg);
--
-2.11.1
+2.9.3
-From 7eb82b22b707e5a090ad1b6070621fdf8d2cfca8 Mon Sep 17 00:00:00 2001
+From 06bfbbb1324d1d492c3ea5a72d3d502acd5fa584 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/45] OMS7-N: Implement multi-target enable/disable and
+Subject: [PATCH 11/42] 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
5 files changed, 161 insertions(+), 44 deletions(-)
diff --git a/core/java/android/content/om/IOverlayManager.aidl b/core/java/android/content/om/IOverlayManager.aidl
-index 4f5d96038d1..8e349dcf6ca 100644
+index 4f5d960..8e349dc 100644
--- a/core/java/android/content/om/IOverlayManager.aidl
+++ b/core/java/android/content/om/IOverlayManager.aidl
@@ -83,10 +83,12 @@ interface IOverlayManager {
+ void refresh(in int uid);
}
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
-index 761ef5240ec..deb9046a2d4 100644
+index 761ef52..deb9046 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -255,7 +255,7 @@ public final class OverlayManagerService extends SystemService {
final boolean updateFrameworkRes = targetPackageNames.contains("android");
if (updateFrameworkRes) {
diff --git a/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java b/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
-index 4c6196824cf..c5156403b3f 100644
+index 4c61968..c515640 100644
--- a/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
+++ b/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
@@ -324,7 +324,7 @@ final class OverlayManagerServiceImpl {
}
diff --git a/services/core/java/com/android/server/om/OverlayManagerSettings.java b/services/core/java/com/android/server/om/OverlayManagerSettings.java
-index af0bb64bd67..935ea02890b 100644
+index af0bb64..935ea02 100644
--- a/services/core/java/com/android/server/om/OverlayManagerSettings.java
+++ b/services/core/java/com/android/server/om/OverlayManagerSettings.java
@@ -76,7 +76,7 @@ final class OverlayManagerSettings {
}
diff --git a/services/core/java/com/android/server/om/OverlayManagerShellCommand.java b/services/core/java/com/android/server/om/OverlayManagerShellCommand.java
-index d6f53737913..44004c140a4 100644
+index d6f5373..44004c1 100644
--- a/services/core/java/com/android/server/om/OverlayManagerShellCommand.java
+++ b/services/core/java/com/android/server/om/OverlayManagerShellCommand.java
@@ -25,8 +25,10 @@ import android.os.ShellCommand;
private int runSetPriority() throws RemoteException {
--
-2.11.1
+2.9.3
-From e428fe8691ab5d97c72ba1dc87a27611c49d64ef Mon Sep 17 00:00:00 2001
+From 7b1552ee2ed76963296292ea14612993a31f9500 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/45] Themes: Expose resolver hardcoded colors
+Subject: [PATCH 12/42] Themes: Expose resolver hardcoded colors
commit dbbd5e70cc65002df41561474b03362022dd6716
Author: Dave Kover <dkover@cyngn.com>
create mode 100644 core/res/res/values/projekt_colors.xml
diff --git a/core/res/res/layout/chooser_grid.xml b/core/res/res/layout/chooser_grid.xml
-index d8dd447e6a7..78c2e05f372 100644
+index d8dd447..78c2e05 100644
--- a/core/res/res/layout/chooser_grid.xml
+++ b/core/res/res/layout/chooser_grid.xml
@@ -31,7 +31,7 @@
android:padding="32dp"
android:gravity="center"
diff --git a/core/res/res/layout/resolver_different_item_header.xml b/core/res/res/layout/resolver_different_item_header.xml
-index 58891363e20..201c8c686fe 100644
+index 5889136..201c8c6 100644
--- a/core/res/res/layout/resolver_different_item_header.xml
+++ b/core/res/res/layout/resolver_different_item_header.xml
@@ -29,6 +29,6 @@
android:elevation="8dp"
/>
diff --git a/core/res/res/layout/resolver_list.xml b/core/res/res/layout/resolver_list.xml
-index c4e8e9cb63b..1b6230a5a09 100644
+index c4e8e9c..1b6230a 100644
--- a/core/res/res/layout/resolver_list.xml
+++ b/core/res/res/layout/resolver_list.xml
@@ -30,7 +30,7 @@
android:paddingBottom="8dp"
android:paddingStart="12dp"
diff --git a/core/res/res/layout/resolver_list_with_default.xml b/core/res/res/layout/resolver_list_with_default.xml
-index 02dc2ede430..d3baf682fe0 100644
+index 02dc2ed..d3baf68 100644
--- a/core/res/res/layout/resolver_list_with_default.xml
+++ b/core/res/res/layout/resolver_list_with_default.xml
@@ -29,7 +29,7 @@
android:divider="@null" />
diff --git a/core/res/res/values/projekt_colors.xml b/core/res/res/values/projekt_colors.xml
new file mode 100644
-index 00000000000..c6dbc1ca1c9
+index 0000000..c6dbc1c
--- /dev/null
+++ b/core/res/res/values/projekt_colors.xml
@@ -0,0 +1,20 @@
+ <color name="resolver_list_bg">@color/white</color>
+</resources>
--
-2.11.1
+2.9.3
-From fcb7a4329a95e2edc29986b27720b514a7235017 Mon Sep 17 00:00:00 2001
+From 2ecc0b5270d86d0a9af8aacc246d8aaa68267649 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/45] Themes: Allow Immersive cling colors to be fully themed
+Subject: [PATCH 13/42] 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
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/core/res/res/layout/immersive_mode_cling.xml b/core/res/res/layout/immersive_mode_cling.xml
-index b08b0f4d59c..6dbde20d481 100644
+index b08b0f4..6dbde20 100644
--- a/core/res/res/layout/immersive_mode_cling.xml
+++ b/core/res/res/layout/immersive_mode_cling.xml
@@ -16,7 +16,7 @@
\ No newline at end of file
+</RelativeLayout>
diff --git a/core/res/res/values/projekt_colors.xml b/core/res/res/values/projekt_colors.xml
-index c6dbc1ca1c9..7408ae99682 100644
+index c6dbc1c..7408ae9 100644
--- a/core/res/res/values/projekt_colors.xml
+++ b/core/res/res/values/projekt_colors.xml
@@ -17,4 +17,7 @@
+ <color name="immersive_cling_button_text_color">@android:color/white</color>
</resources>
--
-2.11.1
+2.9.3
-From d4e7c67ed53aed6475555c7ed5bf6660aa92fcd3 Mon Sep 17 00:00:00 2001
+From 6ad7fce1c7b6e8f5f9fe5110d711a461862427d0 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/45] Themes: Allow Permission Icons to be fully themed
+Subject: [PATCH 14/42] 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.
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/core/res/res/layout/app_permission_item.xml b/core/res/res/layout/app_permission_item.xml
-index 383d771074e..a80d40efd2b 100644
+index 383d771..a80d40e 100644
--- a/core/res/res/layout/app_permission_item.xml
+++ b/core/res/res/layout/app_permission_item.xml
@@ -32,7 +32,7 @@
<ImageView
android:layout_width="wrap_content"
diff --git a/core/res/res/values/projekt_colors.xml b/core/res/res/values/projekt_colors.xml
-index 7408ae99682..a7316ab979c 100644
+index 7408ae9..a7316ab 100644
--- a/core/res/res/values/projekt_colors.xml
+++ b/core/res/res/values/projekt_colors.xml
@@ -20,4 +20,5 @@
+ <color name="app_permission_icon_tint">@android:color/black</color>
</resources>
--
-2.11.1
+2.9.3
-From 88b94c2fb97f178d8c56ab85fbbbdb074d525011 Mon Sep 17 00:00:00 2001
+From 8876a0aa62178dc7585af7708c2d6223bd370c1a 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/45] Themes: Allow Navbar ripple color to be themed
+Subject: [PATCH 15/42] Themes: Allow Navbar ripple color to be themed
PS1:
Layers Commit by @setiawanjimmy
diff --git a/packages/SystemUI/res/values/projekt_colors.xml b/packages/SystemUI/res/values/projekt_colors.xml
new file mode 100644
-index 00000000000..a0f1df06b6a
+index 0000000..a0f1df0
--- /dev/null
+++ b/packages/SystemUI/res/values/projekt_colors.xml
@@ -0,0 +1,21 @@
+ <color name="navbutton_ripple_color">#FFFFFFFF</color>
+</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonRipple.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonRipple.java
-index 57e092a2603..2579579b0e7 100644
+index 57e092a..2579579 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonRipple.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonRipple.java
@@ -65,16 +65,19 @@ public class KeyButtonRipple extends Drawable {
return mRipplePaint;
}
--
-2.11.1
+2.9.3
-From 5a3026dde3ee562bdee02c60aebf979439c4691d Mon Sep 17 00:00:00 2001
+From 9477253b8b3f4e282483087f204160dece3e4428 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/45] SystemUI: Expose QS edit item decoration background
+Subject: [PATCH 16/42] SystemUI: Expose QS edit item decoration background
color
PS2:
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/packages/SystemUI/res/values/projekt_colors.xml b/packages/SystemUI/res/values/projekt_colors.xml
-index a0f1df06b6a..42f4a1568df 100644
+index a0f1df0..42f4a15 100644
--- a/packages/SystemUI/res/values/projekt_colors.xml
+++ b/packages/SystemUI/res/values/projekt_colors.xml
@@ -18,4 +18,6 @@
+ <color name="qs_edit_item_decoration_bg">@*android:color/secondary_device_default_settings</color>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java
-index 8d7f6ee7285..c7a1441a6b3 100644
+index 8d7f6ee..c7a1441 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java
@@ -471,11 +471,10 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
mDrawable.setBounds(0, top, width, bottom);
mDrawable.draw(c);
--
-2.11.1
+2.9.3
-From 7d58a5685b68031f2d79f3864fd19bf768ece4ee Mon Sep 17 00:00:00 2001
+From 8fc38c23be0ec9307c342bc86b341cc6ae6a41a1 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/45] Allow custom alpha for notification shade bg color
+Subject: [PATCH 17/42] Allow custom alpha for notification shade bg color
Change-Id: If621df83d994feae0448a734408ba85ac8329325
---
1 file changed, 27 insertions(+), 13 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
-index a6fe4382475..5cf0e0a1e10 100644
+index a6fe438..5cf0e0a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -430,19 +430,33 @@ public class NotificationStackScrollLayout extends ViewGroup
invalidate();
}
--
-2.11.1
+2.9.3
-From e8f79d55a9f209da2be2cd2c6eeeb5c040c0105b Mon Sep 17 00:00:00 2001
+From 30bf956d73cf8598d67a2ddd1156f77085a20aa2 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/45] Themes: Expose various QuickSettings text colors
+Subject: [PATCH 18/42] Themes: Expose various QuickSettings text colors
Change-Id: Iaea71ca83afbc3d8cc6faea6afac16cabb46cfff
---
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/packages/SystemUI/res/layout/qs_customize_panel_content.xml b/packages/SystemUI/res/layout/qs_customize_panel_content.xml
-index 04d0e6524ea..9c232502651 100644
+index 04d0e65..9c23250 100644
--- a/packages/SystemUI/res/layout/qs_customize_panel_content.xml
+++ b/packages/SystemUI/res/layout/qs_customize_panel_content.xml
@@ -23,7 +23,8 @@
<android.support.v7.widget.RecyclerView
android:id="@android:id/list"
diff --git a/packages/SystemUI/res/layout/status_bar_alarm_group.xml b/packages/SystemUI/res/layout/status_bar_alarm_group.xml
-index 1b47d4b5a19..dca8afb8cb8 100644
+index 1b47d4b..dca8afb 100644
--- a/packages/SystemUI/res/layout/status_bar_alarm_group.xml
+++ b/packages/SystemUI/res/layout/status_bar_alarm_group.xml
@@ -73,7 +73,7 @@
android:gravity="top"
android:background="?android:attr/selectableItemBackgroundBorderless"
diff --git a/packages/SystemUI/res/values/projekt_colors.xml b/packages/SystemUI/res/values/projekt_colors.xml
-index 42f4a1568df..0f891994c9d 100644
+index 42f4a15..0f89199 100644
--- a/packages/SystemUI/res/values/projekt_colors.xml
+++ b/packages/SystemUI/res/values/projekt_colors.xml
@@ -20,4 +20,8 @@
+ <color name="qs_edit_toolbar_text_color">#FFFFFF</color>
</resources>
--
-2.11.1
+2.9.3
-From bb216afed77d1c7349149df59ba5eca0445002b2 Mon Sep 17 00:00:00 2001
+From c73759dcac1c4ef9785958f9520eb67e3eca3b6a 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/45] Notifications: Expose a bool to disable dynamic colors
+Subject: [PATCH 19/42] 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
create mode 100644 core/res/res/values/projekt_symbols.xml
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
-index 9f217d48aa8..55029aad4ae 100644
+index 9f217d4..55029aa 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -29,6 +29,7 @@ import android.content.pm.ApplicationInfo;
}
CharSequence text = m.mText == null ? "" : m.mText;
diff --git a/core/res/res/values/projekt_colors.xml b/core/res/res/values/projekt_colors.xml
-index a7316ab979c..d17fbba053d 100644
+index a7316ab..d17fbba 100644
--- a/core/res/res/values/projekt_colors.xml
+++ b/core/res/res/values/projekt_colors.xml
@@ -21,4 +21,6 @@
</resources>
diff --git a/core/res/res/values/projekt_config.xml b/core/res/res/values/projekt_config.xml
new file mode 100644
-index 00000000000..f6eb90a49eb
+index 0000000..f6eb90a
--- /dev/null
+++ b/core/res/res/values/projekt_config.xml
@@ -0,0 +1,25 @@
+</resources>
diff --git a/core/res/res/values/projekt_symbols.xml b/core/res/res/values/projekt_symbols.xml
new file mode 100644
-index 00000000000..f597a5f3f7b
+index 0000000..f597a5f
--- /dev/null
+++ b/core/res/res/values/projekt_symbols.xml
@@ -0,0 +1,25 @@
+
+</resources>
--
-2.11.1
+2.9.3
-From 258c2c2b1ceaa81888604097249b28a3723834ff Mon Sep 17 00:00:00 2001
+From b7ea2bb030773f7100c91c233d4644f11fc12b1d 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/45] Notification dynamic colors bool compatible with OMS7
+Subject: [PATCH 20/42] 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
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
-index 55029aad4ae..67c2132b667 100644
+index 55029aa..67c2132 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -3918,7 +3918,7 @@ public class Notification implements Parcelable
}
--
-2.11.1
+2.9.3
-From edd465d7af676b267a995312f615bf76d7cc4661 Mon Sep 17 00:00:00 2001
+From d05f1f1d23dbba179cc81afc64ebb7335f4a9d94 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/45] Allow prevention of doze notification color inversion
+Subject: [PATCH 21/42] Allow prevention of doze notification color inversion
Removed empty newline at the end -- KreAch3R
Removed slims files for aosp roms -- Bgill55
3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/core/res/res/values/projekt_config.xml b/core/res/res/values/projekt_config.xml
-index f6eb90a49eb..5234959fc9e 100644
+index f6eb90a..5234959 100644
--- a/core/res/res/values/projekt_config.xml
+++ b/core/res/res/values/projekt_config.xml
@@ -22,4 +22,9 @@
+
</resources>
diff --git a/core/res/res/values/projekt_symbols.xml b/core/res/res/values/projekt_symbols.xml
-index f597a5f3f7b..16a5728e6c9 100644
+index f597a5f..16a5728 100644
--- a/core/res/res/values/projekt_symbols.xml
+++ b/core/res/res/values/projekt_symbols.xml
@@ -22,4 +22,7 @@
+
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
-index 2c96e31d9f5..65fd1158b95 100644
+index 2c96e31..65fd115 100644
--- a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
@@ -20,6 +20,7 @@ import android.animation.Animator;
for (int i = 0; i < mTargets.size(); i++) {
mTargets.get(i).setLayerType(View.LAYER_TYPE_HARDWARE, mDarkPaint);
--
-2.11.1
+2.9.3
-From ce6c1809f6799b640de8eeee4cc5181f2d558206 Mon Sep 17 00:00:00 2001
+From da2da4fb97e61e83771ac5c6cd573b21f7ed31d2 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/45] OMS7 compatible 'Ambient notification inversion'
+Subject: [PATCH 22/42] 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
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
-index 65fd1158b95..605f381e9e2 100644
+index 65fd115..605f381 100644
--- a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
@@ -20,7 +20,6 @@ import android.animation.Animator;
for (int i = 0; i < mTargets.size(); i++) {
mTargets.get(i).setLayerType(View.LAYER_TYPE_HARDWARE, mDarkPaint);
--
-2.11.1
+2.9.3
-From 5beb75233e577eb6cd6c4bbeb888bc866d89ac93 Mon Sep 17 00:00:00 2001
+From fcabf2291266fe9f9ac8db4d54eba607665874c0 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/45] SystemUI: Use own drawables for QS expand icon
+Subject: [PATCH 23/42] 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
diff --git a/packages/SystemUI/res/anim/ic_qs_collapse_chevron_02_animation.xml b/packages/SystemUI/res/anim/ic_qs_collapse_chevron_02_animation.xml
new file mode 100644
-index 00000000000..443f2a651e5
+index 0000000..443f2a6
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_qs_collapse_chevron_02_animation.xml
@@ -0,0 +1,25 @@
\ No newline at end of file
diff --git a/packages/SystemUI/res/anim/ic_qs_collapse_rectangle_1_animation.xml b/packages/SystemUI/res/anim/ic_qs_collapse_rectangle_1_animation.xml
new file mode 100644
-index 00000000000..b73cdcad154
+index 0000000..b73cdca
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_qs_collapse_rectangle_1_animation.xml
@@ -0,0 +1,26 @@
+</set>
diff --git a/packages/SystemUI/res/anim/ic_qs_collapse_rectangle_2_animation.xml b/packages/SystemUI/res/anim/ic_qs_collapse_rectangle_2_animation.xml
new file mode 100644
-index 00000000000..91c83fc5eff
+index 0000000..91c83fc
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_qs_collapse_rectangle_2_animation.xml
@@ -0,0 +1,26 @@
+</set>
diff --git a/packages/SystemUI/res/anim/ic_qs_expand_chevron_01_animation.xml b/packages/SystemUI/res/anim/ic_qs_expand_chevron_01_animation.xml
new file mode 100644
-index 00000000000..e43e6453d82
+index 0000000..e43e645
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_qs_expand_chevron_01_animation.xml
@@ -0,0 +1,25 @@
\ No newline at end of file
diff --git a/packages/SystemUI/res/anim/ic_qs_expand_rectangle_3_animation.xml b/packages/SystemUI/res/anim/ic_qs_expand_rectangle_3_animation.xml
new file mode 100644
-index 00000000000..493bdae7900
+index 0000000..493bdae
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_qs_expand_rectangle_3_animation.xml
@@ -0,0 +1,26 @@
+</set>
diff --git a/packages/SystemUI/res/anim/ic_qs_expand_rectangle_4_animation.xml b/packages/SystemUI/res/anim/ic_qs_expand_rectangle_4_animation.xml
new file mode 100644
-index 00000000000..58e485c9c74
+index 0000000..58e485c
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_qs_expand_rectangle_4_animation.xml
@@ -0,0 +1,26 @@
+</set>
diff --git a/packages/SystemUI/res/drawable/ic_qs_collapse.xml b/packages/SystemUI/res/drawable/ic_qs_collapse.xml
new file mode 100644
-index 00000000000..bba6b7f1341
+index 0000000..bba6b7f
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_qs_collapse.xml
@@ -0,0 +1,62 @@
+</vector>
diff --git a/packages/SystemUI/res/drawable/ic_qs_collapse_animation.xml b/packages/SystemUI/res/drawable/ic_qs_collapse_animation.xml
new file mode 100644
-index 00000000000..8138b2e9cff
+index 0000000..8138b2e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_qs_collapse_animation.xml
@@ -0,0 +1,29 @@
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_qs_expand.xml b/packages/SystemUI/res/drawable/ic_qs_expand.xml
new file mode 100644
-index 00000000000..bb220641e81
+index 0000000..bb22064
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_qs_expand.xml
@@ -0,0 +1,62 @@
+</vector>
diff --git a/packages/SystemUI/res/drawable/ic_qs_expand_animation.xml b/packages/SystemUI/res/drawable/ic_qs_expand_animation.xml
new file mode 100644
-index 00000000000..b561ee06ad8
+index 0000000..b561ee0
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_qs_expand_animation.xml
@@ -0,0 +1,29 @@
+</animated-vector>
diff --git a/packages/SystemUI/res/interpolator/ic_qs_collapse_animation_interpolator_0.xml b/packages/SystemUI/res/interpolator/ic_qs_collapse_animation_interpolator_0.xml
new file mode 100644
-index 00000000000..c3930e42cda
+index 0000000..c3930e4
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_qs_collapse_animation_interpolator_0.xml
@@ -0,0 +1,17 @@
+ android:pathData="M 0.0,0.0 c 0.0001,0.0 0.0,1.0 1.0,1.0" />
diff --git a/packages/SystemUI/res/interpolator/ic_qs_expand_animation_interpolator_0.xml b/packages/SystemUI/res/interpolator/ic_qs_expand_animation_interpolator_0.xml
new file mode 100644
-index 00000000000..c3930e42cda
+index 0000000..c3930e4
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_qs_expand_animation_interpolator_0.xml
@@ -0,0 +1,17 @@
+<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
+ android:pathData="M 0.0,0.0 c 0.0001,0.0 0.0,1.0 1.0,1.0" />
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ExpandableIndicator.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ExpandableIndicator.java
-index a295cfacbbc..0f04c28b98c 100644
+index a295cfa..0f04c28 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ExpandableIndicator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ExpandableIndicator.java
@@ -57,11 +57,11 @@ public class ExpandableIndicator extends ImageView {
}
--
-2.11.1
+2.9.3
-From c8d48b032e7a0541fc2909c6f448ff3a0f01c59f Mon Sep 17 00:00:00 2001
+From 8c8faa693f271deb6db33ccf44fc9f094311bc90 Mon Sep 17 00:00:00 2001
From: 0xD34D <clark@scheffsblend.com>
-Date: Mon, 9 Jan 2017 07:19:41 +0530
-Subject: [PATCH 24/45] N-Extras: Add dynamic theme BootAnimation support
+Date: Mon, 20 Jun 2016 22:59:48 +0300
+Subject: [PATCH 24/42] N-Extras: Add dynamic theme BootAnimation support
Extracted from "Themes: Port to CM13 [1/3]"
http://review.cyanogenmod.org/#/c/113273/14
Change-Id: I394897c10f02695f0416e87e9bf960e840bcb3b7
---
- cmds/bootanimation/BootAnimation.cpp | 11 ++++++++---
- cmds/bootanimation/BootAnimation.h | 3 ++-
- 2 files changed, 10 insertions(+), 4 deletions(-)
+ cmds/bootanimation/BootAnimation.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
-index d4a9326fc0d..dfa70e3e44c 100644
+index d4a9326..57e1992 100644
--- a/cmds/bootanimation/BootAnimation.cpp
+++ b/cmds/bootanimation/BootAnimation.cpp
@@ -68,6 +68,7 @@ namespace android {
static const char SYSTEM_DATA_DIR_PATH[] = "/data/system";
static const char SYSTEM_TIME_DIR_NAME[] = "time";
static const char SYSTEM_TIME_DIR_PATH[] = "/data/system/time";
-@@ -250,13 +251,14 @@ status_t BootAnimation::initTexture(const Animation::Frame& frame)
-
-
- // Get bootup Animation File
--// Parameter: ImageID: IMG_OEM IMG_SYS IMG_ENC
-+// Parameter: ImageID: IMG_OEM IMG_SYS IMG_ENC IMG_THM
- // Return Value : File path
- const char *BootAnimation::getAnimationFileName(ImageID image)
- {
-- const char *fileName[3] = { OEM_BOOTANIMATION_FILE,
-+ const char *fileName[4] = { OEM_BOOTANIMATION_FILE,
- SYSTEM_BOOTANIMATION_FILE,
-- SYSTEM_ENCRYPTED_BOOTANIMATION_FILE };
-+ SYSTEM_ENCRYPTED_BOOTANIMATION_FILE,
-+ THEME_BOOTANIMATION_FILE };
-
- // Load animations of Carrier through regionalization environment
- if (Environment::isSupported()) {
-@@ -341,6 +343,9 @@ status_t BootAnimation::readyToRun() {
+@@ -341,6 +342,9 @@ status_t BootAnimation::readyToRun() {
if (encryptedAnimation && (access(getAnimationFileName(IMG_ENC), R_OK) == 0)) {
mZipFileName = getAnimationFileName(IMG_ENC);
}
-+ else if (access(getAnimationFileName(IMG_THM), R_OK) == 0) {
-+ mZipFileName = getAnimationFileName(IMG_THM);
++ else if (access(THEME_BOOTANIMATION_FILE, R_OK) == 0) {
++ mZipFileName = THEME_BOOTANIMATION_FILE;
+ }
else if (access(getAnimationFileName(IMG_OEM), R_OK) == 0) {
mZipFileName = getAnimationFileName(IMG_OEM);
}
-diff --git a/cmds/bootanimation/BootAnimation.h b/cmds/bootanimation/BootAnimation.h
-index c0ae6b6edb1..e779246da46 100644
---- a/cmds/bootanimation/BootAnimation.h
-+++ b/cmds/bootanimation/BootAnimation.h
-@@ -114,8 +114,9 @@ private:
- *IMG_OEM: bootanimation file from oem/media
- *IMG_SYS: bootanimation file from system/media
- *IMG_ENC: encrypted bootanimation file from system/media
-+ *IMG_THM: bootanimation file from data/system/theme
- */
-- enum ImageID { IMG_OEM = 0, IMG_SYS = 1, IMG_ENC = 2 };
-+ enum ImageID { IMG_OEM = 0, IMG_SYS = 1, IMG_ENC = 2, IMG_THM = 3 };
- const char *getAnimationFileName(ImageID image);
- status_t initTexture(Texture* texture, AssetManager& asset, const char* name);
- status_t initTexture(const Animation::Frame& frame);
--
-2.11.1
+2.9.3
-From 5dae5610d22e8fc2cc85c454f07d01b6902e6927 Mon Sep 17 00:00:00 2001
+From 85f513176bc75a55eb2c6681994e5ce0315e5745 Mon Sep 17 00:00:00 2001
From: 0xD34D <clark@scheffsblend.com>
Date: Wed, 22 Jun 2016 23:54:23 +0300
-Subject: [PATCH 25/45] N-Extras: Add dynamic theme fonts support
+Subject: [PATCH 25/42] 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
8 files changed, 240 insertions(+), 27 deletions(-)
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
-index 55fc25de68b..44a900b3a1f 100644
+index 55fc25d..44a900b 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -48,6 +48,7 @@ import android.database.sqlite.SQLiteDebug;
}
}
diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java
-index 5a09c0028cd..42febcfe59c 100644
+index 5a09c00..42febcf 100644
--- a/core/java/android/content/pm/ActivityInfo.java
+++ b/core/java/android/content/pm/ActivityInfo.java
@@ -624,6 +624,11 @@ public class ActivityInfo extends ComponentInfo
* can itself handle changes to the font scaling factor. Set from the
* {@link android.R.attr#configChanges} attribute. This is
diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java
-index b2d518c56ca..2f7c3ec18dc 100644
+index b2d518c..2f7c3ec 100644
--- a/core/java/android/content/res/Configuration.java
+++ b/core/java/android/content/res/Configuration.java
@@ -955,6 +955,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
/**
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
-index e1b7fdad25e..6dcd045b07f 100644
+index e1b7fda..6dcd045 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -516,11 +516,12 @@ public class Process {
//TODO optionally enable debuger
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java
-index 85d84bb3f98..81257f0d341 100644
+index 85d84bb..81257f0 100644
--- a/core/java/com/android/internal/os/ZygoteConnection.java
+++ b/core/java/com/android/internal/os/ZygoteConnection.java
@@ -22,6 +22,7 @@ import static android.system.OsConstants.STDERR_FILENO;
break;
}
diff --git a/graphics/java/android/graphics/FontListParser.java b/graphics/java/android/graphics/FontListParser.java
-index 7871aa81dde..f4590c94647 100644
+index 7871aa8..f4590c9 100644
--- a/graphics/java/android/graphics/FontListParser.java
+++ b/graphics/java/android/graphics/FontListParser.java
@@ -21,6 +21,9 @@ import android.util.Xml;
return new Font(fullFilename, index, axes, weight, isItalic);
}
diff --git a/graphics/java/android/graphics/Typeface.java b/graphics/java/android/graphics/Typeface.java
-index 2886f0dd4a2..990c9bd1fbf 100644
+index 2886f0d..990c9bd 100644
--- a/graphics/java/android/graphics/Typeface.java
+++ b/graphics/java/android/graphics/Typeface.java
@@ -17,6 +17,7 @@
protected void finalize() throws Throwable {
try {
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
-index f4d07aff3e6..5d8ab51d077 100644
+index f4d07af..5d8ab51 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -513,6 +513,8 @@ public final class ActivityManagerService extends ActivityManagerNative
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
--
-2.11.1
+2.9.3
-From 5c967e6492f96e01816b23f9561836cd6c0e4c8b Mon Sep 17 00:00:00 2001
+From 3feac508ab6b27f74f9c66e53d5da823034ade91 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/45] N-Extras: AudioService: Allow system effect sounds to
+Subject: [PATCH 26/42] N-Extras: AudioService: Allow system effect sounds to
be themed
This commit checks whether there is a preexisting file in the themed
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
-index f5db48806de..c6144d0b0b9 100644
+index f5db488..c6144d0 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -123,6 +123,7 @@ import com.android.server.pm.UserManagerService;
mediaPlayer.setAudioStreamType(AudioSystem.STREAM_SYSTEM);
mediaPlayer.prepare();
--
-2.11.1
+2.9.3
-From b78103f1cc4026e0a3abd3c797353e27a0338c3d Mon Sep 17 00:00:00 2001
+From 805acc56474ad545d43d1edc43521646ce1d5629 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/45] OMS7-N: ApplicationsState: add filter for Substratum
+Subject: [PATCH 27/42] OMS7-N: ApplicationsState: add filter for Substratum
overlays [1/2]
This commit allows the framework to handle the filtering of the
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
-index f0ec1078650..6fecd4044ca 100644
+index f0ec107..6fecd40 100644
--- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
+++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
@@ -137,9 +137,11 @@ public class ApplicationsState {
private int mCurrentUser;
--
-2.11.1
+2.9.3
-From 3475d1a7cbb8dbfefd702d20c1117e38b794ad74 Mon Sep 17 00:00:00 2001
+From 71f429c997955ac1b699b766a5f6b3092c943368 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/45] OMS7-N: ApplicationsState: add filter for Substratum
+Subject: [PATCH 28/42] 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.
1 file changed, 11 insertions(+)
diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
-index 6fecd4044ca..d3a6e217735 100644
+index 6fecd40..d3a6e21 100644
--- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
+++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
@@ -1325,6 +1325,17 @@ public class ApplicationsState {
private int mCurrentUser;
--
-2.11.1
+2.9.3
-From da6d7a0af5b508354da61897b8cf96ca7b3b8cb4 Mon Sep 17 00:00:00 2001
+From 4ae81255155c004674774096bbb28006e8cedcb0 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/45] Themes: Expose QS battery
+Subject: [PATCH 29/42] Themes: Expose QS battery
This is needed for white themes like Belo. Should function the same with dark themes as well.
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/packages/SystemUI/res/layout/battery_detail.xml b/packages/SystemUI/res/layout/battery_detail.xml
-index 8abfcf6057a..af3acdc5c53 100644
+index 8abfcf6..af3acdc 100644
--- a/packages/SystemUI/res/layout/battery_detail.xml
+++ b/packages/SystemUI/res/layout/battery_detail.xml
@@ -27,7 +27,7 @@
<com.android.systemui.ResizingSpace
android:layout_width="match_parent"
diff --git a/packages/SystemUI/res/values/projekt_colors.xml b/packages/SystemUI/res/values/projekt_colors.xml
-index 0f891994c9d..83b852416e1 100644
+index 0f89199..83b8524 100644
--- a/packages/SystemUI/res/values/projekt_colors.xml
+++ b/packages/SystemUI/res/values/projekt_colors.xml
@@ -24,4 +24,10 @@
+ <color name="qs_battery_accent">@*android:color/accent_device_default_light</color>
</resources>
--
-2.11.1
+2.9.3
-From 30aa3f06924819530a7074d17f7be91c419c24da Mon Sep 17 00:00:00 2001
+From 8498f45dd03853cc1c83905de81e7a80d282aa10 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/45] OMS: Introduce MODIFY_OVERLAYS permission for user apps
+Subject: [PATCH 30/42] 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
3 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
-index 6a5bd3946db..3ceb17ba568 100644
+index 6a5bd39..3ceb17b 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -3162,6 +3162,12 @@
android:persistent="true"
android:hasCode="false"
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
-index 1823629341c..d0923ccf6dc 100755
+index 8f5f8cf..8313d5d 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -1411,6 +1411,11 @@
<!-- Title of policy access to limiting the user's password choices -->
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
-index deb9046a2d4..e205ce1d030 100644
+index deb9046..e205ce1 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -36,6 +36,7 @@ import android.content.om.IOverlayManager;
}
--
-2.11.1
+2.9.3
-From ab15da5ba451f9812fc074479bd1d045c9c8afcc Mon Sep 17 00:00:00 2001
+From 390ed2ae95bba5ce8097c8561ddc846a45498563 Mon Sep 17 00:00:00 2001
From: daveyannihilation <daveyannihilation@hotmail.com>
Date: Sun, 1 Jan 2017 01:47:53 -0700
-Subject: [PATCH 31/45] SystemUI: Expose switch bar title
+Subject: [PATCH 31/42] SystemUI: Expose switch bar title
This is needed for the power notifications switchbar in SystemUI Tuner, amongst other things.
create mode 100644 packages/SystemUI/res/values/projekt_styles.xml
diff --git a/packages/SystemUI/res/layout/switch_bar.xml b/packages/SystemUI/res/layout/switch_bar.xml
-index 41cdb78392a..344c5aa0531 100644
+index 41cdb78..344c5aa 100644
--- a/packages/SystemUI/res/layout/switch_bar.xml
+++ b/packages/SystemUI/res/layout/switch_bar.xml
@@ -33,8 +33,7 @@
diff --git a/packages/SystemUI/res/values/projekt_styles.xml b/packages/SystemUI/res/values/projekt_styles.xml
new file mode 100644
-index 00000000000..f49834bc202
+index 0000000..f49834b
--- /dev/null
+++ b/packages/SystemUI/res/values/projekt_styles.xml
@@ -0,0 +1,24 @@
+</resources>
+
--
-2.11.1
+2.9.3
+++ /dev/null
-From b1cbf5224969aaf156e24c5e56ef1cb5d7a541dc 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/45] Themes: Expose manifest styles for themes
-
-Change-Id: Ie3a4fdead4f4fa1c121018b38de1c86a05bbcff2
----
- core/res/AndroidManifest.xml | 20 ++++++++---------
- core/res/res/values/projekt_styles.xml | 41 ++++++++++++++++++++++++++++++++++
- 2 files changed, 51 insertions(+), 10 deletions(-)
- create mode 100644 core/res/res/values/projekt_styles.xml
-
-diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
-index 3ceb17ba568..36df6eac13e 100644
---- a/core/res/AndroidManifest.xml
-+++ b/core/res/AndroidManifest.xml
-@@ -3214,7 +3214,7 @@
- android:label="@string/managed_profile_label">
- </activity-alias>
- <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog"
-+ android:theme="@style/HeavyWeightSwitcherActivityTheme"
- android:label="@string/heavy_weight_switcher_title"
- android:finishOnCloseSystemDialogs="true"
- android:excludeFromRecents="true"
-@@ -3247,7 +3247,7 @@
- <activity android:name="android.accounts.ChooseAccountActivity"
- android:excludeFromRecents="true"
- android:exported="true"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog"
-+ android:theme="@style/ChooseAccountActivityTheme"
- android:label="@string/choose_account_label"
- android:process=":ui">
- </activity>
-@@ -3255,14 +3255,14 @@
- <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
- android:excludeFromRecents="true"
- android:exported="true"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog"
-+ android:theme="@style/ChooseTypeAndAccountActivityTheme"
- android:label="@string/choose_account_label"
- android:process=":ui">
- </activity>
-
- <activity android:name="android.accounts.ChooseAccountTypeActivity"
- android:excludeFromRecents="true"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog"
-+ android:theme="@style/ChooseAccountTypeActivityTheme"
- android:label="@string/choose_account_label"
- android:process=":ui">
- </activity>
-@@ -3270,19 +3270,19 @@
- <activity android:name="android.accounts.CantAddAccountActivity"
- android:excludeFromRecents="true"
- android:exported="true"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
-+ android:theme="@style/CantAddAccountActivityTheme"
- android:process=":ui">
- </activity>
-
- <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
- android:excludeFromRecents="true"
- android:exported="true"
-- android:theme="@style/Theme.DeviceDefault.Light.DialogWhenLarge"
-+ android:theme="@style/GrantCredentialsPermissionActivityTheme"
- android:process=":ui">
- </activity>
-
- <activity android:name="android.content.SyncActivityTooManyDeletes"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog"
-+ android:theme="@style/SyncActivityTooManyDeletesTheme"
- android:label="@string/sync_too_many_deletes"
- android:process=":ui">
- </activity>
-@@ -3302,7 +3302,7 @@
- </activity>
-
- <activity android:name="com.android.internal.app.NetInitiatedActivity"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert"
-+ android:theme="@style/NetInitiatedActivityTheme"
- android:excludeFromRecents="true"
- android:process=":ui">
- </activity>
-@@ -3323,7 +3323,7 @@
- <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
- android:excludeFromRecents="true"
- android:process=":ui"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert">
-+ android:theme="@style/ConfirmUserCreationActivityTheme">
- <intent-filter android:priority="1000">
- <action android:name="android.os.action.CREATE_USER" />
- <category android:name="android.intent.category.DEFAULT" />
-@@ -3331,7 +3331,7 @@
- </activity>
-
- <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
-- android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert"
-+ android:theme="@style/UnlaunchableAppActivityTheme"
- android:excludeFromRecents="true"
- android:process=":ui">
- </activity>
-diff --git a/core/res/res/values/projekt_styles.xml b/core/res/res/values/projekt_styles.xml
-new file mode 100644
-index 00000000000..e5fe635818a
---- /dev/null
-+++ b/core/res/res/values/projekt_styles.xml
-@@ -0,0 +1,41 @@
-+<?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.
-+-->
-+
-+<resources>
-+
-+ <!-- Exposed manifest styles -->
-+
-+ <style name="HeavyWeightSwitcherActivityTheme" parent="Theme.DeviceDefault.Light.Dialog" />
-+
-+ <style name="ChooseAccountActivityTheme" parent="Theme.DeviceDefault.Light.Dialog" />
-+
-+ <style name="ChooseTypeAndAccountActivityTheme" parent="Theme.DeviceDefault.Light.Dialog" />
-+
-+ <style name="ChooseAccountTypeActivityTheme" parent="Theme.DeviceDefault.Light.Dialog" />
-+
-+ <style name="CantAddAccountActivityTheme" parent="Theme.DeviceDefault.Light.Dialog.NoActionBar" />
-+
-+ <style name="GrantCredentialsPermissionActivityTheme" parent="Theme.DeviceDefault.Light.DialogWhenLarge" />
-+
-+ <style name="SyncActivityTooManyDeletesTheme" parent="Theme.DeviceDefault.Light.Dialog" />
-+
-+ <style name="NetInitiatedActivityTheme" parent="Theme.DeviceDefault.Light.Dialog.Alert" />
-+
-+ <style name="ConfirmUserCreationActivityTheme" parent="Theme.DeviceDefault.Light.Dialog.Alert" />
-+
-+ <style name="UnlaunchableAppActivityTheme" parent="Theme.DeviceDefault.Light.Dialog.Alert" />
-+
-+</resources>
---
-2.11.1
-
--- /dev/null
+From db9283d815f37230d65f5559d71e41c47a7ec70f Mon Sep 17 00:00:00 2001
+From: Daniel Koman <dankoman30@gmail.com>
+Date: Wed, 28 Sep 2016 15:28:26 +0200
+Subject: [PATCH 32/42] 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
+ color inversion, this was also preventing the notification
+ from grayscaling. as a result, on dark themes (boolean false), we
+ were seeing color icons on doze notifications. this commit fixes
+ the grayscaling, and brings back the very aesthetically pleasing
+ (imo) grayscale-to-color fade-in for the notifications' app icons.
+
+Change-Id: Ifc5efbccbeb02910684b76793721b10f1d64f870
+---
+ packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
+index 605f381..16d46c0 100644
+--- a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
++++ b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
+@@ -92,7 +92,7 @@ public class ViewInvertHelper {
+ }
+
+ public void update(boolean invert) {
+- if (invert && mThemeInvert) {
++ if (invert) {
+ updateInvertPaint(1f);
+ for (int i = 0; i < mTargets.size(); i++) {
+ mTargets.get(i).setLayerType(View.LAYER_TYPE_HARDWARE, mDarkPaint);
+@@ -115,7 +115,9 @@ public class ViewInvertHelper {
+ mMatrix.set(invert);
+ mGrayscaleMatrix.setSaturation(1 - intensity);
+ mMatrix.preConcat(mGrayscaleMatrix);
+- mDarkPaint.setColorFilter(new ColorMatrixColorFilter(mMatrix));
++ mDarkPaint.setColorFilter(new ColorMatrixColorFilter(
++ mThemeInvert ? mMatrix : mGrayscaleMatrix));
++
+ }
+
+ public void setInverted(boolean invert, boolean fade, long delay) {
+--
+2.9.3
+
--- /dev/null
+From 04d7ccb0b960f83742a9ade448bfacdff1a9a1d0 Mon Sep 17 00:00:00 2001
+From: Alex Cruz <mazdarider23@gmail.com>
+Date: Tue, 24 Jan 2017 11:14:46 +0100
+Subject: [PATCH 33/42] Expose external qs tile tint color
+
+This should allow themers to get around issues like this (see pic below)
+
+https://i.imgur.com/cG2OzRT.jpg
+
+Change-Id: If6dbf9ab29f8007d85a3c45524b1cf4ba1b032fb
+---
+ packages/SystemUI/res/values/projekt_colors.xml | 2 ++
+ .../SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/packages/SystemUI/res/values/projekt_colors.xml b/packages/SystemUI/res/values/projekt_colors.xml
+index 83b8524..e31d124 100644
+--- a/packages/SystemUI/res/values/projekt_colors.xml
++++ b/packages/SystemUI/res/values/projekt_colors.xml
+@@ -30,4 +30,6 @@
+ <color name="qs_battery_graph_text_color">#66FFFFFF</color>
+ <!-- QS battery accent color -->
+ <color name="qs_battery_accent">@*android:color/accent_device_default_light</color>
++ <!-- External QS tile tint color -->
++ <color name="external_qs_tile_tint_color">@android:color/white</color>
+ </resources>
+diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+index 0cd6490..6fabc61 100644
+--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
++++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+@@ -177,7 +177,7 @@ public class TileQueryHelper {
+ continue;
+ }
+ icon.mutate();
+- icon.setTint(mContext.getColor(android.R.color.white));
++ icon.setTint(mContext.getColor(R.color.external_qs_tile_tint_color));
+ CharSequence label = info.serviceInfo.loadLabel(pm);
+ addTile(spec, icon, label != null ? label.toString() : "null", appLabel, mContext);
+ }
+--
+2.9.3
+
+++ /dev/null
-From 6cce771b443b13957f9419fdaccfbda365c8860d Mon Sep 17 00:00:00 2001
-From: mickybart <mickybart@pygoscelis.org>
-Date: Sat, 19 Nov 2016 19:05:05 -0500
-Subject: [PATCH 33/45] 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
-to StrictMode and SystemUI is crashing.
-
-So we need that StrictMode authorize files under /system OR /data/system/theme
-
-Logcat of the issue:
-
-E AndroidRuntime: Caused by: android.os.FileUriExposedException: file:///data/system/theme/audio/ui/LowBattery.ogg exposed beyond app through Notification.sound
-E AndroidRuntime: at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799)
-E AndroidRuntime: at android.net.Uri.checkFileUriExposed(Uri.java:2346)
-E AndroidRuntime: at android.app.NotificationManager.notifyAsUser(NotificationManager.java:300)
-
-Change-Id: I154dc4280de8eaf891772a9632283e9f547f5718
----
- core/java/android/net/Uri.java | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
-index 67378bd0cd8..4fb189e85c1 100644
---- a/core/java/android/net/Uri.java
-+++ b/core/java/android/net/Uri.java
-@@ -2342,7 +2342,8 @@ public abstract class Uri implements Parcelable, Comparable<Uri> {
- * @hide
- */
- public void checkFileUriExposed(String location) {
-- if ("file".equals(getScheme()) && !getPath().startsWith("/system/")) {
-+ if ("file".equals(getScheme()) && !(getPath().startsWith("/system/")
-+ || getPath().startsWith("/data/system/theme/"))) {
- StrictMode.onFileUriExposed(this, location);
- }
- }
---
-2.11.1
-
+++ /dev/null
-From e454e7470e0cf92f43e0bb600e555aadc974573d 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/45] 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
- color inversion, this was also preventing the notification
- from grayscaling. as a result, on dark themes (boolean false), we
- were seeing color icons on doze notifications. this commit fixes
- the grayscaling, and brings back the very aesthetically pleasing
- (imo) grayscale-to-color fade-in for the notifications' app icons.
-
-Change-Id: Ifc5efbccbeb02910684b76793721b10f1d64f870
----
- packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
-index 605f381e9e2..16d46c0362e 100644
---- a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
-+++ b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
-@@ -92,7 +92,7 @@ public class ViewInvertHelper {
- }
-
- public void update(boolean invert) {
-- if (invert && mThemeInvert) {
-+ if (invert) {
- updateInvertPaint(1f);
- for (int i = 0; i < mTargets.size(); i++) {
- mTargets.get(i).setLayerType(View.LAYER_TYPE_HARDWARE, mDarkPaint);
-@@ -115,7 +115,9 @@ public class ViewInvertHelper {
- mMatrix.set(invert);
- mGrayscaleMatrix.setSaturation(1 - intensity);
- mMatrix.preConcat(mGrayscaleMatrix);
-- mDarkPaint.setColorFilter(new ColorMatrixColorFilter(mMatrix));
-+ mDarkPaint.setColorFilter(new ColorMatrixColorFilter(
-+ mThemeInvert ? mMatrix : mGrayscaleMatrix));
-+
- }
-
- public void setInverted(boolean invert, boolean fade, long delay) {
---
-2.11.1
-
--- /dev/null
+From 4e78d8758ded305e9ce4c532aa702f8ed3adc439 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 34/42] 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.
+
+After: http://i.imgur.com/RPh6WKK.jpg
+
+Previous commits on the same matter:
+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
+
+// Resources.getSystem Resources are created on request and aren't tracked by
+// mResourceReferences.
+//
+// If overlays targeting "android" are to be used, we must create the system
+// resources regardless of whether they already exist, since otherwise the
+// information on what overlays to use would be lost. This is wasteful for most
+// applications, so limit this operation to the system user only. (This means
+// Resources.getSystem() will *not* use overlays for applications.)
+
+Replaced deprecated Resources.getSystem() with compatible method.
+
+Change-Id: Ibab2ce1571360a9e03043d1bf3144c89e54e1947
+---
+ graphics/java/android/graphics/drawable/Icon.java | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/graphics/java/android/graphics/drawable/Icon.java b/graphics/java/android/graphics/drawable/Icon.java
+index 2b950d3..fb26bee 100644
+--- a/graphics/java/android/graphics/drawable/Icon.java
++++ b/graphics/java/android/graphics/drawable/Icon.java
+@@ -294,7 +294,7 @@ public final class Icon implements Parcelable {
+ resPackage = context.getPackageName();
+ }
+ if ("android".equals(resPackage)) {
+- mObj1 = Resources.getSystem();
++ mObj1 = context.getResources();
+ } else {
+ final PackageManager pm = context.getPackageManager();
+ try {
+--
+2.9.3
+
+++ /dev/null
-From 9248c5368ccd0e1fad575c65582e4a6bd68ac5aa 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/45] Expose external qs tile tint color
-
-This should allow themers to get around issues like this (see pic below)
-
-https://i.imgur.com/cG2OzRT.jpg
-
-Change-Id: If6dbf9ab29f8007d85a3c45524b1cf4ba1b032fb
----
- packages/SystemUI/res/values/projekt_colors.xml | 2 ++
- .../SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/packages/SystemUI/res/values/projekt_colors.xml b/packages/SystemUI/res/values/projekt_colors.xml
-index 83b852416e1..e31d1244ac8 100644
---- a/packages/SystemUI/res/values/projekt_colors.xml
-+++ b/packages/SystemUI/res/values/projekt_colors.xml
-@@ -30,4 +30,6 @@
- <color name="qs_battery_graph_text_color">#66FFFFFF</color>
- <!-- QS battery accent color -->
- <color name="qs_battery_accent">@*android:color/accent_device_default_light</color>
-+ <!-- External QS tile tint color -->
-+ <color name="external_qs_tile_tint_color">@android:color/white</color>
- </resources>
-diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
-index 0cd6490614b..6fabc6101ca 100644
---- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
-+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
-@@ -177,7 +177,7 @@ public class TileQueryHelper {
- continue;
- }
- icon.mutate();
-- icon.setTint(mContext.getColor(android.R.color.white));
-+ icon.setTint(mContext.getColor(R.color.external_qs_tile_tint_color));
- CharSequence label = info.serviceInfo.loadLabel(pm);
- addTile(spec, icon, label != null ? label.toString() : "null", appLabel, mContext);
- }
---
-2.11.1
-
--- /dev/null
+From 024501f8e0b8b938837c12dddffff97119a459cd Mon Sep 17 00:00:00 2001
+From: Alex Cruz <mazdarider23@gmail.com>
+Date: Sat, 4 Feb 2017 14:13:26 +0100
+Subject: [PATCH 35/42] 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
+to transparent, they were SOL.
+
+This mirrors what @iskandar1023 did in the commit below
+http://review.projektsubstratum.com/#/c/286/
+
+Before - https://i.imgur.com/trpefmZ.png
+After - https://i.imgur.com/ugAqrju.png
+
+Change-Id: I6d577573dd494d61a3e87abebd919b02a481db56
+---
+ .../SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+index 6fabc61..dbdb614 100644
+--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
++++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+@@ -23,6 +23,7 @@ import android.content.Context;
+ import android.content.Intent;
+ import android.content.pm.PackageManager;
+ import android.content.pm.ResolveInfo;
++import android.graphics.PorterDuff.Mode;
+ import android.graphics.drawable.Drawable;
+ import android.os.AsyncTask;
+ import android.os.Handler;
+@@ -178,6 +179,7 @@ public class TileQueryHelper {
+ }
+ icon.mutate();
+ icon.setTint(mContext.getColor(R.color.external_qs_tile_tint_color));
++ icon.setTintMode(Mode.SRC_ATOP);
+ CharSequence label = info.serviceInfo.loadLabel(pm);
+ addTile(spec, icon, label != null ? label.toString() : "null", appLabel, mContext);
+ }
+--
+2.9.3
+
--- /dev/null
+From 6616f098932b704bacf8b26909c0a9be06e317d1 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 36/42] Themes: Expose Keyguard affordance circle background
+
+Change-Id: Id4a078cdbc944fa0c0736103045a0382d49ecb80
+---
+ packages/SystemUI/res/values/projekt_colors.xml | 2 ++
+ .../src/com/android/systemui/statusbar/KeyguardAffordanceView.java | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/packages/SystemUI/res/values/projekt_colors.xml b/packages/SystemUI/res/values/projekt_colors.xml
+index e31d124..e8f8e50 100644
+--- a/packages/SystemUI/res/values/projekt_colors.xml
++++ b/packages/SystemUI/res/values/projekt_colors.xml
+@@ -32,4 +32,6 @@
+ <color name="qs_battery_accent">@*android:color/accent_device_default_light</color>
+ <!-- External QS tile tint color -->
+ <color name="external_qs_tile_tint_color">@android:color/white</color>
++ <!-- Keyguard affordance circle background -->
++ <color name="keyguard_affordance_circle_background">@android:color/white</color>
+ </resources>
+diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
+index b94df1d..3d661b7 100644
+--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
++++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
+@@ -131,7 +131,7 @@ public class KeyguardAffordanceView extends ImageView implements Palette.Palette
+ super(context, attrs, defStyleAttr, defStyleRes);
+ mCirclePaint = new Paint();
+ mCirclePaint.setAntiAlias(true);
+- mCircleColor = 0xffffffff;
++ mCircleColor = mContext.getResources().getColor(R.color.keyguard_affordance_circle_background);
+ mCirclePaint.setColor(mCircleColor);
+
+ mNormalColor = 0xffffffff;
+--
+2.9.3
+
+++ /dev/null
-From 54b140d68403ccf2d7c6055a8ee83021b00b8941 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/45] 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.
-
-After: http://i.imgur.com/RPh6WKK.jpg
-
-Previous commits on the same matter:
-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
-
-// Resources.getSystem Resources are created on request and aren't tracked by
-// mResourceReferences.
-//
-// If overlays targeting "android" are to be used, we must create the system
-// resources regardless of whether they already exist, since otherwise the
-// information on what overlays to use would be lost. This is wasteful for most
-// applications, so limit this operation to the system user only. (This means
-// Resources.getSystem() will *not* use overlays for applications.)
-
-Replaced deprecated Resources.getSystem() with compatible method.
-
-Change-Id: Ibab2ce1571360a9e03043d1bf3144c89e54e1947
----
- graphics/java/android/graphics/drawable/Icon.java | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/graphics/java/android/graphics/drawable/Icon.java b/graphics/java/android/graphics/drawable/Icon.java
-index 2b950d3d5c5..fb26bee68fa 100644
---- a/graphics/java/android/graphics/drawable/Icon.java
-+++ b/graphics/java/android/graphics/drawable/Icon.java
-@@ -294,7 +294,7 @@ public final class Icon implements Parcelable {
- resPackage = context.getPackageName();
- }
- if ("android".equals(resPackage)) {
-- mObj1 = Resources.getSystem();
-+ mObj1 = context.getResources();
- } else {
- final PackageManager pm = context.getPackageManager();
- try {
---
-2.11.1
-
--- /dev/null
+From 287c5b7bcf62698809e8aa031946039e64969206 Mon Sep 17 00:00:00 2001
+From: SpiritCroc <spiritcroc@gmail.com>
+Date: Sun, 5 Feb 2017 12:00:54 +0100
+Subject: [PATCH 37/42] Notification tint: add optional findContrastColor
+ algorithm for dark backgrounds
+
+Overlay config_useDarkBgNotificationIconTextTinting to enable dark bg tinting
+
+Change-Id: I80cb01caf185c8fcd012ba409eacfa91e887c511
+---
+ .../internal/util/NotificationColorUtil.java | 65 +++++++++++++++++++++-
+ core/res/res/values/projekt_config.xml | 4 ++
+ core/res/res/values/projekt_symbols.xml | 1 +
+ 3 files changed, 68 insertions(+), 2 deletions(-)
+
+diff --git a/core/java/com/android/internal/util/NotificationColorUtil.java b/core/java/com/android/internal/util/NotificationColorUtil.java
+index 4748e6f..bbc9a24 100644
+--- a/core/java/com/android/internal/util/NotificationColorUtil.java
++++ b/core/java/com/android/internal/util/NotificationColorUtil.java
+@@ -37,6 +37,8 @@ import android.text.style.TextAppearanceSpan;
+ import android.util.Log;
+ import android.util.Pair;
+
++import com.android.internal.R;
++
+ import java.util.Arrays;
+ import java.util.WeakHashMap;
+
+@@ -268,6 +270,44 @@ public class NotificationColorUtil {
+ }
+
+ /**
++ * Finds a suitable color such that there's enough contrast, optimised for dark backgrounds
++ *
++ * @param color the color to start searching from.
++ * @param other the color to ensure contrast against. Assumed to be darker than {@param color}
++ * @param findFg if true, we assume {@param color} is a foreground, otherwise a background.
++ * @param minRatio the minimum contrast ratio required.
++ * @return a color with the same hue as {@param color}, potentially lightened to meet the
++ * contrast ratio.
++ */
++ private static int findDarkContrastColor(int color, int other, boolean findFg, double minRatio) {
++ int fg = findFg ? color : other;
++ int bg = findFg ? other : color;
++ if (ColorUtilsFromCompat.calculateContrast(fg, bg) >= minRatio) {
++ return color;
++ }
++
++ double[] lab = new double[3];
++ ColorUtilsFromCompat.colorToLAB(findFg ? fg : bg, lab);
++
++ double low = lab[0], high = 100d;
++ final double a = lab[1], b = lab[2];
++ for (int i = 0; i < 15 && high - low > 0.00001; i++) {
++ final double l = (low + high) / 2;
++ if (findFg) {
++ fg = ColorUtilsFromCompat.LABToColor(l, a, b);
++ } else {
++ bg = ColorUtilsFromCompat.LABToColor(l, a, b);
++ }
++ if (ColorUtilsFromCompat.calculateContrast(fg, bg) > minRatio) {
++ high = l;
++ } else {
++ low = l;
++ }
++ }
++ return ColorUtilsFromCompat.LABToColor(high, a, b);
++ }
++
++ /**
+ * Finds a text color with sufficient contrast over bg that has the same hue as the original
+ * color, assuming it is for large text.
+ */
+@@ -277,12 +317,28 @@ public class NotificationColorUtil {
+
+ /**
+ * Finds a text color with sufficient contrast over bg that has the same hue as the original
++ * color, assuming it is for large text. Optimised for dark backgrounds.
++ */
++ public static int ensureLargeDarkTextContrast(int color, int bg) {
++ return findDarkContrastColor(color, bg, true, 3);
++ }
++
++ /**
++ * Finds a text color with sufficient contrast over bg that has the same hue as the original
+ * color.
+ */
+ private static int ensureTextContrast(int color, int bg) {
+ return findContrastColor(color, bg, true, 4.5);
+ }
+
++ /**
++ * Finds a text color with sufficient contrast over bg that has the same hue as the original
++ * color. Optimised for dark backgrounds.
++ */
++ private static int ensureDarkTextContrast(int color, int bg) {
++ return findDarkContrastColor(color, bg, true, 4.5);
++ }
++
+ /** Finds a background color for a text view with given text color and hint text color, that
+ * has the same hue as the original color.
+ */
+@@ -323,8 +379,13 @@ public class NotificationColorUtil {
+ com.android.internal.R.color.notification_material_background_color);
+
+ int color = resolvedColor;
+- color = NotificationColorUtil.ensureLargeTextContrast(color, actionBg);
+- color = NotificationColorUtil.ensureTextContrast(color, notiBg);
++ if (context.getResources().getBoolean(R.bool.config_useDarkBgNotificationIconTextTinting)) {
++ color = NotificationColorUtil.ensureLargeDarkTextContrast(color, actionBg);
++ color = NotificationColorUtil.ensureDarkTextContrast(color, notiBg);
++ } else {
++ color = NotificationColorUtil.ensureLargeTextContrast(color, actionBg);
++ color = NotificationColorUtil.ensureTextContrast(color, notiBg);
++ }
+
+ if (color != resolvedColor) {
+ if (DEBUG){
+diff --git a/core/res/res/values/projekt_config.xml b/core/res/res/values/projekt_config.xml
+index 5234959..8cf5666 100644
+--- a/core/res/res/values/projekt_config.xml
++++ b/core/res/res/values/projekt_config.xml
+@@ -27,4 +27,8 @@
+ needs to be set to false, to prevent the doze notifications from being light -->
+ <bool name="config_invert_colors_on_doze">true</bool>
+
++ <!-- True if the notification's dynamic app icon/title tint should be optimised for dark
++ backgrounds (requires config_allowNotificationIconTextTinting to be true)-->
++ <bool name="config_useDarkBgNotificationIconTextTinting">false</bool>
++
+ </resources>
+diff --git a/core/res/res/values/projekt_symbols.xml b/core/res/res/values/projekt_symbols.xml
+index 16a5728..faa71e0 100644
+--- a/core/res/res/values/projekt_symbols.xml
++++ b/core/res/res/values/projekt_symbols.xml
+@@ -19,6 +19,7 @@
+
+ <!-- Notification icon/text dynamic tint -->
+ <java-symbol type="bool" name="config_allowNotificationIconTextTinting" />
++ <java-symbol type="bool" name="config_useDarkBgNotificationIconTextTinting" />
+ <java-symbol type="color" name="notification_text_default_color" />
+ <java-symbol type="color" name="sender_text_color" />
+
+--
+2.9.3
+
+++ /dev/null
-From 02fa0447251f8893e3d0e788a8c908f2412754d4 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/45] 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
-to transparent, they were SOL.
-
-This mirrors what @iskandar1023 did in the commit below
-http://review.projektsubstratum.com/#/c/286/
-
-Before - https://i.imgur.com/trpefmZ.png
-After - https://i.imgur.com/ugAqrju.png
-
-Change-Id: I6d577573dd494d61a3e87abebd919b02a481db56
----
- .../SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
-index 6fabc6101ca..dbdb614c8e1 100644
---- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
-+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
-@@ -23,6 +23,7 @@ import android.content.Context;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.content.pm.ResolveInfo;
-+import android.graphics.PorterDuff.Mode;
- import android.graphics.drawable.Drawable;
- import android.os.AsyncTask;
- import android.os.Handler;
-@@ -178,6 +179,7 @@ public class TileQueryHelper {
- }
- icon.mutate();
- icon.setTint(mContext.getColor(R.color.external_qs_tile_tint_color));
-+ icon.setTintMode(Mode.SRC_ATOP);
- CharSequence label = info.serviceInfo.loadLabel(pm);
- addTile(spec, icon, label != null ? label.toString() : "null", appLabel, mContext);
- }
---
-2.11.1
-
--- /dev/null
+From d0d8be2b9081d7feb3cf57864db302939def2df7 Mon Sep 17 00:00:00 2001
+From: Nicholas Chum <nicholaschum@gmail.com>
+Date: Wed, 22 Feb 2017 22:55:15 -0500
+Subject: [PATCH 38/42] OMS7: Rootless Security Update Preparation for March
+ 2017
+
+Change-Id: I93f7917eebf9f86590eb9c00841460d236702cb3
+---
+ .../android/server/om/OverlayManagerService.java | 8 -
+ .../server/om/OverlayManagerShellCommand.java | 269 ---------------------
+ 2 files changed, 277 deletions(-)
+ delete mode 100644 services/core/java/com/android/server/om/OverlayManagerShellCommand.java
+
+diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
+index e205ce1..ac56985 100644
+--- a/services/core/java/com/android/server/om/OverlayManagerService.java
++++ b/services/core/java/com/android/server/om/OverlayManagerService.java
+@@ -528,14 +528,6 @@ public final class OverlayManagerService extends SystemService {
+ }
+
+ @Override
+- public void onShellCommand(@NonNull final FileDescriptor in,
+- @NonNull final FileDescriptor out, @NonNull final FileDescriptor err,
+- @NonNull final String[] args, @NonNull final ResultReceiver resultReceiver) {
+- (new OverlayManagerShellCommand(this)).exec(
+- this, in, out, err, args, resultReceiver);
+- }
+-
+- @Override
+ protected void dump(@NonNull final FileDescriptor fd, @NonNull final PrintWriter pw,
+ @NonNull final String[] argv) {
+ enforceDumpPermission("dump");
+diff --git a/services/core/java/com/android/server/om/OverlayManagerShellCommand.java b/services/core/java/com/android/server/om/OverlayManagerShellCommand.java
+deleted file mode 100644
+index 44004c1..0000000
+--- a/services/core/java/com/android/server/om/OverlayManagerShellCommand.java
++++ /dev/null
+@@ -1,269 +0,0 @@
+-/*
+- * Copyright (C) 2016 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.
+- */
+-
+-package com.android.server.om;
+-
+-import android.annotation.NonNull;
+-import android.annotation.Nullable;
+-import android.content.om.IOverlayManager;
+-import android.content.om.OverlayInfo;
+-import android.os.RemoteException;
+-import android.os.ShellCommand;
+-import android.os.UserHandle;
+-
+-import java.io.PrintWriter;
+-import java.util.ArrayList;
+-import java.util.List;
+-import java.util.Map;
+-import java.util.Map.Entry;
+-
+-/**
+- * Implementation of 'cmd overlay' commands.
+- *
+- * This class provides an interface to the OverlayManagerService via adb.
+- * Intended only for manual debugging. Execute 'adb exec-out cmd overlay help'
+- * for a list of available commands.
+- */
+-final class OverlayManagerShellCommand extends ShellCommand {
+- private final IOverlayManager mInterface;
+-
+- OverlayManagerShellCommand(@NonNull final IOverlayManager iom) {
+- mInterface = iom;
+- }
+-
+- @Override
+- public int onCommand(@Nullable final String cmd) {
+- if (cmd == null) {
+- final PrintWriter out = getOutPrintWriter();
+- out.println("The overlay manager has already been initialized.");
+- return -1;
+- }
+- final PrintWriter err = getErrPrintWriter();
+- try {
+- switch (cmd) {
+- case "list":
+- return runList();
+- case "enable":
+- return runEnableDisable(true);
+- case "disable":
+- return runEnableDisable(false);
+- case "disable-all":
+- return runDisableAll();
+- case "set-priority":
+- return runSetPriority();
+- default:
+- return handleDefaultCommands(cmd);
+- }
+- } catch (IllegalArgumentException e) {
+- err.println("Error: " + e.getMessage());
+- } catch (RemoteException e) {
+- err.println("Remote exception: " + e);
+- }
+- return -1;
+- }
+-
+- @Override
+- public void onHelp() {
+- final PrintWriter out = getOutPrintWriter();
+- out.println("Overlay manager (overlay) commands:");
+- out.println(" help");
+- out.println(" Print this help text.");
+- out.println(" dump [--verbose] [--user USER_ID] [PACKAGE [PACKAGE [...]]]");
+- out.println(" Print debugging information about the overlay manager.");
+- out.println(" list [--user USER_ID] [PACKAGE [PACKAGE [...]]]");
+- out.println(" Print information about target and overlay packages.");
+- out.println(" Overlay packages are printed in priority order. With optional");
+- out.println(" parameters PACKAGEs, limit output to the specified packages");
+- out.println(" but include more information about each package.");
+- out.println(" enable [--user USER_ID] [PACKAGE [PACKAGE [...]]]");
+- out.println(" Enable overlay package PACKAGE or subsequent counts of PACKAGE.");
+- out.println(" disable [--user USER_ID] [PACKAGE [PACKAGE [...]]]");
+- out.println(" Disable overlay package PACKAGE or subsequent counts of PACKAGE.");
+- out.println(" disable-all [--user USER_ID]");
+- out.println(" Disable all overlay packages.");
+- out.println(" set-priority [--user USER_ID] PACKAGE PARENT|lowest|highest");
+- out.println(" Change the priority of the overlay PACKAGE to be just higher than");
+- out.println(" the priority of PACKAGE_PARENT If PARENT is the special keyword");
+- out.println(" 'lowest', change priority of PACKAGE to the lowest priority.");
+- out.println(" If PARENT is the special keyword 'highest', change priority of");
+- out.println(" PACKAGE to the highest priority.");
+- }
+-
+- private int runList() throws RemoteException {
+- final PrintWriter out = getOutPrintWriter();
+- final PrintWriter err = getErrPrintWriter();
+-
+- int userId = UserHandle.USER_SYSTEM;
+- String opt;
+- while ((opt = getNextOption()) != null) {
+- switch (opt) {
+- case "--user":
+- userId = UserHandle.parseUserArg(getNextArgRequired());
+- break;
+- default:
+- err.println("Error: Unknown option: " + opt);
+- return 1;
+- }
+- }
+-
+- final Map<String, List<OverlayInfo>> allOverlays = mInterface.getAllOverlays(userId);
+- for (final String targetPackageName : allOverlays.keySet()) {
+- out.println(targetPackageName);
+- for (final OverlayInfo oi : allOverlays.get(targetPackageName)) {
+- String status = "---";
+- if (oi.isApproved()) {
+- status = "[ ]";
+- }
+- if (oi.isEnabled()) {
+- status = "[x]";
+- }
+- out.println(String.format("%s %s", status, oi.packageName));
+- }
+- out.println();
+- }
+- return 0;
+- }
+-
+- private int runEnableDisable(final boolean enable) throws RemoteException {
+- final PrintWriter err = getErrPrintWriter();
+-
+- int userId = UserHandle.USER_SYSTEM;
+- String opt;
+- while ((opt = getNextOption()) != null) {
+- switch (opt) {
+- case "--user":
+- userId = UserHandle.parseUserArg(getNextArgRequired());
+- break;
+- default:
+- err.println("Error: Unknown option: " + opt);
+- return 1;
+- }
+- }
+-
+- int argc = 0;
+- String packageName = getNextArgRequired();
+- ArrayList<String> packages = new ArrayList<>();
+- if (packageName == null) {
+- System.err.println("Error: no packages specified");
+- return 1;
+- }
+- while (packageName != null) {
+- argc++;
+- packages.add(packageName);
+- packageName = getNextArg();
+- }
+- if (argc > 1) {
+- for (String pkg : packages) {
+- boolean ret = mInterface.setEnabled(pkg, enable, userId, false);
+- if (!ret) {
+- System.err.println("Error: Failed to " + ((enable) ? "enable ": "disable ") + pkg);
+- }
+- }
+- return 0;
+- } else if (argc == 1) {
+- return mInterface.setEnabled(packages.get(0), enable, userId, false) ? 0 : 1;
+- } else {
+- System.err.println("Error: A fatal exception has occurred.");
+- return 1;
+- }
+- }
+-
+- private int runDisableAll() {
+- int userId = UserHandle.USER_OWNER;
+- String opt;
+- while ((opt = getNextOption()) != null) {
+- switch (opt) {
+- case "--user":
+- userId = UserHandle.parseUserArg(getNextArgRequired());
+- break;
+- default:
+- System.err.println("Error: Unknown option: " + opt);
+- return 1;
+- }
+- }
+-
+- try {
+- Map<String, List<OverlayInfo>> targetsAndOverlays = mInterface.getAllOverlays(userId);
+- int iterator = 0;
+- int overlaySize = targetsAndOverlays.entrySet().size();
+- for (Entry<String, List<OverlayInfo>> targetEntry : targetsAndOverlays.entrySet()) {
+- int iterator_nested = 0;
+- int targetSize_nested = targetEntry.getValue().size();
+- iterator++;
+- for (OverlayInfo oi : targetEntry.getValue()) {
+- if (iterator_nested < targetSize_nested) {
+- if (oi.isEnabled()) {
+- boolean worked = mInterface.setEnabled(oi.packageName, false, userId, true);
+- if (!worked) {
+- System.err.println("Failed to disable " + oi.packageName);
+- }
+- }
+- } else {
+- if (iterator == overlaySize) {
+- if (oi.isEnabled()) {
+- boolean worked = mInterface.setEnabled(oi.packageName, false, userId, false);
+- if (!worked) {
+- System.err.println("Failed to disable " + oi.packageName);
+- }
+- }
+- } else {
+- if (oi.isEnabled()) {
+- boolean worked = mInterface.setEnabled(oi.packageName, false, userId, true);
+- if (!worked) {
+- System.err.println("Failed to disable " + oi.packageName);
+- }
+- }
+- }
+- }
+- iterator_nested++;
+- }
+- }
+- mInterface.refresh(userId);
+- } catch (RemoteException re) {
+- System.err.println(re.toString());
+- System.err.println("Error: A fatal exception has occurred.");
+- }
+- return 0;
+- }
+-
+- private int runSetPriority() throws RemoteException {
+- final PrintWriter err = getErrPrintWriter();
+-
+- int userId = UserHandle.USER_SYSTEM;
+- String opt;
+- while ((opt = getNextOption()) != null) {
+- switch (opt) {
+- case "--user":
+- userId = UserHandle.parseUserArg(getNextArgRequired());
+- break;
+- default:
+- err.println("Error: Unknown option: " + opt);
+- return 1;
+- }
+- }
+-
+- final String packageName = getNextArgRequired();
+- final String newParentPackageName = getNextArgRequired();
+-
+- if ("highest".equals(newParentPackageName)) {
+- return mInterface.setHighestPriority(packageName, userId) ? 0 : 1;
+- } else if ("lowest".equals(newParentPackageName)) {
+- return mInterface.setLowestPriority(packageName, userId) ? 0 : 1;
+- } else {
+- return mInterface.setPriority(packageName, newParentPackageName, userId) ? 0 : 1;
+- }
+- }
+-}
+--
+2.9.3
+
+++ /dev/null
-From 1616425f04bb64f6f4ea04bb357cba684c088897 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/45] Themes: Expose Keyguard affordance circle background
-
-Change-Id: Id4a078cdbc944fa0c0736103045a0382d49ecb80
----
- packages/SystemUI/res/values/projekt_colors.xml | 2 ++
- .../src/com/android/systemui/statusbar/KeyguardAffordanceView.java | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/packages/SystemUI/res/values/projekt_colors.xml b/packages/SystemUI/res/values/projekt_colors.xml
-index e31d1244ac8..e8f8e502845 100644
---- a/packages/SystemUI/res/values/projekt_colors.xml
-+++ b/packages/SystemUI/res/values/projekt_colors.xml
-@@ -32,4 +32,6 @@
- <color name="qs_battery_accent">@*android:color/accent_device_default_light</color>
- <!-- External QS tile tint color -->
- <color name="external_qs_tile_tint_color">@android:color/white</color>
-+ <!-- Keyguard affordance circle background -->
-+ <color name="keyguard_affordance_circle_background">@android:color/white</color>
- </resources>
-diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
-index b94df1d5819..3d661b781b8 100644
---- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
-+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
-@@ -131,7 +131,7 @@ public class KeyguardAffordanceView extends ImageView implements Palette.Palette
- super(context, attrs, defStyleAttr, defStyleRes);
- mCirclePaint = new Paint();
- mCirclePaint.setAntiAlias(true);
-- mCircleColor = 0xffffffff;
-+ mCircleColor = mContext.getResources().getColor(R.color.keyguard_affordance_circle_background);
- mCirclePaint.setColor(mCircleColor);
-
- mNormalColor = 0xffffffff;
---
-2.11.1
-
+++ /dev/null
-From 7762d5adeeac6222094c0d809687255bee399318 Mon Sep 17 00:00:00 2001
-From: SpiritCroc <spiritcroc@gmail.com>
-Date: Sun, 5 Feb 2017 12:00:54 +0100
-Subject: [PATCH 39/45] Notification tint: add optional findContrastColor
- algorithm for dark backgrounds
-
-Overlay config_useDarkBgNotificationIconTextTinting to enable dark bg tinting
-
-Change-Id: I80cb01caf185c8fcd012ba409eacfa91e887c511
----
- .../internal/util/NotificationColorUtil.java | 65 +++++++++++++++++++++-
- core/res/res/values/projekt_config.xml | 4 ++
- core/res/res/values/projekt_symbols.xml | 1 +
- 3 files changed, 68 insertions(+), 2 deletions(-)
-
-diff --git a/core/java/com/android/internal/util/NotificationColorUtil.java b/core/java/com/android/internal/util/NotificationColorUtil.java
-index 4748e6fb19f..bbc9a24b1ed 100644
---- a/core/java/com/android/internal/util/NotificationColorUtil.java
-+++ b/core/java/com/android/internal/util/NotificationColorUtil.java
-@@ -37,6 +37,8 @@ import android.text.style.TextAppearanceSpan;
- import android.util.Log;
- import android.util.Pair;
-
-+import com.android.internal.R;
-+
- import java.util.Arrays;
- import java.util.WeakHashMap;
-
-@@ -268,6 +270,44 @@ public class NotificationColorUtil {
- }
-
- /**
-+ * Finds a suitable color such that there's enough contrast, optimised for dark backgrounds
-+ *
-+ * @param color the color to start searching from.
-+ * @param other the color to ensure contrast against. Assumed to be darker than {@param color}
-+ * @param findFg if true, we assume {@param color} is a foreground, otherwise a background.
-+ * @param minRatio the minimum contrast ratio required.
-+ * @return a color with the same hue as {@param color}, potentially lightened to meet the
-+ * contrast ratio.
-+ */
-+ private static int findDarkContrastColor(int color, int other, boolean findFg, double minRatio) {
-+ int fg = findFg ? color : other;
-+ int bg = findFg ? other : color;
-+ if (ColorUtilsFromCompat.calculateContrast(fg, bg) >= minRatio) {
-+ return color;
-+ }
-+
-+ double[] lab = new double[3];
-+ ColorUtilsFromCompat.colorToLAB(findFg ? fg : bg, lab);
-+
-+ double low = lab[0], high = 100d;
-+ final double a = lab[1], b = lab[2];
-+ for (int i = 0; i < 15 && high - low > 0.00001; i++) {
-+ final double l = (low + high) / 2;
-+ if (findFg) {
-+ fg = ColorUtilsFromCompat.LABToColor(l, a, b);
-+ } else {
-+ bg = ColorUtilsFromCompat.LABToColor(l, a, b);
-+ }
-+ if (ColorUtilsFromCompat.calculateContrast(fg, bg) > minRatio) {
-+ high = l;
-+ } else {
-+ low = l;
-+ }
-+ }
-+ return ColorUtilsFromCompat.LABToColor(high, a, b);
-+ }
-+
-+ /**
- * Finds a text color with sufficient contrast over bg that has the same hue as the original
- * color, assuming it is for large text.
- */
-@@ -277,12 +317,28 @@ public class NotificationColorUtil {
-
- /**
- * Finds a text color with sufficient contrast over bg that has the same hue as the original
-+ * color, assuming it is for large text. Optimised for dark backgrounds.
-+ */
-+ public static int ensureLargeDarkTextContrast(int color, int bg) {
-+ return findDarkContrastColor(color, bg, true, 3);
-+ }
-+
-+ /**
-+ * Finds a text color with sufficient contrast over bg that has the same hue as the original
- * color.
- */
- private static int ensureTextContrast(int color, int bg) {
- return findContrastColor(color, bg, true, 4.5);
- }
-
-+ /**
-+ * Finds a text color with sufficient contrast over bg that has the same hue as the original
-+ * color. Optimised for dark backgrounds.
-+ */
-+ private static int ensureDarkTextContrast(int color, int bg) {
-+ return findDarkContrastColor(color, bg, true, 4.5);
-+ }
-+
- /** Finds a background color for a text view with given text color and hint text color, that
- * has the same hue as the original color.
- */
-@@ -323,8 +379,13 @@ public class NotificationColorUtil {
- com.android.internal.R.color.notification_material_background_color);
-
- int color = resolvedColor;
-- color = NotificationColorUtil.ensureLargeTextContrast(color, actionBg);
-- color = NotificationColorUtil.ensureTextContrast(color, notiBg);
-+ if (context.getResources().getBoolean(R.bool.config_useDarkBgNotificationIconTextTinting)) {
-+ color = NotificationColorUtil.ensureLargeDarkTextContrast(color, actionBg);
-+ color = NotificationColorUtil.ensureDarkTextContrast(color, notiBg);
-+ } else {
-+ color = NotificationColorUtil.ensureLargeTextContrast(color, actionBg);
-+ color = NotificationColorUtil.ensureTextContrast(color, notiBg);
-+ }
-
- if (color != resolvedColor) {
- if (DEBUG){
-diff --git a/core/res/res/values/projekt_config.xml b/core/res/res/values/projekt_config.xml
-index 5234959fc9e..8cf5666a7e4 100644
---- a/core/res/res/values/projekt_config.xml
-+++ b/core/res/res/values/projekt_config.xml
-@@ -27,4 +27,8 @@
- needs to be set to false, to prevent the doze notifications from being light -->
- <bool name="config_invert_colors_on_doze">true</bool>
-
-+ <!-- True if the notification's dynamic app icon/title tint should be optimised for dark
-+ backgrounds (requires config_allowNotificationIconTextTinting to be true)-->
-+ <bool name="config_useDarkBgNotificationIconTextTinting">false</bool>
-+
- </resources>
-diff --git a/core/res/res/values/projekt_symbols.xml b/core/res/res/values/projekt_symbols.xml
-index 16a5728e6c9..faa71e064e6 100644
---- a/core/res/res/values/projekt_symbols.xml
-+++ b/core/res/res/values/projekt_symbols.xml
-@@ -19,6 +19,7 @@
-
- <!-- Notification icon/text dynamic tint -->
- <java-symbol type="bool" name="config_allowNotificationIconTextTinting" />
-+ <java-symbol type="bool" name="config_useDarkBgNotificationIconTextTinting" />
- <java-symbol type="color" name="notification_text_default_color" />
- <java-symbol type="color" name="sender_text_color" />
-
---
-2.11.1
-
--- /dev/null
+From c60265bfa86a7c58902cee42ca600e33e628d6ab Mon Sep 17 00:00:00 2001
+From: Evan Anderson <evananderson@aospa.co>
+Date: Mon, 27 Feb 2017 15:16:18 -0500
+Subject: [PATCH 39/42] 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
+
+Change-Id: I03c73f3d6a420ceda42c3241858427938d0a5fad
+Signed-off-by: Evan Anderson <evananderson@aospa.co>
+---
+ core/res/AndroidManifest.xml | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
+index 3ceb17b..4a7dd78 100644
+--- a/core/res/AndroidManifest.xml
++++ b/core/res/AndroidManifest.xml
+@@ -3162,7 +3162,8 @@
+ <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
+ android:protectionLevel="signature|privileged" />
+
+- <!-- Allows an application to make calls to OverlayManagerService.-->
++ <!-- Allows an application to make calls to OverlayManagerService.
++ @hide -->
+ <permission android:name="android.permission.MODIFY_OVERLAYS"
+ android:label="@string/permlab_modifyOverlays"
+ android:description="@string/permdesc_modifyOverlays"
+--
+2.9.3
+
+++ /dev/null
-From c501b8510b255c4f4f9deb18bb539778bae1d64f 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/45] Add a protected broadcast for Masquerade events
-
-Parse extras to get event details. Docs will be available
-in Masquerade source code
-
-Change-Id: I24ca3d11438bb830ce97af8b0e935c0700b394e6
----
- core/res/AndroidManifest.xml | 2 ++
- services/core/java/com/android/server/pm/PackageManagerService.java | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
-index 36df6eac13e..768b04c86c5 100644
---- a/core/res/AndroidManifest.xml
-+++ b/core/res/AndroidManifest.xml
-@@ -517,6 +517,8 @@
- <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 faaff1f08a2..79032a915ca 100644
---- a/services/core/java/com/android/server/pm/PackageManagerService.java
-+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
-@@ -4568,7 +4568,8 @@ 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("android.net.netmon.launchCaptivePortalApp")
-+ || actionName.startsWith("masquerade.substratum.STATUS_CHANGED")) {
- return true;
- }
- }
---
-2.11.1
-
--- /dev/null
+From 9927bcd8b73bbed7a16f852de3957ab4753a68db Mon Sep 17 00:00:00 2001
+From: Bryan Owens <djbryan3540@gmail.com>
+Date: Mon, 27 Feb 2017 19:06:31 -0600
+Subject: [PATCH 40/42] 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 758de6250d244b94f55be82387cb7b65e7bf91b7 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/45] 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
-
-Change-Id: I03c73f3d6a420ceda42c3241858427938d0a5fad
-Signed-off-by: Evan Anderson <evananderson@aospa.co>
----
- core/res/AndroidManifest.xml | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
-index 768b04c86c5..e4eeedf93f0 100644
---- a/core/res/AndroidManifest.xml
-+++ b/core/res/AndroidManifest.xml
-@@ -3164,7 +3164,8 @@
- <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
- android:protectionLevel="signature|privileged" />
-
-- <!-- Allows an application to make calls to OverlayManagerService.-->
-+ <!-- Allows an application to make calls to OverlayManagerService.
-+ @hide -->
- <permission android:name="android.permission.MODIFY_OVERLAYS"
- android:label="@string/permlab_modifyOverlays"
- android:description="@string/permdesc_modifyOverlays"
---
-2.11.1
-
--- /dev/null
+From 682f792168d7d1ac4d5ea719eca6fd5e4d01b43d 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 41/42] 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 be5cdb06e90496602deb8c3b62a04acf175b8eb4 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/45] 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 00000000000..6b2dcc4a675
---- /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 00000000000..dab250cc2d8
---- /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 00000000000..f278ccbf980
---- /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 a3586232a15..3fe7bbec960 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.11.1
-
--- /dev/null
+From 1e00bba63c5b6facec5a8beef1bb39863b251183 Mon Sep 17 00:00:00 2001
+From: Ivan Iskandar <iiiiskandar14@gmail.com>
+Date: Thu, 9 Mar 2017 13:28:22 +0100
+Subject: [PATCH 42/42] ThemeSafety: Introduce App Crash Intent
+
+The intent received by substratum and it will disable all enabled
+overlays.
+
+Change-Id: Ifabd57c2ea71ca93ecc2959ce09ccde3e91782dd
+---
+ services/core/java/com/android/server/am/AppErrors.java | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/services/core/java/com/android/server/am/AppErrors.java b/services/core/java/com/android/server/am/AppErrors.java
+index 0e2fa23..1ff1cdc 100644
+--- a/services/core/java/com/android/server/am/AppErrors.java
++++ b/services/core/java/com/android/server/am/AppErrors.java
+@@ -365,6 +365,14 @@ class AppErrors {
+ task = data.task;
+ msg.obj = data;
+ mService.mUiHandler.sendMessage(msg);
++
++ // Send broadcast intent to alert Substratum
++ Intent intent = new Intent("projekt.substratum.APP_CRASHED");
++ intent.putExtra("projekt.substratum.EXTRA_PACKAGE_NAME", r.info.packageName);
++ intent.putExtra("projekt.substratum.EXTRA_CRASH_REPEATING", data.repeating);
++ intent.putExtra("projekt.substratum.EXTRA_EXCEPTION_CLASS_NAME",
++ crashInfo.exceptionClassName);
++ mContext.sendBroadcast(intent);
+ }
+
+ int res = result.get();
+--
+2.9.3
+
+++ /dev/null
-From 21e5d69b15cf6467092228653c142deb2987718a 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/45] 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 7fe6034dfe0..4d3e6c9ec08 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.11.1
-
+++ /dev/null
-From 4c1e0875511f971804d92fe58c7046dc357380d0 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/45] 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 e4eeedf93f0..eddbc1d19a9 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 79032a915ca..faaff1f08a2 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.11.1
-
+++ /dev/null
-From 17c4131f89992453b741130a0f6baec1280b622c Mon Sep 17 00:00:00 2001
-From: Ivan Iskandar <iiiiskandar14@gmail.com>
-Date: Thu, 9 Mar 2017 13:28:22 +0100
-Subject: [PATCH 45/45] ThemeSafety: Introduce App Crash Intent
-
-The intent received by substratum and it will disable all enabled
-overlays.
-
-Change-Id: Ifabd57c2ea71ca93ecc2959ce09ccde3e91782dd
----
- services/core/java/com/android/server/am/AppErrors.java | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/services/core/java/com/android/server/am/AppErrors.java b/services/core/java/com/android/server/am/AppErrors.java
-index 0e2fa23f95f..1ff1cdc0081 100644
---- a/services/core/java/com/android/server/am/AppErrors.java
-+++ b/services/core/java/com/android/server/am/AppErrors.java
-@@ -365,6 +365,14 @@ class AppErrors {
- task = data.task;
- msg.obj = data;
- mService.mUiHandler.sendMessage(msg);
-+
-+ // Send broadcast intent to alert Substratum
-+ Intent intent = new Intent("projekt.substratum.APP_CRASHED");
-+ intent.putExtra("projekt.substratum.EXTRA_PACKAGE_NAME", r.info.packageName);
-+ intent.putExtra("projekt.substratum.EXTRA_CRASH_REPEATING", data.repeating);
-+ intent.putExtra("projekt.substratum.EXTRA_EXCEPTION_CLASS_NAME",
-+ crashInfo.exceptionClassName);
-+ mContext.sendBroadcast(intent);
- }
-
- int res = result.get();
---
-2.11.1
-
-From 136516428b86786251449bf2e008d126d9690691 Mon Sep 17 00:00:00 2001
+From 821a5244f3d480fc62d5b16ec9167d16a0f86ea2 Mon Sep 17 00:00:00 2001
From: beanstown106 <nbenis106@gmail.com>
Date: Fri, 20 Nov 2015 17:27:43 -0500
Subject: [PATCH] Themes: Expose hardcoded layout and styles colors
android:paddingBottom="8dip"
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
new file mode 100644
-index 0000000..d258c86
+index 0000000..d2ae4f8
--- /dev/null
+++ b/res/values/projekt_colors.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
-+ Copyright (c) 2016 Project Substratum
++ Copyright (c) 2016 Projekt Substratum
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
-From 1ff4ff6484428cd4b80aacaf1a619c3e3ea78667 Mon Sep 17 00:00:00 2001
+From 86ffec60f1b9006a910eb51ff5bc46e4f3e731fc Mon Sep 17 00:00:00 2001
From: Bryan Owens <djbryan3540@gmail.com>
Date: Tue, 29 Dec 2015 22:25:10 -0600
Subject: [PATCH 1/2] Themes: Expose hard coded background in java
-From b6b4eaf6df434964f0c3147d4363664096a5c947 Mon Sep 17 00:00:00 2001
+From 2145cfc41892ff9851a8b5e99c5afc4d5e8bcd8a Mon Sep 17 00:00:00 2001
From: Abdulwahab Isam <abdoi94.iq@gmail.com>
Date: Mon, 19 Sep 2016 18:42:06 +0300
Subject: [PATCH 2/2] Themes: Expose all elevations
Change-Id: I7d161c1fce17ac3b8a468e1597a3a1632433224b
---
- res/layout/display.xml | 2 +-
- res/values-port/styles.xml | 2 +-
- res/values/dimens.xml | 5 +++++
- 3 files changed, 7 insertions(+), 2 deletions(-)
- create mode 100644 res/values/dimens.xml
+ res/layout/display.xml | 2 +-
+ res/values-port/styles.xml | 2 +-
+ res/values/projekt_dimens.xml | 20 ++++++++++++++++++++
+ 3 files changed, 22 insertions(+), 2 deletions(-)
+ create mode 100644 res/values/projekt_dimens.xml
diff --git a/res/layout/display.xml b/res/layout/display.xml
index 638f0d2..043b531 100644
<item name="android:paddingTop">12dip</item>
<item name="android:paddingBottom">20dip</item>
<item name="android:paddingStart">20dip</item>
-diff --git a/res/values/dimens.xml b/res/values/dimens.xml
+diff --git a/res/values/projekt_dimens.xml b/res/values/projekt_dimens.xml
new file mode 100644
-index 0000000..065de72
+index 0000000..c1a0196
--- /dev/null
-+++ b/res/values/dimens.xml
-@@ -0,0 +1,5 @@
++++ b/res/values/projekt_dimens.xml
+@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
++<!--
++ Copyright (C) 2017 Projekt 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>
+ <dimen name="display_elevation">4.0dip</dimen>
+ <dimen name="pad_elevation">4.0dip</dimen>
-From e1c858c77863d951ceab42213cb0df56d36b2ef6 Mon Sep 17 00:00:00 2001
+From bf3a9728d3a62473b7f95fc2ec8056dcd43a9974 Mon Sep 17 00:00:00 2001
From: Thyrus11 <thyrus11@gmail.com>
Date: Sat, 21 Feb 2015 10:41:01 +0100
Subject: [PATCH] Themes: Make dialpad seperator line theme-able
android:layout_width="match_parent"
diff --git a/res/values/projekt_colors.xml b/res/values/projekt_colors.xml
new file mode 100644
-index 0000000..468ca5c
+index 0000000..163e4f0
--- /dev/null
+++ b/res/values/projekt_colors.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
-+ Copyright (c) 2016 Project Substratum
++ Copyright (c) 2016 Projekt Substratum
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
-From a739cf95edde6b4b63caf7bec08ad22236e88674 Mon Sep 17 00:00:00 2001
+From 0c3691321abfd7072133ed7a0727a03c9c1132c8 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/20] Settings: Expose dashboard category and tile color
-From 84d0c53dc8dc5ff66d267419ed820596dfbf7aa3 Mon Sep 17 00:00:00 2001
+From 4190ba44a209fa7dbd2f9b54a0c058d590226e0b Mon Sep 17 00:00:00 2001
From: daveyannihilation <daveyannihilation@hotmail.com>
Date: Tue, 20 Sep 2016 23:35:04 +0800
Subject: [PATCH 02/20] Settings: Expose condition card colors
-From b2817a3e509a47d3294e469c121d032fd3c38008 Mon Sep 17 00:00:00 2001
+From cd5696d8110762846fcd792589018889fd9e9441 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/20] Settings: Expose storage summary text
-From 590daaff47c0b305695176e6e74c339af85634c3 Mon Sep 17 00:00:00 2001
+From d076d99bef6c56a8154c0325193fa37498ccd81e Mon Sep 17 00:00:00 2001
From: daveyannihilation <daveyannihilation@hotmail.com>
Date: Fri, 25 Nov 2016 15:20:04 -0700
Subject: [PATCH 04/20] Settings: Expose gesture settings switchbar
-From 46a271fe4474c1623b40e13558adbfa7fbdcc01b Mon Sep 17 00:00:00 2001
+From d60689245c7d9d3502ba5f03ee2de28ce9e4db35 Mon Sep 17 00:00:00 2001
From: SpiritCroc <spiritcroc@gmail.com>
Date: Thu, 8 Dec 2016 20:40:16 +0100
Subject: [PATCH 05/20] Settings: Expose storage icon colors
-From 7b6a788a5e63c6d606d09e497fd3296148b1ddee Mon Sep 17 00:00:00 2001
+From cfe707f8060d6b8568a87eca94e77cb2a5d4054b Mon Sep 17 00:00:00 2001
From: SpiritCroc <spiritcroc@gmail.com>
Date: Fri, 9 Dec 2016 12:47:54 +0100
Subject: [PATCH 06/20] Settings: Expose LinearColorBar default colors
-From 303eb15b016fecdd7032bd3c6a5f291d578aaaec Mon Sep 17 00:00:00 2001
+From c723ba7b2530caa587a841398059573c93d758ac 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/20] OMS7-N: Apps: show/hide Substratum overlays [2/2]
-From 81e80f7f8dcc84a66e2cb297e5c18399eb115944 Mon Sep 17 00:00:00 2001
+From c960d1be404e87787c4a26e01679af5ff8d89670 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/20] OMS7-N: Apps: show/hide Substratum icon overlays [2/2]
-From 725d540d6f14c2a45017f24bb618596ee19cf024 Mon Sep 17 00:00:00 2001
+From 543cd64fb4c7bb0fd4970d81b66b55fc64dc76d9 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/20] Exclude overlays from the app counter
-From 0ed4673eecf51c0c334e5bb91e86d653841219bb Mon Sep 17 00:00:00 2001
+From 819192d6d43d28d71468535ffe67f22b4c6e1b12 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/20] Hide the "show/hide overlays" when no overlay installed
-From 7cf66e5d4e6cc714d29cadb90ae9234c3ade2a9a Mon Sep 17 00:00:00 2001
+From 8c69f2089767bb0a770f06658955d8e2966d4c85 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/20] Expose color for external settings icons
-From 9430d79c84c8af7f7ce974b10cf649148e2922d4 Mon Sep 17 00:00:00 2001
+From 04b30d6b758e7bbdb2067f6a0b7698bfa11de219 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/20] Expose dashboard category padding bottom
-From 1df525c93d1fe24c7bab897d3368d04911ebe4d6 Mon Sep 17 00:00:00 2001
+From a9f6de659abaaf005b4befb799e289d3a960c77a 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/20] Expose switchbar background color
-From 7ca0f24d413447e70d1cb7beb4de30c7f9092fe9 Mon Sep 17 00:00:00 2001
+From f5699ec6bd810df751997db9f51732f702f11f28 Mon Sep 17 00:00:00 2001
From: SpiritCroc <spiritcroc@gmail.com>
Date: Sun, 22 Jan 2017 20:51:47 +0100
Subject: [PATCH 14/20] Settings: Expose bluetooth pin confirm dialog text
-From 8d7fce408ebcd7167a186bac0dfc13831b3624e5 Mon Sep 17 00:00:00 2001
+From 614e827e959ea39c36d8db6e004353ead93732d3 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/20] Set external settings icon tint mode to SRC_ATOP
-From 904cfc107939f7576ee5f89335b11649f18a17e7 Mon Sep 17 00:00:00 2001
+From 0e2f8c35309b07b6d7cbc1f2a42b7ce19f3cc252 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
-From cf477fb782230b1941ba790b4bdcea983396182e Mon Sep 17 00:00:00 2001
+From 8b31b9fa53cfc4088456aa11a120f3aabac0147b 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
create mode 100644 res/values/projekt_styles.xml
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
-index 6c156cb..bc41523 100755
+index b8110ff..db3fa0f 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -214,7 +214,7 @@
android:label="@string/zen_mode_settings_title">
<intent-filter>
<action android:name="android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE" />
-@@ -2087,7 +2087,7 @@
+@@ -2078,7 +2078,7 @@
</activity-alias>
<activity android:name=".AppPicker" android:label="@string/select_application"
<!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name="UsbSettings"
-@@ -2104,7 +2104,7 @@
+@@ -2095,7 +2095,7 @@
android:label="@string/bluetooth_pairing_request"
android:excludeFromRecents="true"
android:windowSoftInputMode="stateVisible|adjustResize"
<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 @@
+@@ -2128,7 +2128,7 @@
android:label="@string/bluetooth_permission_request"
android:excludeFromRecents="true"
android:permission="android.permission.BLUETOOTH"
<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 @@
+@@ -2149,14 +2149,14 @@
android:excludeFromRecents="true"
android:exported="true"
android:permission="android.permission.MANAGE_USB"
<intent-filter>
<action android:name="android.settings.SHOW_REMOTE_BUGREPORT_DIALOG" />
<category android:name="android.intent.category.DEFAULT" />
-@@ -2176,7 +2176,7 @@
+@@ -2167,7 +2167,7 @@
android:label="@string/bluetooth_pairing_request"
android:excludeFromRecents="true"
android:permission="android.permission.BLUETOOTH"
</activity>
<receiver android:name=".bluetooth.BluetoothPairingRequest">
-@@ -2199,7 +2199,7 @@
+@@ -2190,7 +2190,7 @@
android:label="@string/bluetooth_connection_permission_request"
android:excludeFromRecents="true"
android:permission="android.permission.BLUETOOTH_ADMIN"
<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 @@
+@@ -2200,7 +2200,7 @@
<activity android:name="ActivityPicker"
android:label="@string/activity_picker_label"
android:finishOnCloseSystemDialogs="true">
<intent-filter android:priority="1">
<action android:name="android.intent.action.PICK_ACTIVITY" />
-@@ -2272,7 +2272,7 @@
+@@ -2263,7 +2263,7 @@
<!-- TODO: Is this needed? -->
<activity android:name="BandMode"
android:process="com.android.phone">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
-@@ -2300,7 +2300,7 @@
+@@ -2291,7 +2291,7 @@
<!-- Standard picker for widgets -->
<activity android:name="AppWidgetPickActivity"
android:label="@string/widget_picker_title"
android:finishOnCloseSystemDialogs="true">
<intent-filter android:priority="1">
<action android:name="android.appwidget.action.APPWIDGET_PICK" />
-@@ -2309,7 +2309,7 @@
+@@ -2300,7 +2300,7 @@
</activity>
<activity android:name="AllowBindAppWidgetActivity"
android:finishOnCloseSystemDialogs="true"
android:excludeFromRecents="true">
<intent-filter android:priority="1">
-@@ -2379,7 +2379,7 @@
+@@ -2370,7 +2370,7 @@
<activity android:name=".fuelgauge.BatterySaverModeVoiceActivity"
android:label="@string/power_usage_summary_title"
android:exported="true">
<intent-filter>
<action android:name="android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE" />
-@@ -2615,7 +2615,7 @@
+@@ -2606,7 +2606,7 @@
<activity android:name=".nfc.PaymentDefaultDialog"
android:label="@string/nfc_payment_set_default_label"
android:excludeFromRecents="true"
<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 @@
+@@ -2624,7 +2624,7 @@
<activity android:name=".SmsDefaultDialog"
android:label="@string/sms_application_title"
android:excludeFromRecents="true"
<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 @@
+@@ -2634,7 +2634,7 @@
<activity android:name=".ActiveNetworkScorerDialog"
android:label="@string/wifi_assistant_title"
android:excludeFromRecents="true"
<intent-filter android:priority="1">
<action android:name="android.net.scoring.CHANGE_ACTIVE" />
<category android:name="android.intent.category.DEFAULT" />
-@@ -2905,7 +2905,7 @@
+@@ -2896,7 +2896,7 @@
</activity>
<activity android:name=".sim.SimPreferenceDialog"
android:excludeFromRecents="true">
</activity>
-@@ -2923,7 +2923,7 @@
+@@ -2914,7 +2914,7 @@
</activity>
<activity android:name=".sim.SimDialogActivity"
android:label="@string/sim_settings_title"
android:excludeFromRecents="true">
<intent-filter>
-@@ -3049,7 +3049,7 @@
+@@ -3040,7 +3040,7 @@
<activity android:name=".WebViewImplementation"
android:exported="true"
android:excludeFromRecents="true"
-From 393ecf10f319d909ded17aa8ecf3202e73e3733c Mon Sep 17 00:00:00 2001
+From 2feffe9fb57f627bfac953bc83e0ce29c93cad42 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
-From da47e91252026c33587940c9146be8c97dc1db63 Mon Sep 17 00:00:00 2001
+From 1a31913520b5d0d0282658e6d84bcd13fd4bfb27 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
-From c8e8c8ce738542fd65e9f081d5202f32279c8b61 Mon Sep 17 00:00:00 2001
+From ee6a0be005d11c0dad4d59d388e04c5dfa6fd9aa 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
<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
+index 02e2a75..17f0717 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -235,6 +235,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
}
mDebugAppPref = findPreference(DEBUG_APP_KEY);
-@@ -814,6 +820,18 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
+@@ -814,6 +820,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
updateRootAccessOptions();
updateAdbOverNetwork();
updateUpdateRecoveryOptions();
+ updateForceAuthorizeSubstratumPackagesOptions();
-+ }
-+
+ }
+
+ private void updateAdbOverNetwork() {
+@@ -844,6 +851,17 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
+ }
+ }
+
+ private void writeForceAuthorizeSubstratumPackagesOptions() {
+ Settings.Secure.putInt(getActivity().getContentResolver(),
+ Settings.Secure.FORCE_AUTHORIZE_SUBSTRATUM_PACKAGES,
+ private void updateForceAuthorizeSubstratumPackagesOptions() {
+ mForceAuthorizeSubstratumPackages.setChecked(Settings.Secure.getInt(getActivity().getContentResolver(),
+ Settings.Secure.FORCE_AUTHORIZE_SUBSTRATUM_PACKAGES, 0) != 0);
- }
-
- private void updateAdbOverNetwork() {
++ }
++
+ private void resetDangerousOptions() {
+ mDontPokeProperties = true;
+ for (int i=0; i< mResetSwitchPrefs.size(); i++) {
@@ -2256,6 +2274,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
writeUSBAudioOptions();
} else if (preference == mForceResizable) {
--- /dev/null
+From 58ca717d6b43159879c4875bb0377c5b34d81015 Mon Sep 17 00:00:00 2001
+From: Nathan Chancellor <natechancellor@gmail.com>
+Date: Mon, 27 Mar 2017 21:30:52 -0700
+Subject: [PATCH] Remove all traces of CMTE policy
+
+Change-Id: I062c056697ad7b21c63015d2f402d8320669744f
+Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
+---
+ sepolicy/app.te | 3 ---
+ sepolicy/bootanim.te | 3 ---
+ sepolicy/drmserver.te | 1 -
+ sepolicy/file.te | 3 ---
+ sepolicy/file_contexts | 3 ---
+ sepolicy/installd.te | 5 -----
+ sepolicy/mac_permissions.xml | 6 ------
+ sepolicy/mediaserver.te | 3 ---
+ sepolicy/qcom/dumpstate.te | 2 --
+ sepolicy/seapp_contexts | 1 -
+ sepolicy/system.te | 6 ------
+ sepolicy/system_server.te | 4 ----
+ sepolicy/themeservice_app.te | 19 -------------------
+ sepolicy/zygote.te | 3 ---
+ 14 files changed, 62 deletions(-)
+ delete mode 100644 sepolicy/app.te
+ delete mode 100644 sepolicy/bootanim.te
+ delete mode 100644 sepolicy/drmserver.te
+ delete mode 100644 sepolicy/mediaserver.te
+ delete mode 100644 sepolicy/themeservice_app.te
+
+diff --git a/sepolicy/app.te b/sepolicy/app.te
+deleted file mode 100644
+index b2ad553..0000000
+--- a/sepolicy/app.te
++++ /dev/null
+@@ -1,3 +0,0 @@
+-# Themed resources (i.e. composed icons)
+-allow appdomain themeservice_app_data_file:dir r_dir_perms;
+-allow appdomain themeservice_app_data_file:file r_file_perms;
+diff --git a/sepolicy/bootanim.te b/sepolicy/bootanim.te
+deleted file mode 100644
+index 29c20d5..0000000
+--- a/sepolicy/bootanim.te
++++ /dev/null
+@@ -1,3 +0,0 @@
+-# Themed resources (bootanimation)
+-allow bootanim themeservice_app_data_file:dir search;
+-allow bootanim themeservice_app_data_file:file r_file_perms;
+diff --git a/sepolicy/drmserver.te b/sepolicy/drmserver.te
+deleted file mode 100644
+index 508791f..0000000
+--- a/sepolicy/drmserver.te
++++ /dev/null
+@@ -1 +0,0 @@
+-allow drmserver themeservice_app_data_file:file r_file_perms;
+diff --git a/sepolicy/file.te b/sepolicy/file.te
+index 707f640..2bf0cab 100644
+--- a/sepolicy/file.te
++++ b/sepolicy/file.te
+@@ -1,9 +1,6 @@
+ # Support asec containers getting mounted
+ allow file_type rootfs:filesystem associate;
+
+-# Themes
+-type themeservice_app_data_file, file_type, data_file_type;
+-
+ # Performance settings
+ type sysfs_devices_system_iosched, file_type, sysfs_type;
+
+diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
+index 1e58f14..d6fe27c 100644
+--- a/sepolicy/file_contexts
++++ b/sepolicy/file_contexts
+@@ -1,8 +1,5 @@
+ /cache/dalvik-cache(/.*)? u:object_r:dalvikcache_data_file:s0
+
+-# Themes
+-/data/system/theme(/.*)? u:object_r:themeservice_app_data_file:s0
+-
+ /system/bin/sysinit u:object_r:sysinit_exec:s0
+
+ /system/etc/init\.d/90userinit u:object_r:userinit_exec:s0
+diff --git a/sepolicy/installd.te b/sepolicy/installd.te
+index fc38117..47f0c52 100644
+--- a/sepolicy/installd.te
++++ b/sepolicy/installd.te
+@@ -1,8 +1,3 @@
+ # Allow querying of asec size on SD card
+ allow installd sdcard_type:dir { search };
+ allow installd sdcard_type:file { getattr };
+-
+-# Required for installd to create theme service's /data/data directory
+-allow installd themeservice_app_data_file:dir { create_dir_perms relabelfrom relabelto };
+-allow installd themeservice_app_data_file:lnk_file { create_file_perms relabelfrom relabelto };
+-allow installd themeservice_app_data_file:{ file sock_file fifo_file } { getattr unlink rename relabelfrom relabelto setattr };
+diff --git a/sepolicy/mac_permissions.xml b/sepolicy/mac_permissions.xml
+index f70b722..eb9ed44 100644
+--- a/sepolicy/mac_permissions.xml
++++ b/sepolicy/mac_permissions.xml
+@@ -22,10 +22,4 @@
+ </package>
+ </signer>
+
+- <!-- ThemeManagerService -->
+- <signer signature="@RELEASE" >
+- <package name="org.cyanogenmod.themeservice" >
+- <seinfo value="themeservice" />
+- </package>
+- </signer>
+ </policy>
+diff --git a/sepolicy/mediaserver.te b/sepolicy/mediaserver.te
+deleted file mode 100644
+index 62ed0b7..0000000
+--- a/sepolicy/mediaserver.te
++++ /dev/null
+@@ -1,3 +0,0 @@
+-# Themed resources (i.e. composed icons)
+-allow mediaserver themeservice_app_data_file:dir r_dir_perms;
+-allow mediaserver themeservice_app_data_file:file r_file_perms;
+diff --git a/sepolicy/qcom/dumpstate.te b/sepolicy/qcom/dumpstate.te
+index 560ad1e..87bab38 100644
+--- a/sepolicy/qcom/dumpstate.te
++++ b/sepolicy/qcom/dumpstate.te
+@@ -5,7 +5,5 @@ allow dumpstate resourcecache_data_file:dir r_dir_perms;
+ allow dumpstate resourcecache_data_file:file r_file_perms;
+ allow dumpstate fuse:dir r_dir_perms;
+ allow dumpstate fuse:file r_file_perms;
+-allow dumpstate themeservice_app_data_file:dir r_dir_perms;
+-allow dumpstate themeservice_app_data_file:file r_file_perms;
+ allow dumpstate media_rw_data_file:dir search;
+ allow dumpstate wcnss_service_exec:file rx_file_perms;
+diff --git a/sepolicy/seapp_contexts b/sepolicy/seapp_contexts
+index 215f108..e688338 100644
+--- a/sepolicy/seapp_contexts
++++ b/sepolicy/seapp_contexts
+@@ -1,3 +1,2 @@
+ #user=theme_man domain=system_app type=system_data_file
+ #user=_app seinfo=cmupdater name=com.cyanogenmod.updater domain=system_app type=system_app_data_file
+-user=_app seinfo=themeservice name=org.cyanogenmod.themeservice domain=themeservice_app type=themeservice_app_data_file
+diff --git a/sepolicy/system.te b/sepolicy/system.te
+index a9831b6..4e98e33 100644
+--- a/sepolicy/system.te
++++ b/sepolicy/system.te
+@@ -5,9 +5,3 @@ allow system_server adbtcp_prop:property_service set;
+
+ allow system_server dhcp_data_file:dir r_dir_perms;
+ allow system_server dhcp_data_file:file r_file_perms;
+-
+-# Themes
+-allow system_server themeservice_app_data_file:dir create_dir_perms;
+-allow system_server themeservice_app_data_file:file create_file_perms;
+-allow system_server resourcecache_data_file:dir create_dir_perms;
+-allow system_server resourcecache_data_file:file create_file_perms;
+diff --git a/sepolicy/system_server.te b/sepolicy/system_server.te
+index f88353a..61b8565 100644
+--- a/sepolicy/system_server.te
++++ b/sepolicy/system_server.te
+@@ -11,7 +11,3 @@ allow system_server storage_stub_file:dir { getattr };
+ allow system_server media_rw_data_file:dir r_dir_perms;
+
+ get_prop(system_server, adbsecure_prop)
+-
+-# Allow system_server to relabel newly created theme directory for
+-# use by the proxied theme service
+-allow system_server themeservice_app_data_file:dir relabelto;
+diff --git a/sepolicy/themeservice_app.te b/sepolicy/themeservice_app.te
+deleted file mode 100644
+index aaa84ab..0000000
+--- a/sepolicy/themeservice_app.te
++++ /dev/null
+@@ -1,19 +0,0 @@
+-# Add themeservice_app to appdomain
+-type themeservice_app, domain;
+-app_domain(themeservice_app)
+-
+-# Theme manager service
+-allow themeservice_app activity_service:service_manager find;
+-allow themeservice_app cm_status_bar_service:service_manager find;
+-allow themeservice_app cm_themes_service:dir search;
+-allow themeservice_app connectivity_service:service_manager find;
+-allow themeservice_app display_service:service_manager find;
+-allow themeservice_app mount_service:service_manager find;
+-allow themeservice_app notification_service:service_manager find;
+-allow themeservice_app system_app_data_file:dir search;
+-allow themeservice_app user_service:service_manager find;
+-allow themeservice_app wallpaper_service:service_manager find;
+-
+-# Allow full access to themeservice_app_data_file
+-allow themeservice_app themeservice_app_data_file:dir create_dir_perms;
+-allow themeservice_app themeservice_app_data_file:file create_file_perms;
+diff --git a/sepolicy/zygote.te b/sepolicy/zygote.te
+index 951f414..5e5ce5c 100644
+--- a/sepolicy/zygote.te
++++ b/sepolicy/zygote.te
+@@ -1,5 +1,2 @@
+-allow zygote themeservice_app_data_file:file r_file_perms;
+-allow zygote themeservice_app_data_file:dir r_dir_perms;
+-
+ # ps command may do this
+ allow untrusted_app zygote:process getsched;
+--
+2.9.3
+
+++ /dev/null
-From 05ae09ad06b42f3120a7f490c7cfe648419248ec Mon Sep 17 00:00:00 2001
-From: LuK1337 <priv.luk@gmail.com>
-Date: Thu, 16 Feb 2017 17:05:43 +0100
-Subject: [PATCH 1/2] Remove custom CMTE rules
-
-Change-Id: Ie7829f38fbb3af3eef19c1a73c27d500797ce43f
----
- sepolicy/file_contexts | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
-index 1e58f145..d6fe27c5 100644
---- a/sepolicy/file_contexts
-+++ b/sepolicy/file_contexts
-@@ -1,8 +1,5 @@
- /cache/dalvik-cache(/.*)? u:object_r:dalvikcache_data_file:s0
-
--# Themes
--/data/system/theme(/.*)? u:object_r:themeservice_app_data_file:s0
--
- /system/bin/sysinit u:object_r:sysinit_exec:s0
-
- /system/etc/init\.d/90userinit u:object_r:userinit_exec:s0
---
-2.11.1
-