Compare commits
47 commits
148e775d41
...
e0f2bf5549
Author | SHA1 | Date | |
---|---|---|---|
|
e0f2bf5549 | ||
|
31b9b15239 | ||
|
9ea6e184a1 | ||
|
fa682f0e24 | ||
|
5f9452509c | ||
|
9b4e398620 | ||
|
93e4d5250f | ||
|
f025de6343 | ||
|
845e166d18 | ||
995cbb083d | |||
|
948ee74d04 | ||
|
98e54caaf9 | ||
|
1a1708430d | ||
|
935438fe00 | ||
|
cc568c5a3b | ||
|
9636d797ca | ||
|
4ce650ebc9 | ||
|
1d93af667a | ||
|
cfe322f9d8 | ||
|
4f3db5c2aa | ||
|
79debef800 | ||
|
952c7d9cf1 | ||
|
a3c3933a94 | ||
|
b40d70141b | ||
|
02169d16ef | ||
|
135f9fdb9f | ||
|
8505b50a32 | ||
|
99a55346a9 | ||
|
992e9e164d | ||
|
756b61bcff | ||
|
9bb01728d1 | ||
|
aeb281c4b0 | ||
|
e5d0ba85da | ||
|
d15303aaf0 | ||
|
5a32a68e3c | ||
|
72ba21c4f0 | ||
|
bea99cd8c3 | ||
|
4c33049a26 | ||
|
e8f300c3f5 | ||
|
89f1efc0ca | ||
|
872f8d0ca7 | ||
|
d72544b92f | ||
|
bf30e60a32 | ||
|
5bdce0a4c3 | ||
|
47bc940428 | ||
|
233fce88d3 | ||
|
f22f9327f8 |
22 changed files with 192 additions and 206 deletions
24
Android.mk
24
Android.mk
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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"/>
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
||||
|
|
|
@ -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"/>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
12
manifest.xml
12
manifest.xml
|
@ -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>
|
||||
|
|
|
@ -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]];
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
42
sdm660.mk
42
sdm660.mk
|
@ -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 \
|
||||
|
|
Loading…
Reference in a new issue