From 52d15a80ca026d757b6e3c3637ae3d4be13f97b7 Mon Sep 17 00:00:00 2001 From: Niels Zwemmer Date: Wed, 28 Jun 2017 17:44:27 +0200 Subject: [PATCH] Working refresh, working user-specific posts in profile. --- .../tagram/CameraFragment.java | 5 ++- .../myhyvesbookplus/tagram/MainActivity.java | 1 - .../tagram/ProfileFragment.java | 18 ++++----- .../tagram/TimeLineAdapter.java | 4 +- .../tagram/TimelineFragment.java | 39 ++++++++++++++++++- .../tagram/controller/DownloadClass.java | 8 +++- .../res/layout/fragment_profile_timeline.xml | 3 +- .../src/main/res/layout/fragment_timeline.xml | 16 ++++++-- .../main/res/layout/list_item_timeline.xml | 2 - .../app/src/main/res/values-nl/strings.xml | 2 +- 10 files changed, 71 insertions(+), 27 deletions(-) diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/CameraFragment.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/CameraFragment.java index ca0bb4a..8c5af6f 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/CameraFragment.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/CameraFragment.java @@ -161,7 +161,10 @@ public class CameraFragment extends Fragment implements PostUploader.PostUploadL mComment.setText(""); PostUploader upload = new PostUploader(getActivity()); - upload.uploadPicture(new BitmapPost(((PicturePreview)view.findViewById(R.id.pic_preview)).getPicture(), comment)); + if (R.id.pic_preview == 0) { + upload.uploadPicture(new BitmapPost(((PicturePreview)view.findViewById(R.id.pic_preview)).getPicture(), comment)); + + } mPhoto.recycle(); diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/MainActivity.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/MainActivity.java index 8772d76..a6a67e2 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/MainActivity.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/MainActivity.java @@ -122,7 +122,6 @@ public class MainActivity extends AppCompatActivity implements public void PostDownloaded() { FragmentManager fragmentManager = getFragmentManager(); Fragment frag = fragmentManager.findFragmentById(R.id.content); - Log.d(TAG, "PostDownloaded: " + R.id.content); if (frag instanceof ProfileFragment) { ((ProfileFragment) frag).startList(); diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileFragment.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileFragment.java index 4f33ef2..0316efa 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileFragment.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileFragment.java @@ -9,7 +9,6 @@ import android.os.Environment; import android.provider.MediaStore; import android.support.annotation.NonNull; import android.support.v4.content.FileProvider; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -49,7 +48,6 @@ public class ProfileFragment extends Fragment implements View.OnClickListener { protected File photoFile = null; private ListView listView; private DownloadClass downloadClass; - ProgressDialog progressDialog; /// Required empty public constructor /// @@ -87,14 +85,13 @@ public class ProfileFragment extends Fragment implements View.OnClickListener { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View viewTimeline = inflater.inflate(R.layout.fragment_profile_timeline, container, false); - - - - listView = (ListView) viewTimeline.findViewById(R.id.listview_profile); + listView = (ListView) viewTimeline.findViewById(R.id.list); View viewHeader = inflater.inflate(R.layout.fragment_profile_header, listView, false); findViews(viewHeader); listView.addHeaderView(viewHeader); + profilePicture.invalidate(); + if (user != null) { if(user.getPhotoUrl() != null) { httpsReference = FirebaseStorage.getInstance().getReferenceFromUrl(user.getPhotoUrl().toString()); @@ -109,11 +106,10 @@ public class ProfileFragment extends Fragment implements View.OnClickListener { Glide.with(this).using(new FirebaseImageLoader()).load(httpsReference).into(profilePicture); } - profilePicture.invalidate(); - downloadClass = new DownloadClass(getActivity()); + + downloadClass = new DownloadClass(getActivity(), "profile"); downloadClass.getPostsFromServer(); - return viewTimeline; } @@ -158,8 +154,8 @@ public class ProfileFragment extends Fragment implements View.OnClickListener { } public void startList() { - ProfileAdapter adapter = new ProfileAdapter(getActivity(), downloadClass.getmList()); - listView.setAdapter(adapter); + ProfileAdapter adapter = new ProfileAdapter(getActivity(), downloadClass.getOwnPosts()); + listView.setAdapter(adapter); } /** diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java index ff4b341..3d6cbb4 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java @@ -58,7 +58,7 @@ public class TimeLineAdapter extends BaseAdapter implements AdapterView.OnItemCl public View getView(int position, View convertView, ViewGroup parent) { View rowView = mInflater.inflate(R.layout.list_item_timeline, parent, false); -// TextView userName = (TextView) rowView.findViewById(R.id.username_timeline); + TextView userName = (TextView) rowView.findViewById(R.id.username_timeline); TextView comment = (TextView) rowView.findViewById(R.id.comment_timeline); TextView nietSlechts = (TextView) rowView.findViewById(R.id.niet_slecht_count); ImageView photo = (ImageView) rowView.findViewById(R.id.timeline_image); @@ -73,7 +73,7 @@ public class TimeLineAdapter extends BaseAdapter implements AdapterView.OnItemCl UriPost post = (UriPost) getItem(position); -// userName.setText(); + userName.setText(post.getPoster()); nietSlechts.setText(Integer.toString(post.getNietSlechts())); comment.setText(post.getComment()); diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimelineFragment.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimelineFragment.java index b2ca6d4..db99e77 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimelineFragment.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimelineFragment.java @@ -2,11 +2,16 @@ package nl.myhyvesbookplus.tagram; import android.app.Fragment; import android.os.Bundle; +import android.os.Handler; +import android.support.v4.widget.SwipeRefreshLayout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.AbsListView; import android.widget.ListView; + + import nl.myhyvesbookplus.tagram.controller.DownloadClass; @@ -23,11 +28,41 @@ public class TimelineFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_timeline, container, false); - listView = (ListView) view.findViewById(R.id.listview); + listView = (ListView) view.findViewById(R.id.list); + final SwipeRefreshLayout swipeView = (SwipeRefreshLayout) view.findViewById(R.id.swipe); - downloadClass = new DownloadClass(getActivity()); + swipeView.setEnabled(false); + downloadClass = new DownloadClass(getActivity(), "timeline"); downloadClass.getPostsFromServer(); + swipeView.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void onRefresh() { + downloadClass = new DownloadClass(getActivity(), "timeline"); + downloadClass.getPostsFromServer(); + swipeView.setRefreshing(true); + ( new Handler()).postDelayed(new Runnable() { + @Override + public void run() { + swipeView.setRefreshing(false); + } + }, 3000); + } + }); + + listView.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScrollStateChanged(AbsListView absListView, int i) { + } + + @Override + public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + if (firstVisibleItem == 0) + swipeView.setEnabled(true); + else + swipeView.setEnabled(false); + } + }); return view; } diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java index 64bf26c..cd5e0e0 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java @@ -24,8 +24,9 @@ public class DownloadClass { private DatabaseReference mDataRef; private ArrayList mList; private PostDownloadListener mListener; + private String fragmentName; - public DownloadClass(Context context) { + public DownloadClass(Context context, String fragmentName) { if (context instanceof DownloadClass.PostDownloadListener) { mListener = (PostDownloadListener) context; } else { @@ -34,6 +35,7 @@ public class DownloadClass { } mDataRef = FirebaseDatabase.getInstance().getReference(); mList = new ArrayList<>(); + this.fragmentName = fragmentName; } public void getPostsFromServer() { @@ -46,6 +48,7 @@ public class DownloadClass { mList.add(data.getValue(UriPost.class)); } Collections.reverse(mList); + mListener.PostDownloaded(); } @@ -62,13 +65,14 @@ public class DownloadClass { public ArrayList getOwnPosts() { String currentUid = FirebaseAuth.getInstance().getCurrentUser().getUid(); - ArrayList posts = new ArrayList(); + ArrayList posts = new ArrayList<>(); for (UriPost post : mList) { if (post.getPoster().equals(currentUid)) { posts.add(post); } } + return posts; } diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_timeline.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_timeline.xml index fd06e94..523ff58 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_timeline.xml +++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_timeline.xml @@ -6,9 +6,8 @@ tools:context="nl.myhyvesbookplus.tagram.TimelineFragment"> - \ No newline at end of file diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_timeline.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_timeline.xml index bfc4bea..9aa7a7d 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_timeline.xml +++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_timeline.xml @@ -5,11 +5,21 @@ android:orientation="vertical" tools:context="nl.myhyvesbookplus.tagram.TimelineFragment"> - + android:layout_height="match_parent" + > + + + + + \ No newline at end of file diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml index d5e5f63..cce0278 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml +++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml @@ -9,13 +9,11 @@ android:layout_width="match_parent" android:layout_height="15dp" /> - Voer alstublieft email en wachtwoord in Er is een fout opgetreden. Controleer internetverbinding. Er is een e-mail verzonden. Volg a.u.b. de instructies. - Wachtwoorden komen niet overeen + Wachtwoorden komoen niet overeen Vul alstublieft alle velden in Opslaan Uploaden