1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
public class NewMailboxActivity extends ActionBarWindow implements OnTouchListener, Handler.Callback
{
protected LoadingTask loader;
class LoadingTask extends AsyncTask<Void, Void, Void>
{
Exception failure;
ProgressDialog dialog = null;
ArrayList<Hashtable<String, String>> values;
public Void doInBackground(Void... params)
{
this.failure = null;
this.values = new ArrayList<Hashtable<String, String>>();
try
{
dialog = new ProgressDialog(NewMailboxActivity.this);
dialog.setMessage("Test");
dialog.show();
mailboxThread.start();
mailboxThread.join();
} catch (Exception ex)
{
Log.e("MONAPP", "Failed to retrieve JSON list", ex);
this.failure = ex;
} finally
{
NewMailboxActivity.this.loader = null;
dialog.dismiss();
}
return null;
}
public void onPostExecute(Void result)
{
dialog.dismiss();
}
}
private static final String TAG = "NewMailboxActivity Display";
private Intent m_intent;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.mailbox);
m_intent = getIntent();
}
public void submitForm(View v)
{
try
{
String url = "mon_url";
mailboxThread = new MailboxThread(url);
Log.v(TAG, " OK PROGRESS");
this.loader = new LoadingTask();
this.loader.doInBackground(null);
m_errorContent = mailboxThread.getError();
m_resultContent = mailboxThread.getResult();
if (m_errorContent != null || m_resultContent != null)
{
try
{
if (m_errorContent != null && m_errorContent.getString("parameter").compareToIgnoreCase("") != 0)
{
AlertDialog.Builder builder = new AlertDialog.Builder(NewMailboxActivity.this);
String errorLabel = "";
String errorCode = m_errorContent.getString("parameter");
String errorText = m_errorContent.getString("message");
InternationalizeUtility internationalizeUtility = new InternationalizeUtility();
errorLabel = internationalizeUtility.getResultFromCode(NewMailboxActivity.this, errorCode, errorText);
if (errorCode.compareToIgnoreCase("unable_to_connect_with_this_login_and_password") == 0)
{
if (m_imapAuthorized == false)
{
errorLabel = getString(R.string.imap_unauthorized);
}
}
// R.string.errorLabel;
builder.setMessage(errorLabel).setCancelable(false).setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
}
});
AlertDialog alert = builder.create();
alert.show();
} else
{
// Aucune erreur n'a été rencontrée
// Récupération des données :
if (m_resultContent.has("account_id") && m_resultContent.has("mailbox_id"))
{
m_intent = new Intent();
m_intent.setClass(NewMailboxActivity.this, SettingActivity.class);
startActivity(m_intent);
} else
{
AlertDialog.Builder builder = new AlertDialog.Builder(NewMailboxActivity.this);
String errorLabel = "";
String errorCode = "internal_error";
String errorText = "internal error";
InternationalizeUtility internationalizeUtility = new InternationalizeUtility();
errorLabel = internationalizeUtility.getResultFromCode(NewMailboxActivity.this, errorCode, errorText);
// R.string.errorLabel;
builder.setMessage(errorLabel).setCancelable(false).setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
}
});
AlertDialog alert = builder.create();
alert.show();
}
// startActivity(m_intent);
}
} catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public boolean handleMessage(Message msg)
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onTouch(View v, MotionEvent event)
{
// TODO Auto-generated method stub
return false;
}
} |
Partager