universal7885: parts: Implement SmartCharge settings

Using the interface vendor.eureka.hardware.parts.ISmartCharge, this intends to add simple implementation of smart charge. If the battery percent is above set limit percent, it will stop charging, else if the battery percents goes under the set restart percent, it will start charging again.

While I'm on this parts, I refactored kotlin srcs using ktlint, formatted xml manually.
This commit is contained in:
roynatech2544 2022-10-13 16:04:00 +09:00
commit 8d1811d574
43 changed files with 779 additions and 568 deletions

View file

@ -1,12 +1,60 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/fastcharge_title">
<com.android.settingslib.widget.MainSwitchPreference android:key="show_data" android:title="@string/show_data"/>
<SwitchPreference android:key="fastcharge_pref" android:title="@string/fastcharge_2nd_title" android:icon="@drawable/ic_bolt" android:summary="@string/fastcharge_summary"/>
<SwitchPreference android:key="charge_pref" android:title="@string/charge_title" android:icon="@drawable/ic_bolt" android:summary="@string/charge_summary"/>
<Preference android:key="battery_capacity" android:title="@string/battery_max_capa" android:summary="@string/not_shown" android:selectable="false"/>
<Preference android:key="battery_charged_up_to" android:title="@string/battery_chrged_up_to" android:summary="@string/not_shown" android:selectable="false"/>
<Preference android:key="battery_charged_up_to_mah" android:title="@string/battery_chrged_up_to_mah" android:summary="@string/not_shown" android:selectable="false"/>
<Preference android:key="battery_current" android:title="@string/battery_current" android:summary="@string/not_shown" android:selectable="false"/>
<Preference android:key="battery_status" android:title="@string/battery_status" android:summary="@string/not_shown" android:selectable="false"/>
<Preference android:key="battery_temp" android:title="@string/battery_temp" android:summary="@string/not_shown" android:selectable="false"/>
<com.android.settingslib.widget.FooterPreference android:key="footer_preference" android:title="@string/fastcharge_description" android:selectable="false"/>
<com.android.settingslib.widget.MainSwitchPreference
android:key="show_data"
android:title="@string/show_data"/>
<SwitchPreference
android:key="fastcharge_pref"
android:title="@string/fastcharge_2nd_title"
android:icon="@drawable/ic_bolt"
android:summary="@string/fastcharge_summary"/>
<SwitchPreference
android:key="charge_pref"
android:title="@string/charge_title"
android:icon="@drawable/ic_bolt"
android:summary="@string/charge_summary"/>
<Preference
android:key="battery_capacity"
android:title="@string/battery_max_capa"
android:summary="@string/not_shown"
android:selectable="false"/>
<Preference
android:key="battery_charged_up_to"
android:title="@string/battery_chrged_up_to"
android:summary="@string/not_shown"
android:selectable="false"/>
<Preference
android:key="battery_charged_up_to_mah"
android:title="@string/battery_chrged_up_to_mah"
android:summary="@string/not_shown"
android:selectable="false"/>
<Preference
android:key="battery_current"
android:title="@string/battery_current"
android:summary="@string/not_shown"
android:selectable="false"/>
<Preference
android:key="battery_status"
android:title="@string/battery_status"
android:summary="@string/not_shown"
android:selectable="false"/>
<Preference
android:key="battery_temp"
android:title="@string/battery_temp"
android:summary="@string/not_shown"
android:selectable="false"/>
<com.android.settingslib.widget.FooterPreference
android:key="footer_preference"
android:title="@string/fastcharge_description"
android:selectable="false"/>
</PreferenceScreen>

View file

@ -1,4 +1,13 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/clear_speaker_title">
<com.android.settingslib.widget.MainSwitchPreference android:key="clear_speaker_pref" android:title="@string/clear_speaker_title" android:icon="@drawable/ic_sound" android:summary="@string/clear_speaker_summary"/>
<com.android.settingslib.widget.FooterPreference android:key="footer_preference" android:title="@string/clear_speaker_description" android:selectable="false"/>
<com.android.settingslib.widget.MainSwitchPreference
android:key="clear_speaker_pref"
android:title="@string/clear_speaker_title"
android:icon="@drawable/ic_sound"
android:summary="@string/clear_speaker_summary"/>
<com.android.settingslib.widget.FooterPreference
android:key="footer_preference"
android:title="@string/clear_speaker_description"
android:selectable="false"/>
</PreferenceScreen>

View file

@ -1,13 +1,49 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/dolby_title">
<com.android.settingslib.widget.MainSwitchPreference android:defaultValue="false" android:key="dolby_enable" android:title="@string/dolby_enable_title"/>
<com.android.settingslib.widget.RadioButtonPreference android:defaultValue="true" android:key="dolby_profile_auto" android:title="@string/dolby_profile_auto"/>
<com.android.settingslib.widget.RadioButtonPreference android:key="dolby_profile_game" android:title="@string/dolby_profile_game"/>
<com.android.settingslib.widget.RadioButtonPreference android:key="dolby_profile_game_1" android:title="@string/dolby_profile_game_1"/>
<com.android.settingslib.widget.RadioButtonPreference android:key="dolby_profile_game_2" android:title="@string/dolby_profile_game_2"/>
<com.android.settingslib.widget.RadioButtonPreference android:key="dolby_profile_movie" android:title="@string/dolby_profile_movie"/>
<com.android.settingslib.widget.RadioButtonPreference android:key="dolby_profile_music" android:title="@string/dolby_profile_music"/>
<com.android.settingslib.widget.RadioButtonPreference android:key="dolby_profile_off" android:title="@string/dolby_profile_off"/>
<com.android.settingslib.widget.RadioButtonPreference android:key="dolby_profile_spacial_audio" android:title="@string/dolby_profile_spacial_audio"/>
<com.android.settingslib.widget.RadioButtonPreference android:key="dolby_profile_voice" android:title="@string/dolby_profile_voice"/>
<com.android.settingslib.widget.FooterPreference android:key="dolby_top_intro" android:title="@string/dolby_top_intro_summary"/>
<com.android.settingslib.widget.MainSwitchPreference
android:defaultValue="false"
android:key="dolby_enable"
android:title="@string/dolby_enable_title"/>
<com.android.settingslib.widget.RadioButtonPreference
android:defaultValue="true"
android:key="dolby_profile_auto"
android:title="@string/dolby_profile_auto"/>
<com.android.settingslib.widget.RadioButtonPreference
android:key="dolby_profile_game"
android:title="@string/dolby_profile_game"/>
<com.android.settingslib.widget.RadioButtonPreference
android:key="dolby_profile_game_1"
android:title="@string/dolby_profile_game_1"/>
<com.android.settingslib.widget.RadioButtonPreference
android:key="dolby_profile_game_2"
android:title="@string/dolby_profile_game_2"/>
<com.android.settingslib.widget.RadioButtonPreference
android:key="dolby_profile_movie"
android:title="@string/dolby_profile_movie"/>
<com.android.settingslib.widget.RadioButtonPreference
android:key="dolby_profile_music"
android:title="@string/dolby_profile_music"/>
<com.android.settingslib.widget.RadioButtonPreference
android:key="dolby_profile_off"
android:title="@string/dolby_profile_off"/>
<com.android.settingslib.widget.RadioButtonPreference
android:key="dolby_profile_spacial_audio"
android:title="@string/dolby_profile_spacial_audio"/>
<com.android.settingslib.widget.RadioButtonPreference
android:key="dolby_profile_voice"
android:title="@string/dolby_profile_voice"/>
<com.android.settingslib.widget.FooterPreference
android:key="dolby_top_intro"
android:title="@string/dolby_top_intro_summary"/>
</PreferenceScreen>

View file

@ -1,5 +1,19 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/flashlight_title">
<com.android.settingslib.widget.MainSwitchPreference android:defaultValue="false" android:key="flashlight_enable" android:title="@string/flash_enable_title"/>
<SeekBarPreference android:key="flashlight_pref" android:title="@string/flashlight_title" android:icon="@drawable/ic_led" android:summary="@string/flashlight_summary"/>
<com.android.settingslib.widget.FooterPreference android:key="footer_preference" android:title="@string/flashlight_description" android:selectable="false"/>
<com.android.settingslib.widget.MainSwitchPreference
android:defaultValue="false"
android:key="flashlight_enable"
android:title="@string/flash_enable_title"/>
<SeekBarPreference
android:key="flashlight_pref"
android:title="@string/flashlight_title"
android:icon="@drawable/ic_led"
android:summary="@string/flashlight_summary"/>
<com.android.settingslib.widget.FooterPreference
android:key="footer_preference"
android:title="@string/flashlight_description"
android:selectable="false"/>
</PreferenceScreen>

View file

@ -1,31 +1,103 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/advanced_settings">
<PreferenceCategory android:key="display" android:title="@string/display_category">
<SwitchPreference android:key="fps_info" android:icon="@drawable/ic_fps_info" android:title="@string/fps_info_title" android:summary="@string/fps_info_summary" android:persistent="true"/>
</PreferenceCategory>
<PreferenceCategory android:key="speaker" android:title="@string/speaker_category">
<Preference android:key="clear_speaker_settings" android:title="@string/clear_speaker_title" android:summary="@string/clear_speaker_summary" android:icon="@drawable/ic_sound">
<intent android:action="android.intent.action.MAIN" android:targetClass="com.eurekateam.samsungextras.speaker.ClearSpeakerActivity" android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
<Preference android:key="dolby_settings" android:title="@string/dolby_title" android:summary="@string/dolby_summary" android:icon="@drawable/ic_speaker_cleaner_icon">
<intent android:action="android.intent.action.MAIN" android:targetClass="com.eurekateam.samsungextras.dolby.DolbyActivity" android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
</PreferenceCategory>
<PreferenceCategory android:key="eureka_kernel_features" android:title="@string/eureka_kernel_features">
<Preference android:key="flashlight_settings" android:title="@string/flashlight_title" android:summary="@string/flashlight_summary" android:icon="@drawable/ic_led">
<intent android:action="android.intent.action.MAIN" android:targetClass="com.eurekateam.samsungextras.flashlight.FlashLightActivity" android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
</PreferenceCategory>
<PreferenceCategory android:key="fastcharge" android:title="@string/fastcharge_category">
<Preference android:key="battery_settings" android:title="@string/fastcharge_title" android:icon="@drawable/ic_bolt" android:summary="@string/fastcharge_summary" android:persistent="true">
<intent android:action="android.intent.action.MAIN" android:targetClass="com.eurekateam.samsungextras.battery.BatteryActivity" android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
</PreferenceCategory>
<PreferenceCategory android:title="@string/misc_category">
<Preference android:key="swap_settings" android:title="@string/swap_title" android:icon="@drawable/ic_memory" android:summary="@string/swap_description" android:persistent="true">
<intent android:action="android.intent.action.MAIN" android:targetClass="com.eurekateam.samsungextras.swap.SwapActivity" android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
<SwitchPreference android:key="dt2w_settings" android:title="@string/dt2w_mode" android:persistent="true"/>
<SwitchPreference android:key="glove_mode_settings" android:title="@string/glove_mode" android:persistent="true"/>
</PreferenceCategory>
<com.android.settingslib.widget.FooterPreference android:title="@string/advanced_settings_summary" android:selectable="false"/>
<PreferenceCategory
android:key="display"
android:title="@string/display_category">
<SwitchPreference
android:key="fps_info"
android:icon="@drawable/ic_fps_info"
android:title="@string/fps_info_title"
android:summary="@string/fps_info_summary"
android:persistent="true"/>
</PreferenceCategory>
<PreferenceCategory
android:key="speaker"
android:title="@string/speaker_category">
<Preference
android:key="clear_speaker_settings"
android:title="@string/clear_speaker_title"
android:summary="@string/clear_speaker_summary"
android:icon="@drawable/ic_sound">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.eurekateam.samsungextras.speaker.ClearSpeakerActivity"
android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
<Preference
android:key="dolby_settings"
android:title="@string/dolby_title"
android:summary="@string/dolby_summary"
android:icon="@drawable/ic_speaker_cleaner_icon">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.eurekateam.samsungextras.dolby.DolbyActivity"
android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
</PreferenceCategory>
<PreferenceCategory
android:key="eureka_kernel_features"
android:title="@string/eureka_kernel_features">
<Preference
android:key="flashlight_settings"
android:title="@string/flashlight_title"
android:summary="@string/flashlight_summary"
android:icon="@drawable/ic_led">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.eurekateam.samsungextras.flashlight.FlashLightActivity"
android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
</PreferenceCategory>
<PreferenceCategory
android:key="fastcharge"
android:title="@string/fastcharge_category">
<Preference
android:key="battery_settings"
android:title="@string/fastcharge_title"
android:icon="@drawable/ic_bolt"
android:summary="@string/fastcharge_summary"
android:persistent="true">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.eurekateam.samsungextras.battery.BatteryActivity"
android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
<Preference
android:key="smartcharge_settings"
android:title="@string/smartcharge_title"
android:icon="@drawable/ic_charge"
android:summary="@string/smartcharge_switch"
android:persistent="true">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.eurekateam.samsungextras.smartcharge.SmartChargeActivity"
android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
</PreferenceCategory>
<PreferenceCategory
android:title="@string/misc_category">
<Preference
android:key="swap_settings"
android:title="@string/swap_title"
android:icon="@drawable/ic_memory"
android:summary="@string/swap_description"
android:persistent="true">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.eurekateam.samsungextras.swap.SwapActivity"
android:targetPackage="com.eurekateam.samsungextras"/>
</Preference>
<SwitchPreference
android:key="dt2w_settings"
android:title="@string/dt2w_mode"
android:persistent="true"/>
<SwitchPreference
android:key="glove_mode_settings"
android:title="@string/glove_mode"
android:persistent="true"/>
</PreferenceCategory>
<com.android.settingslib.widget.FooterPreference
android:title="@string/advanced_settings_summary"
android:selectable="false"/>
</PreferenceScreen>

View file

@ -0,0 +1,55 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/smartcharge_title">
<com.android.settingslib.widget.MainSwitchPreference
android:defaultValue="false"
android:key="smartcharge"
android:title="@string/smartcharge_switch"/>
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="choose_limit"
android:title="@string/choose_limit_title"
android:summary="@string/choose_summary"/>
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="choose_restart"
android:title="@string/choose_restart_title"
android:summary="@string/choose_summary"/>
<SeekBarPreference
android:key="adjust"
android:title="@string/adjust_title"
android:summary="@string/adjust_summary"/>
<Preference
android:key="limit"
android:title="@string/limit_title"
android:icon="@drawable/ic_battery"
android:selectable="false"/>
<Preference
android:key="restart"
android:title="@string/restart_title"
android:icon="@drawable/ic_battery"
android:selectable="false"/>
<Preference
android:key="limit_stat"
android:title="@string/limit_stat_title"
android:icon="@drawable/ic_charge"
android:selectable="false"/>
<Preference
android:key="restart_stat"
android:title="@string/restart_stat_title"
android:icon="@drawable/ic_charge"
android:selectable="false"/>
<com.android.settingslib.widget.ButtonPreference
android:key="apply"
android:title="@string/apply"/>
<com.android.settingslib.widget.FooterPreference
android:title="@string/smartcharge_description"
android:selectable="false"/>
</PreferenceScreen>

View file

@ -1,7 +1,25 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/swap_title">
<com.android.settingslib.widget.MainSwitchPreference android:defaultValue="false" android:key="swap_enable" android:title="@string/swap_enable_title"/>
<SeekBarPreference android:key="swap_size" android:title="@string/swap_size_title" android:icon="@drawable/ic_memory" android:summary="@string/swap_size_summary"/>
<Preference android:key="free_space" android:title="@string/free_space" android:selectable="false"/>
<Preference android:key="swap_file_size" android:title="@string/swap_file_size" android:selectable="false"/>
<com.android.settingslib.widget.FooterPreference android:title="@string/swap_description" android:selectable="false"/>
<com.android.settingslib.widget.MainSwitchPreference
android:defaultValue="false"
android:key="swap_enable"
android:title="@string/swap_enable_title"/>
<SeekBarPreference
android:key="swap_size"
android:title="@string/swap_size_title"
android:icon="@drawable/ic_memory"
android:summary="@string/swap_size_summary"/>
<Preference
android:key="free_space"
android:title="@string/free_space"
android:selectable="false"/>
<Preference
android:key="swap_file_size"
android:title="@string/swap_file_size"
android:selectable="false"/>
<com.android.settingslib.widget.FooterPreference
android:title="@string/swap_description"
android:selectable="false"/>
</PreferenceScreen>