package com.florianmski.tracktoid.ui.fragments.user; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.os.Bundle; import com.florianmski.tracktoid.R; import com.florianmski.tracktoid.rx.observables.TraktObservable; import com.florianmski.tracktoid.TraktoidConstants; import com.florianmski.tracktoid.TraktoidTheme; import com.florianmski.tracktoid.trakt.TraktManager; import com.florianmski.tracktoid.ui.fragments.base.list.ItemScrollViewFragment; import com.squareup.picasso.Picasso; import com.squareup.picasso.Target; import com.uwetrottmann.trakt.v2.entities.User; import com.uwetrottmann.trakt.v2.enums.Extended; import com.uwetrottmann.trakt.v2.exceptions.OAuthUnauthorizedException; import rx.Observable; public class ProfileFragment extends ItemScrollViewFragment<User> { private String userId; public ProfileFragment() {} public static ProfileFragment newInstance(String userId) { ProfileFragment f = new ProfileFragment(); Bundle args = new Bundle(); args.putString(TraktoidConstants.BUNDLE_ID, userId); f.setArguments(args); return f; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); userId = getArguments().getString(TraktoidConstants.BUNDLE_ID); } @Override public TraktoidTheme getTheme() { return TraktoidTheme.DEFAULT; } @Override protected int getContentLayoutId() { return R.layout.fragment_profile; } @Override protected Observable<User> createObservable() { return Observable.create(new TraktObservable<User>() { @Override public User fire() throws OAuthUnauthorizedException { return TraktManager.getInstance().users().profile(userId, Extended.FULLIMAGES); } }); } @Override protected void refreshView(User data) { getActionBar().setTitle(data.username); if(data.name != null && !data.name.isEmpty()) getActionBar().setSubtitle(data.name); Picasso.with(getActivity()).load(data.images.avatar.full).into(new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom loadedFrom) { // TODO // getActionBar().setDisplayShowHomeEnabled(true); // getActionBar().setDisplayUseLogoEnabled(true); // getActionBar().setIcon(new BitmapDrawable(getResources(), bitmap)); } @Override public void onBitmapFailed(Drawable drawable) {} @Override public void onPrepareLoad(Drawable drawable) {} }); } }