diff --git a/Patches/LineageOS-15.1/android_frameworks_base/0001-Reduced_Resolution.patch b/Patches/LineageOS-15.1/android_frameworks_base/0001-Reduced_Resolution.patch deleted file mode 100644 index bee0a010..00000000 --- a/Patches/LineageOS-15.1/android_frameworks_base/0001-Reduced_Resolution.patch +++ /dev/null @@ -1,222 +0,0 @@ -From 78c9088dabac1c042567faa3196dfd21fae900ef Mon Sep 17 00:00:00 2001 -From: Tad -Date: Sat, 21 Oct 2017 11:53:09 -0400 -Subject: [PATCH] Reduced Resolution Feature 2/2 - -Change-Id: If92489ee9dc119acdeeb8f05f0d70970eef55817 ---- - core/java/android/os/IPowerManager.aidl | 3 + - core/java/android/os/PowerManager.java | 32 ++++++++ - core/java/android/os/PowerManagerInternal.java | 2 + - .../android/server/power/PowerManagerService.java | 85 ++++++++++++++++++++++ - 4 files changed, 122 insertions(+) - -diff --git a/core/java/android/os/IPowerManager.aidl b/core/java/android/os/IPowerManager.aidl -index 26eb7f169a0..d6051d0db74 100644 ---- a/core/java/android/os/IPowerManager.aidl -+++ b/core/java/android/os/IPowerManager.aidl -@@ -75,4 +75,7 @@ interface IPowerManager - void setKeyboardLight(boolean on, int key); - - void wakeUpWithProximityCheck(long time, String reason, String opPackageName); -+ -+ boolean isReducedResolution(); -+ boolean setReducedResolution(boolean mode); - } -diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java -index 5c8effec0ed..8c1d2fdf65b 100644 ---- a/core/java/android/os/PowerManager.java -+++ b/core/java/android/os/PowerManager.java -@@ -988,6 +988,38 @@ public final class PowerManager { - } - } - -+ /** -+ * Returns true if the WindowManager is running at a reduced resolution -+ * -+ * @return Returns true if WindowManager is set to a reduced resolution, else false. -+ * -+ * @hide -+ */ -+ public boolean isReducedResolution() { -+ try { -+ return mService.isReducedResolution(); -+ } catch (RemoteException e) { -+ throw e.rethrowFromSystemServer(); -+ } -+ } -+ -+ /** -+ * Set the reduced resolution mode -+ * -+ * @return True if the set was allowed. -+ * -+ * @see #isReducedResolution() -+ * -+ * @hide -+ */ -+ public boolean setReducedResolution(boolean mode) { -+ try { -+ return mService.setReducedResolution(mode); -+ } catch (RemoteException e) { -+ throw e.rethrowFromSystemServer(); -+ } -+ } -+ - /** - * Returns true if the device is currently in idle mode. This happens when a device - * has been sitting unused and unmoving for a sufficiently long period of time, so that -diff --git a/core/java/android/os/PowerManagerInternal.java b/core/java/android/os/PowerManagerInternal.java -index bbafb5662cd..e0c71a044a5 100644 ---- a/core/java/android/os/PowerManagerInternal.java -+++ b/core/java/android/os/PowerManagerInternal.java -@@ -173,6 +173,8 @@ public abstract class PowerManagerInternal { - - public abstract boolean setPowerSaveMode(boolean mode); - -+ public abstract boolean setReducedResolution(boolean mode); -+ - public abstract void setFeature(int featureId, int data); - - public abstract int getFeature(int featureId); -diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java -index 55d0809ee4e..33cb0a93bb7 100644 ---- a/services/core/java/com/android/server/power/PowerManagerService.java -+++ b/services/core/java/com/android/server/power/PowerManagerService.java -@@ -29,6 +29,7 @@ import android.content.IntentFilter; - import android.content.pm.PackageManager; - import android.content.res.Resources; - import android.database.ContentObserver; -+import android.graphics.Point; - import android.hardware.Sensor; - import android.hardware.SensorEvent; - import android.hardware.SensorEventListener; -@@ -49,6 +50,7 @@ import android.os.PowerManager; - import android.os.PowerManagerInternal; - import android.os.Process; - import android.os.RemoteException; -+import android.os.ServiceManager; - import android.os.SystemClock; - import android.os.SystemProperties; - import android.os.Trace; -@@ -67,6 +69,7 @@ import android.util.Slog; - import android.util.SparseIntArray; - import android.util.TimeUtils; - import android.view.Display; -+import android.view.IWindowManager; - import android.view.WindowManagerPolicy; - - import com.android.internal.app.IAppOpsService; -@@ -203,6 +206,7 @@ public final class PowerManagerService extends SystemService - private final Context mContext; - private final ServiceThread mHandlerThread; - private final PowerManagerHandler mHandler; -+ private IWindowManager mWm; - - private LightsManager mLightsManager; - private BatteryManagerInternal mBatteryManagerInternal; -@@ -2658,6 +2662,60 @@ public final class PowerManagerService extends SystemService - } - } - -+ private boolean isReducedResolutionInternal() { -+ synchronized (mLock) { -+ try { -+ Point initialSize = new Point(); -+ Point baseSize = new Point(); -+ -+ mWm = IWindowManager.Stub.asInterface(ServiceManager.checkService( -+ Context.WINDOW_SERVICE)); -+ -+ mWm.getInitialDisplaySize(Display.DEFAULT_DISPLAY, initialSize); -+ mWm.getBaseDisplaySize(Display.DEFAULT_DISPLAY, baseSize); -+ -+ return !initialSize.equals(baseSize); -+ } catch (RemoteException e) { -+ throw e.rethrowFromSystemServer(); -+ } -+ } -+ } -+ -+ private boolean setReducedResolutionInternal(boolean mode) { -+ synchronized (mLock) { -+ try { -+ mWm = IWindowManager.Stub.asInterface(ServiceManager.checkService( -+ Context.WINDOW_SERVICE)); -+ if (mode) { -+ Point initialSize = new Point(); -+ mWm.getInitialDisplaySize(Display.DEFAULT_DISPLAY, initialSize); -+ -+ Point newSize; -+ -+ if (initialSize.x == 1440 && initialSize.y == 2560) {//16:9 -+ newSize = new Point(1080, 1920);//.75 -+ } else if(initialSize.x == 1200 && initialSize.y == 1920) {//16:10 -+ newSize = new Point(900, 1440);//.75 -+ } else if(initialSize.x == 1080 && initialSize.y == 1920) {//16:9 -+ newSize = new Point(720, 1280);//.50 -+ } else if(initialSize.x == 768 && initialSize.y == 1280) {//5:3 -+ newSize = new Point(576, 960);//.75 -+ } else { -+ return false; -+ } -+ -+ mWm.setForcedDisplaySize(Display.DEFAULT_DISPLAY, newSize.x, newSize.y); -+ return isReducedResolutionInternal(); -+ } else { -+ mWm.clearForcedDisplaySize(Display.DEFAULT_DISPLAY); -+ return !isReducedResolutionInternal(); -+ } -+ } catch (RemoteException e) { -+ throw e.rethrowFromSystemServer(); -+ } -+ } -+ } -+ - boolean isDeviceIdleModeInternal() { - synchronized (mLock) { - return mDeviceIdleMode; -@@ -3833,6 +3891,28 @@ public final class PowerManagerService extends SystemService - } - } - -+ @Override // Binder call -+ public boolean isReducedResolution() { -+ final long ident = Binder.clearCallingIdentity(); -+ try { -+ return isReducedResolutionInternal(); -+ } finally { -+ Binder.restoreCallingIdentity(ident); -+ } -+ } -+ -+ @Override // Binder call -+ public boolean setReducedResolution(boolean mode) { -+ mContext.enforceCallingOrSelfPermission( -+ android.Manifest.permission.DEVICE_POWER, null); -+ final long ident = Binder.clearCallingIdentity(); -+ try { -+ return setReducedResolutionInternal(mode); -+ } finally { -+ Binder.restoreCallingIdentity(ident); -+ } -+ } -+ - @Override // Binder call - public boolean isDeviceIdleMode() { - final long ident = Binder.clearCallingIdentity(); -@@ -4214,6 +4294,11 @@ public final class PowerManagerService extends SystemService - return setLowPowerModeInternal(mode); - } - -+ @Override -+ public boolean setReducedResolution(boolean mode) { -+ return setReducedResolutionInternal(mode); -+ } -+ - @Override - public int getFeature(int featureId) { - return nativeGetFeature(featureId); --- -2.14.2 - diff --git a/Patches/LineageOS-15.1/android_packages_apps_LineageParts/0002-Reduced_Resolution.patch b/Patches/LineageOS-15.1/android_packages_apps_LineageParts/0002-Reduced_Resolution.patch deleted file mode 100644 index a8e8b54a..00000000 --- a/Patches/LineageOS-15.1/android_packages_apps_LineageParts/0002-Reduced_Resolution.patch +++ /dev/null @@ -1,107 +0,0 @@ -From a1e8c666a77d575c8d78a0d1269b3d06a7cb5d41 Mon Sep 17 00:00:00 2001 -From: Tad -Date: Sat, 21 Oct 2017 09:05:09 -0400 -Subject: [PATCH] Reduced Resolution Feature 1/2 - -Change-Id: I925a23e61ebf3ce06dc78898952085d87ad10410 ---- - res/values/strings.xml | 3 +++ - res/xml/perf_profile_settings.xml | 6 ++++++ - .../cyanogenmod/cmparts/power/PerfProfileSettings.java | 17 +++++++++++++++++ - 3 files changed, 26 insertions(+) - -diff --git a/res/values/strings.xml b/res/values/strings.xml -index 21b8b78..1fee482 100644 ---- a/res/values/strings.xml -+++ b/res/values/strings.xml -@@ -576,6 +576,9 @@ - Battery saving - Extreme power saver - Restrict device performance and background activity to save power -+ Reduce screen resolution -+ Lowers the screen resolution to save power -+ Unable to set a lower screen resolution - Automatic power saver - Automatically enable power save mode at %s battery - Do not enable power save mode automatically -diff --git a/res/xml/perf_profile_settings.xml b/res/xml/perf_profile_settings.xml -index 3585cb7..ce99c6c 100644 ---- a/res/xml/perf_profile_settings.xml -+++ b/res/xml/perf_profile_settings.xml -@@ -34,6 +34,12 @@ - android:title="@string/auto_power_save_title" - android:persistent="false" /> - -+ -+ - - - "$ANDROID_HOME/licenses/a cp -r $patches"Fennec_DOS-Shim" $base"packages/apps/"; #Add a shim to install Fennec DOS without actually including the large APK enterAndClear "build/make" +#patch -p1 < $patches"android_build/0001-Automated_Build_Signing.patch" #Automated build signing. Disclaimer: From CopperheadOS 13.0 #TODO: Rebase sed -i 's/messaging/Silence/' target/product/*.mk; #Replace AOSP Messaging app with Silence enterAndClear "device/qcom/sepolicy" @@ -68,7 +69,6 @@ enterAndClear "frameworks/base" sed -i 's/DEFAULT_MAX_FILES = 1000;/DEFAULT_MAX_FILES = 0;/' services/core/java/com/android/server/DropBoxManagerService.java; #Disable DropBox sed -i 's/com.android.messaging/org.smssecure.smssecure/' core/res/res/values/config.xml; #Change default SMS app to Silence sed -i 's|config_permissionReviewRequired">false|config_permissionReviewRequired">true|' core/res/res/values/config.xml; -#patch -p1 < $patches"android_frameworks_base/0001-Reduced_Resolution.patch" #Allow reducing resolution to save power TODO: Rebase and add 800x480 patch -p1 < $patches"android_frameworks_base/0002-Signature_Spoofing.patch" #Allow packages to spoof their signature (microG) patch -p1 < $patches"android_frameworks_base/0003-Harden_Sig_Spoofing.patch" #Restrict signature spoofing to system apps signed with the platform key patch -p1 < $patches"android_frameworks_base/0004-OpenNIC.patch" #Change fallback and tethering DNS servers to OpenNIC AnyCast @@ -126,7 +126,6 @@ enterAndClear "packages/apps/LineageParts" rm -rf src/org/lineageos/lineageparts/lineagestats/ res/xml/anonymous_stats.xml res/xml/preview_data.xml #Nuke part of the analytics sed -i 's|config_showWeatherMenu">true|config_showWeatherMenu">false|' res/values/config.xml; #Disable Weather patch -p1 < $patches"android_packages_apps_LineageParts/0001-Remove_Analytics.patch" #Remove analytics -#patch -p1 < $patches"android_packages_apps_LineageParts/0002-Reduced_Resolution.patch" #Allow reducing resolution to save power #TODO: Rebase enterAndClear "packages/apps/Settings" git revert a96df110e84123fe1273bff54feca3b4ca484dcd @@ -135,7 +134,7 @@ sed -i 's/GSETTINGS_PROVIDER = "com.google.settings";/GSETTINGS_PROVIDER = "com. #patch -p1 < $patches"android_packages_apps_Settings/0001-Privacy_Guard-More_Perms.patch" #Allow more control over various permissions via Privacy Guard #TODO: Rebase #enterAndClear "packages/apps/SetupWizard" -#patch -p1 < $patches"android_packages_apps_SetupWizard/0001-Remove_Analytics.patch" #Remove analytics +#patch -p1 < $patches"android_packages_apps_SetupWizard/0001-Remove_Analytics.patch" #Remove analytics #TODO: Rebase enterAndClear "packages/apps/Silence" cp $patches"android_packages_apps_Silence/Android.mk" Android.mk #Add a build file