sdm660-common: DeviceSettings: Access dirac from device-settings

- Split preferences from audio category to avoid removing whole category upon nonexsting single preference
- Previously there were only headphone and microphone gain which were from same kernel driver and it was logical
  to remove the category when one of the preferences does not exist.
This commit is contained in:
OdSazib 2021-04-02 01:12:36 +06:00
parent f6c011d64d
commit de7135d040
No known key found for this signature in database
GPG key ID: B678DBD07079B021
9 changed files with 60 additions and 19 deletions

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24.0dp"
android:height="24.0dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?android:attr/colorControlNormal">
<path
android:fillColor="#FF000000"
android:pathData="M12,3l0.01,10.55c-0.59,-0.34 -1.27,-0.55 -2,-0.55C7.79,13 6,14.79 6,17s1.79,4 4.01,4S14,19.21 14,17L14,7h4L18,3h-6zM10.01,19c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z"/>
</vector>

View file

@ -95,8 +95,8 @@
<string name="fps_info_title">FPS Overlay</string>
<string name="fps_info_summary">Menampilkan jumlah bingkai perdetik saat ini</string>
<!-- Audio amplification -->
<string name="audio_amplify">Pengeras suara</string>
<!-- Audio -->
<string name="audio_title">Pengeras suara</string>
<string name="headphone_gain">Headphone Gain</string>
<string name="mic_gain">Microphone Gain</string>

View file

@ -95,8 +95,8 @@
<string name="fps_info_title">FPS 오버레이</string>
<string name="fps_info_summary">현재 FPS를 나타내는 오버레이를 표시합니다.</string>
<!-- Audio amplification -->
<string name="audio_amplify">오디오 앰프</string>
<!-- Audio -->
<string name="audio_title">오디오 앰프</string>
<string name="headphone_gain">헤드폰 게인</string>
<string name="mic_gain">마이크 게인</string>

View file

@ -95,8 +95,8 @@
<string name="fps_info_title">Mostrar FPS</string>
<string name="fps_info_summary">Mostra os quadros por segundo sobrepostos na tela</string>
<!-- Audio amplification -->
<string name="audio_amplify">Amplificar audio</string>
<!-- Audio -->
<string name="audio_title">Audio</string>
<string name="headphone_gain">Ganho do headphone</string>
<string name="mic_gain">Ganho do microfone</string>

View file

@ -95,8 +95,8 @@
<string name="fps_info_title">FPS Показатель</string>
<string name="fps_info_summary">Показать наложение с текущими кадрами в секунду</string>
<!-- Audio amplification -->
<string name="audio_amplify">Усиление звука</string>
<!-- Audio -->
<string name="audio_title">Усиление звука</string>
<string name="headphone_gain">Усиление наушников</string>
<string name="mic_gain">Усиление микрофона</string>

View file

@ -95,8 +95,8 @@
<string name="fps_info_title">Ukazateľ FPS</string>
<string name="fps_info_summary">Zobrazovať aktuálny počet snímkov za sekundu</string>
<!-- Audio amplification -->
<string name="audio_amplify">Zosilnenie zvuku</string>
<!-- Audio -->
<string name="audio_title">Zosilnenie zvuku</string>
<string name="headphone_gain">Zisk slúchadiel</string>
<string name="mic_gain">Zisk mikrofónu</string>

View file

@ -95,9 +95,14 @@
<string name="fps_info_title">FPS Overlay</string>
<string name="fps_info_summary">Show overlay with current frames per second</string>
<!-- Audio amplification -->
<string name="audio_amplify">Amplify Audio</string>
<!-- Audio -->
<string name="audio_title">Audio</string>
<!-- Headphone and Microphone Gain -->
<string name="headphone_gain">Headphone Gain</string>
<string name="mic_gain">Microphone Gain</string>
<!-- Dirac -->
<string name="dirac_pref_title">Mi Sound</string>
<string name="dirac_pref_summary">Improve audio quality with Mi Sound Enhancer</string>
</resources>

View file

@ -42,8 +42,8 @@
</PreferenceCategory>
<PreferenceCategory
android:key="audio_amplify"
android:title="@string/audio_amplify">
android:key="audio"
android:title="@string/audio_title">
<org.lineageos.settings.device.preferences.CustomSeekBarPreference
android:defaultValue="0"
@ -60,6 +60,19 @@
app:min="-10"
android:icon="@drawable/ic_mic"
android:title="@string/mic_gain"/>
<Preference
android:key="dirac"
android:persistent="false"
android:summary="@string/dirac_pref_summary"
android:title="@string/dirac_pref_title"
android:icon="@drawable/ic_dirac">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.xiaomi.dirac.DiracActivity"
android:targetPackage="com.xiaomi.dirac" />
</Preference>
</PreferenceCategory>
<PreferenceCategory

View file

@ -45,12 +45,15 @@ public class DeviceSettings extends PreferenceFragment implements
public static final String PREF_KEY_FPS_INFO = "fps_info";
public static final String CATEGORY_AUDIO_AMPLIFY = "audio_amplify";
public static final String CATEGORY_AUDIO = "audio";
public static final String PREF_HEADPHONE_GAIN = "headphone_gain";
public static final String PREF_MIC_GAIN = "mic_gain";
public static final String HEADPHONE_GAIN_PATH = "/sys/kernel/sound_control/headphone_gain";
public static final String MIC_GAIN_PATH = "/sys/kernel/sound_control/mic_gain";
private static final String DIRAC_PACKAGE_NAME = "com.xiaomi.dirac";
private static final String PREF_DIRAC = "dirac";
// value of vtg_min and vtg_max
public static final int MIN_VIBRATION = 116;
public static final int MAX_VIBRATION = 3596;
@ -87,14 +90,24 @@ public class DeviceSettings extends PreferenceFragment implements
vibrationStrength.setOnPreferenceChangeListener(this);
} else { getPreferenceScreen().removePreference(findPreference(CATEGORY_VIBRATOR)); }
// Headphone & Mic Gain
if (FileUtils.fileWritable(HEADPHONE_GAIN_PATH) && FileUtils.fileWritable(MIC_GAIN_PATH)) {
PreferenceCategory audioCategory = (PreferenceCategory) findPreference(CATEGORY_AUDIO);
// Headphone Gain
if (FileUtils.fileWritable(HEADPHONE_GAIN_PATH)) {
CustomSeekBarPreference headphoneGain = (CustomSeekBarPreference) findPreference(PREF_HEADPHONE_GAIN);
headphoneGain.setOnPreferenceChangeListener(this);
} else {
audioCategory.removePreference(findPreference(PREF_HEADPHONE_GAIN));
}
// Mic Gain
if (FileUtils.fileWritable(MIC_GAIN_PATH)) {
CustomSeekBarPreference micGain = (CustomSeekBarPreference) findPreference(PREF_MIC_GAIN);
micGain.setOnPreferenceChangeListener(this);
} else {
getPreferenceScreen().removePreference(findPreference(CATEGORY_AUDIO_AMPLIFY));
audioCategory.removePreference(findPreference(PREF_MIC_GAIN));
}
// Access to Dirac
if (isAppNotInstalled(DIRAC_PACKAGE_NAME)) {
audioCategory.removePreference(findPreference(PREF_DIRAC));
}
PreferenceCategory displayCategory = (PreferenceCategory) findPreference(CATEGORY_DISPLAY);