Android Open Source - Learn-From-Me Friends Fragment From Project Back to project page Learn-From-Me .
License The source code is released under:
Apache License
If you think the Android project Learn-From-Me listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.overnightApps.myapplication.app.ui.homeFragments;
/ / w w w . j a v a 2 s . c o m
import android.app.ActionBar;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.nhaarman.listviewanimations.swinginadapters.prepared.SwingBottomInAnimationAdapter;
import com.overnightApps.myapplication.app.R;
import com.overnightApps.myapplication.app.dao.FriendshipDao;
import com.overnightApps.myapplication.app.dao.UserDao;
import com.overnightApps.myapplication.app.service.UserSession;
import com.overnightApps.myapplication.app.ui.FragmentIds;
import com.overnightApps.myapplication.app.ui.homeFragments.absFragments.FilterListFragment;
import com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnUserFragmentListener;
import com.overnightApps.myapplication.app.ui.optionsMenus.MenuOptions;
import com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.FriendMenuOptionsFactory;
import com.overnightApps.myapplication.app.util.BitmapUtil;
import com.parse.GetDataCallback;
import com.parse.ParseException;
import com.parse.ParseFile;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import com.parse.ParseQueryAdapter;
import com.parse.ParseUser;
import junit.framework.Assert;
/**
* Created by andre on 3/5/14.
*/
public class FriendsFragment extends FilterListFragment {
private static final String USER_SERVICE_ARG = "userServiceArg" ;
private OnUserFragmentListener onUserFragmentListener;
private ParseFriendQueryAdapter adapter;
private UserSession userSession;
public FriendsFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Assert.assertNotNull(getArguments());
userSession = (UserSession)getArguments().getSerializable(USER_SERVICE_ARG);
Assert.assertNotNull(userSession);
}
public static FriendsFragment newInstance(UserSession userSession) {
Bundle arguments = new Bundle();
FriendsFragment friendsFragment = new FriendsFragment();
arguments.putSerializable(USER_SERVICE_ARG, userSession);
friendsFragment.setArguments(arguments);
return friendsFragment;
}
@Override
public int getFragmentId() {
return FragmentIds.FRIEND.getId();
}
@Override
public ActionBar.OnNavigationListener getMenuOnNavigationListener() {
return new ActionBar.OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
final boolean isUserTrusted;
isUserTrusted = itemPosition != FriendMenuOptionsFactory.UNTRUSTED_MENU_OPTION_ID;
adapter =
new ParseFriendQueryAdapter(getActivity(), new ParseQueryAdapter.QueryFactory<ParseObject>() {
public ParseQuery<ParseObject> create() {
// Here we can configure a ParseQuery to our heart's desire.
ParseQuery query = new ParseQuery(FriendshipDao.CLASS_NAME);
query.whereEqualTo(FriendshipDao.USER, ParseUser.getCurrentUser());
query.whereEqualTo(FriendshipDao.IS_TRUSTED, isUserTrusted);
return query;
}
});
setSwingAnimation();
return true;
}
};
}
@Override
public MenuOptions getMenuOptions() {
return new FriendMenuOptionsFactory(userSession.getCurrentUser()).newInstance();
}
void setSwingAnimation() {
SwingBottomInAnimationAdapter swingBottomInAnimationAdapter = new SwingBottomInAnimationAdapter(adapter);
swingBottomInAnimationAdapter.setInitialDelayMillis(300);
swingBottomInAnimationAdapter.setAbsListView(getListView());
setListAdapter(swingBottomInAnimationAdapter);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
//TODO remove userDao
ParseUser friend = null;
friend = adapter.getItem(position).getParseUser(FriendshipDao.FRIEND);
onUserFragmentListener.userButtonClick(UserDao.instance().convertToDomainObject(friend));
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
onUserFragmentListener = (OnUserFragmentListener) activity;
}
@Override
public void onDetach() {
super.onDetach();
onUserFragmentListener = null;
}
/* */ /**
* Created by andre on 3/13/14.
*/
public class ParseFriendQueryAdapter extends ParseQueryAdapter<ParseObject> {
public ParseFriendQueryAdapter(Context context, Class<? extends ParseObject> clazz) {
super (context, clazz);
}
public ParseFriendQueryAdapter(Context context, String className) {
super (context, className);
}
public ParseFriendQueryAdapter(Context context, Class<? extends ParseObject> clazz, int itemViewResource) {
super (context, clazz, itemViewResource);
}
public ParseFriendQueryAdapter(Context context, String className, int itemViewResource) {
super (context, className, itemViewResource);
}
public ParseFriendQueryAdapter(Context context, QueryFactory<ParseObject> queryFactory) {
super (context, queryFactory);
}
public ParseFriendQueryAdapter(Context context, QueryFactory<ParseObject> queryFactory, int itemViewResource) {
super (context, queryFactory, itemViewResource);
}
public View getItemView(final ParseObject object, View view, ViewGroup parent) {
if (view == null) {
view = view.inflate(getContext(), R.layout.row_friend, null);
}
TextView tv_friendName = (TextView) view.findViewById(R.id.tv_friendName);
ParseUser friend = null;
friend = object.getParseUser(FriendshipDao.FRIEND);
try {
friend = friend.fetchIfNeeded();
} catch (ParseException e) {
Log.e("tag" , "error" , e);
}
String friendName = friend.getString(UserDao.FULL_NAME);
tv_friendName.setText(friendName);
final ImageView iv_friendProfilePicture = (ImageView) view.findViewById(R.id.iv_friendProfilePicture);
ParseFile profilePicture = (ParseFile) friend.get(UserDao.PROFILE_PICTURE);
profilePicture.getDataInBackground(new GetDataCallback() {
public void done(byte [] data, ParseException e) {
if (e == null) {
Bitmap bitmap = BitmapUtil.byteArrayToBitmap(data);
iv_friendProfilePicture.setImageBitmap(bitmap);
} else {
Log.e("FriendsFragment" ,"Error downloading friend fragment" ,e);
}
}
});
return view;
}
}
}
Java Source Code List com.overnightApps.myapplication.app.CustomApplication.java com.overnightApps.myapplication.app.core.Comment.java com.overnightApps.myapplication.app.core.FriendShipRequest.java com.overnightApps.myapplication.app.core.Friendship.java com.overnightApps.myapplication.app.core.LetterRecommendation.java com.overnightApps.myapplication.app.core.LetterVote.java com.overnightApps.myapplication.app.core.Letter.java com.overnightApps.myapplication.app.core.User.java com.overnightApps.myapplication.app.core.helper.LetterWithUserVote.java com.overnightApps.myapplication.app.core.helper.SignUpForm.java com.overnightApps.myapplication.app.dao.CommentDao.java com.overnightApps.myapplication.app.dao.Dao.java com.overnightApps.myapplication.app.dao.FriendshipDao.java com.overnightApps.myapplication.app.dao.FriendshipRequestDao.java com.overnightApps.myapplication.app.dao.LetterDao.java com.overnightApps.myapplication.app.dao.LetterRecommendationDao.java com.overnightApps.myapplication.app.dao.LetterVoteDao.java com.overnightApps.myapplication.app.dao.UserDao.java com.overnightApps.myapplication.app.dao.exceptions.DataClassNotFoundException.java com.overnightApps.myapplication.app.dao.exceptions.SavedUserIsNotFoundOnBackEndException.java com.overnightApps.myapplication.app.dao.exceptions.UnableToSignUpException.java com.overnightApps.myapplication.app.service.FriendshipSession.java com.overnightApps.myapplication.app.service.LetterSender.java com.overnightApps.myapplication.app.service.LetterVoter.java com.overnightApps.myapplication.app.service.PrivateLetterSender.java com.overnightApps.myapplication.app.service.PublicLetterSender.java com.overnightApps.myapplication.app.service.RecommendationCreator.java com.overnightApps.myapplication.app.service.SignUpFormVerifier.java com.overnightApps.myapplication.app.service.SignUpSubmissionBuilder.java com.overnightApps.myapplication.app.service.SignUpSubmission.java com.overnightApps.myapplication.app.service.UserLogIn.java com.overnightApps.myapplication.app.service.UserSession.java com.overnightApps.myapplication.app.ui.FragmentIds.java com.overnightApps.myapplication.app.ui.HomeActivity.java com.overnightApps.myapplication.app.ui.homeFragments.CommentsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.CreateLetterFragment.java com.overnightApps.myapplication.app.ui.homeFragments.FriendRequestsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.FriendsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.LearnFragment.java com.overnightApps.myapplication.app.ui.homeFragments.LogInDialogFragment.java com.overnightApps.myapplication.app.ui.homeFragments.ReceiveRecommendationsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.SendRecommendationFragment.java com.overnightApps.myapplication.app.ui.homeFragments.SettingsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.LetterDetailFragmentUserNotLoggedIn.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.LetterDetailFragment_UserLoggedIn.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.LetterDetailFragment.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.UserFragment_UserLoggedIn.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.UserFragment_UserLoggedOut.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.UserFragment.java com.overnightApps.myapplication.app.ui.homeFragments.absFragments.FilterListFragment.java com.overnightApps.myapplication.app.ui.homeFragments.absFragments.HomeFragment.java com.overnightApps.myapplication.app.ui.homeFragments.absFragments.MyListFragment.java com.overnightApps.myapplication.app.ui.homeFragments.asyncTasks.LoadDetailFragmentTask.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnActiveFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnCreateLetterFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnLetterDetailActionListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnLetterDetailFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnLoginFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnSignUpActivityListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnUserFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnUserLogInListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnUserLogOutListener.java com.overnightApps.myapplication.app.ui.optionsMenus.MenuItem.java com.overnightApps.myapplication.app.ui.optionsMenus.MenuOptionsBuilder.java com.overnightApps.myapplication.app.ui.optionsMenus.MenuOptions.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.FriendMenuOptionsFactory.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.HomeMenuOptionsFactory.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.LetterMenuOptionsFactory.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.MenuOptionsFactory.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.RecommendationMenuOptionsFactory.java com.overnightApps.myapplication.app.ui.signUp.NoSwipingViewPager.java com.overnightApps.myapplication.app.ui.signUp.OnSignUpListener.java com.overnightApps.myapplication.app.ui.signUp.OnUserSelectSignUpMethodListener.java com.overnightApps.myapplication.app.ui.signUp.SelectSignUpMethodFragment.java com.overnightApps.myapplication.app.ui.signUp.SignUpActivity.java com.overnightApps.myapplication.app.ui.signUp.UploadProfilePictureFragment.java com.overnightApps.myapplication.app.ui.signUp.UserSignUpFormFragment.java com.overnightApps.myapplication.app.ui.slidingMenu.OptionsFragment.java com.overnightApps.myapplication.app.util.AUtil.java com.overnightApps.myapplication.app.util.BitmapUtil.java com.overnightApps.myapplication.app.util.Logger.java com.overnightApps.myapplication.app.util.MyAssert.java