Evolver: Network traffic mode for status bar [3/3]

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: Id540c34fc53851203495680dacf93b08098b4ce0
Signed-off-by: AnierinB <anierin@evolution-x.org>
This commit is contained in:
Pranav Vashi
2024-04-29 09:04:35 +09:00
committed by Joey Huab
parent 157c794e8a
commit 405df016e5
5 changed files with 217 additions and 0 deletions

View File

@@ -234,4 +234,41 @@
<item>1</item>
</string-array>
<!-- Status bar/Network Traffic -->
<string-array name="network_traffic_location_entries" translatable="false">
<item>@string/network_traffic_location_disable</item>
<item>@string/network_traffic_location_statusbar</item>
<!--<item>@string/network_traffic_location_quick_statusbar</item>-->
</string-array>
<string-array name="network_traffic_location_values" translatable="false">
<item>0</item>
<item>1</item>
<!--<item>2</item>-->
</string-array>
<string-array name="network_traffic_mode_entries" translatable="false">
<item>@string/network_traffic_mode_all</item>
<item>@string/network_traffic_mode_up</item>
<item>@string/network_traffic_mode_down</item>
</string-array>
<string-array name="network_traffic_mode_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="network_traffic_units_entries" translatable="false">
<item>@string/network_traffic_units_bits</item>
<item>@string/network_traffic_units_bytes</item>
</string-array>
<string-array name="network_traffic_units_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
</resources>

View File

@@ -153,6 +153,8 @@
<string name="status_bar_bluetooth_battery_summary">Display battery status for the connected Bluetooth device, if available</string>
<string name="status_bar_colored_icons_title">Colored icons</string>
<string name="status_bar_colored_icons_summary">Use launcher icons for app notifications</string>
<string name="status_bar_network_traffic_settings_title">Network traffic monitor</string>
<string name="status_bar_network_traffic_settings_summary">Display and customize current network traffic levels</string>
<string name="status_bar_notif_count_title">Notification count</string>
<string name="status_bar_notif_count_summary">Display the number of unread notifications on each app icon</string>
<string name="status_bar_privacy_indicators_category">Privacy indicators</string>
@@ -163,6 +165,32 @@
<string name="status_bar_projection_privacy_indicator_title">Screen projection</string>
<string name="status_bar_projection_privacy_indicator_summary">Display an indicator when the screen is being projected</string>
<!-- Status bar/Network traffic -->
<string name="network_traffic_location_title">Location</string>
<string name="network_traffic_location_disable">Disabled</string>
<string name="network_traffic_location_statusbar">Statusbar</string>
<string name="network_traffic_location_quick_statusbar">Quick Statusbar</string>
<string name="network_traffic_mode_title">Display mode</string>
<string name="network_traffic_mode_up">Upload only</string>
<string name="network_traffic_mode_down">Download only</string>
<string name="network_traffic_mode_all">Upload and download</string>
<string name="network_traffic_autohide">Auto hide</string>
<string name="network_traffic_autohide_summary">Hide the traffic monitor when inactive</string>
<string name="network_traffic_autohide_kilobits" translatable="false">Kb/s</string>
<string name="network_traffic_autohide_kilobytes" translatable="false">KB/s</string>
<string name="network_traffic_autohide_threshold">Inactivity threshold</string>
<string name="network_traffic_refresh_interval_title">Refresh interval</string>
<string name="network_traffic_refresh_interval_summary">Duration after which speed is remeasured</string>
<string name="network_traffic_units_title">Traffic measurement units</string>
<string name="network_traffic_units_bits">Bits per second (b/s)</string>
<string name="network_traffic_units_kilobits">Kilobits per second (kb/s)</string>
<string name="network_traffic_units_megabits">Megabits per second (Mb/s)</string>
<string name="network_traffic_units_bytes">Bytes per second (B/s)</string>
<string name="network_traffic_units_kilobytes">Kilobytes per second (kB/s)</string>
<string name="network_traffic_units_megabytes">Megabytes per second (MB/s)</string>
<string name="network_traffic_hidearrow">Hide arrows</string>
<string name="network_traffic_hidearrow_summary">Hide the network traffic indicator arrows</string>
<!-- Quick settings -->
<string name="quick_settings_interface_category">Interface</string>
<string name="quick_settings_brightness_slider_category">Brightness slider</string>
@@ -284,4 +312,13 @@
<string name="custom_seekbar_default_value">by default</string>
<string name="custom_seekbar_default_value_to_set">Default value: <xliff:g id="v">%s</xliff:g>\nLong tap to set</string>
<string name="custom_seekbar_default_value_is_set">Default value is set</string>
<!-- General -->
<string name="enable">Enable</string>
<string name="disable">Disable</string>
<!-- Units -->
<string name="unit_milliseconds">milliseconds</string>
<string name="unit_pixels" translatable="false">dp</string>
<string name="unit_seconds">seconds</string>
</resources>

View File

@@ -99,6 +99,13 @@
android:summary="@string/status_bar_colored_icons_summary"
android:defaultValue="false" />
<!-- Network traffic -->
<Preference
android:key="network_traffic_settings"
android:title="@string/status_bar_network_traffic_settings_title"
android:summary="@string/status_bar_network_traffic_settings_summary"
android:fragment="org.evolution.settings.fragments.statusbar.NetworkTrafficSettings" />
<!-- Notification counter -->
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="statusbar_notif_count"

View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017-2024 crDroid Android Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/status_bar_network_traffic_settings_title"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
<lineageos.preference.SystemSettingMainSwitchPreference
android:key="network_traffic_enabled"
android:title="@string/enable" />
<org.evolution.settings.preferences.SystemSettingListPreference
android:key="network_traffic_mode"
android:title="@string/network_traffic_mode_title"
android:entries="@array/network_traffic_mode_entries"
android:entryValues="@array/network_traffic_mode_values"
android:summary="%s"
android:dependency="network_traffic_enabled"
android:defaultValue="0" />
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="network_traffic_autohide"
android:title="@string/network_traffic_autohide"
android:summary="@string/network_traffic_autohide_summary"
android:dependency="network_traffic_enabled"
android:defaultValue="true" />
<org.evolution.settings.preferences.SystemSettingSeekBarPreference
android:key="network_traffic_autohide_threshold"
android:title="@string/network_traffic_autohide_threshold"
android:defaultValue="0"
android:max="10000"
settings:min="0"
settings:units="@string/network_traffic_autohide_kilobytes"
settings:interval="10"
android:dependency="network_traffic_autohide" />
<org.evolution.settings.preferences.SystemSettingSeekBarPreference
android:key="network_traffic_refresh_interval"
android:title="@string/network_traffic_refresh_interval_title"
android:summary="@string/network_traffic_refresh_interval_summary"
android:dependency="network_traffic_enabled"
android:defaultValue="2"
android:max="10"
settings:min="1"
settings:units="@string/unit_seconds" />
<org.evolution.settings.preferences.SystemSettingListPreference
android:key="network_traffic_units"
android:title="@string/network_traffic_units_title"
android:entries="@array/network_traffic_units_entries"
android:entryValues="@array/network_traffic_units_values"
android:summary="%s"
android:dependency="network_traffic_enabled"
android:defaultValue="1" />
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="network_traffic_hidearrow"
android:title="@string/network_traffic_hidearrow"
android:summary="@string/network_traffic_hidearrow_summary"
android:dependency="network_traffic_enabled"
android:defaultValue="false" />
</PreferenceScreen>

View File

@@ -0,0 +1,60 @@
/*
* Copyright (C) 2017-2024 crDroid Android Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.evolution.settings.fragments.statusbar;
import android.content.ContentResolver;
import android.content.Context;
import android.os.Bundle;
import android.os.UserHandle;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settingslib.search.SearchIndexable;
import java.util.List;
import lineageos.providers.LineageSettings;
@SearchIndexable
public class NetworkTrafficSettings extends SettingsPreferenceFragment {
private static final String TAG = "NetworkTrafficSettings";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.network_traffic_settings);
}
@Override
public int getMetricsCategory() {
return MetricsEvent.EVOLVER;
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.network_traffic_settings) {
@Override
public List<String> getNonIndexableKeys(Context context) {
List<String> keys = super.getNonIndexableKeys(context);
return keys;
}
};
}