Files
device_xiaomi_stone/parts/AndroidManifest.xml
kamikaonashi 186dbed08e [SQUASH] stone:parts: Implement HBM & Auto HBM
m8250-common: hbm: Add preference for time-based HBM disable

To specify a duration after which High Brightness Mode (HBM)
is automatically disabled if the lux level falls below the
defined threshold.

[EmanuelCN: Use thread sleep and recheck lux after timeToDisableHBM]

Signed-off-by: AnierinB <anierin@evolution-x.org>

sm8250-common: hbm: Deactivate the HBM tile when the screen turns off

When the screen is turned off, HBM will shut down and the HBM tile should become inactive.

sm8250-common: hbm: Refresh the QS brightness slider whenever the HBM is activated

The brightness slider should be set to 100% when the HBM is activated.

sm8250-common: hbm: Avoid writing to the backlight when turning off the HBM

Not needed.

sm8250-common: hbm: Include a 7-second delay when turning off the HBM

The HBM turning off while walking through a shadow was frustrating. Address this issue by verifying if the threshold has been reached after the 7-second delay.

sm8250-common: sepolicy: allow parts to get SettingsLib prop

ThermalSettingsFragment's use of ApplicationsState includes a
check of whether a package is an instant app or not. The function
isInstant() in AppUtils reads settingsdebug.instant.packages prop
to retrieve a list of instant packages for debugging purposes.

We do not actually use this property, but this check triggers an
SELinux denial for every package in the list and spams the logs
with permission denied errors. Get rid of these log spams by
allowing parts to read the prop.

Test: open the thermal profile settings and check logs

sm8250-common: sepolicy: Allow devicesettings write to vendor_sysfs_graphics

sm8250-common: Disable hbm thermal throttle

adapted to stone (sm6375)

Co-Authored-By: Emanuel <emanuelghub@gmail.com>
Co-Authored-By: maxwen <max.weninger@gmail.com>
Co-Authored-By: Hikari-no-Tenshi <16803494+Hikari-no-Tenshi@users.noreply.github.com>
Co-Authored-By: Anierin Bliss <anierin@evolution-x.org>
Co-Authored-By: Alec Chan <88945170+alecchangod@users.noreply.github.com>
2024-05-07 23:17:44 +02:00

169 lines
6.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015-2016 The CyanogenMod Project
2017-2018 The LineageOS 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.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.lineageos.settings"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.system">
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-sdk
android:minSdkVersion="24"
android:targetSdkVersion="30"/>
<application
android:label="@string/device_settings_app_name"
android:persistent="true"
android:defaultToDeviceProtectedStorage="true"
android:directBootAware="true"
android:theme="@style/Theme.SubSettingsBase">
<receiver android:name=".BootCompletedReceiver">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
tools:replace="android:authorities"/>
<activity
android:name=".dirac.DiracActivity"
android:label="@string/dirac_title"
android:exported="true">
<intent-filter>
<action android:name="com.android.settings.action.IA_SETTINGS" />
</intent-filter>
<meta-data
android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.sound" />
<meta-data
android:name="com.android.settings.summary"
android:resource="@string/dirac_summary" />
</activity>
<service
android:name=".dirac.DiracTileService"
android:icon="@drawable/ic_qs_dirac"
android:label="@string/dirac_title"
android:exported="true"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE"/>
</intent-filter>
</service>
<activity
android:name=".thermal.ThermalActivity"
android:label="@string/thermal_title">
<intent-filter>
<action android:name="com.android.settings.action.IA_SETTINGS" />
</intent-filter>
<meta-data
android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.battery" />
<meta-data
android:name="com.android.settings.summary"
android:resource="@string/thermal_summary" />
<meta-data
android:name="com.android.settings.order"
android:value="1" />
</activity>
<service
android:name=".thermal.ThermalService"
android:permission="ThermalService">
</service>
<activity
android:name=".speaker.ClearSpeakerActivity"
android:label="@string/clear_speaker_title">
<intent-filter>
<action android:name="com.android.settings.action.IA_SETTINGS" />
</intent-filter>
<meta-data
android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.sound" />
<meta-data
android:name="com.android.settings.summary"
android:resource="@string/clear_speaker_summary" />
</activity>
<activity
android:name=".refreshrate.RefreshActivity"
android:label="@string/refresh_title"
android:exported="false">
<intent-filter>
<action android:name="com.android.settings.action.IA_SETTINGS" />
</intent-filter>
<meta-data
android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.display" />
<meta-data
android:name="com.android.settings.summary"
android:resource="@string/refresh_summary" />
</activity>
<service
android:name=".refreshrate.RefreshService"
android:exported="true"
android:permission="RefreshService">
</service>
<activity
android:name=".hbm.HBMActivity"
android:label="@string/hbm_fragment_title"
android:exported="false"
android:theme="@style/Theme.SubSettingsBase">
<intent-filter>
<action android:name="com.android.settings.action.IA_SETTINGS" />
</intent-filter>
<meta-data
android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.display" />
<meta-data
android:name="com.android.settings.summary"
android:resource="@string/hbm_fragment_summary" />
</activity>
<activity
android:name=".hbm.HBMFragment" />
<service
android:name=".hbm.AutoHBMService"
android:exported="false" />
<service
android:name=".hbm.HBMModeTileService"
android:icon="@drawable/ic_hbm_tile"
android:label="@string/hbm_mode_title"
android:exported="true"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE" />
</intent-filter>
</service>
</application>
</manifest>