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.AlertDialog.Builder;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.DialogFragment;
|
import android.app.DialogFragment;
|
||||||
|
import android.app.Fragment;
|
||||||
|
import android.app.FragmentManager;
|
||||||
|
import android.app.FragmentTransaction;
|
||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
@@ -215,6 +218,10 @@ public class MainActivity extends Activity implements OnVpnProfileSelectedListen
|
|||||||
profileInfo.putBoolean(PROFILE_REQUIRES_PASSWORD, profile.getVpnType().getRequiresUsernamePassword());
|
profileInfo.putBoolean(PROFILE_REQUIRES_PASSWORD, profile.getVpnType().getRequiresUsernamePassword());
|
||||||
profileInfo.putString(PROFILE_NAME, profile.getName());
|
profileInfo.putString(PROFILE_NAME, profile.getName());
|
||||||
|
|
||||||
|
removeFragmentByTag("ConfirmationDialog");
|
||||||
|
removeFragmentByTag("LoginDialog");
|
||||||
|
removeFragmentByTag("ErrorDialog");
|
||||||
|
|
||||||
if (mService != null && mService.getState() == State.CONNECTED)
|
if (mService != null && mService.getState() == State.CONNECTED)
|
||||||
{
|
{
|
||||||
profileInfo.putBoolean(PROFILE_RECONNECT, mService.getProfile().getId() == profile.getId());
|
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
|
* 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.
|
* and then initiates the selected VPN profile if the user confirms the dialog.
|
||||||
|
|||||||
Reference in New Issue
Block a user