
com.github.jobs.ui.fragment.SearchReceiverFragment Maven / Gradle / Ivy
package com.github.jobs.ui.fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.ResultReceiver;
import android.widget.Toast;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.codeslap.groundy.DetachableResultReceiver;
import com.codeslap.groundy.Groundy;
import com.github.jobs.bean.SearchPack;
import com.github.jobs.resolver.SearchJobsResolver;
import com.github.jobs.ui.activity.HomeActivity;
/**
* @author cristian
*/
public class SearchReceiverFragment implements DetachableResultReceiver.Receiver {
private SherlockFragmentActivity mActivity;
private boolean mSyncing;
private final DetachableResultReceiver mReceiver;
public SearchReceiverFragment(SherlockFragmentActivity activity) {
mActivity = activity;
mReceiver = new DetachableResultReceiver(new Handler());
mReceiver.setReceiver(this);
}
@Override
public void onReceiveResult(int resultCode, Bundle resultData) {
if (mActivity == null) {
return;
}
SearchPack searchPack = null;
if (resultData.containsKey(SearchJobsResolver.DATA_SEARCH_PACK)) {
searchPack = (SearchPack) resultData.get(SearchJobsResolver.DATA_SEARCH_PACK);
}
switch (resultCode) {
case Groundy.STATUS_RUNNING: {
mSyncing = true;
break;
}
case Groundy.STATUS_FINISHED: {
mSyncing = false;
if (searchPack != null) {
((HomeActivity) mActivity).onFinished(resultData, searchPack);
}
break;
}
case Groundy.STATUS_ERROR: {
mSyncing = false;
Toast.makeText(mActivity, resultData.getString(Groundy.KEY_ERROR), Toast.LENGTH_LONG).show();
if (searchPack != null) {
((HomeActivity) mActivity).onError(searchPack);
}
break;
}
}
mActivity.setSupportProgressBarIndeterminateVisibility(mSyncing);
if (searchPack != null) {
((HomeActivity) mActivity).onProgressChanged(mSyncing, searchPack);
}
}
public ResultReceiver getReceiver() {
return mReceiver;
}
public void setActivity(SherlockFragmentActivity activity) {
mActivity = activity;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy