diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index 1e6e141..f1b5fa5 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -352,7 +352,7 @@ Show net activity Disabled Statusbar - Expanded Statusbar + Expanded header Net activity autohide threshold (KB/s) Show arrows Show the network traffic indicator arrows diff --git a/res/xml/traffic.xml b/res/xml/traffic.xml index 6768376..50e9a11 100644 --- a/res/xml/traffic.xml +++ b/res/xml/traffic.xml @@ -12,7 +12,7 @@ --> diff --git a/src/com/cherish/settings/fragments/Traffic.java b/src/com/cherish/settings/fragments/Traffic.java index ad2cf55..7e0dc86 100644 --- a/src/com/cherish/settings/fragments/Traffic.java +++ b/src/com/cherish/settings/fragments/Traffic.java @@ -66,9 +66,7 @@ public class Traffic extends SettingsPreferenceFragment implements OnPreferenceC mNetTrafficLocation = (ListPreference) findPreference("network_traffic_location"); int location = Settings.System.getIntForUser(resolver, - Settings.System.NETWORK_TRAFFIC_LOCATION, 0, UserHandle.USER_CURRENT); - mNetTrafficLocation.setValue(String.valueOf(location)); - mNetTrafficLocation.setSummary(mNetTrafficLocation.getEntry()); + Settings.System.NETWORK_TRAFFIC_VIEW_LOCATION, 0, UserHandle.USER_CURRENT); mNetTrafficLocation.setOnPreferenceChangeListener(this); int trafvalue = Settings.System.getIntForUser(resolver, @@ -78,7 +76,16 @@ public class Traffic extends SettingsPreferenceFragment implements OnPreferenceC mThreshold.setOnPreferenceChangeListener(this); mShowArrows = (SystemSettingSwitchPreference) findPreference("network_traffic_arrow"); - updateTrafficLocation(location); + int netMonitorEnabled = Settings.System.getIntForUser(resolver, + Settings.System.NETWORK_TRAFFIC_STATE, 0, UserHandle.USER_CURRENT); + if (netMonitorEnabled == 1) { + mNetTrafficLocation.setValue(String.valueOf(location+1)); + updateTrafficLocation(location+1); + } else { + mNetTrafficLocation.setValue("0"); + updateTrafficLocation(0); + } + mNetTrafficLocation.setSummary(mNetTrafficLocation.getEntry()); } @Override @@ -96,10 +103,20 @@ public class Traffic extends SettingsPreferenceFragment implements OnPreferenceC if (preference == mNetTrafficLocation) { int location = Integer.valueOf((String) objValue); int index = mNetTrafficLocation.findIndexOfValue((String) objValue); - Settings.System.putIntForUser(getActivity().getContentResolver(), - Settings.System.NETWORK_TRAFFIC_LOCATION, location, UserHandle.USER_CURRENT); mNetTrafficLocation.setSummary(mNetTrafficLocation.getEntries()[index]); - updateTrafficLocation(location); + if (location > 0) { + // Convert the selected location mode from our list {0,1,2} and store it to "view location" setting: 0=sb; 1=expanded sb + Settings.System.putIntForUser(getActivity().getContentResolver(), + Settings.System.NETWORK_TRAFFIC_VIEW_LOCATION, location-1, UserHandle.USER_CURRENT); + // And also enable the net monitor + Settings.System.putIntForUser(getActivity().getContentResolver(), + Settings.System.NETWORK_TRAFFIC_STATE, 1, UserHandle.USER_CURRENT); + updateTrafficLocation(location+1); + } else { // Disable net monitor completely + Settings.System.putIntForUser(getActivity().getContentResolver(), + Settings.System.NETWORK_TRAFFIC_STATE, 0, UserHandle.USER_CURRENT); + updateTrafficLocation(location); + } return true; } else if (preference == mThreshold) { int val = (Integer) objValue; @@ -116,26 +133,11 @@ public class Traffic extends SettingsPreferenceFragment implements OnPreferenceC case 0: mThreshold.setEnabled(false); mShowArrows.setEnabled(false); - Settings.System.putInt(getActivity().getContentResolver(), - Settings.System.NETWORK_TRAFFIC_STATE, 0); - Settings.System.putInt(getActivity().getContentResolver(), - Settings.System.NETWORK_TRAFFIC_EXPANDED_STATUS_BAR_STATE, 0); break; case 1: - mThreshold.setEnabled(true); - mShowArrows.setEnabled(true); - Settings.System.putInt(getActivity().getContentResolver(), - Settings.System.NETWORK_TRAFFIC_STATE, 1); - Settings.System.putInt(getActivity().getContentResolver(), - Settings.System.NETWORK_TRAFFIC_EXPANDED_STATUS_BAR_STATE, 0); - break; case 2: mThreshold.setEnabled(true); mShowArrows.setEnabled(true); - Settings.System.putInt(getActivity().getContentResolver(), - Settings.System.NETWORK_TRAFFIC_STATE, 0); - Settings.System.putInt(getActivity().getContentResolver(), - Settings.System.NETWORK_TRAFFIC_EXPANDED_STATUS_BAR_STATE, 1); break; default: break;