/* == This file is part of Tomahawk Player - <http://tomahawk-player.org> === * * Copyright 2012, Enno Gottschalk <mrmaffen@googlemail.com> * * Tomahawk is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Tomahawk is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tomahawk. If not, see <http://www.gnu.org/licenses/>. */ package org.tomahawk.tomahawk_android.fragments; import org.tomahawk.libtomahawk.infosystem.InfoSystem; import org.tomahawk.libtomahawk.infosystem.User; import org.tomahawk.tomahawk_android.activities.TomahawkMainActivity; import org.tomahawk.tomahawk_android.adapters.Segment; import org.tomahawk.tomahawk_android.utils.FragmentUtils; import android.os.Bundle; import android.view.View; import java.util.ArrayList; import java.util.List; /** * {@link org.tomahawk.tomahawk_android.fragments.TomahawkFragment} which shows a set of {@link * org.tomahawk.libtomahawk.collection.Artist}s inside its {@link se.emilsjolander.stickylistheaders.StickyListHeadersListView} */ public class UsersFragment extends TomahawkFragment { public static final int SHOW_MODE_TYPE_FOLLOWINGS = 0; public static final int SHOW_MODE_TYPE_FOLLOWERS = 1; @Override public void onResume() { super.onResume(); if (mShowMode == SHOW_MODE_TYPE_FOLLOWERS) { String requestId = InfoSystem.get().resolveFollowers(mUser); if (requestId != null) { mCorrespondingRequestIds.add(requestId); } } else { String requestId = InfoSystem.get().resolveFollowings(mUser); if (requestId != null) { mCorrespondingRequestIds.add(requestId); } } if (mContainerFragmentClass == null) { getActivity().setTitle(""); } updateAdapter(); } /** * Called every time an item inside a ListView or GridView is clicked * @param view the clicked view * @param item the Object which corresponds to the click * @param segment */ @Override public void onItemClick(View view, Object item, Segment segment) { if (item instanceof User) { Bundle bundle = new Bundle(); bundle.putInt(TomahawkFragment.SHOW_MODE, SocialActionsFragment.SHOW_MODE_SOCIALACTIONS); bundle.putString(TomahawkFragment.USER, ((User) item).getId()); bundle.putInt(CONTENT_HEADER_MODE, ContentHeaderFragment.MODE_HEADER_STATIC_USER); FragmentUtils.replace((TomahawkMainActivity) getActivity(), UserPagerFragment.class, bundle); } } /** * Update this {@link org.tomahawk.tomahawk_android.fragments.TomahawkFragment}'s {@link * org.tomahawk.tomahawk_android.adapters.TomahawkListAdapter} content */ @Override protected void updateAdapter() { if (!mIsResumed) { return; } List users = new ArrayList(); if (mShowMode == SHOW_MODE_TYPE_FOLLOWERS) { if (mUser.getFollowers() != null) { users.addAll(mUser.getFollowers().keySet()); } } else if (mUserArray != null) { users.addAll(mUserArray); } else if (mUser.getFollowings() != null) { users.addAll(mUser.getFollowings().keySet()); } fillAdapter(new Segment.Builder(users).build()); } }