package com.tomclaw.mandarin.core;
import android.app.ProgressDialog;
import android.content.Context;
import com.tomclaw.mandarin.R;
import java.lang.ref.WeakReference;
/**
* Created with IntelliJ IDEA.
* User: Solkin
* Date: 09.11.13
* Time: 14:19
*/
public abstract class PleaseWaitTask extends WeakObjectTask<Context> {
private WeakReference<ProgressDialog> weakProgressDialog;
public PleaseWaitTask(Context context) {
super(context);
}
@Override
public boolean isPreExecuteRequired() {
return true;
}
@Override
public void onPreExecuteMain() {
Context context = getWeakObject();
if (context != null) {
ProgressDialog progressDialog = ProgressDialog.show(context, null, context.getString(getWaitStringId()));
weakProgressDialog = new WeakReference<>(progressDialog);
}
}
@Override
public void onPostExecuteMain() {
ProgressDialog progressDialog = weakProgressDialog.get();
if (progressDialog != null) {
progressDialog.dismiss();
}
}
public int getWaitStringId() {
return R.string.please_wait;
}
}