/** * Performs a task in the background, showing a indeterminate {@link ProgressDialog}, * while the {@link Callable} is being processed. * * @param <T> * @param pTitleResID * @param pMessageResID * @param pErrorMessageResID * @param pCallable * @param pCallback * @param pExceptionCallback */ protected void DoAsync <T>(int pTitleResID, int pMessageResID, andengine.util.Callable <T> pCallable, andengine.util.Callback <T> pCallback, andengine.util.Callback <Exception> pExceptionCallback) { /* * new AsyncTask<Void, Void, T>() { * private ProgressDialog mPD; * private Exception mException = null; * * @Override * public void onPreExecute() { * this.mPD = ProgressDialog.show(BaseActivity.this, BaseActivity.this.getString(pTitleResID), BaseActivity.this.getString(pMessageResID)); * super.onPreExecute(); * } * * @Override * public T doInBackground(final Void... params) { * try { * return pCallable.call(); * } catch (final Exception e) { * this.mException = e; * } * return null; * } * * @Override * public void onPostExecute(final T result) { * try { * this.mPD.dismiss(); * } catch (final Exception e) { * Debug.e("Error", e); * } * * if(this.isCancelled()) { * this.mException = new CancelledException(); * } * * if(this.mException == null) { * pCallback.onCallback(result); * } else { * if(pExceptionCallback == null) { * Debug.e("Error", this.mException); * } else { * pExceptionCallback.onCallback(this.mException); * } * } * * super.onPostExecute(result); * } * }.execute((Void[]) null); */// NB: In-method class moved just immediately below (DoAsync_AsyncTask1) new DoAsync_AsyncTask <T>(this, pTitleResID, pMessageResID, pCallable, pCallback, pExceptionCallback).Execute((object[])null); }
// =========================================================== // Constants // =========================================================== // =========================================================== // Fields // =========================================================== // =========================================================== // Constructors // =========================================================== // =========================================================== // Getter & Setter // =========================================================== // =========================================================== // Methods for/from SuperClass/Interfaces // =========================================================== // =========================================================== // Methods // =========================================================== /** * Performs a task in the background, showing a {@link ProgressDialog}, * while the {@link Callable} is being processed. * * @param <T> * @param pTitleResID * @param pMessageResID * @param pErrorMessageResID * @param pCallable * @param pCallback */ protected void DoAsync <T>(int pTitleResID, int pMessageResID, andengine.util.Callable <T> pCallable, andengine.util.Callback <T> pCallback) { this.DoAsync <T>(pTitleResID, pMessageResID, pCallable, pCallback, null); }
//public DoAsync_AsyncTask1(BaseActivity _this) { this._this = _this; } public DoAsync_AsyncTask(BaseActivity _this, int pTitleResID, int pMessageResID, andengine.util.Callable <T> pCallable, andengine.util.Callback <T> pCallback, andengine.util.Callback <Exception> pExceptionCallback) { this._this = _this; this.pTitleResID = pTitleResID; this.pMessageResID = pMessageResID; this.pCallable = pCallable; this.pCallback = pCallback; this.pExceptionCallback = pExceptionCallback; }