I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 0755e79b authored by str4d's avatar str4d
Browse files

Status bar: Show status details as bigText, mirror router status in title

parent 3a1e43b3
No related branches found
No related tags found
No related merge requests found
......@@ -53,6 +53,11 @@
<string name="netdb_routers_empty">No routers in your NetDB.</string>
<string name="netdb_leases_empty">No LeaseSets in your NetDB.</string>
<string name="notification_status_bw">Bandwidth: %1$s KBps down / %2$s KBps up</string>
<string name="notification_status_peers">Peers: %1$d active, %2$d known</string>
<string name="notification_status_expl">Exploratory tunnels: %1$d/%2$d</string>
<string name="notification_status_client">Client tunnels: %1$d/%2$d</string>
<string name="menu_settings">Settings</string>
<string name="settings_enable">Enable</string>
<string name="settings_desc_subscriptions">Subscription URLs</string>
......
......@@ -13,6 +13,8 @@ import java.text.DecimalFormat;
import java.util.List;
import java.util.Properties;
import java.util.Random;
import net.i2p.android.router.R;
import net.i2p.android.router.binder.RouterBinder;
import net.i2p.android.router.receiver.I2PReceiver;
import net.i2p.android.router.util.Util;
......@@ -345,6 +347,7 @@ public class RouterService extends Service {
_handler.postDelayed(this, 15 * 1000);
}
}
private String _currTitle;
private boolean _hadTunnels;
private void updateStatus(RouterContext ctx) {
......@@ -367,25 +370,33 @@ public class RouterService extends Service {
fmt = new DecimalFormat("#0.00");
}
String status =
"I2P "
+ active + '/' + known + " peers connected";
String text =
getResources().getString(R.string.notification_status_bw,
fmt.format(inBW), fmt.format(outBW));
String details =
fmt.format(inBW) + '/' + fmt.format(outBW) + " KBps"
+ "; Expl " + inEx + '/' + outEx
+ "; Client " + inCl + '/' + outCl;
String bigText =
getResources().getString(R.string.notification_status_bw,
fmt.format(inBW), fmt.format(outBW)) + '\n'
+ getResources().getString(R.string.notification_status_peers,
active, known) + '\n'
+ getResources().getString(R.string.notification_status_expl,
inEx, outEx) + '\n'
+ getResources().getString(R.string.notification_status_client,
inCl, outCl);
boolean haveTunnels = inCl > 0 && outCl > 0;
if(haveTunnels != _hadTunnels) {
if(haveTunnels) {
_statusBar.replace(StatusBar.ICON_ACTIVE, "Client tunnels are ready");
_currTitle = "Client tunnels are ready";
_statusBar.replace(StatusBar.ICON_ACTIVE, _currTitle);
} else {
_statusBar.replace(StatusBar.ICON_RUNNING, "Client tunnels are down");
_currTitle = "Client tunnels are down";
_statusBar.replace(StatusBar.ICON_RUNNING, _currTitle);
}
_hadTunnels = haveTunnels;
}
_statusBar.update(status, details);
} else if (_currTitle == null || _currTitle.equals(""))
_currTitle = "I2P is running";
_statusBar.update(_currTitle, text, bigText);
}
@Override
......
......@@ -48,20 +48,26 @@ class StatusBar {
mNotifyBuilder.setContentIntent(pi);
}
public void replace(int icon, String details) {
public void replace(int icon, String text) {
mNotifyBuilder.setSmallIcon(icon)
.setTicker(details);
update(details);
.setTicker(text);
update(text);
}
public void update(String details) {
public void update(String text) {
String title = "I2P Status";
update(title, details);
update(title, text);
}
public void update(String title, String details) {
public void update(String title, String text, String bigText) {
mNotifyBuilder.setStyle(new NotificationCompat.BigTextStyle()
.bigText(bigText));
update(title, text);
}
public void update(String title, String text) {
mNotifyBuilder.setContentTitle(title)
.setContentText(details);
.setContentText(text);
mNotif = mNotifyBuilder.build();
mNotificationManager.notify(ID, mNotif);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment