diff --git a/Patches/Common/android_vendor_divested/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml b/Patches/Common/android_vendor_divested/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml index f87fa698..f674d619 100644 --- a/Patches/Common/android_vendor_divested/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml +++ b/Patches/Common/android_vendor_divested/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml @@ -3,7 +3,7 @@ - wifi,cell,bt,dnd,flashlight,rotation,battery,location,airplane,caffeine,saver,hotspot,nfc,sync + wifi,cell,bt,sensorprivacy,flashlight,location,rotation,battery,airplane,dnd,caffeine,dark,saver,hotspot,nfc,sync diff --git a/Patches/LineageOS-17.1/android_frameworks_base/0012-Restore_SensorsOff.patch b/Patches/LineageOS-17.1/android_frameworks_base/0012-Restore_SensorsOff.patch new file mode 100644 index 00000000..4d00822a --- /dev/null +++ b/Patches/LineageOS-17.1/android_frameworks_base/0012-Restore_SensorsOff.patch @@ -0,0 +1,264 @@ +From 57106526e814f24b8eb7dd33f62f53ff50864d73 Mon Sep 17 00:00:00 2001 +From: Tad +Date: Sun, 26 Sep 2021 14:15:01 -0400 +Subject: [PATCH] Restore Sensors Off tile + +Was moved to Settings under Developer options in a51ea81f4445 + +Signed-off-by: Tad +Change-Id: I043d1c6992595f5f074baea15b47cc5d1f2fac3b +--- + .../res/drawable/ic_signal_sensors.xml | 40 ++++++ + packages/SystemUI/res/values/config.xml | 2 +- + .../systemui/qs/tileimpl/QSFactoryImpl.java | 6 + + .../systemui/qs/tiles/SensorPrivacyTile.java | 133 ++++++++++++++++++ + 4 files changed, 180 insertions(+), 1 deletion(-) + create mode 100644 packages/SystemUI/res/drawable/ic_signal_sensors.xml + create mode 100644 packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyTile.java + +diff --git a/packages/SystemUI/res/drawable/ic_signal_sensors.xml b/packages/SystemUI/res/drawable/ic_signal_sensors.xml +new file mode 100644 +index 000000000000..b9b3500593a5 +--- /dev/null ++++ b/packages/SystemUI/res/drawable/ic_signal_sensors.xml +@@ -0,0 +1,40 @@ ++ ++ ++ ++ ++ ++ ++ +diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml +index f99dc023a9f8..0102013c3f87 100644 +--- a/packages/SystemUI/res/values/config.xml ++++ b/packages/SystemUI/res/values/config.xml +@@ -117,7 +117,7 @@ + + + +- wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,nfc,location,hotspot,inversion,saver,dark,work,cast,night,adb_network,ambient_display,caffeine,heads_up,livedisplay,aod,reading_mode,sync,usb_tether,volume_panel,vpn,profiles,powershare ++ wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,nfc,location,hotspot,inversion,saver,dark,work,cast,night,adb_network,ambient_display,caffeine,heads_up,livedisplay,aod,reading_mode,sync,usb_tether,volume_panel,vpn,profiles,powershare,sensorprivacy + + + +diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java +index 756d1fd53ac3..9b3653a01449 100644 +--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java ++++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java +@@ -51,6 +51,7 @@ import com.android.systemui.qs.tiles.PowerShareTile; + import com.android.systemui.qs.tiles.ProfilesTile; + import com.android.systemui.qs.tiles.ReadingModeTile; + import com.android.systemui.qs.tiles.RotationLockTile; ++import com.android.systemui.qs.tiles.SensorPrivacyTile; + import com.android.systemui.qs.tiles.SyncTile; + import com.android.systemui.qs.tiles.UiModeNightTile; + import com.android.systemui.qs.tiles.UsbTetherTile; +@@ -87,6 +88,7 @@ public class QSFactoryImpl implements QSFactory { + private final Provider mDataSaverTileProvider; + private final Provider mNightDisplayTileProvider; + private final Provider mNfcTileProvider; ++ private final Provider mSensorPrivacyTileProvider; + private final Provider mMemoryTileProvider; + private final Provider mUiModeNightTileProvider; + private final Provider mAdbOverNetworkTileProvider; +@@ -123,6 +125,7 @@ public class QSFactoryImpl implements QSFactory { + Provider dataSaverTileProvider, + Provider nightDisplayTileProvider, + Provider nfcTileProvider, ++ Provider sensorPrivacyTileProvider, + Provider memoryTileProvider, + Provider uiModeNightTileProvider, + Provider adbOverNetworkTileProvider, +@@ -155,6 +158,7 @@ public class QSFactoryImpl implements QSFactory { + mDataSaverTileProvider = dataSaverTileProvider; + mNightDisplayTileProvider = nightDisplayTileProvider; + mNfcTileProvider = nfcTileProvider; ++ mSensorPrivacyTileProvider = sensorPrivacyTileProvider; + mMemoryTileProvider = memoryTileProvider; + mUiModeNightTileProvider = uiModeNightTileProvider; + mAdbOverNetworkTileProvider = adbOverNetworkTileProvider; +@@ -221,6 +225,8 @@ public class QSFactoryImpl implements QSFactory { + return mNightDisplayTileProvider.get(); + case "nfc": + return mNfcTileProvider.get(); ++ case "sensorprivacy": ++ return mSensorPrivacyTileProvider.get(); + case "dark": + return mUiModeNightTileProvider.get(); + // Custom tiles. +diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyTile.java +new file mode 100644 +index 000000000000..941e1d44e145 +--- /dev/null ++++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyTile.java +@@ -0,0 +1,133 @@ ++/* ++ * Copyright (C) 2018 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.systemui.qs.tiles; ++ ++import android.content.Context; ++import android.content.Intent; ++import android.hardware.SensorPrivacyManager; ++import android.service.quicksettings.Tile; ++import android.widget.Switch; ++ ++import com.android.internal.logging.MetricsLogger; ++import com.android.internal.logging.nano.MetricsProto.MetricsEvent; ++import com.android.systemui.R; ++import com.android.systemui.plugins.ActivityStarter; ++import com.android.systemui.plugins.qs.QSTile.BooleanState; ++import com.android.systemui.qs.QSHost; ++import com.android.systemui.qs.tileimpl.QSTileImpl; ++import android.app.KeyguardManager; ++ ++import javax.inject.Inject; ++ ++/** Quick settings tile: SensorPrivacy mode **/ ++public class SensorPrivacyTile extends QSTileImpl implements ++ SensorPrivacyManager.OnSensorPrivacyChangedListener { ++ private static final String TAG = "SensorPrivacy"; ++ private final Icon mIcon = ++ ResourceIcon.get(R.drawable.ic_signal_sensors); ++ private KeyguardManager mKeyguardManager; ++ private final SensorPrivacyManager mSensorPrivacyManager; ++ private final ActivityStarter mActivityStarter; ++ ++ @Inject ++ public SensorPrivacyTile(QSHost host, SensorPrivacyManager sensorPrivacyManager, ++ ActivityStarter activityStarter) { ++ super(host); ++ ++ mSensorPrivacyManager = sensorPrivacyManager; ++ mKeyguardManager = (KeyguardManager) mContext.getSystemService( ++ Context.KEYGUARD_SERVICE); ++ mActivityStarter = activityStarter; ++ } ++ ++ @Override ++ public BooleanState newTileState() { ++ return new BooleanState(); ++ } ++ ++ @Override ++ public void handleClick() { ++ final boolean wasEnabled = mState.value; ++ // Don't allow disabling from the lockscreen. ++ if (wasEnabled && mKeyguardManager.isKeyguardLocked()) { ++ mActivityStarter.postQSRunnableDismissingKeyguard(() -> { ++ MetricsLogger.action(mContext, getMetricsCategory(), !wasEnabled); ++ setEnabled(!wasEnabled); ++ }); ++ return; ++ } ++ ++ MetricsLogger.action(mContext, getMetricsCategory(), !wasEnabled); ++ setEnabled(!wasEnabled); ++ } ++ ++ private void setEnabled(boolean enabled) { ++ mSensorPrivacyManager.setSensorPrivacy(enabled); ++ } ++ ++ @Override ++ public CharSequence getTileLabel() { ++ return mContext.getString(R.string.sensor_privacy_mode); ++ } ++ ++ @Override ++ public Intent getLongClickIntent() { ++ return new Intent(); ++ } ++ ++ @Override ++ protected void handleUpdateState(BooleanState state, Object arg) { ++ final boolean enabled = arg instanceof Boolean ? (Boolean) arg ++ : mSensorPrivacyManager.isSensorPrivacyEnabled(); ++ state.value = enabled; ++ state.label = mContext.getString(R.string.sensor_privacy_mode); ++ state.icon = mIcon; ++ state.state = enabled ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE; ++ state.contentDescription = state.label; ++ state.expandedAccessibilityClassName = Switch.class.getName(); ++ } ++ ++ @Override ++ public int getMetricsCategory() { ++ return MetricsEvent.QS_SENSOR_PRIVACY; ++ } ++ ++ @Override ++ protected String composeChangeAnnouncement() { ++ if (mState.value) { ++ return mContext ++ .getString(R.string.accessibility_quick_settings_sensor_privacy_changed_on); ++ } else { ++ return mContext ++ .getString(R.string.accessibility_quick_settings_sensor_privacy_changed_off); ++ } ++ } ++ ++ @Override ++ protected void handleSetListening(boolean listening) { ++ if (listening) { ++ mSensorPrivacyManager.addSensorPrivacyListener(this); ++ } else { ++ mSensorPrivacyManager.removeSensorPrivacyListener(this); ++ } ++ } ++ ++ @Override ++ public void onSensorPrivacyChanged(boolean enabled) { ++ refreshState(enabled); ++ } ++} +-- +2.31.1 + diff --git a/Patches/LineageOS-17.1/android_packages_apps_Settings/0003-Remove_SensorsOff_Tile.patch b/Patches/LineageOS-17.1/android_packages_apps_Settings/0003-Remove_SensorsOff_Tile.patch new file mode 100644 index 00000000..cf88bf5f --- /dev/null +++ b/Patches/LineageOS-17.1/android_packages_apps_Settings/0003-Remove_SensorsOff_Tile.patch @@ -0,0 +1,95 @@ +From 051e9e895fe14095e3161cb81cd68fe590858750 Mon Sep 17 00:00:00 2001 +From: Tad +Date: Sun, 26 Sep 2021 14:10:53 -0400 +Subject: [PATCH] Remove the Sensors Off tile + +Signed-off-by: Tad +Change-Id: Ic1dce1c0fffc3c3f6459c4c85e0a64d480d3315a +--- + AndroidManifest.xml | 11 ----- + .../development/qstile/DevelopmentTiles.java | 42 ------------------- + 2 files changed, 53 deletions(-) + +diff --git a/AndroidManifest.xml b/AndroidManifest.xml +index e4378d6b93..89fc7973a7 100644 +--- a/AndroidManifest.xml ++++ b/AndroidManifest.xml +@@ -3079,17 +3079,6 @@ + + + +- +- +- +- +- +- + +Date: Sun, 26 Sep 2021 14:15:01 -0400 +Subject: [PATCH] Restore Sensors Off tile + +Was moved to Settings under Developer options in a51ea81f4445 + +Signed-off-by: Tad +Change-Id: I043d1c6992595f5f074baea15b47cc5d1f2fac3b +--- + .../res/drawable/ic_signal_sensors.xml | 40 ++++++ + packages/SystemUI/res/values/config.xml | 2 +- + .../systemui/qs/tileimpl/QSFactoryImpl.java | 6 + + .../systemui/qs/tiles/SensorPrivacyTile.java | 133 ++++++++++++++++++ + 4 files changed, 180 insertions(+), 1 deletion(-) + create mode 100644 packages/SystemUI/res/drawable/ic_signal_sensors.xml + create mode 100644 packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyTile.java + +diff --git a/packages/SystemUI/res/drawable/ic_signal_sensors.xml b/packages/SystemUI/res/drawable/ic_signal_sensors.xml +new file mode 100644 +index 000000000000..b9b3500593a5 +--- /dev/null ++++ b/packages/SystemUI/res/drawable/ic_signal_sensors.xml +@@ -0,0 +1,40 @@ ++ ++ ++ ++ ++ ++ ++ +diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml +index 367fe72d4da7..f10d021e5c50 100644 +--- a/packages/SystemUI/res/values/config.xml ++++ b/packages/SystemUI/res/values/config.xml +@@ -114,7 +114,7 @@ + + + +- wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,nfc,location,hotspot,inversion,saver,dark,work,cast,night,screenrecord,reverse,ambient_display,aod,caffeine,heads_up,livedisplay,powershare,profiles,reading_mode,sync,usb_tether,volume_panel,vpn,anti_flicker ++ wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,nfc,location,hotspot,inversion,saver,dark,work,cast,night,screenrecord,reverse,ambient_display,aod,caffeine,heads_up,livedisplay,powershare,profiles,reading_mode,sync,usb_tether,volume_panel,vpn,anti_flicker,sensorprivacy + + + +diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java +index 47b9c7bec0d7..66d7b8803570 100644 +--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java ++++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java +@@ -51,6 +51,7 @@ import com.android.systemui.qs.tiles.ProfilesTile; + import com.android.systemui.qs.tiles.ReadingModeTile; + import com.android.systemui.qs.tiles.RotationLockTile; + import com.android.systemui.qs.tiles.ScreenRecordTile; ++import com.android.systemui.qs.tiles.SensorPrivacyTile; + import com.android.systemui.qs.tiles.SyncTile; + import com.android.systemui.qs.tiles.UiModeNightTile; + import com.android.systemui.qs.tiles.UsbTetherTile; +@@ -89,6 +90,7 @@ public class QSFactoryImpl implements QSFactory { + private final Provider mDataSaverTileProvider; + private final Provider mNightDisplayTileProvider; + private final Provider mNfcTileProvider; ++ private final Provider mSensorPrivacyTileProvider; + private final Provider mMemoryTileProvider; + private final Provider mUiModeNightTileProvider; + private final Provider mScreenRecordTileProvider; +@@ -127,6 +129,7 @@ public class QSFactoryImpl implements QSFactory { + Provider dataSaverTileProvider, + Provider nightDisplayTileProvider, + Provider nfcTileProvider, ++ Provider sensorPrivacyTileProvider, + Provider memoryTileProvider, + Provider uiModeNightTileProvider, + Provider screenRecordTileProvider, +@@ -161,6 +164,7 @@ public class QSFactoryImpl implements QSFactory { + mDataSaverTileProvider = dataSaverTileProvider; + mNightDisplayTileProvider = nightDisplayTileProvider; + mNfcTileProvider = nfcTileProvider; ++ mSensorPrivacyTileProvider = sensorPrivacyTileProvider; + mMemoryTileProvider = memoryTileProvider; + mUiModeNightTileProvider = uiModeNightTileProvider; + mScreenRecordTileProvider = screenRecordTileProvider; +@@ -224,6 +228,8 @@ public class QSFactoryImpl implements QSFactory { + return mNightDisplayTileProvider.get(); + case "nfc": + return mNfcTileProvider.get(); ++ case "sensorprivacy": ++ return mSensorPrivacyTileProvider.get(); + case "dark": + return mUiModeNightTileProvider.get(); + case "screenrecord": +diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyTile.java +new file mode 100644 +index 000000000000..941e1d44e145 +--- /dev/null ++++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyTile.java +@@ -0,0 +1,133 @@ ++/* ++ * Copyright (C) 2018 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.systemui.qs.tiles; ++ ++import android.content.Context; ++import android.content.Intent; ++import android.hardware.SensorPrivacyManager; ++import android.service.quicksettings.Tile; ++import android.widget.Switch; ++ ++import com.android.internal.logging.MetricsLogger; ++import com.android.internal.logging.nano.MetricsProto.MetricsEvent; ++import com.android.systemui.R; ++import com.android.systemui.plugins.ActivityStarter; ++import com.android.systemui.plugins.qs.QSTile.BooleanState; ++import com.android.systemui.qs.QSHost; ++import com.android.systemui.qs.tileimpl.QSTileImpl; ++import android.app.KeyguardManager; ++ ++import javax.inject.Inject; ++ ++/** Quick settings tile: SensorPrivacy mode **/ ++public class SensorPrivacyTile extends QSTileImpl implements ++ SensorPrivacyManager.OnSensorPrivacyChangedListener { ++ private static final String TAG = "SensorPrivacy"; ++ private final Icon mIcon = ++ ResourceIcon.get(R.drawable.ic_signal_sensors); ++ private KeyguardManager mKeyguardManager; ++ private final SensorPrivacyManager mSensorPrivacyManager; ++ private final ActivityStarter mActivityStarter; ++ ++ @Inject ++ public SensorPrivacyTile(QSHost host, SensorPrivacyManager sensorPrivacyManager, ++ ActivityStarter activityStarter) { ++ super(host); ++ ++ mSensorPrivacyManager = sensorPrivacyManager; ++ mKeyguardManager = (KeyguardManager) mContext.getSystemService( ++ Context.KEYGUARD_SERVICE); ++ mActivityStarter = activityStarter; ++ } ++ ++ @Override ++ public BooleanState newTileState() { ++ return new BooleanState(); ++ } ++ ++ @Override ++ public void handleClick() { ++ final boolean wasEnabled = mState.value; ++ // Don't allow disabling from the lockscreen. ++ if (wasEnabled && mKeyguardManager.isKeyguardLocked()) { ++ mActivityStarter.postQSRunnableDismissingKeyguard(() -> { ++ MetricsLogger.action(mContext, getMetricsCategory(), !wasEnabled); ++ setEnabled(!wasEnabled); ++ }); ++ return; ++ } ++ ++ MetricsLogger.action(mContext, getMetricsCategory(), !wasEnabled); ++ setEnabled(!wasEnabled); ++ } ++ ++ private void setEnabled(boolean enabled) { ++ mSensorPrivacyManager.setSensorPrivacy(enabled); ++ } ++ ++ @Override ++ public CharSequence getTileLabel() { ++ return mContext.getString(R.string.sensor_privacy_mode); ++ } ++ ++ @Override ++ public Intent getLongClickIntent() { ++ return new Intent(); ++ } ++ ++ @Override ++ protected void handleUpdateState(BooleanState state, Object arg) { ++ final boolean enabled = arg instanceof Boolean ? (Boolean) arg ++ : mSensorPrivacyManager.isSensorPrivacyEnabled(); ++ state.value = enabled; ++ state.label = mContext.getString(R.string.sensor_privacy_mode); ++ state.icon = mIcon; ++ state.state = enabled ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE; ++ state.contentDescription = state.label; ++ state.expandedAccessibilityClassName = Switch.class.getName(); ++ } ++ ++ @Override ++ public int getMetricsCategory() { ++ return MetricsEvent.QS_SENSOR_PRIVACY; ++ } ++ ++ @Override ++ protected String composeChangeAnnouncement() { ++ if (mState.value) { ++ return mContext ++ .getString(R.string.accessibility_quick_settings_sensor_privacy_changed_on); ++ } else { ++ return mContext ++ .getString(R.string.accessibility_quick_settings_sensor_privacy_changed_off); ++ } ++ } ++ ++ @Override ++ protected void handleSetListening(boolean listening) { ++ if (listening) { ++ mSensorPrivacyManager.addSensorPrivacyListener(this); ++ } else { ++ mSensorPrivacyManager.removeSensorPrivacyListener(this); ++ } ++ } ++ ++ @Override ++ public void onSensorPrivacyChanged(boolean enabled) { ++ refreshState(enabled); ++ } ++} +-- +2.31.1 + diff --git a/Patches/LineageOS-18.1/android_packages_apps_Settings/0003-Remove_SensorsOff_Tile.patch b/Patches/LineageOS-18.1/android_packages_apps_Settings/0003-Remove_SensorsOff_Tile.patch new file mode 100644 index 00000000..ff709446 --- /dev/null +++ b/Patches/LineageOS-18.1/android_packages_apps_Settings/0003-Remove_SensorsOff_Tile.patch @@ -0,0 +1,99 @@ +From e0e9afa0b76af1692cfcb1f24e3ca4f4faccf321 Mon Sep 17 00:00:00 2001 +From: Tad +Date: Sun, 26 Sep 2021 14:10:53 -0400 +Subject: [PATCH] Remove the Sensors Off tile + +Signed-off-by: Tad +Change-Id: Ic1dce1c0fffc3c3f6459c4c85e0a64d480d3315a +--- + AndroidManifest.xml | 13 ------ + .../development/qstile/DevelopmentTiles.java | 42 ------------------- + 2 files changed, 55 deletions(-) + +diff --git a/AndroidManifest.xml b/AndroidManifest.xml +index c17807bd13..09d4c3b0ab 100644 +--- a/AndroidManifest.xml ++++ b/AndroidManifest.xml +@@ -3130,19 +3130,6 @@ + android:value="true"/> + + +- +- +- +- +- +- +- + 0) { packageList.add("net.sourceforge.opencamera"); }' core/java/android/hardware/Camera.java; #Add Open Camera to aux camera allowlist XXX: needs testing, broke boot last time rm -rf packages/OsuLogin; #Automatic Wi-Fi connection non-sense @@ -200,6 +201,7 @@ if enterAndClear "packages/apps/Settings"; then git revert --no-edit 486980cfecce2ca64267f41462f9371486308e9d; #Don't hide OEM unlock patch -p1 < "$DOS_PATCHES/android_packages_apps_Settings/0001-Captive_Portal_Toggle.patch"; #Add option to disable captive portal checks (MSe1969) patch -p1 < "$DOS_PATCHES/android_packages_apps_Settings/0002-Sensors.patch"; #Permission for sensors access (MSe1969) +patch -p1 < "$DOS_PATCHES/android_packages_apps_Settings/0003-Remove_SensorsOff_Tile.patch"; #Remove the Sensors Off development tile sed -i 's/private int mPasswordMaxLength = 16;/private int mPasswordMaxLength = 48;/' src/com/android/settings/password/ChooseLockPassword.java; #Increase max password length (GrapheneOS) sed -i 's/if (isFullDiskEncrypted()) {/if (false) {/' src/com/android/settings/accessibility/*AccessibilityService*.java; #Never disable secure start-up when enabling an accessibility service if [ "$DOS_MICROG_INCLUDED" = "FULL" ]; then sed -i 's/GSETTINGS_PROVIDER = "com.google.settings";/GSETTINGS_PROVIDER = "com.google.oQuae4av";/' src/com/android/settings/backup/PrivacySettingsUtils.java; fi; #microG doesn't support Backup, hide the options diff --git a/Scripts/LineageOS-18.1/Patch.sh b/Scripts/LineageOS-18.1/Patch.sh index 4da768df..ba1c8f14 100644 --- a/Scripts/LineageOS-18.1/Patch.sh +++ b/Scripts/LineageOS-18.1/Patch.sh @@ -97,6 +97,7 @@ patch -p1 < "$DOS_PATCHES/android_frameworks_base/0009-SystemUI_No_Permission_Re patch -p1 < "$DOS_PATCHES/android_frameworks_base/0003-SUPL_No_IMSI.patch"; #Don't send IMSI to SUPL (MSe1969) patch -p1 < "$DOS_PATCHES/android_frameworks_base/0004-Fingerprint_Lockout.patch"; #Enable fingerprint lockout after three failed attempts (GrapheneOS) patch -p1 < "$DOS_PATCHES/android_frameworks_base/0010-Sensors.patch"; #Permission for sensors access (MSe1969) +patch -p1 < "$DOS_PATCHES/android_frameworks_base/0011-Restore_SensorsOff.patch"; #Restore the Sensors Off tile #sed -i '301i\ if(packageList != null && packageList.size() > 0) { packageList.add("net.sourceforge.opencamera"); }' core/java/android/hardware/Camera.java; #Add Open Camera to aux camera allowlist XXX: needs testing, broke boot last time if [ "$DOS_MICROG_INCLUDED" != "FULL" ]; then rm -rf packages/CompanionDeviceManager; fi; #Used to support Android Wear (which hard depends on GMS) rm -rf packages/PrintRecommendationService; #Creates popups to install proprietary print apps @@ -187,6 +188,7 @@ fi; if enterAndClear "packages/apps/Settings"; then patch -p1 < "$DOS_PATCHES/android_packages_apps_Settings/0001-Captive_Portal_Toggle.patch"; #Add option to disable captive portal checks (MSe1969) patch -p1 < "$DOS_PATCHES/android_packages_apps_Settings/0002-Sensors.patch"; #Permission for sensors access (MSe1969) +patch -p1 < "$DOS_PATCHES/android_packages_apps_Settings/0003-Remove_SensorsOff_Tile.patch"; #Remove the Sensors Off development tile sed -i 's/if (isFullDiskEncrypted()) {/if (false) {/' src/com/android/settings/accessibility/*AccessibilityService*.java; #Never disable secure start-up when enabling an accessibility service if [ "$DOS_MICROG_INCLUDED" = "FULL" ]; then sed -i 's/GSETTINGS_PROVIDER = "com.google.settings";/GSETTINGS_PROVIDER = "com.google.oQuae4av";/' src/com/android/settings/backup/PrivacySettingsUtils.java; fi; #microG doesn't support Backup, hide the options fi;