2014-03-17 23:25:09 -07:00
|
|
|
package org.thoughtcrime.securesms.util;
|
|
|
|
|
|
|
|
import android.app.ProgressDialog;
|
|
|
|
import android.content.Context;
|
|
|
|
import android.os.AsyncTask;
|
|
|
|
|
2014-08-12 12:11:23 -07:00
|
|
|
import java.lang.ref.WeakReference;
|
|
|
|
|
2014-03-17 23:25:09 -07:00
|
|
|
public abstract class ProgressDialogAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> {
|
2014-08-12 12:11:23 -07:00
|
|
|
private final WeakReference<Context> contextReference;
|
|
|
|
private ProgressDialog progress;
|
|
|
|
private final String title;
|
|
|
|
private final String message;
|
2014-03-17 23:25:09 -07:00
|
|
|
|
|
|
|
public ProgressDialogAsyncTask(Context context, String title, String message) {
|
|
|
|
super();
|
2014-08-12 12:11:23 -07:00
|
|
|
this.contextReference = new WeakReference<Context>(context);
|
|
|
|
this.title = title;
|
|
|
|
this.message = message;
|
2014-03-17 23:25:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public ProgressDialogAsyncTask(Context context, int title, int message) {
|
|
|
|
this(context, context.getString(title), context.getString(message));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onPreExecute() {
|
2014-08-12 12:11:23 -07:00
|
|
|
final Context context = contextReference.get();
|
|
|
|
if (context != null) progress = ProgressDialog.show(context, title, message, true);
|
2014-03-17 23:25:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onPostExecute(Result result) {
|
|
|
|
if (progress != null) progress.dismiss();
|
|
|
|
}
|
2015-05-12 16:21:10 -07:00
|
|
|
|
|
|
|
protected Context getContext() {
|
|
|
|
return contextReference.get();
|
|
|
|
}
|
2014-03-17 23:25:09 -07:00
|
|
|
}
|
|
|
|
|