diff --git a/res/values/strings.xml b/res/values/strings.xml index 3ea826d0a953e1f7d3b7f8695d5003e267eed405..7cc3ed4275d611e87966ed2685be3e04dca07409 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -45,6 +45,8 @@ <string name="action_reload">Reload</string> <string name="hint_search_addressbook">Search addressbook</string> + <string name="graphs_not_ready">Graphs are not ready, or the router is not running. Try again later.</string> + <string name="menu_settings">Settings</string> <string name="settings_enable">Enable</string> <string name="settings_desc_subscriptions">Subscription URLs</string> diff --git a/src/net/i2p/android/router/activity/GraphActivity.java b/src/net/i2p/android/router/activity/GraphActivity.java index 37150d97feb565aabf0ddc5aef604480896c3d4b..30a80cb8a081216d211182bc99c7aa3c483f99d5 100644 --- a/src/net/i2p/android/router/activity/GraphActivity.java +++ b/src/net/i2p/android/router/activity/GraphActivity.java @@ -9,7 +9,11 @@ import net.i2p.android.router.fragment.GraphFragment; import net.i2p.android.router.service.StatSummarizer; import net.i2p.android.router.service.SummaryListener; import net.i2p.stat.Rate; +import android.app.AlertDialog; +import android.app.Dialog; +import android.content.DialogInterface; import android.os.Bundle; +import android.support.v4.app.DialogFragment; import android.support.v7.app.ActionBar; import android.widget.ArrayAdapter; import android.widget.SpinnerAdapter; @@ -21,13 +25,14 @@ public class GraphActivity extends I2PActivityBase { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - // Set up action bar for drop-down list - ActionBar actionBar = getSupportActionBar(); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); - mDrawerToggle.setDrawerIndicatorEnabled(false); if (StatSummarizer.instance() != null) { + // Set up action bar for drop-down list + ActionBar actionBar = getSupportActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); + + // Get the rates currently being graphed List<SummaryListener> listeners = StatSummarizer.instance().getListeners(); TreeSet<SummaryListener> ordered = new TreeSet<SummaryListener>(new AlphaComparator()); ordered.addAll(listeners); @@ -64,6 +69,22 @@ public class GraphActivity extends I2PActivityBase { int selected = savedInstanceState.getInt(SELECTED_RATE); actionBar.setSelectedNavigationItem(selected); } + } else { + DialogFragment df = new DialogFragment() { + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + builder.setMessage(R.string.graphs_not_ready) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + finish(); + } + }); + return builder.create(); + } + }; + df.show(getSupportFragmentManager(), "nographs"); } }