/*
* Copyright (c) 2017 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
* All Rights Reserved.
*/
package me.zhanghai.android.douya.item.content;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import me.zhanghai.android.douya.network.api.ApiRequest;
import me.zhanghai.android.douya.network.api.ApiRequests;
import me.zhanghai.android.douya.network.api.info.frodo.Movie;
import me.zhanghai.android.douya.network.api.info.frodo.SimpleMovie;
import me.zhanghai.android.douya.util.FragmentUtils;
public class MovieResource extends BaseItemResource<SimpleMovie, Movie> {
private static final String FRAGMENT_TAG_DEFAULT = MovieResource.class.getName();
private static MovieResource newInstance(long movieId, SimpleMovie simpleMovie, Movie movie) {
//noinspection deprecation
MovieResource instance = new MovieResource();
instance.setArguments(movieId, simpleMovie, movie);
return instance;
}
public static MovieResource attachTo(long movieId, SimpleMovie simpleMovie, Movie movie,
Fragment fragment, String tag,
int requestCode) {
FragmentActivity activity = fragment.getActivity();
MovieResource instance = FragmentUtils.findByTag(activity, tag);
if (instance == null) {
instance = newInstance(movieId, simpleMovie, movie);
instance.targetAt(fragment, requestCode);
FragmentUtils.add(instance, activity, tag);
}
return instance;
}
public static MovieResource attachTo(long movieId, SimpleMovie simpleMovie, Movie movie,
Fragment fragment) {
return attachTo(movieId, simpleMovie, movie, fragment, FRAGMENT_TAG_DEFAULT,
REQUEST_CODE_INVALID);
}
/**
* @deprecated Use {@code attachTo()} instead.
*/
public MovieResource() {}
@Override
protected ApiRequest<Movie> onCreateRequest(long movieId) {
return ApiRequests.newMovieRequest(movieId);
}
}