apiloader: cache results unless forced not to
This commit is contained in:
parent
4d54d69378
commit
6bec08951e
@ -42,6 +42,7 @@ public class ApiLoader extends AsyncTaskLoader<JsonElement> {
|
|||||||
protected String m_lastErrorMessage;
|
protected String m_lastErrorMessage;
|
||||||
protected ApiError m_lastError;
|
protected ApiError m_lastError;
|
||||||
protected HashMap<String,String> m_params;
|
protected HashMap<String,String> m_params;
|
||||||
|
protected JsonElement m_data;
|
||||||
|
|
||||||
public ApiLoader(Context context, HashMap<String,String> params) {
|
public ApiLoader(Context context, HashMap<String,String> params) {
|
||||||
super(context);
|
super(context);
|
||||||
@ -57,6 +58,22 @@ public class ApiLoader extends AsyncTaskLoader<JsonElement> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStartLoading() {
|
||||||
|
if (m_data != null) {
|
||||||
|
deliverResult(m_data);
|
||||||
|
} else {
|
||||||
|
forceLoad();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deliverResult(JsonElement data) {
|
||||||
|
m_data = data;
|
||||||
|
|
||||||
|
super.deliverResult(data);
|
||||||
|
}
|
||||||
|
|
||||||
public int getErrorMessage() {
|
public int getErrorMessage() {
|
||||||
switch (m_lastError) {
|
switch (m_lastError) {
|
||||||
case NO_ERROR:
|
case NO_ERROR:
|
||||||
|
@ -327,7 +327,7 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt
|
|||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
m_selectedCat = savedInstanceState.getParcelable("selectedCat");
|
m_selectedCat = savedInstanceState.getParcelable("selectedCat");
|
||||||
m_cats = savedInstanceState.getParcelable("cats");
|
//m_cats = savedInstanceState.getParcelable("cats");
|
||||||
}
|
}
|
||||||
|
|
||||||
View view = inflater.inflate(R.layout.fragment_cats, container, false);
|
View view = inflater.inflate(R.layout.fragment_cats, container, false);
|
||||||
@ -376,7 +376,7 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt
|
|||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
getLoaderManager().initLoader(0, null, this).forceLoad();
|
getLoaderManager().initLoader(0, null, this);
|
||||||
|
|
||||||
m_activity.invalidateOptionsMenu();
|
m_activity.invalidateOptionsMenu();
|
||||||
}
|
}
|
||||||
@ -387,7 +387,7 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt
|
|||||||
|
|
||||||
out.setClassLoader(getClass().getClassLoader());
|
out.setClassLoader(getClass().getClassLoader());
|
||||||
out.putParcelable("selectedCat", m_selectedCat);
|
out.putParcelable("selectedCat", m_selectedCat);
|
||||||
out.putParcelable("cats", m_cats);
|
//out.putParcelable("cats", m_cats);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void refresh(boolean background) {
|
public void refresh(boolean background) {
|
||||||
|
Loading…
Reference in New Issue
Block a user