android: Hide previous dialogs when handling a new connection attempt
This commit is contained in:
@@ -32,6 +32,9 @@ import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.app.Dialog;
|
||||
import android.app.DialogFragment;
|
||||
import android.app.Fragment;
|
||||
import android.app.FragmentManager;
|
||||
import android.app.FragmentTransaction;
|
||||
import android.app.Service;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.ComponentName;
|
||||
@@ -215,6 +218,10 @@ public class MainActivity extends Activity implements OnVpnProfileSelectedListen
|
||||
profileInfo.putBoolean(PROFILE_REQUIRES_PASSWORD, profile.getVpnType().getRequiresUsernamePassword());
|
||||
profileInfo.putString(PROFILE_NAME, profile.getName());
|
||||
|
||||
removeFragmentByTag("ConfirmationDialog");
|
||||
removeFragmentByTag("LoginDialog");
|
||||
removeFragmentByTag("ErrorDialog");
|
||||
|
||||
if (mService != null && mService.getState() == State.CONNECTED)
|
||||
{
|
||||
profileInfo.putBoolean(PROFILE_RECONNECT, mService.getProfile().getId() == profile.getId());
|
||||
@@ -297,6 +304,21 @@ public class MainActivity extends Activity implements OnVpnProfileSelectedListen
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Dismiss dialog if shown
|
||||
*/
|
||||
public void removeFragmentByTag(String tag)
|
||||
{
|
||||
FragmentManager fm = getFragmentManager();
|
||||
Fragment login = fm.findFragmentByTag(tag);
|
||||
if (login != null)
|
||||
{
|
||||
FragmentTransaction ft = fm.beginTransaction();
|
||||
ft.remove(login);
|
||||
ft.commit();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class that displays a confirmation dialog if a VPN profile is already connected
|
||||
* and then initiates the selected VPN profile if the user confirms the dialog.
|
||||
|
||||
Reference in New Issue
Block a user