package fi.iki.murgo.irssinotifier;
import android.app.Activity;
import android.util.Log;
public class GCMRegistrationTask extends BackgroundAsyncTask<Void, Void, Boolean> {
private static final String TAG = GCMRegistrationTask.class.getName();
public GCMRegistrationTask(Activity activity, String titleText, String text) {
super(activity, titleText, text);
}
private boolean done = false;
private boolean success;
@Override
protected Boolean doInBackground(Void... params) {
Log.i(TAG, "Registering to GCM");
done = false;
Callback<Boolean> registrationCallback = new Callback<Boolean>() {
@Override
public void doStuff(Boolean param) {
done = true;
success = param;
}
};
try {
GCMIntentService.setRegistrationCallback(registrationCallback);
GCMIntentService.registerToGcm(activity);
while (!done) {
Thread.sleep(1);
}
} catch (Exception e) {
Log.e(TAG, "Error trying to register to GCM", e);
return false;
}
return success;
}
}