package es.gob.jmulticard.android.callbacks;
import java.util.logging.Logger;
import android.app.Activity;
import android.os.AsyncTask;
import android.support.v4.app.FragmentTransaction;
/**
* Created by a621914 on 08/06/2016.
*/
class ShowPinDialogTask extends AsyncTask<String, String, String> {
final PinDialog dialog;
final FragmentTransaction ft;
private static Activity activity;
static DialogDoneChecker dialogDone;
ShowPinDialogTask(final PinDialog dialog, final FragmentTransaction ft, final Activity act, final DialogDoneChecker ddc) {
this.dialog = dialog;
this.ft = ft;
activity = act;
dialogDone = ddc;
}
public String getPassword() {
return this.m_Input;
}
@Override
protected synchronized String doInBackground(final String... arg0) {
return this.m_Input;
}
String m_Input;
public synchronized String getInput()
{
activity.runOnUiThread(new Runnable()
{
@Override
public void run()
{
ShowPinDialogTask.this.dialog.show(ShowPinDialogTask.this.ft, "PIN"); //$NON-NLS-1$
}
});
try
{
synchronized(dialogDone) {
dialogDone.wait();
}
}
catch (final InterruptedException e)
{
Logger.getLogger("es.gob.jmulticard").info("Error en la espera a la introduccion de PIN: " + e); //$NON-NLS-1$ //$NON-NLS-2$
}
this.m_Input = this.dialog.getPassword();
return this.m_Input;
}
}