diff --git a/src/net/i2p/android/i2ptunnel/activity/TunnelDetailActivity.java b/src/net/i2p/android/i2ptunnel/activity/TunnelDetailActivity.java index 9cdbae024c107b1ffaaa97e4372353314166fce8..8965506a19275e9af8781b1d8b91ee2647b26f96 100644 --- a/src/net/i2p/android/i2ptunnel/activity/TunnelDetailActivity.java +++ b/src/net/i2p/android/i2ptunnel/activity/TunnelDetailActivity.java @@ -22,7 +22,7 @@ public class TunnelDetailActivity extends I2PActivityBase implements // TunnelDetailFragment.OnTunnelDeletedListener - public void onTunnelDeleted() { + public void onTunnelDeleted(int tunnelId, int numTunnelsLeft) { finish(); } } diff --git a/src/net/i2p/android/i2ptunnel/activity/TunnelListActivity.java b/src/net/i2p/android/i2ptunnel/activity/TunnelListActivity.java index b57a2c498eaa15b9bca2c19f339b9fe85faafeee..c8d318daa57993116e1e0dca130d28df5996ee74 100644 --- a/src/net/i2p/android/i2ptunnel/activity/TunnelListActivity.java +++ b/src/net/i2p/android/i2ptunnel/activity/TunnelListActivity.java @@ -86,7 +86,19 @@ public class TunnelListActivity extends I2PActivityBase implements // TunnelDetailFragment.OnTunnelDeletedListener - public void onTunnelDeleted() { - getSupportFragmentManager().popBackStack(); + public void onTunnelDeleted(int tunnelId, int numTunnelsLeft) { + // Should only get here in two-pane mode, but just to be safe: + if (mTwoPane) { + if (numTunnelsLeft > 0) { + TunnelDetailFragment detailFrag = TunnelDetailFragment.newInstance( + (tunnelId > 0 ? tunnelId - 1 : 0)); + getSupportFragmentManager().beginTransaction() + .replace(R.id.detail_fragment, detailFrag).commit(); + } else { + TunnelDetailFragment detailFrag = (TunnelDetailFragment) getSupportFragmentManager().findFragmentById(R.id.detail_fragment); + getSupportFragmentManager().beginTransaction() + .remove(detailFrag).commit(); + } + } } } diff --git a/src/net/i2p/android/i2ptunnel/fragment/TunnelDetailFragment.java b/src/net/i2p/android/i2ptunnel/fragment/TunnelDetailFragment.java index c618b9dc808eb425e5f7fd0467b96246ab220dc8..b5e1dbefc5c29688f6dae1f185d629de1d767eb3 100644 --- a/src/net/i2p/android/i2ptunnel/fragment/TunnelDetailFragment.java +++ b/src/net/i2p/android/i2ptunnel/fragment/TunnelDetailFragment.java @@ -42,7 +42,7 @@ public class TunnelDetailFragment extends Fragment { // Container Activity must implement this interface public interface OnTunnelDeletedListener { - public void onTunnelDeleted(); + public void onTunnelDeleted(int tunnelId, int numTunnelsLeft); } @Override @@ -133,7 +133,8 @@ public class TunnelDetailFragment extends Fragment { dialog.dismiss(); Toast.makeText(getActivity().getApplicationContext(), msgs.get(0), Toast.LENGTH_LONG).show(); - mCallback.onTunnelDeleted(); + mCallback.onTunnelDeleted(mTunnel.getId(), + mGroup.getControllers().size()); } }) .setNegativeButton(android.R.string.cancel, null)