Compare commits

...

47 commits

Author SHA1 Message Date
wshamroukh
e0f2bf5549 sdm660-common: Add missing android.hardware.audio.sounddose-vendor-impl
E audiohalservice: Failed to dlopen android.hardware.audio.sounddose-vendor-impl.so: dlopen failed: library android.hardware.audio.sounddose-vendor-impl.so not found
W audiohalservice: createISoundDoseFactory() from android.hardware.audio.sounddose-vendor-impl failed
2024-08-06 11:44:57 +03:00
yoriscape
31b9b15239 sdm660-common: Build libprotobuf-cpp-full-3.9.1-vendorcompat
Signed-off-by: yoriscape <sukhpreetsingh58627@gmail.com>
2024-08-06 11:44:06 +03:00
Tim Zimmermann
9ea6e184a1 sdm660-common: Set manifest target-level to 5 2024-08-06 11:41:06 +03:00
pix106
fa682f0e24 sdm660-common: remove Apex flags 2024-08-06 11:38:08 +03:00
wshamroukh
5f9452509c sdm660-common: parts: Migrate to CompoundButton.OnCheckedChangeListener Switch and SwitchCompat are both CompoundButton.
Using CompoundButton in Java will helps migration in the future.
This fixes the following errors:
device/xiaomi/cas/parts/src/org/lineageos/settings/dirac/DiracSettingsFragment.java:29: error: cannot find symbol
import com.android.settingslib.widget.OnMainSwitchChangeListener;
                                     ^
  symbol:   class OnMainSwitchChangeListener
  location: package com.android.settingslib.widget
device/xiaomi/cas/parts/src/org/lineageos/settings/dirac/DiracSettingsFragment.java:34: error: cannot find symbol
        OnPreferenceChangeListener, OnMainSwitchChangeListener {
                                    ^
  symbol: class OnMainSwitchChangeListener
device/xiaomi/cas/parts/src/org/lineageos/settings/doze/DozeSettingsFragment.java:37: error: cannot find symbol
import com.android.settingslib.widget.OnMainSwitchChangeListener;
                                     ^
  symbol:   class OnMainSwitchChangeListener
  location: package com.android.settingslib.widget
device/xiaomi/cas/parts/src/org/lineageos/settings/doze/DozeSettingsFragment.java:42: error: cannot find symbol
        OnMainSwitchChangeListener {
        ^
  symbol: class OnMainSwitchChangeListener
device/xiaomi/cas/parts/src/org/lineageos/settings/thermal/TouchSettingsFragment.java:28: error: cannot find symbol
import com.android.settingslib.widget.OnMainSwitchChangeListener;
                                     ^
  symbol:   class OnMainSwitchChangeListener
  location: package com.android.settingslib.widget
device/xiaomi/cas/parts/src/org/lineageos/settings/thermal/TouchSettingsFragment.java:34: error: cannot find symbol
        implements SharedPreferences.OnSharedPreferenceChangeListener, OnMainSwitchChangeListener {
                                                                       ^
  symbol: class OnMainSwitchChangeListener

device/xiaomi/cas/parts/src/org/lineageos/settings/dirac/DiracSettingsFragment.java:30: error: cannot find symbol
import com.android.settingslib.widget.OnMainSwitchChangeListener;
                                     ^
  symbol:   class OnMainSwitchChangeListener
  location: package com.android.settingslib.widget
device/xiaomi/cas/parts/src/org/lineageos/settings/doze/DozeSettingsFragment.java:38: error: cannot find symbol
import com.android.settingslib.widget.OnMainSwitchChangeListener;
                                     ^
  symbol:   class OnMainSwitchChangeListener
  location: package com.android.settingslib.widget
device/xiaomi/cas/parts/src/org/lineageos/settings/thermal/TouchSettingsFragment.java:29: error: cannot find symbol
import com.android.settingslib.widget.OnMainSwitchChangeListener;
                                     ^
  symbol:   class OnMainSwitchChangeListener
  location: package com.android.settingslib.widget
2024-08-06 11:36:38 +03:00
SonicBSV
9b4e398620 sdm660-common: DeviceSettings/DeviceDoze: change settingslib widget to collapsingtoolbar
device/asus/sdm660-common/DeviceSettings/src/org/lineageos/settings/device/DeviceSettingsActivity.java:24: error: cannot find symbol
import com.android.settingslib.widget.R;
                                     ^
  symbol:   class R
  location: package com.android.settingslib.widget
device/asus/sdm660-common/DeviceSettings/src/org/lineageos/settings/device/kcal/KCalSettingsActivity.java:26: error: cannot find symbol
import com.android.settingslib.widget.R;
                                     ^
  symbol:   class R
  location: package com.android.settingslib.widget
device/asus/sdm660-common/DeviceSettings/src/org/lineageos/settings/device/speaker/ClearSpeakerActivity.java:24: error: cannot find symbol
import com.android.settingslib.widget.R;
                                     ^
  symbol:   class R
  location: package com.android.settingslib.widget

26ffac3b24
2024-08-06 11:35:38 +03:00
Michael Bestas
93e4d5250f sdm660-common: Build missing libraries for 14 QPR3
Change-Id: I6a84526ca1e9f4e5140c8068646433cab3fe85b2
2024-08-03 20:31:43 +03:00
SoundDrill31
f025de6343 sdm660-common: Attempt to normalize rfs/msm
* rfs/msm/adsp/: not normalized
2024-08-03 20:12:52 +03:00
pix106
845e166d18 sdm660-common: power-libperfmgr: add endAllHints function
* from commit "power-libperfmgr: Disable boosting when battery saver is on"
2024-08-03 18:52:04 +03:00
995cbb083d Revert "sdm660-common: build kernel with clang 14.0.7"
This reverts commit 952c7d9cf1.
2024-08-03 11:50:15 +03:00
pix106
948ee74d04 Radio - IMS - from LA.QSSI.14.0.r1-15800-qssi.0 2024-08-03 09:14:10 +03:00
Sanghoon Shin
98e54caaf9 qcc: add new AID
To switch from vendor_qtr to vendor_qcc.

This is to sharing data file access between QDMA native processes
and protect data file from 3rd party access.

CRs-fixed: 3303809

Change-Id: Ieaa1f53573f9ec99a275f6abf53ca03f00aafcb9
2024-08-03 09:14:01 +03:00
pix106
1a1708430d Revert "sdm660-common: Use the common device compatibility matrix from QCOM"
This reverts commit 493d3edf2dd09a6681735cac2634736cbfbecd38.
2024-08-03 09:13:53 +03:00
Sabar
935438fe00 sdm660-common: prop: Stop disabling ABX XML format
* It's somehow broken on some specific early A14 tags
  (e.g. fine on r15 and broken on r17), which results in
  not being able to parse /data/system/device_policy_state.xml
* Remove it to be safe and for good now

Co-Authored-By: 0xCAFEBABE <87921983+me-cafebabe@users.noreply.github.com>
2024-08-03 09:13:42 +03:00
Matt Buckley
cc568c5a3b sdm660-common: libperfmgr: power: Add better tracing for sendHint and refactor existing tracing
Reset traced hint value to -1 on reportActualWorkDuration or stale
timeout, and rewrite existing tracing for readability.

Bug: b/243973548
Test: manual
Change-Id: I135ec5f8971a9902d880e4089b0df746f5b917e2
2024-08-03 09:13:34 +03:00
Jimmy Shiu
9636d797ca sdm660-common: libperfmgr: ADPF: refine StaleTimeHandler
Bug: 256515601
Test: build
Change-Id: Ia7f80c838961b837733c457b189f16c6433cf3c3
2024-08-03 09:13:23 +03:00
pix106
4ce650ebc9 sdm660-common: Sensors - from Zebra/helios/helios:13/13-29-10.00-TG-U00-STD-HEL-04/120:user/release-keys 2024-08-03 09:13:14 +03:00
pix106
1d93af667a sdm660-common: Radio - from Zebra/helios/helios:13/13-29-10.00-TG-U00-STD-HEL-04/120:user/release-keys 2024-08-03 09:13:05 +03:00
pix106
cfe322f9d8 sdm660-common: Radio - IMS - from LA.QSSI.14.0.r1-15100-qssi.0 2024-08-03 09:12:54 +03:00
pix106
4f3db5c2aa sdm660-common: Media - from LA.QSSI.14.0.r1-15100-qssi.0 2024-08-03 09:12:44 +03:00
Michael Bestas
79debef800 sdm660-common: Use LLVM binutils by default in source
* GCC has been completely removed in AOSP but we keep it
      for compatibility reasons with older kernels until they
      are adapted to remove all the dependencies to GCC.
* Most updated 4.19+ kernels should be able to use LLVM
      binutils out of the box. 4.14 is possible with a few patches
      and 4.9 with even more patches.
* Make this the default and allow devices opting out by using
      TARGET_KERNEL_LLVM_BINUTILS := false

Change-Id: I569cf290b41aaf2dc16ff9cc4cc6dc461f0d504e
2024-08-03 09:12:37 +03:00
pix106
952c7d9cf1 sdm660-common: build kernel with clang 14.0.7
Signed-off-by: pix106 <sbordenave@gmail.com>
2024-08-03 09:12:26 +03:00
pix106
a3c3933a94 Revert "sdm660-common: media: Drop OMX.qcom.video.decoder.vp9"
This reverts commit 0828b5ee1f38cfa5b05ac9ad33a9aaead4c5d8ae.
2024-08-03 09:12:17 +03:00
pix106
b40d70141b sdm660-common: properties: enable perfd for camera 2024-08-03 09:12:09 +03:00
pix106
02169d16ef sdm660-common: Radio - IMS - from LA.QSSI.14.0.r1-14100-qssi.0 2024-08-03 09:11:53 +03:00
pix106
135f9fdb9f sdm660-common: Radio - from LA.QSSI.14.0.r1-14100-qssi.0 2024-08-03 09:11:43 +03:00
pix106
8505b50a32 sdm660-common: Graphics (Postprocessing) - from LA.QSSI.14.0.r1-14100-qssi.0 2024-08-03 09:11:34 +03:00
pix106
99a55346a9 sdm660-common: Audio - from LA.QSSI.14.0.r1-14100-qssi.0 2024-08-03 09:11:25 +03:00
pix106
992e9e164d sdm660-common: overlay: Increase minimum brightness 2024-08-03 09:11:17 +03:00
pix106
756b61bcff sdm660-common: DeviceSettings: Export FPSTileService 2024-08-03 09:11:09 +03:00
pix106
9bb01728d1 sdm660-common: DeviceSettings: Export PerformanceTileService 2024-08-03 09:10:59 +03:00
pix106
aeb281c4b0 sdm660-common: DeviceDoze: Export DozeTileService 2024-08-03 09:10:50 +03:00
pix106
e5d0ba85da sdm660-common: DeviceDoze: Export DozeSettingsActivity 2024-08-03 09:10:41 +03:00
pix106
d15303aaf0 sdm660-common: DeviceDoze: Export BootCompletedReceiver 2024-08-03 09:10:30 +03:00
Anay Wadhera
5a32a68e3c sdm660-common: DeviceDoze: Drop minSdkVersion
Change-Id: Idbbe6713999ca8b942b2bf91cc899118e22a062b
2024-08-03 09:10:22 +03:00
Anay Wadhera
72ba21c4f0 sdm660-common: DeviceSettings: Drop minSdkVersion
Co-Authored-By: pix106 <sbordenave@gmail.com>
2024-08-03 09:10:09 +03:00
iusmac
bea99cd8c3 sdm660-common: DeviceSettings: Migrate to AndroidX's useSimpleSummaryProvider
* W ListPreference: Setting a summary with a String formatting marker is no longer supported. You should use a SummaryProvider instead.

Signed-off-by: iusmac <iusico.maxim@libero.it>
2024-08-03 09:09:55 +03:00
Adithya R
4c33049a26 sdm660-common: power-libperfmgr: Properly handle sustained performance mode
* when tested with [1], even after exiting the app, spm was
   still active in powerhal thereby keeping max freqs limited
   and blocking boosts

 * enable/disable it properly and end all other hints before
   enabling, to fix this issue

 * while we're at it, don't handle max freq for anything other
   than spm in powerhint

[1] https://android.googlesource.com/platform/cts/+/refs/heads/master/hostsidetests/sustainedperf

Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
2024-08-03 09:08:22 +03:00
Adithya R
e8f300c3f5 sdm660-common: Silence some spammy logging
HWC and cit sensor logspam is so intense it bumps up logd's idle CPU
usage up to over 3%. With this change, logs are much cleaner and logd
idle CPU usage is reduced to under 1%, while still allowing error logs
to pass through.
- Do this only in user/debug builds (except eng).
- Add wifi and cnss too while we're at it, they can get noisy at times.
2024-08-03 09:08:13 +03:00
pix106
89f1efc0ca FIX sdm660-common: properties: Kang sf duration from RMX3193_11_A.01 2024-08-03 09:08:05 +03:00
pix106
872f8d0ca7 sdm660-common: add libops and libspl from Miatoll 2024-08-03 09:07:57 +03:00
Danny Lin
d72544b92f sdm660-common: Don't pin launcher app in memory
Similar to what we did for the camera app, unpin the launcher app from
memory as well. While the default launcher (Launcher3) isn't
particularly big, it doesn't make much sense to pin because the launcher
does not typically load new resources much. Most of its resources should
already be loaded in memory after it starts, so pinning the APK is
redundant.

Change-Id: Ia03de9c546a042637647f45d7b2b4072c1555fb5
2024-08-03 09:07:48 +03:00
CrisBal
bf30e60a32 sdm660-common: media: Drop OMX.qcom.video.decoder.vp9
We droping old deprecated vp9 media codec. This update fixing the following
errors/bugs that causing problems/flickering while playing video on Instagram
and some audio issues on other apps.

Tested with: Instagram, Facebook, WhatsApp, Viber, Duo and YouTube.

01-04 19:50:55.803  1403  6251 E OMXNodeInstance: setParameter(0xd9cc0014:qcom.decoder.vp9, OMX.google.android.index.allocateNativeHandle(0x7f00005d): Output:1 en=0) ERROR: UnsupportedSetting(0x80001019)
01-04 19:50:55.803  1403  6251 E OMX-VDEC-1080P: Extension: OMX.google.android.index.storeANWBufferInMetadata not implemented
01-04 19:50:55.804  1403  6251 E OMX-VDEC-1080P: get_parameter: unknown param 6f600011
01-04 19:50:55.804  1403  6251 E OMXNodeInstance: getParameter(0xd9cc0014:qcom.decoder.vp9, ??(0x6f600011)) ERROR: UnsupportedIndex(0x8000101a)
01-04 19:50:55.805  1403  6251 E OMX-VDEC-1080P: Extension: OMX.google.android.index.storeANWBufferInMetadata not implemented
01-04 19:50:55.805  1403  6251 E OMX-VDEC-1080P: Extension: OMX.google.android.index.configureVideoTunnelMode not implemented
01-04 19:50:55.805  1403  6251 E OMX-VDEC-1080P: Extension: OMX.google.android.index.useAndroidNativeBuffer is supported
01-04 19:50:55.805  1403  6251 E OMX-VDEC-1080P: Extension: OMX.google.android.index.describeHDR10PlusInfo not implemented
01-04 19:50:55.806  1403  1403 E OMX-VDEC-1080P: get_parameter: unknown param 6f600007
01-04 19:50:55.806  1403  1403 E OMXNodeInstance: getParameter(0xd9cc0014:qcom.decoder.vp9, ParamVideoAndroidVp8Encoder(0x6f600007)) ERROR: UnsupportedIndex(0x8000101a)
01-04 19:50:55.807  1403  6251 E OMX-VDEC-1080P: Does not handle dataspace request
01-04 19:50:55.807  1403  6251 E OMXNodeInstance: getConfig(0xd9cc0014:qcom.decoder.vp9, ??(0x7f000062)) ERROR: UnsupportedSetting(0x80001019)
01-04 19:50:55.835  1403  6251 E OMX-VDEC-1080P: Extension: OMX.google.android.index.AndroidNativeBufferConsumerUsage not implemented

Change-Id: If9ee79886b8d2a1dcc68d84102f69b96b578f68e
2024-08-03 09:07:35 +03:00
Nick Kralevich
5bdce0a4c3 sdm660-common: rootdir: Remove useless attempt to chmod /system/bin/ip
/system is mounted read-only. It's impossible for init to modify
the permissions on /system/bin/ip.

Change-Id: Ie5cb20bc45f9769969b71ffd747b1ed34fc27187
2024-08-03 09:07:26 +03:00
Bruno Martins
47bc940428 sdm660-common: Use the common device compatibility matrix from QCOM
Change-Id: I0c0f3ecddbe6d7b232cc0d13c78ca58094e4e720
2024-08-03 09:07:16 +03:00
pix106
233fce88d3 sdm660-common: Sensors from Zebra/helios/helios:13/13-26-09.00-TG-U03-STD-HEL-04/107:user/release-keys 2024-08-03 09:07:05 +03:00
pix106
f22f9327f8 sdm660-common: Radio from Zebra/helios/helios:13/13-26-09.00-TG-U03-STD-HEL-04/107:user/release-keys 2024-08-03 09:06:52 +03:00
22 changed files with 192 additions and 206 deletions

View file

@ -61,11 +61,11 @@ $(DSP_MOUNT_POINT):
@echo "Creating $(DSP_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
$(PERSIST_MOUNT_POINT):
@echo "Creating $(PERSIST_MOUNT_POINT)"
@ln -sf /mnt/vendor/persist $(TARGET_ROOT_OUT)/persist
#$(PERSIST_MOUNT_POINT):
# @echo "Creating $(PERSIST_MOUNT_POINT)"
# @ln -sf /mnt/vendor/persist $(TARGET_ROOT_OUT)/persist
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT) $(PERSIST_MOUNT_POINT)
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT) # $(PERSIST_MOUNT_POINT)
IMS_LIBS := libimscamera_jni.so libimsmedia_jni.so
IMS_SYMLINKS := $(addprefix $(TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED)/ims/lib/arm64/,$(notdir $(IMS_LIBS)))
@ -77,11 +77,11 @@ $(IMS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
ALL_DEFAULT_INSTALLED_MODULES += $(IMS_SYMLINKS)
RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/
RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp
$(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MSM ADSP folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
@ -89,11 +89,11 @@ $(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp/
RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp
$(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MSM CDSP folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/cdsp $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
@ -101,11 +101,11 @@ $(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/
RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss
$(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MSM MPSS folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
@ -113,11 +113,11 @@ $(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/
RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi
$(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MSM SLPI folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
@mkdir -p $@/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared

View file

@ -119,6 +119,7 @@ TARGET_KERNEL_VERSION := 4.19
TARGET_KERNEL_SOURCE := kernel/xiaomi/sdm660
TARGET_COMPILE_WITH_MSM_KERNEL := true
BOARD_RAMDISK_USE_LZ4 := true
TARGET_KERNEL_LLVM_BINUTILS := false
# Enable stats logging in LMKD
TARGET_LMKD_STATS_LOG := true

View file

@ -19,7 +19,6 @@ import android.os.Bundle;
import android.view.MenuItem;
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
import com.android.settingslib.widget.R;
public class BMSActivity extends CollapsingToolbarBaseActivity {
@ -27,11 +26,11 @@ public class BMSActivity extends CollapsingToolbarBaseActivity {
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
Fragment fragment = getFragmentManager().findFragmentById(R.id.content_frame);
Fragment fragment = getFragmentManager().findFragmentById(com.android.settingslib.collapsingtoolbar.R.id.content_frame);
BMSFragment bmsFragment;
if (fragment == null) {
bmsFragment = new BMSFragment();
getFragmentManager().beginTransaction().add(R.id.content_frame, bmsFragment).commit();
getFragmentManager().beginTransaction().add(com.android.settingslib.collapsingtoolbar.R.id.content_frame, bmsFragment).commit();
}
}
}

View file

@ -26,16 +26,12 @@
<protected-broadcast android:name="com.android.systemui.doze.pulse" />
<uses-sdk
android:minSdkVersion="24"
android:targetSdkVersion="30"/>
<application
android:label="@string/device_settings_app_name"
android:persistent="true">
<receiver android:name=".BootCompletedReceiver"
android:exported="false">
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
@ -49,7 +45,7 @@
<activity
android:name=".DozeSettingsActivity"
android:exported="false"
android:exported="true"
android:label="@string/ambient_display_title"
android:theme="@style/Theme.SubSettingsBase">
<intent-filter>
@ -64,7 +60,8 @@
android:name="com.advanced.settings.doze.DozeTileService"
android:icon="@drawable/ic_doze"
android:label="@string/ambient_display_gestures_title"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
android:exported="true">
<intent-filter>
<action
android:name="android.service.quicksettings.action.QS_TILE"/>

View file

@ -20,7 +20,6 @@ package com.advanced.settings.doze;
import android.os.Bundle;
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
import com.android.settingslib.widget.R;
public class DozeSettingsActivity extends CollapsingToolbarBaseActivity {
@ -30,7 +29,7 @@ public class DozeSettingsActivity extends CollapsingToolbarBaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(R.id.content_frame,
getFragmentManager().beginTransaction().replace(com.android.settingslib.collapsingtoolbar.R.id.content_frame,
new DozeSettingsFragment(), TAG_DOZE).commit();
}
}

View file

@ -30,13 +30,13 @@ import androidx.preference.SwitchPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.Preference.OnPreferenceChangeListener;
import android.widget.Switch;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import com.android.settingslib.widget.MainSwitchPreference;
import com.android.settingslib.widget.OnMainSwitchChangeListener;
public class DozeSettingsFragment extends PreferenceFragment implements OnPreferenceChangeListener,
OnMainSwitchChangeListener {
OnCheckedChangeListener {
private MainSwitchPreference mSwitchBar;
@ -106,7 +106,7 @@ public class DozeSettingsFragment extends PreferenceFragment implements OnPrefer
}
@Override
public void onSwitchChanged(Switch switchView, boolean isChecked) {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Utils.enableDoze(getActivity(), isChecked);
Utils.checkDozeService(getActivity());

View file

@ -21,10 +21,6 @@
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-sdk
android:minSdkVersion="27"
android:targetSdkVersion="30"/>
<application
android:directBootAware="true"
android:label="@string/advanced_settings"
@ -80,7 +76,8 @@
android:name=".PerformanceTileService"
android:icon="@drawable/thermal_balance"
android:label="@string/thermal_balance"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
android:exported="true">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE"/>
</intent-filter>
@ -106,7 +103,8 @@
android:name=".FPSTileService"
android:icon="@drawable/ic_fps_info"
android:label="@string/fps_info_title"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
android:exported="true">
<intent-filter>
<action
android:name="android.service.quicksettings.action.QS_TILE"/>

View file

@ -86,7 +86,7 @@
android:entries="@array/dirac_headset_pref_entries"
android:entryValues="@array/dirac_headset_pref_values"
android:key="dirac_headset_pref"
android:summary="%s"
app:useSimpleSummaryProvider="true"
android:title="@string/dirac_headset_title"
android:icon="@drawable/ic_headphones" />
@ -96,7 +96,7 @@
android:entries="@array/dirac_preset_pref_entries"
android:entryValues="@array/dirac_preset_pref_values"
android:key="dirac_preset_pref"
android:summary="%s"
app:useSimpleSummaryProvider="true"
android:title="@string/dirac_preset_title"
android:icon="@drawable/ic_preset" />
</PreferenceCategory>

View file

@ -21,7 +21,6 @@ import android.os.Bundle;
import android.view.MenuItem;
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
import com.android.settingslib.widget.R;
public class DeviceSettingsActivity extends CollapsingToolbarBaseActivity {
@ -31,11 +30,11 @@ public class DeviceSettingsActivity extends CollapsingToolbarBaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Fragment fragment = getFragmentManager().findFragmentById(R.id.content_frame);
Fragment fragment = getFragmentManager().findFragmentById(com.android.settingslib.collapsingtoolbar.R.id.content_frame);
if (fragment == null) {
deviceSettingsFragment = new DeviceSettings();
getFragmentManager().beginTransaction()
.add(R.id.content_frame, deviceSettingsFragment)
.add(com.android.settingslib.collapsingtoolbar.R.id.content_frame, deviceSettingsFragment)
.commit();
}
}

View file

@ -23,7 +23,6 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
import com.android.settingslib.widget.R;
public class KCalSettingsActivity extends CollapsingToolbarBaseActivity implements Utils {
@ -32,13 +31,13 @@ public class KCalSettingsActivity extends CollapsingToolbarBaseActivity implemen
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kcal);
setContentView(com.android.settingslib.collapsingtoolbar.R.layout.activity_kcal);
Fragment fragment = getFragmentManager().findFragmentById(R.id.fragment_kcal);
Fragment fragment = getFragmentManager().findFragmentById(com.android.settingslib.collapsingtoolbar.R.id.fragment_kcal);
if (fragment == null) {
mKCalSettingsFragment = new KCalSettings();
getFragmentManager().beginTransaction()
.add(R.id.fragment_kcal, mKCalSettingsFragment)
.add(com.android.settingslib.collapsingtoolbar.R.id.fragment_kcal, mKCalSettingsFragment)
.commit();
} else {
mKCalSettingsFragment = (KCalSettings) fragment;
@ -52,7 +51,7 @@ public class KCalSettingsActivity extends CollapsingToolbarBaseActivity implemen
finish();
return true;
case R.id.action_reset:
case com.android.settingslib.collapsingtoolbar.R.id.action_reset:
mKCalSettingsFragment.applyValues(RED_DEFAULT + " " +
GREEN_DEFAULT + " " +
BLUE_DEFAULT + " " +
@ -65,7 +64,7 @@ public class KCalSettingsActivity extends CollapsingToolbarBaseActivity implemen
mKCalSettingsFragment.setmSetOnBoot(SETONBOOT_DEFAULT);
return true;
case R.id.action_preset:
case com.android.settingslib.collapsingtoolbar.R.id.action_preset:
new PresetDialog().show(getFragmentManager(),
KCalSettingsActivity.class.getName(), mKCalSettingsFragment);
return true;
@ -79,7 +78,7 @@ public class KCalSettingsActivity extends CollapsingToolbarBaseActivity implemen
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu_reset, menu);
menuInflater.inflate(com.android.settingslib.collapsingtoolbar.R.menu.menu_reset, menu);
return true;
}
}

View file

@ -21,7 +21,6 @@ import android.os.Bundle;
import android.view.MenuItem;
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
import com.android.settingslib.widget.R;
public class ClearSpeakerActivity extends CollapsingToolbarBaseActivity {
@ -32,11 +31,11 @@ public class ClearSpeakerActivity extends CollapsingToolbarBaseActivity {
super.onCreate(savedInstanceState);
Fragment fragment = getFragmentManager().findFragmentById(R.id.content_frame);
Fragment fragment = getFragmentManager().findFragmentById(com.android.settingslib.collapsingtoolbar.R.id.content_frame);
if (fragment == null) {
clearSpeakerFragment = new ClearSpeakerFragment();
getFragmentManager().beginTransaction()
.add(R.id.content_frame, clearSpeakerFragment)
.add(com.android.settingslib.collapsingtoolbar.R.id.content_frame, clearSpeakerFragment)
.commit();
}
}

View file

@ -25,6 +25,9 @@ value:2908
[AID_VENDOR_QTR]
value:2909
[AID_VENDOR_QCC]
value:2914
[vendor/bin/wcnss_filter]
mode: 0755
user: AID_BLUETOOTH

View file

@ -1,5 +1,15 @@
<manifest version="2.0" type="device" target-level="4">
<manifest version="2.0" type="device" target-level="5">
<kernel target-level="4"/>
<hal format="hidl">
<name>android.hardware.graphics.allocator</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IAllocator</name>
<instance>default</instance>
</interface>
<fqname>@2.0::IAllocator/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>

View file

@ -74,6 +74,13 @@ Power::Power(std::shared_ptr<AdaptiveCpu> adaptiveCpu)
}
}
static void endAllHints() {
std::shared_ptr<HintManager> hm = HintManager::GetInstance();
for (auto hint : hm->GetHints()) {
hm->EndHint(hint);
}
}
ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
LOG(DEBUG) << "Power setMode: " << toString(type) << " to: " << enabled;
if (HintManager::GetInstance()->GetAdpfProfile() &&
@ -91,14 +98,14 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
break;
case Mode::SUSTAINED_PERFORMANCE:
if (enabled) {
endAllHints();
HintManager::GetInstance()->DoHint("SUSTAINED_PERFORMANCE");
} else {
HintManager::GetInstance()->EndHint("SUSTAINED_PERFORMANCE");
}
mSustainedPerfModeOn = true;
mSustainedPerfModeOn = enabled;
break;
case Mode::LAUNCH:
if (mSustainedPerfModeOn) {
break;
}
[[fallthrough]];
case Mode::FIXED_PERFORMANCE:
[[fallthrough]];

View file

@ -52,11 +52,14 @@ static inline int64_t ns_to_100us(int64_t ns) {
return ns / 100000;
}
static int64_t convertWorkDurationToBoostByPid(std::shared_ptr<AdpfConfig> adpfConfig,
nanoseconds targetDuration,
const std::vector<WorkDuration> &actualDurations,
int64_t *integral_error, int64_t *previous_error,
const std::string &idstr) {
} // namespace
int64_t PowerHintSession::convertWorkDurationToBoostByPid(
const std::vector<WorkDuration> &actualDurations) {
std::shared_ptr<AdpfConfig> adpfConfig = HintManager::GetInstance()->GetAdpfProfile();
const nanoseconds &targetDuration = mDescriptor->duration;
int64_t &integral_error = mDescriptor->integral_error;
int64_t &previous_error = mDescriptor->previous_error;
uint64_t samplingWindowP = adpfConfig->mSamplingWindowP;
uint64_t samplingWindowI = adpfConfig->mSamplingWindowI;
uint64_t samplingWindowD = adpfConfig->mSamplingWindowD;
@ -80,46 +83,38 @@ static int64_t convertWorkDurationToBoostByPid(std::shared_ptr<AdpfConfig> adpfC
// PID control algorithm
int64_t error = ns_to_100us(actualDurationNanos - targetDurationNanos);
if (i >= d_start) {
derivative_sum += error - (*previous_error);
derivative_sum += error - previous_error;
}
if (i >= p_start) {
err_sum += error;
}
if (i >= i_start) {
*integral_error = *integral_error + error * dt;
*integral_error = std::min(adpfConfig->getPidIHighDivI(), *integral_error);
*integral_error = std::max(adpfConfig->getPidILowDivI(), *integral_error);
integral_error += error * dt;
integral_error = std::min(adpfConfig->getPidIHighDivI(), integral_error);
integral_error = std::max(adpfConfig->getPidILowDivI(), integral_error);
}
*previous_error = error;
previous_error = error;
}
int64_t pOut = static_cast<int64_t>((err_sum > 0 ? adpfConfig->mPidPo : adpfConfig->mPidPu) *
err_sum / (length - p_start));
int64_t iOut = static_cast<int64_t>(adpfConfig->mPidI * (*integral_error));
int64_t iOut = static_cast<int64_t>(adpfConfig->mPidI * integral_error);
int64_t dOut =
static_cast<int64_t>((derivative_sum > 0 ? adpfConfig->mPidDo : adpfConfig->mPidDu) *
derivative_sum / dt / (length - d_start));
int64_t output = pOut + iOut + dOut;
if (ATRACE_ENABLED()) {
std::string sz = StringPrintf("adpf.%s-pid.err", idstr.c_str());
ATRACE_INT(sz.c_str(), err_sum / (length - p_start));
sz = StringPrintf("adpf.%s-pid.integral", idstr.c_str());
ATRACE_INT(sz.c_str(), *integral_error);
sz = StringPrintf("adpf.%s-pid.derivative", idstr.c_str());
ATRACE_INT(sz.c_str(), derivative_sum / dt / (length - d_start));
sz = StringPrintf("adpf.%s-pid.pOut", idstr.c_str());
ATRACE_INT(sz.c_str(), pOut);
sz = StringPrintf("adpf.%s-pid.iOut", idstr.c_str());
ATRACE_INT(sz.c_str(), iOut);
sz = StringPrintf("adpf.%s-pid.dOut", idstr.c_str());
ATRACE_INT(sz.c_str(), dOut);
sz = StringPrintf("adpf.%s-pid.output", idstr.c_str());
ATRACE_INT(sz.c_str(), output);
traceSessionVal("pid.err", err_sum / (length - p_start));
traceSessionVal("pid.integral", integral_error);
traceSessionVal("pid.derivative", derivative_sum / dt / (length - d_start));
traceSessionVal("pid.pOut", pOut);
traceSessionVal("pid.iOut", iOut);
traceSessionVal("pid.dOut", dOut);
traceSessionVal("pid.output", output);
}
return output;
}
} // namespace
PowerHintSession::PowerHintSession(std::shared_ptr<AdaptiveCpu> adaptiveCpu, int32_t tgid,
int32_t uid, const std::vector<int32_t> &threadIds,
@ -127,16 +122,14 @@ PowerHintSession::PowerHintSession(std::shared_ptr<AdaptiveCpu> adaptiveCpu, int
: mAdaptiveCpu(adaptiveCpu) {
mDescriptor = new AppHintDesc(tgid, uid, threadIds);
mDescriptor->duration = std::chrono::nanoseconds(durationNanos);
mIdString = StringPrintf("%" PRId32 "-%" PRId32 "-%" PRIxPTR, mDescriptor->tgid,
mDescriptor->uid, reinterpret_cast<uintptr_t>(this) & 0xffff);
mStaleTimerHandler = sp<StaleTimerHandler>(new StaleTimerHandler(this));
mPowerManagerHandler = PowerSessionManager::getInstance();
mLastUpdatedTime.store(std::chrono::steady_clock::now());
if (ATRACE_ENABLED()) {
const std::string idstr = getIdString();
std::string sz = StringPrintf("adpf.%s-target", idstr.c_str());
ATRACE_INT(sz.c_str(), (int64_t)mDescriptor->duration.count());
sz = StringPrintf("adpf.%s-active", idstr.c_str());
ATRACE_INT(sz.c_str(), mDescriptor->is_active.load());
traceSessionVal("target", mDescriptor->duration.count());
traceSessionVal("active", mDescriptor->is_active.load());
}
PowerSessionManager::getInstance()->addPowerSession(this);
// init boost
@ -148,21 +141,15 @@ PowerHintSession::~PowerHintSession() {
close();
ALOGV("PowerHintSession deleted: %s", mDescriptor->toString().c_str());
if (ATRACE_ENABLED()) {
const std::string idstr = getIdString();
std::string sz = StringPrintf("adpf.%s-target", idstr.c_str());
ATRACE_INT(sz.c_str(), 0);
sz = StringPrintf("adpf.%s-actl_last", idstr.c_str());
ATRACE_INT(sz.c_str(), 0);
sz = sz = StringPrintf("adpf.%s-active", idstr.c_str());
ATRACE_INT(sz.c_str(), 0);
traceSessionVal("target", 0);
traceSessionVal("actl_last", 0);
traceSessionVal("active", 0);
}
delete mDescriptor;
}
std::string PowerHintSession::getIdString() const {
std::string idstr = StringPrintf("%" PRId32 "-%" PRId32 "-%" PRIxPTR, mDescriptor->tgid,
mDescriptor->uid, reinterpret_cast<uintptr_t>(this) & 0xffff);
return idstr;
void PowerHintSession::traceSessionVal(char const *identifier, int64_t val) const {
ATRACE_INT(StringPrintf("adpf.%s-%s", mIdString.c_str(), identifier).c_str(), val);
}
bool PowerHintSession::isAppSession() {
@ -175,7 +162,7 @@ void PowerHintSession::updateUniveralBoostMode() {
return;
}
if (ATRACE_ENABLED()) {
const std::string tag = StringPrintf("%s:updateUniveralBoostMode()", getIdString().c_str());
const std::string tag = StringPrintf("%s:updateUniveralBoostMode()", mIdString.c_str());
ATRACE_BEGIN(tag.c_str());
}
PowerHintMonitor::getInstance()->getLooper()->sendMessage(mPowerManagerHandler, NULL);
@ -195,9 +182,7 @@ int PowerHintSession::setSessionUclampMin(int32_t min) {
PowerSessionManager::getInstance()->setUclampMin(this, min);
if (ATRACE_ENABLED()) {
const std::string idstr = getIdString();
std::string sz = StringPrintf("adpf.%s-min", idstr.c_str());
ATRACE_INT(sz.c_str(), min);
traceSessionVal("min", min);
}
return 0;
}
@ -207,7 +192,7 @@ int PowerHintSession::getUclampMin() {
}
void PowerHintSession::dumpToStream(std::ostream &stream) {
stream << "ID.Min.Act.Timeout(" << getIdString();
stream << "ID.Min.Act.Timeout(" << mIdString;
stream << ", " << mDescriptor->current_min;
stream << ", " << mDescriptor->is_active;
stream << ", " << isTimeout() << ")";
@ -224,9 +209,7 @@ ndk::ScopedAStatus PowerHintSession::pause() {
mDescriptor->is_active.store(false);
setStale();
if (ATRACE_ENABLED()) {
const std::string idstr = getIdString();
std::string sz = StringPrintf("adpf.%s-active", idstr.c_str());
ATRACE_INT(sz.c_str(), mDescriptor->is_active.load());
traceSessionVal("active", mDescriptor->is_active.load());
}
updateUniveralBoostMode();
return ndk::ScopedAStatus::ok();
@ -243,9 +226,7 @@ ndk::ScopedAStatus PowerHintSession::resume() {
// resume boost
setSessionUclampMin(mDescriptor->current_min);
if (ATRACE_ENABLED()) {
const std::string idstr = getIdString();
std::string sz = StringPrintf("adpf.%s-active", idstr.c_str());
ATRACE_INT(sz.c_str(), mDescriptor->is_active.load());
traceSessionVal("active", mDescriptor->is_active.load());
}
updateUniveralBoostMode();
return ndk::ScopedAStatus::ok();
@ -284,9 +265,7 @@ ndk::ScopedAStatus PowerHintSession::updateTargetWorkDuration(int64_t targetDura
mDescriptor->duration = std::chrono::nanoseconds(targetDurationNanos);
if (ATRACE_ENABLED()) {
const std::string idstr = getIdString();
std::string sz = StringPrintf("adpf.%s-target", idstr.c_str());
ATRACE_INT(sz.c_str(), (int64_t)mDescriptor->duration.count());
traceSessionVal("target", mDescriptor->duration.count());
}
return ndk::ScopedAStatus::ok();
@ -314,18 +293,13 @@ ndk::ScopedAStatus PowerHintSession::reportActualWorkDuration(
mDescriptor->update_count++;
bool isFirstFrame = isTimeout();
if (ATRACE_ENABLED()) {
const std::string idstr = getIdString();
std::string sz = StringPrintf("adpf.%s-batch_size", idstr.c_str());
ATRACE_INT(sz.c_str(), actualDurations.size());
sz = StringPrintf("adpf.%s-actl_last", idstr.c_str());
ATRACE_INT(sz.c_str(), actualDurations.back().durationNanos);
sz = StringPrintf("adpf.%s-target", idstr.c_str());
ATRACE_INT(sz.c_str(), (int64_t)mDescriptor->duration.count());
sz = StringPrintf("adpf.%s-hint.count", idstr.c_str());
ATRACE_INT(sz.c_str(), mDescriptor->update_count);
sz = StringPrintf("adpf.%s-hint.overtime", idstr.c_str());
ATRACE_INT(sz.c_str(),
traceSessionVal("batch_size", actualDurations.size());
traceSessionVal("actl_last", actualDurations.back().durationNanos);
traceSessionVal("target", mDescriptor->duration.count());
traceSessionVal("hint.count", mDescriptor->update_count);
traceSessionVal("hint.overtime",
actualDurations.back().durationNanos - mDescriptor->duration.count() > 0);
traceSessionVal("session_hint", -1);
}
mLastUpdatedTime.store(std::chrono::steady_clock::now());
@ -337,16 +311,13 @@ ndk::ScopedAStatus PowerHintSession::reportActualWorkDuration(
setSessionUclampMin(adpfConfig->mUclampMinHigh);
return ndk::ScopedAStatus::ok();
}
int64_t output = convertWorkDurationToBoostByPid(
adpfConfig, mDescriptor->duration, actualDurations, &(mDescriptor->integral_error),
&(mDescriptor->previous_error), getIdString());
int64_t output = convertWorkDurationToBoostByPid(actualDurations);
/* apply to all the threads in the group */
int next_min = std::min(static_cast<int>(adpfConfig->mUclampMinHigh),
mDescriptor->current_min + static_cast<int>(output));
next_min = std::max(static_cast<int>(adpfConfig->mUclampMinLow), next_min);
setSessionUclampMin(next_min);
mStaleTimerHandler->updateTimer(getStaleTime());
mAdaptiveCpu->ReportWorkDurations(actualDurations, mDescriptor->duration);
@ -380,7 +351,12 @@ bool PowerHintSession::isActive() {
bool PowerHintSession::isTimeout() {
auto now = std::chrono::steady_clock::now();
return now >= getStaleTime();
time_point<steady_clock> staleTime =
mLastUpdatedTime.load() +
nanoseconds(static_cast<int64_t>(
mDescriptor->duration.count() *
HintManager::GetInstance()->GetAdpfProfile()->mStaleTimeFactor));
return now >= staleTime;
}
const std::vector<int> &PowerHintSession::getTidList() const {
@ -393,41 +369,25 @@ void PowerHintSession::setStale() {
// Deliver a task to check if all sessions are inactive.
updateUniveralBoostMode();
if (ATRACE_ENABLED()) {
const std::string idstr = getIdString();
std::string sz = StringPrintf("adpf.%s-min", idstr.c_str());
ATRACE_INT(sz.c_str(), 0);
traceSessionVal("min", 0);
}
}
time_point<steady_clock> PowerHintSession::getStaleTime() {
return mLastUpdatedTime.load() +
nanoseconds(static_cast<int64_t>(
mDescriptor->duration.count() *
HintManager::GetInstance()->GetAdpfProfile()->mStaleTimeFactor));
}
void PowerHintSession::StaleTimerHandler::updateTimer() {
time_point<steady_clock> staleTime =
std::chrono::steady_clock::now() +
nanoseconds(static_cast<int64_t>(
mSession->mDescriptor->duration.count() *
auto now = std::chrono::steady_clock::now();
nanoseconds staleDuration = std::chrono::nanoseconds(
static_cast<int64_t>(mSession->mDescriptor->duration.count() *
HintManager::GetInstance()->GetAdpfProfile()->mStaleTimeFactor));
updateTimer(staleTime);
}
void PowerHintSession::StaleTimerHandler::updateTimer(time_point<steady_clock> staleTime) {
mStaleTime.store(staleTime);
mStaleTime.store(now + staleDuration);
int64_t next = static_cast<int64_t>(staleDuration.count());
{
std::lock_guard<std::mutex> guard(mMessageLock);
PowerHintMonitor::getInstance()->getLooper()->removeMessages(mSession->mStaleTimerHandler);
PowerHintMonitor::getInstance()->getLooper()->sendMessage(mSession->mStaleTimerHandler,
NULL);
PowerHintMonitor::getInstance()->getLooper()->sendMessageDelayed(
next, mSession->mStaleTimerHandler, NULL);
}
mIsMonitoring.store(true);
if (ATRACE_ENABLED()) {
const std::string idstr = mSession->getIdString();
std::string sz = StringPrintf("adpf.%s-timer.stale", idstr.c_str());
ATRACE_INT(sz.c_str(), 0);
mSession->traceSessionVal("timer.stale", 0);
}
}
@ -446,12 +406,12 @@ void PowerHintSession::StaleTimerHandler::handleMessage(const Message &) {
next, mSession->mStaleTimerHandler, NULL);
} else {
mSession->setStale();
mIsMonitoring.store(false);
if (ATRACE_ENABLED()) {
mSession->traceSessionVal("session_hint", -1);
}
}
if (ATRACE_ENABLED()) {
const std::string idstr = mSession->getIdString();
std::string sz = StringPrintf("adpf.%s-timer.stale", idstr.c_str());
ATRACE_INT(sz.c_str(), mIsMonitoring ? 0 : 1);
mSession->traceSessionVal("timer.stale", next > 0 ? 0 : 1);
}
}

View file

@ -93,10 +93,8 @@ class PowerHintSession : public BnPowerHintSession {
private:
class StaleTimerHandler : public MessageHandler {
public:
StaleTimerHandler(PowerHintSession *session)
: mSession(session), mIsMonitoring(false), mIsSessionDead(false) {}
StaleTimerHandler(PowerHintSession *session) : mSession(session), mIsSessionDead(false) {}
void updateTimer();
void updateTimer(time_point<steady_clock> staleTime);
void handleMessage(const Message &message) override;
void setSessionDead();
@ -105,14 +103,14 @@ class PowerHintSession : public BnPowerHintSession {
std::mutex mStaleLock;
std::mutex mMessageLock;
std::atomic<time_point<steady_clock>> mStaleTime;
std::atomic<bool> mIsMonitoring;
bool mIsSessionDead;
};
private:
void updateUniveralBoostMode();
int setSessionUclampMin(int32_t min);
std::string getIdString() const;
int64_t convertWorkDurationToBoostByPid(const std::vector<WorkDuration> &actualDurations);
void traceSessionVal(char const *identifier, int64_t val) const;
const std::shared_ptr<AdaptiveCpu> mAdaptiveCpu;
AppHintDesc *mDescriptor = nullptr;
sp<StaleTimerHandler> mStaleTimerHandler;
@ -120,6 +118,7 @@ class PowerHintSession : public BnPowerHintSession {
sp<MessageHandler> mPowerManagerHandler;
std::mutex mSessionLock;
std::atomic<bool> mSessionClosed = false;
std::string mIdString;
};
} // namespace pixel

View file

@ -70,7 +70,7 @@ debug.sf.early.sf.duration=27600000
debug.sf.early.app.duration=20000000
debug.sf.earlyGl.sf.duration=27600000
debug.sf.earlyGl.app.duration=20000000
debug.sf.hwc.min.duration=23000000
debug.sf.hwc.min.duration=17000000
debug.sf.hw=1
debug.sf.enable_egl_image_tracker=true
debug.sf.disable_backpressure=1

View file

@ -119,6 +119,7 @@ ro.audio.spatializer_enabled=true
persist.vendor.audio.spatializer.speaker_enabled=true
# Camera
persist.camera.perfd.enable=true
vendor.camera.aux.packageblacklist=com.discord
# Crypto

View file

@ -43,8 +43,8 @@ vendor/lib/rfsa/adsp/libvpp_svc_skel.so|2da97f61c1d14f1f9a38aecd8ab89a1f6fa8d991
vendor/lib/rfsa/adsp/dirac_resource.dar|1e5c52f2a41bdbec4f38ebdcb83d4fc73edc0ec9
vendor/lib/rfsa/adsp/libdirac-capiv2.so|e56031dfaee094d5267e3cc16625cfceaa07cc27
# Audio - from LA.QSSI.14.0.r1-13500-qssi.0
system_ext/bin/qxrsplitauxservice|c5f22a864f40c91000e78382fb5fec37d09420ca
# Audio - from LA.QSSI.14.0.r1-14100-qssi.0
system_ext/bin/qxrsplitauxservice|916af06b278375a3e1f6d5be76df2952b15843b3
system_ext/etc/init/sxrauxd_ext.rc|fbaa12e37788fa17524fec02b842902d4e3a6f53
system_ext/etc/seccomp_policy/sxraux-arm.policy|641a5c68c9842e9defc052b6b401c5e8a4c2d2de
-system_ext/framework/vendor.qti.voiceprint-V1.0-java.jar|6698f97a70e9384b05745ceeee27310ceabbd557
@ -464,6 +464,10 @@ vendor/lib64/libmm-hdcpmgr.so|a06cea03836085c088b04a2ce39048bf191e9a3f
vendor/lib64/librmp.so|530fddca962ec88bf683e3999705b44b53deaf89
vendor/lib64/libwvhidl.so|39a5766f1b64c9bddc2af63421edcc515fe030ea
# DRM - from Miatoll
vendor/lib64/libops.so|79efbf6cad2617a6d1de6c649cca9ddeb1a0c1e5
vendor/lib64/libspl.so|e2b3e2dd28b0eee567d72de696cd1e01288ae06f
# DSP - from Zebra/helios/helios:13/13-22-18.00-TG-U02-STD-HEL-04/84:user/release-keys
vendor/bin/dspservice|4ff6bac615c12a3a732eccca4b1e25e280acf880
vendor/etc/init/vendor.qti.hardware.dsp@1.0-service.rc|fbf2bb38ca6bdddf98c7123da9e1f263a4eec55f
@ -601,9 +605,9 @@ vendor/lib64/libVkLayer_q3dtools.so|55b486927aed5589f13e1fa66162e845d44e1c43
vendor/lib/libhdr_tm.so|dd0e01284e1e76244a849e5a2e0393a21bd36508
vendor/lib64/libhdr_tm.so|28117de78d64d15d1454a13b50c17b168170e456
# Graphics (Postprocessing) - from LA.QSSI.14.0.r1-11100-qssi.0
system_ext/lib64/libsd_sdk_display.qti.so|9c057656ea604a9d5ca1f98ba9cf974bb81de7e9
system_ext/lib64/libsdm-disp-apis.qti.so|8f86d32c087601356ac009358e16fcba9995610d
# Graphics (Postprocessing) - from LA.QSSI.14.0.r1-14100-qssi.0
system_ext/lib64/libsd_sdk_display.qti.so|2300df780204b5bf55dcf249a2e593bc27ffd255
system_ext/lib64/libsdm-disp-apis.qti.so|ea85c8ce078646b4a28d6250366421e4ffa5b061
system_ext/lib64/vendor.display.color@1.0.so|2d294cf3b8d175e78abef277a04772adb387debd
system_ext/lib64/vendor.display.color@1.1.so|06c473e2a82e2eb928e375c1ecf69a0f64a3133d
system_ext/lib64/vendor.display.color@1.2.so|5614bff70d2ed3fa8d3cfd12ec5986728889280f
@ -692,11 +696,11 @@ vendor/lib64/libgcs-osal.so|158586fa96dc726ae661767ecaa08b28d8ea1bf8
vendor/lib64/libgcs.so|678c7956f4aaae15ff044192850e1d879e98fb90
vendor/lib64/libmulawdec.so|0fffe1bfb77a6cdf6fada5833369a6445d67a7d0
# Media - from LA.QSSI.14.0.r1-12000-qssi.0
# Media - from LA.QSSI.14.0.r1-15100-qssi.0
system_ext/lib/extractors/libmmparserextractor.so|a27fcdac0d65fe9be9514a48c4b330c051fa5500
system_ext/lib/libavenhancements.so|ce5b60d951ecdecae867e3b4e122b9b9e71f928c
system_ext/lib/libavenhancements.so|2c4e7fe65f00e3d4c010c12250149834fa7e0ad0
system_ext/lib64/extractors/libmmparserextractor.so|ec7b03f56f0d4f18c40c6fd0391e0d489ea11059
system_ext/lib64/libavenhancements.so|784e9cb97c639de7b249f685a2c3023ab01b58c8
system_ext/lib64/libavenhancements.so|561a175ba1b1e81b46889fad665e55d649bafd16
# Media - from Zebra/helios/helios:13/13-22-18.00-TG-U02-STD-HEL-04/84:user/release-keys
vendor/lib/libAlacSwDec.so|13abcbb9a93bf945d6377aea7c60f5ddbfb92927
@ -805,7 +809,7 @@ vendor/lib/vendor.qti.hardware.qseecom@1.0.so|1ae7ccce14972437e28c276c5f140386b1
vendor/lib64/hw/vendor.qti.hardware.qseecom@1.0-impl.so|a0950b63719a54dce170f69c512db3ff5a93b06b
vendor/lib64/vendor.qti.hardware.qseecom@1.0.so|f0846863eaee7fcefd0d8bfa24c8f78a34122388
# Radio - from LA.QSSI.14.0.r1-11100-qssi.0
# Radio - from LA.QSSI.14.0.r1-14100-qssi.0
system_ext/app/DeviceInfo/DeviceInfo.apk|9151091e029c31228100a4c471b5a499acdf8129
system_ext/app/QtiTelephonyService/QtiTelephonyService.apk|6649715fb5d956ca7e92a747dc6e73a24f3c025e
system_ext/app/uceShimService/uceShimService.apk|38ea630d6d94ba85de4218854d12c68957c8c422
@ -815,7 +819,7 @@ system_ext/etc/permissions/telephony_system-ext_privapp-permissions-qti.xml|a7e1
system_ext/etc/cdma_call_conf.xml|d1ae6bf84ec5b68ea6659d6b0558835af69aa8c0
system_ext/etc/spn-conf.xml|ac8a0750445f66091e7e77928fc055ff50369f42
system_ext/framework/qcrilhook.jar|d9778a3f8da09bf25c4905fb4e5d0fd7310f1f42
system_ext/framework/qti-telephony-common.jar|049c0c81597db329a433f38625119c76feab76ec
system_ext/framework/qti-telephony-common.jar|bb3ab85fcc841cb41e7f7c911eecf4de110d09b9
system_ext/lib64/libembmsmmosal.so|8b0fff20a21f42673c8608f7d840397209f3b6d0
system_ext/lib64/libembmsmmparser_lite.so|13441492d157fde30b6d13d7db358387dd62c788
system_ext/lib64/libembmstinyxml.so|b0dc45b8ec331a4572191016c3166a552f7215dc
@ -846,7 +850,7 @@ system_ext/lib64/vendor.qti.hardware.radio.uim_remote_client@1.1.so|a19ecac9a0c9
system_ext/lib64/vendor.qti.hardware.radio.uim_remote_client@1.2.so|883b0b971473b6e43709eaaea11943e72580c33b
system_ext/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so|c918ca8f28ac1ce27b4c2c9ac9a0f042fb3cad5d
# Radio - from Zebra/helios/helios:13/13-26-09.00-TG-U00-STD-HEL-04/103:user/release-keys
# Radio - from Zebra/helios/helios:13/13-29-10.00-TG-U00-STD-HEL-04/120:user/release-keys
vendor/bin/hw/qcrild|452be3cc159d7f0a001f03cd00845b159b002b13
vendor/bin/adpl|3de10f1c962aac60a5b9f35935e5322aa80d897b
vendor/bin/netmgrd|3ec640be13470f608ed8c476e31c4bfeab6a4a21
@ -886,8 +890,8 @@ vendor/lib64/libqrtr.so|948619679d57ca85512ddef90684468df1b23d70
vendor/lib64/libqsocket.so|bee3fe87b9a515912368e2e25283e72d02bf4fc0
vendor/lib64/libril-qc-hal-qmi.so|239abe3c65b96ec5b8b9fecf38fe4a65e3d94280
vendor/lib64/libril-qc-logger.so|103045dba0de411366d7d4884096838663b80941
vendor/lib64/libril-qc-ltedirectdisc.so|b91a7c664a998f138752edf28d602e88211cad3b
vendor/lib64/libril-qc-radioconfig.so|f67c013e1fc37947f1840b8c3efc6a65f9476165
vendor/lib64/libril-qc-ltedirectdisc.so|a09eb575b3fca9229b390e1c6f56db21df5cf1ca
vendor/lib64/libril-qc-radioconfig.so|f3ba568b59b41c90a0c1d0fe192371b972ba7d20
vendor/lib64/libril-qcril-hook-oem.so|b1e21403183c82c62953345cc8b6307b10e9ceb3
vendor/lib64/librilqmiservices.so|f00c0ff8198f3eb72fff243a6a58f532c2b52269
vendor/lib64/libsettings.so|2ac0b04632293f9e2050e2113cd10af9ccf121b2
@ -932,7 +936,7 @@ vendor/radio/qcril_database/upgrade/8_version_update_ecc_table.sql|a0603a5c46e8e
vendor/radio/qcril_database/upgrade/9_version_update_ecc_table.sql|4701219a79190995eda651e5c45e11c9b111a478
vendor/radio/qcril_database/qcril.db|77ea8412ac1a5f1a198d1adb1dcd265d7899959f
# Radio - IMS - from LA.QSSI.14.0.r1-13500-qssi.0
# Radio - IMS - from LA.QSSI.14.0.r1-15800-qssi.0
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml|bd9fc166b542b4e730f194ebc996957770d9d497
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml|b40fc74f7d5e58b4e918f952b89a79cf2a5c4088
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml|bfceff47fb0b55a418bed71de6050d876a776ac7
@ -982,12 +986,12 @@ system_ext/lib64/com.qualcomm.qti.uceservice@2.0.so|c872a91663d82643bbd92041978e
system_ext/lib64/com.qualcomm.qti.uceservice@2.1.so|fd07e9de5508f20f077cd7cc61f17b8595cb274e
system_ext/lib64/com.qualcomm.qti.uceservice@2.2.so|a8b06abf636604b815468e4cedc87ef4f0e22e66
system_ext/lib64/com.qualcomm.qti.uceservice@2.3.so|741285b15d3cb272269e4244898e8239b9f089a6
system_ext/lib64/lib-imsvideocodec.so|b1244bb8cf9b43d6136042cf73dec5c7443c695a
system_ext/lib64/lib-imsvt.so|0517dff9db29cbf4a2a62706e1ce3b322cf1d681
system_ext/lib64/lib-imsvideocodec.so|fe3f4e54ef28d6739dae639faed9e56672bce707
system_ext/lib64/lib-imsvt.so|ccd0a8655f950d3fa418ec9ec717ba2e96b2ac87
system_ext/lib64/lib-imsvtextutils.so|19b0a5b9119388e735729e9a86ee7ee0a1355077
system_ext/lib64/lib-imsvtutils.so|8a8d4f3c6b57fc3a31f0982a9cd43b990514e1a7
system_ext/lib64/libdiag_system.qti.so|60aa3154c931cccb71f33eedd044d5b995db7f36
system_ext/lib64/libdiag_system.so|a906457ce24cd76db5bc7b868f093a2623bf82d0
system_ext/lib64/libdiag_system.qti.so|c275d82ed804f30367dc1f133f6e4b9d2ca453db
system_ext/lib64/libdiag_system.so|b479225f6d2a3e39dde96a22563a149dcb7f90d8
system_ext/lib64/libimscamera_jni.so|ca67ceb33d74db1f2d84d06a827c1c7d06bd3256
system_ext/lib64/libimsmedia_jni.so|19889926ad7e21124b32bcd56139a9343be5e768
system_ext/lib64/vendor.qti.hardware.radio.ims@1.0.so|46f647cff2a3cfa3cdbf265f5f0ac97dfd0522aa
@ -1031,7 +1035,7 @@ system_ext/lib64/vendor.qti.imsrtpservice@3.0.so|919c4398097c8b818a415efccc57e98
system_ext/lib64/vendor.qti.imsrtpservice@3.1.so|d1b6a6eabf17e43e98dcc4372fdabea4890f7cd8
system_ext/lib64/vendor.qti.ImsRtpService-V1-ndk.so|bb32703c026364da33ca1b4f83c839e1e312ae9b
system_ext/lib64/vendor.qti.mstatservice@1.0.so|563e00dd5b8c45d63d6a3b304a1411a357822261
system_ext/priv-app/ims/ims.apk|eb896ad88f5c4d7ae26f6474e7fe4ccff8cc1efd
system_ext/priv-app/ims/ims.apk|a52f115f281d22025272791b7414775bb30feb4d
# Radio - IMS - from Zebra/helios/helios:13/13-22-18.00-TG-U02-STD-HEL-04/84:user/release-keys
vendor/bin/ims_rtp_daemon|4a32f19d478ed6d03b7c7d59e99768989a509483
@ -1103,11 +1107,11 @@ vendor/lib64/libscveObjectTracker_stub.so|c8d4ee447045e0bcd4bc9fe101ff3ad5089250
vendor/lib64/vendor.qti.hardware.scve.objecttracker@1.0.so|20dca87cf73b1e69b1650aff7c5c72f9e0b74fe0
vendor/lib64/vendor.qti.hardware.scve.panorama@1.0.so|aab964d5e947d461c190aa3841d136dfa0fd9b44
# Sensors - from Zebra/helios/helios:13/13-26-09.00-TG-U00-STD-HEL-04/103:user/release-keys
# Sensors - from Zebra/helios/helios:13/13-29-10.00-TG-U00-STD-HEL-04/120:user/release-keys
-system_ext/framework/vendor.qti.hardware.sensorscalibrate-V1.0-java.jar|662159c62a683a2096a73adf1d52b1074c1ab960
system_ext/lib/vendor.qti.hardware.sensorscalibrate@1.0.so|50e57a9ffcf1483061fef4e48e8a831f61886ba4
system_ext/lib64/vendor.qti.hardware.sensorscalibrate@1.0.so|b381c166cb399c3fec5163f7128f2de305c8004d
vendor/bin/sensors.qti|897bd3f348a91214e0e356c9d70e48e3ce3d4f96
vendor/bin/sensors.qti|9ee2cc97ca9e4ff3296c654674ac786cf9f0b19c
vendor/lib/libsensor1.so|084f1bb499dfca2b2a23fd19d4ff4c45dab26293
vendor/lib/libsensor_reg.so|8b1e757e0fbdfd740c6b6513473902d36d2235bc
vendor/lib/libssc_default_listener.so|ddc720778e4610fd8b14b2bc92d9ec7b37682992

View file

@ -172,10 +172,6 @@ on boot
#enable camera read sensors data
setprop persist.camera.gyro.disable 0
#Remove SUID bit for iproute2 ip tool
chmod 0755 /system/bin/ip
chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
setprop net.tcp.2g_init_rwnd 10

View file

@ -650,7 +650,7 @@
<!-- Minimum screen brightness setting allowed by power manager.
The user is forbidden from setting the brightness below this level.-->
<item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">0.0</item>
<item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">0.0025</item>
<!-- Maximum screen brightness allowed by the power manager.
The user is forbidden from setting the brightness above this level.-->
@ -795,9 +795,6 @@
<item>"/system/bin/surfaceflinger"</item>
</string-array>
<!-- Should the pinner service pin the Home application? -->
<bool name="config_pinnerHomeApp">true</bool>
<!-- Flag indicating whether the current device is "voice capable".
If true, this means that the device supports circuit-switched
(i.e. voice) phone calls over the telephony network, and is

View file

@ -11,13 +11,6 @@ $(call inherit-product-if-exists, build/target/product/embedded.mk)
# Disable deprecated sdcardfs, enable casefold, projid
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
# Enable updating of APEXes
ifeq ($(ENABLE_APEX), true)
TARGET_SUPPORTS_UPDATABLE_APEX := true
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
$(call inherit-product-if-exists, vendor/prebuilts/config/apex.mk)
endif
# Inherit proprietary files
$(call inherit-product, vendor/xiaomi/sdm660-common/sdm660-common-vendor.mk)
$(call inherit-product-if-exists, vendor/xiaomi/MiuiCamera/config.mk)
@ -66,6 +59,7 @@ endif
PRODUCT_PACKAGES += \
android.hardware.audio@7.1-impl \
android.hardware.audio.effect@7.0-impl \
android.hardware.audio.sounddose-vendor-impl \
android.hardware.audio.service \
audio.primary.sdm660 \
audio.r_submix.default \
@ -73,6 +67,7 @@ PRODUCT_PACKAGES += \
audio.usbv2.default \
liba2dpoffload \
libaudio-resampler \
libaudioroute.vendor \
libhdmiedid \
libhfp \
libsndmonitor \
@ -213,6 +208,7 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0.vendor \
android.hardware.keymaster@4.1.vendor \
libion.vendor
# Freeform Multiwindow
PRODUCT_COPY_FILES += \
@ -263,6 +259,7 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
android.hidl.base@1.0 \
android.hidl.base@1.0.vendor \
libhidlmemory.vendor \
libhidltransport \
libhidltransport.vendor \
libhwbinder \
@ -323,6 +320,27 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
android.hardware.light-service.xiaomi
# Logging
SPAMMY_LOG_TAGS := \
MiStcImpl \
SDM \
SDM-histogram \
SRE \
WifiHAL \
cnss-daemon \
libcitsensorservice@2.0-impl \
libsensor-displayalgo \
libsensor-parseRGB \
libsensor-ssccalapi \
sensors \
vendor.qti.hardware.display.composer-service \
vendor.xiaomi.sensor.citsensorservice@2.0-service
ifneq ($(TARGET_BUILD_VARIANT),eng)
PRODUCT_VENDOR_PROPERTIES += \
$(foreach tag,$(SPAMMY_LOG_TAGS),log.tag.$(tag)=E)
endif
# Media
PRODUCT_PACKAGES += \
libgui_vendor
@ -466,6 +484,7 @@ PRODUCT_DEXPREOPT_SPEED_APPS += \
PRODUCT_PACKAGES += \
libprotobuf-cpp-full-vendorcompat \
libprotobuf-cpp-lite-vendorcompat \
libprotobuf-cpp-full-3.9.1-vendorcompat \
libprotobuf-cpp-lite-3.9.1-vendorcompat
# Privapp-Permissions
@ -499,7 +518,9 @@ PRODUCT_PACKAGES += \
android.hardware.radio.config@1.3.vendor \
android.hardware.radio@1.6.vendor \
android.hardware.radio.deprecated@1.0.vendor \
android.hardware.secure_element@1.2.vendor
android.hardware.secure_element@1.2.vendor \
libnetutils.vendor \
libsqlite.vendor:64
# RIL
PRODUCT_PACKAGES += \
@ -535,6 +556,7 @@ PRODUCT_PACKAGES += \
android.frameworks.sensorservice@1.0.vendor \
android.hardware.sensors@1.0-impl \
android.hardware.sensors@1.0-service \
libpower.vendor \
libsensorndkbridge
# Sensor Config
@ -556,10 +578,6 @@ PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true
PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt
# System
PRODUCT_VENDOR_PROPERTIES += \
persist.sys.binary_xml=false
# Tetheroffload
PRODUCT_PACKAGES += \
ipacm \