diff --git a/res/values/strings.xml b/res/values/strings.xml index f272b749d6c275e1e7006cd6fe9a360710c833ed..5d3a090c08417c4cf34fbfc95fee600d94396393 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -98,6 +98,8 @@ <string name="i2ptunnel_new_tunnel">New Tunnel</string> <string name="i2ptunnel_msg_config_saved">Configuration changes saved</string> <string name="i2ptunnel_msg_config_save_failed">Failed to save configuration</string> + <string name="i2ptunnel_msg_tunnel_starting">Starting tunnel</string> + <string name="i2ptunnel_msg_tunnel_stopping">Stopping tunnel</string> <string name="i2ptunnel_delete_confirm_message">Delete tunnel?</string> <string name="i2ptunnel_delete_confirm_button">Delete tunnel</string> diff --git a/src/net/i2p/android/i2ptunnel/fragment/TunnelDetailFragment.java b/src/net/i2p/android/i2ptunnel/fragment/TunnelDetailFragment.java index cb3b735334876d343d2055acac0570c0da4b02a6..f41c4cda480a7ed65a510077c34dec8f9f76c4a3 100644 --- a/src/net/i2p/android/i2ptunnel/fragment/TunnelDetailFragment.java +++ b/src/net/i2p/android/i2ptunnel/fragment/TunnelDetailFragment.java @@ -128,6 +128,24 @@ public class TunnelDetailFragment extends Fragment { public boolean onOptionsItemSelected(MenuItem item) { // Handle presses on the action bar items switch (item.getItemId()) { + case R.id.action_start_tunnel: + mTunnel.getController().startTunnelBackground(); + Toast.makeText(getActivity().getApplicationContext(), + getResources().getString(R.string.i2ptunnel_msg_tunnel_starting) + + ' ' + mTunnel.getName(), Toast.LENGTH_LONG).show(); + // Reload the action bar to change the start/stop action + getActivity().supportInvalidateOptionsMenu(); + return true; + case R.id.action_stop_tunnel: + mTunnel.getController().stopTunnel(); + Toast.makeText(getActivity().getApplicationContext(), + getResources().getString(R.string.i2ptunnel_msg_tunnel_stopping) + + ' ' + mTunnel.getName(), Toast.LENGTH_LONG).show(); + // Reload the action bar to change the start/stop action + getActivity().supportInvalidateOptionsMenu(); + return true; + case R.id.action_edit_tunnel: + return true; case R.id.action_delete_tunnel: DialogFragment dg = new DialogFragment() { @Override diff --git a/src/net/i2p/android/i2ptunnel/fragment/TunnelListFragment.java b/src/net/i2p/android/i2ptunnel/fragment/TunnelListFragment.java index 1c311ff555f321832a9d653c12c53d27d952dbbe..60f4e40b0420dd788a175bfc4989e0e12b9344df 100644 --- a/src/net/i2p/android/i2ptunnel/fragment/TunnelListFragment.java +++ b/src/net/i2p/android/i2ptunnel/fragment/TunnelListFragment.java @@ -21,6 +21,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.ListView; +import android.widget.Toast; public class TunnelListFragment extends ListFragment implements LoaderManager.LoaderCallbacks<List<TunnelEntry>> { @@ -145,10 +146,21 @@ public class TunnelListFragment extends ListFragment @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle presses on the action bar items + List<String> msgs; switch (item.getItemId()) { case R.id.action_add_tunnel: Intent wi = new Intent(getActivity(), TunnelWizardActivity.class); startActivityForResult(wi, TUNNEL_WIZARD_REQUEST); + return true; + case R.id.action_start_all_tunnels: + msgs = mGroup.startAllControllers(); + break; + case R.id.action_stop_all_tunnels: + msgs = mGroup.stopAllControllers(); + break; + case R.id.action_restart_all_tunnels: + msgs = mGroup.restartAllControllers(); + break; case R.id.action_i2ptunnel_help: Intent hi = new Intent(getActivity(), HelpActivity.class); hi.putExtra(HelpActivity.REFERRER, "i2ptunnel"); @@ -157,6 +169,11 @@ public class TunnelListFragment extends ListFragment default: return super.onOptionsItemSelected(item); } + // TODO: Do something with the other messages + if (msgs.size() > 0) + Toast.makeText(getActivity().getApplicationContext(), + msgs.get(0), Toast.LENGTH_LONG).show(); + return true; } @Override