Replaced speed graph base line by scale

This commit is contained in:
M66B 2016-02-27 12:19:54 +01:00
parent 25043c4864
commit c8fdea20df
6 changed files with 26 additions and 20 deletions

View File

@ -225,10 +225,8 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
screen.findPreference("pcap_file_size").setTitle(getString(R.string.setting_pcap_file_size, prefs.getString("pcap_file_size", "2")));
// Handle stats
EditTextPreference pref_stats_base = (EditTextPreference) screen.findPreference("stats_base");
EditTextPreference pref_stats_frequency = (EditTextPreference) screen.findPreference("stats_frequency");
EditTextPreference pref_stats_samples = (EditTextPreference) screen.findPreference("stats_samples");
pref_stats_base.setTitle(getString(R.string.setting_stats_base, prefs.getString("stats_base", "5")));
pref_stats_frequency.setTitle(getString(R.string.setting_stats_frequency, prefs.getString("stats_frequency", "1000")));
pref_stats_samples.setTitle(getString(R.string.setting_stats_samples, prefs.getString("stats_samples", "90")));
@ -631,9 +629,6 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
} else if ("show_stats".equals(name))
SinkholeService.reloadStats("changed " + name, this);
else if ("stats_base".equals(name))
getPreferenceScreen().findPreference(name).setTitle(getString(R.string.setting_stats_base, prefs.getString(name, "5")));
else if ("stats_frequency".equals(name))
getPreferenceScreen().findPreference(name).setTitle(getString(R.string.setting_stats_frequency, prefs.getString(name, "1000")));

View File

@ -660,7 +660,6 @@ public class SinkholeService extends VpnService implements SharedPreferences.OnS
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(SinkholeService.this);
long frequency = Long.parseLong(prefs.getString("stats_frequency", "1000"));
long samples = Long.parseLong(prefs.getString("stats_samples", "90"));
float base = Long.parseLong(prefs.getString("stats_base", "5")) * 1000f;
boolean filter = prefs.getBoolean("filter", false);
boolean show_top = prefs.getBoolean("show_top", false);
int loglevel = Integer.parseInt(prefs.getString("loglevel", Integer.toString(Log.WARN)));
@ -753,14 +752,19 @@ public class SinkholeService extends VpnService implements SharedPreferences.OnS
canvas.drawColor(Color.TRANSPARENT);
// Determine max
float max = 0;
long xmax = 0;
float ymax = base * 1.5f;
float ymax = 0;
for (int i = 0; i < gt.size(); i++) {
long t = gt.get(i);
float tx = gtx.get(i);
float rx = grx.get(i);
if (t > xmax)
xmax = t;
if (tx > max)
max = tx;
if (rx > max)
max = rx;
if (tx > ymax)
ymax = tx;
if (rx > ymax)
@ -789,8 +793,8 @@ public class SinkholeService extends VpnService implements SharedPreferences.OnS
// Draw base line
paint.setStrokeWidth(Util.dips2pixels(1, SinkholeService.this));
paint.setColor(Color.GRAY);
float y = height - height * base / ymax;
paint.setColor(ContextCompat.getColor(SinkholeService.this, R.color.colorGrayed));
float y = height / 2;
canvas.drawLine(0, y, width, y, paint);
// Draw paths
@ -812,6 +816,11 @@ public class SinkholeService extends VpnService implements SharedPreferences.OnS
else
remoteViews.setTextViewText(R.id.tvRx, getString(R.string.msg_mbsec, rxsec / 1000 / 1000));
if (max < 1000 * 1000)
remoteViews.setTextViewText(R.id.tvMax, getString(R.string.msg_kbsec, max / 1000));
else
remoteViews.setTextViewText(R.id.tvMax, getString(R.string.msg_mbsec, max / 1000 / 1000));
// Show session/file count
if (filter && loglevel <= Log.WARN) {
int[] count = jni_get_stats();

View File

@ -87,4 +87,17 @@
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:scaleType="fitXY" />
<TextView
android:id="@+id/tvMax"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:paddingTop="10sp"
android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Info"
android:textColor="@color/colorGrayed"
android:textSize="10sp"
android:typeface="monospace" />
</RelativeLayout>

View File

@ -89,7 +89,6 @@ however it is impossible to guarantee NetGuard will work correctly on every devi
<string name="setting_stats_category">Speed notification</string>
<string name="setting_stats">Show speed notification</string>
<string name="setting_stats_top">Show top applications</string>
<string name="setting_stats_base">Speed baseline: %s KB/s</string>
<string name="setting_stats_frequency">Sample interval: %s ms</string>
<string name="setting_stats_samples">Number of samples: %s s</string>

View File

@ -173,11 +173,6 @@
android:dependency="show_stats"
android:key="show_top"
android:title="@string/setting_stats_top" />
<EditTextPreference
android:defaultValue="5"
android:dependency="show_stats"
android:inputType="number"
android:key="stats_base" />
<EditTextPreference
android:defaultValue="1000"
android:dependency="show_stats"

View File

@ -173,11 +173,6 @@
android:dependency="show_stats"
android:key="show_top"
android:title="@string/setting_stats_top" />
<EditTextPreference
android:defaultValue="5"
android:dependency="show_stats"
android:inputType="number"
android:key="stats_base" />
<EditTextPreference
android:defaultValue="1000"
android:dependency="show_stats"