Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
InstiApp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
RAHUL SHARMA
InstiApp
Commits
f11c0345
Commit
f11c0345
authored
Jul 12, 2018
by
Sajal Narang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add infinite scroll to Internship Blog and News
parent
3fad291c
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
247 additions
and
94 deletions
+247
-94
app/src/main/java/app/insti/adapter/NewsAdapter.java
app/src/main/java/app/insti/adapter/NewsAdapter.java
+66
-28
app/src/main/java/app/insti/adapter/PlacementBlogAdapter.java
...src/main/java/app/insti/adapter/PlacementBlogAdapter.java
+18
-16
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
+65
-27
app/src/main/java/app/insti/api/RetrofitInterface.java
app/src/main/java/app/insti/api/RetrofitInterface.java
+2
-2
app/src/main/java/app/insti/fragment/NewsFragment.java
app/src/main/java/app/insti/fragment/NewsFragment.java
+40
-1
app/src/main/java/app/insti/fragment/PlacementBlogFragment.java
...c/main/java/app/insti/fragment/PlacementBlogFragment.java
+16
-19
app/src/main/java/app/insti/fragment/TrainingBlogFragment.java
...rc/main/java/app/insti/fragment/TrainingBlogFragment.java
+40
-1
No files found.
app/src/main/java/app/insti/adapter/NewsAdapter.java
View file @
f11c0345
...
@@ -3,9 +3,11 @@ package app.insti.adapter;
...
@@ -3,9 +3,11 @@ package app.insti.adapter;
import
android.content.Context
;
import
android.content.Context
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.NonNull
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.RecyclerView
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
java.text.DateFormat
;
import
java.text.DateFormat
;
...
@@ -18,9 +20,12 @@ import java.util.Locale;
...
@@ -18,9 +20,12 @@ import java.util.Locale;
import
app.insti.ItemClickListener
;
import
app.insti.ItemClickListener
;
import
app.insti.R
;
import
app.insti.R
;
import
app.insti.data.NewsArticle
;
import
app.insti.data.NewsArticle
;
import
app.insti.fragment.NewsFragment
;
import
ru.noties.markwon.Markwon
;
import
ru.noties.markwon.Markwon
;
public
class
NewsAdapter
extends
RecyclerView
.
Adapter
<
NewsAdapter
.
ViewHolder
>
{
public
class
NewsAdapter
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
{
private
final
int
VIEW_ITEM
=
1
;
private
final
int
VIEW_PROG
=
0
;
private
List
<
NewsArticle
>
newsArticles
;
private
List
<
NewsArticle
>
newsArticles
;
private
Context
context
;
private
Context
context
;
...
@@ -31,25 +36,42 @@ public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.ViewHolder> {
...
@@ -31,25 +36,42 @@ public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.ViewHolder> {
this
.
itemClickListener
=
itemClickListener
;
this
.
itemClickListener
=
itemClickListener
;
}
}
public
List
<
NewsArticle
>
getNewsArticles
()
{
return
newsArticles
;
}
public
void
setNewsArticles
(
List
<
NewsArticle
>
newsArticles
)
{
this
.
newsArticles
=
newsArticles
;
}
@NonNull
@NonNull
@Override
@Override
public
ViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
public
RecyclerView
.
ViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
context
=
parent
.
getContext
();
context
=
parent
.
getContext
();
if
(
viewType
==
VIEW_ITEM
)
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
newsArticle
View
=
inflater
.
inflate
(
R
.
layout
.
news_article_card
,
parent
,
false
);
View
post
View
=
inflater
.
inflate
(
R
.
layout
.
news_article_card
,
parent
,
false
);
final
NewsAdapter
.
ViewHolder
articleViewHolder
=
new
NewsAdapter
.
ViewHolder
(
newsArticle
View
);
final
NewsAdapter
.
ViewHolder
postViewHolder
=
new
NewsAdapter
.
ViewHolder
(
post
View
);
newsArticle
View
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
post
View
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
itemClickListener
.
onItemClick
(
v
,
article
ViewHolder
.
getAdapterPosition
());
itemClickListener
.
onItemClick
(
v
,
post
ViewHolder
.
getAdapterPosition
());
}
}
});
});
return
articleViewHolder
;
return
postViewHolder
;
}
else
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
loadView
=
inflater
.
inflate
(
R
.
layout
.
blog_load_item
,
parent
,
false
);
final
NewsAdapter
.
ViewHolder
postViewHolder
=
new
NewsAdapter
.
ViewHolder
(
loadView
);
return
new
NewsAdapter
.
ProgressViewHolder
(
loadView
);
}
}
}
@Override
@Override
public
void
onBindViewHolder
(
@NonNull
ViewHolder
holder
,
int
position
)
{
public
void
onBindViewHolder
(
@NonNull
RecyclerView
.
ViewHolder
recyclerHolder
,
int
position
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
ViewHolder
holder
=
(
ViewHolder
)
recyclerHolder
;
NewsArticle
article
=
newsArticles
.
get
(
position
);
NewsArticle
article
=
newsArticles
.
get
(
position
);
Markwon
.
setMarkdown
(
holder
.
articleTitle
,
article
.
getTitle
());
Markwon
.
setMarkdown
(
holder
.
articleTitle
,
article
.
getTitle
());
holder
.
articleBody
.
setText
(
article
.
getBody
().
getBodyName
());
holder
.
articleBody
.
setText
(
article
.
getBody
().
getBodyName
());
...
@@ -66,11 +88,19 @@ public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.ViewHolder> {
...
@@ -66,11 +88,19 @@ public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.ViewHolder> {
holder
.
articlePublished
.
setText
(
displayFormat
.
format
(
publishedDate
));
holder
.
articlePublished
.
setText
(
displayFormat
.
format
(
publishedDate
));
Markwon
.
setMarkdown
(
holder
.
articleContent
,
article
.
getContent
());
Markwon
.
setMarkdown
(
holder
.
articleContent
,
article
.
getContent
());
}
else
{
((
ProgressViewHolder
)
recyclerHolder
).
progressBar
.
setIndeterminate
(
true
);
}
}
@Override
public
int
getItemViewType
(
int
position
)
{
return
newsArticles
.
size
()
>
position
?
VIEW_ITEM
:
VIEW_PROG
;
}
}
@Override
@Override
public
int
getItemCount
()
{
public
int
getItemCount
()
{
return
newsArticles
.
size
();
return
NewsFragment
.
showLoader
?
(
newsArticles
.
size
()
+
1
)
:
newsArticles
.
size
();
}
}
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
...
@@ -88,4 +118,12 @@ public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.ViewHolder> {
...
@@ -88,4 +118,12 @@ public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.ViewHolder> {
articleContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
article_content
);
articleContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
article_content
);
}
}
}
}
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
ProgressBar
progressBar
;
public
ProgressViewHolder
(
View
v
)
{
super
(
v
);
progressBar
=
(
ProgressBar
)
v
.
findViewById
(
R
.
id
.
blog_load_item
);
}
}
}
}
app/src/main/java/app/insti/adapter/PlacementBlogAdapter.java
View file @
f11c0345
...
@@ -25,6 +25,7 @@ import ru.noties.markwon.Markwon;
...
@@ -25,6 +25,7 @@ import ru.noties.markwon.Markwon;
public
class
PlacementBlogAdapter
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
{
public
class
PlacementBlogAdapter
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
{
private
final
int
VIEW_ITEM
=
1
;
private
final
int
VIEW_ITEM
=
1
;
private
final
int
VIEW_PROG
=
0
;
private
final
int
VIEW_PROG
=
0
;
public
List
<
PlacementBlogPost
>
getPosts
()
{
public
List
<
PlacementBlogPost
>
getPosts
()
{
return
posts
;
return
posts
;
}
}
...
@@ -44,8 +45,8 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
...
@@ -44,8 +45,8 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
@Override
@Override
public
RecyclerView
.
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
public
RecyclerView
.
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
if
(
viewType
==
VIEW_ITEM
){
context
=
parent
.
getContext
();
context
=
parent
.
getContext
();
if
(
viewType
==
VIEW_ITEM
)
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
postView
=
inflater
.
inflate
(
R
.
layout
.
blog_post_card
,
parent
,
false
);
View
postView
=
inflater
.
inflate
(
R
.
layout
.
blog_post_card
,
parent
,
false
);
...
@@ -57,29 +58,29 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
...
@@ -57,29 +58,29 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
}
}
});
});
return
postViewHolder
;
return
postViewHolder
;
}
}
else
{
else
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
loadView
=
inflater
.
inflate
(
R
.
layout
.
blog_load_item
,
parent
,
false
);
View
loadView
=
inflater
.
inflate
(
R
.
layout
.
blog_load_item
,
parent
,
false
);
final
PlacementBlogAdapter
.
ViewHolder
postViewHolder
=
new
PlacementBlogAdapter
.
ViewHolder
(
loadView
);
final
PlacementBlogAdapter
.
ViewHolder
postViewHolder
=
new
PlacementBlogAdapter
.
ViewHolder
(
loadView
);
return
new
PlacementBlogAdapter
.
ProgressViewHolder
(
loadView
);
return
new
PlacementBlogAdapter
.
ProgressViewHolder
(
loadView
);
}
}
}
}
@Override
@Override
public
int
getItemViewType
(
int
position
)
{
public
int
getItemViewType
(
int
position
)
{
Log
.
d
(
"position"
,
String
.
valueOf
(
position
));
return
posts
.
size
()
>
position
?
VIEW_ITEM
:
VIEW_PROG
;
return
posts
.
size
()>
position
?
VIEW_ITEM
:
VIEW_PROG
;
}
}
@Override
@Override
public
int
getItemCount
()
{
public
int
getItemCount
()
{
return
PlacementBlogFragment
.
showLoader
?
(
posts
.
size
()+
1
):
posts
.
size
();
return
PlacementBlogFragment
.
showLoader
?
(
posts
.
size
()
+
1
)
:
posts
.
size
();
}
}
@Override
@Override
public
void
onBindViewHolder
(
RecyclerView
.
ViewHolder
recycle
h
older
,
int
position
)
{
public
void
onBindViewHolder
(
RecyclerView
.
ViewHolder
recycle
rH
older
,
int
position
)
{
if
(
recycleholder
instanceof
ViewHolder
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
ViewHolder
holder
=(
ViewHolder
)
recycleh
older
;
ViewHolder
holder
=
(
ViewHolder
)
recyclerH
older
;
PlacementBlogPost
post
=
posts
.
get
(
position
);
PlacementBlogPost
post
=
posts
.
get
(
position
);
Markwon
.
setMarkdown
(
holder
.
postTitle
,
post
.
getTitle
());
Markwon
.
setMarkdown
(
holder
.
postTitle
,
post
.
getTitle
());
...
@@ -95,9 +96,8 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
...
@@ -95,9 +96,8 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
holder
.
postPublished
.
setText
(
displayFormat
.
format
(
publishedDate
));
holder
.
postPublished
.
setText
(
displayFormat
.
format
(
publishedDate
));
Markwon
.
setMarkdown
(
holder
.
postContent
,
post
.
getContent
());
Markwon
.
setMarkdown
(
holder
.
postContent
,
post
.
getContent
());
}
}
else
{
else
{
((
ProgressViewHolder
)
recyclerHolder
).
progressBar
.
setIndeterminate
(
true
);
((
ProgressViewHolder
)
recycleholder
).
progressBar
.
setIndeterminate
(
true
);
}
}
}
}
...
@@ -115,11 +115,13 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
...
@@ -115,11 +115,13 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
postContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_content
);
postContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_content
);
}
}
}
}
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
ProgressBar
progressBar
;
public
ProgressBar
progressBar
;
public
ProgressViewHolder
(
View
v
)
{
public
ProgressViewHolder
(
View
v
)
{
super
(
v
);
super
(
v
);
progressBar
=
(
ProgressBar
)
v
.
findViewById
(
R
.
id
.
blog_load_item
);
progressBar
=
(
ProgressBar
)
v
.
findViewById
(
R
.
id
.
blog_load_item
);
}
}
}
}
...
...
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
View file @
f11c0345
...
@@ -2,9 +2,11 @@ package app.insti.adapter;
...
@@ -2,9 +2,11 @@ package app.insti.adapter;
import
android.content.Context
;
import
android.content.Context
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.RecyclerView
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
java.text.DateFormat
;
import
java.text.DateFormat
;
...
@@ -17,9 +19,12 @@ import java.util.Locale;
...
@@ -17,9 +19,12 @@ import java.util.Locale;
import
app.insti.ItemClickListener
;
import
app.insti.ItemClickListener
;
import
app.insti.R
;
import
app.insti.R
;
import
app.insti.data.TrainingBlogPost
;
import
app.insti.data.TrainingBlogPost
;
import
app.insti.fragment.TrainingBlogFragment
;
import
ru.noties.markwon.Markwon
;
import
ru.noties.markwon.Markwon
;
public
class
TrainingBlogAdapter
extends
RecyclerView
.
Adapter
<
TrainingBlogAdapter
.
ViewHolder
>
{
public
class
TrainingBlogAdapter
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
{
private
final
int
VIEW_ITEM
=
1
;
private
final
int
VIEW_PROG
=
0
;
private
List
<
TrainingBlogPost
>
posts
;
private
List
<
TrainingBlogPost
>
posts
;
private
Context
context
;
private
Context
context
;
...
@@ -30,9 +35,18 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<TrainingBlogAdapte
...
@@ -30,9 +35,18 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<TrainingBlogAdapte
this
.
itemClickListener
=
itemClickListener
;
this
.
itemClickListener
=
itemClickListener
;
}
}
public
List
<
TrainingBlogPost
>
getPosts
()
{
return
posts
;
}
public
void
setPosts
(
List
<
TrainingBlogPost
>
posts
)
{
this
.
posts
=
posts
;
}
@Override
@Override
public
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
public
RecyclerView
.
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
context
=
parent
.
getContext
();
context
=
parent
.
getContext
();
if
(
viewType
==
VIEW_ITEM
)
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
postView
=
inflater
.
inflate
(
R
.
layout
.
blog_post_card
,
parent
,
false
);
View
postView
=
inflater
.
inflate
(
R
.
layout
.
blog_post_card
,
parent
,
false
);
...
@@ -44,10 +58,18 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<TrainingBlogAdapte
...
@@ -44,10 +58,18 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<TrainingBlogAdapte
}
}
});
});
return
postViewHolder
;
return
postViewHolder
;
}
else
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
loadView
=
inflater
.
inflate
(
R
.
layout
.
blog_load_item
,
parent
,
false
);
final
TrainingBlogAdapter
.
ViewHolder
postViewHolder
=
new
TrainingBlogAdapter
.
ViewHolder
(
loadView
);
return
new
TrainingBlogAdapter
.
ProgressViewHolder
(
loadView
);
}
}
}
@Override
@Override
public
void
onBindViewHolder
(
ViewHolder
holder
,
int
position
)
{
public
void
onBindViewHolder
(
RecyclerView
.
ViewHolder
recyclerHolder
,
int
position
)
{
if
(
recyclerHolder
instanceof
ViewHolder
)
{
ViewHolder
holder
=
(
ViewHolder
)
recyclerHolder
;
TrainingBlogPost
post
=
posts
.
get
(
position
);
TrainingBlogPost
post
=
posts
.
get
(
position
);
Markwon
.
setMarkdown
(
holder
.
postTitle
,
post
.
getTitle
());
Markwon
.
setMarkdown
(
holder
.
postTitle
,
post
.
getTitle
());
...
@@ -63,11 +85,19 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<TrainingBlogAdapte
...
@@ -63,11 +85,19 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<TrainingBlogAdapte
holder
.
postPublished
.
setText
(
displayFormat
.
format
(
publishedDate
));
holder
.
postPublished
.
setText
(
displayFormat
.
format
(
publishedDate
));
Markwon
.
setMarkdown
(
holder
.
postContent
,
post
.
getContent
());
Markwon
.
setMarkdown
(
holder
.
postContent
,
post
.
getContent
());
}
else
{
((
ProgressViewHolder
)
recyclerHolder
).
progressBar
.
setIndeterminate
(
true
);
}
}
@Override
public
int
getItemViewType
(
int
position
)
{
return
posts
.
size
()
>
position
?
VIEW_ITEM
:
VIEW_PROG
;
}
}
@Override
@Override
public
int
getItemCount
()
{
public
int
getItemCount
()
{
return
posts
.
size
();
return
TrainingBlogFragment
.
showLoader
?
(
posts
.
size
()
+
1
)
:
posts
.
size
();
}
}
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
...
@@ -83,4 +113,12 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<TrainingBlogAdapte
...
@@ -83,4 +113,12 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<TrainingBlogAdapte
postContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_content
);
postContent
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
post_content
);
}
}
}
}
public
static
class
ProgressViewHolder
extends
RecyclerView
.
ViewHolder
{
public
ProgressBar
progressBar
;
public
ProgressViewHolder
(
View
v
)
{
super
(
v
);
progressBar
=
(
ProgressBar
)
v
.
findViewById
(
R
.
id
.
blog_load_item
);
}
}
}
}
app/src/main/java/app/insti/api/RetrofitInterface.java
View file @
f11c0345
...
@@ -64,13 +64,13 @@ public interface RetrofitInterface {
...
@@ -64,13 +64,13 @@ public interface RetrofitInterface {
Call
<
List
<
PlacementBlogPost
>>
getPlacementBlogFeed
(
@Header
(
"Cookie"
)
String
sessionID
,
@Query
(
"from"
)
int
from
,
@Query
(
"num"
)
int
num
);
Call
<
List
<
PlacementBlogPost
>>
getPlacementBlogFeed
(
@Header
(
"Cookie"
)
String
sessionID
,
@Query
(
"from"
)
int
from
,
@Query
(
"num"
)
int
num
);
@GET
(
"training-blog"
)
@GET
(
"training-blog"
)
Call
<
List
<
TrainingBlogPost
>>
getTrainingBlogFeed
(
@Header
(
"Cookie"
)
String
sessionID
);
Call
<
List
<
TrainingBlogPost
>>
getTrainingBlogFeed
(
@Header
(
"Cookie"
)
String
sessionID
,
@Query
(
"from"
)
int
from
,
@Query
(
"num"
)
int
num
);
@GET
(
"mess"
)
@GET
(
"mess"
)
Call
<
List
<
HostelMessMenu
>>
getInstituteMessMenu
(
@Header
(
"Cookie"
)
String
sessionID
);
Call
<
List
<
HostelMessMenu
>>
getInstituteMessMenu
(
@Header
(
"Cookie"
)
String
sessionID
);
@GET
(
"news"
)
@GET
(
"news"
)
Call
<
List
<
NewsArticle
>>
getNews
(
@Header
(
"Cookie"
)
String
sessionID
);
Call
<
List
<
NewsArticle
>>
getNews
(
@Header
(
"Cookie"
)
String
sessionID
,
@Query
(
"from"
)
int
from
,
@Query
(
"num"
)
int
num
);
@GET
(
"notifications"
)
@GET
(
"notifications"
)
Call
<
List
<
Notification
>>
getNotifications
(
@Header
(
"Cookie"
)
String
sessionID
);
Call
<
List
<
Notification
>>
getNotifications
(
@Header
(
"Cookie"
)
String
sessionID
);
...
...
app/src/main/java/app/insti/fragment/NewsFragment.java
View file @
f11c0345
...
@@ -15,6 +15,7 @@ import android.view.LayoutInflater;
...
@@ -15,6 +15,7 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
app.insti.ActivityBuffer
;
import
app.insti.ActivityBuffer
;
...
@@ -39,6 +40,7 @@ public class NewsFragment extends BaseFragment {
...
@@ -39,6 +40,7 @@ public class NewsFragment extends BaseFragment {
private
SwipeRefreshLayout
newsSwipeRefreshLayout
;
private
SwipeRefreshLayout
newsSwipeRefreshLayout
;
private
AppDatabase
appDatabase
;
private
AppDatabase
appDatabase
;
private
boolean
freshNewsDisplayed
=
false
;
private
boolean
freshNewsDisplayed
=
false
;
public
static
boolean
showLoader
=
true
;
public
NewsFragment
()
{
public
NewsFragment
()
{
// Required empty public constructor
// Required empty public constructor
...
@@ -75,7 +77,7 @@ public class NewsFragment extends BaseFragment {
...
@@ -75,7 +77,7 @@ public class NewsFragment extends BaseFragment {
private
void
updateNews
()
{
private
void
updateNews
()
{
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
getNews
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
)).
enqueue
(
new
Callback
<
List
<
NewsArticle
>>()
{
retrofitInterface
.
getNews
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
)
,
0
,
20
).
enqueue
(
new
Callback
<
List
<
NewsArticle
>>()
{
@Override
@Override
public
void
onResponse
(
Call
<
List
<
NewsArticle
>>
call
,
Response
<
List
<
NewsArticle
>>
response
)
{
public
void
onResponse
(
Call
<
List
<
NewsArticle
>>
call
,
Response
<
List
<
NewsArticle
>>
response
)
{
if
(
response
.
isSuccessful
())
{
if
(
response
.
isSuccessful
())
{
...
@@ -116,6 +118,43 @@ public class NewsFragment extends BaseFragment {
...
@@ -116,6 +118,43 @@ public class NewsFragment extends BaseFragment {
newsRecyclerView
=
getActivity
().
findViewById
(
R
.
id
.
news_recycler_view
);
newsRecyclerView
=
getActivity
().
findViewById
(
R
.
id
.
news_recycler_view
);
newsRecyclerView
.
setAdapter
(
newsAdapter
);
newsRecyclerView
.
setAdapter
(
newsAdapter
);
newsRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
newsRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
newsRecyclerView
.
addOnScrollListener
(
new
RecyclerView
.
OnScrollListener
()
{
// multiple calls should not be made
boolean
loading
=
false
;
@Override
public
void
onScrolled
(
RecyclerView
recyclerView
,
int
dx
,
int
dy
)
{
if
(
dy
>
0
)
{
LinearLayoutManager
layoutManager
=
(
LinearLayoutManager
)
newsRecyclerView
.
getLayoutManager
();
if
(((
layoutManager
.
getChildCount
()
+
layoutManager
.
findFirstVisibleItemPosition
())
>
(
layoutManager
.
getItemCount
()
-
5
))
&&
(!
loading
))
{
loading
=
true
;
View
v
=
getActivity
().
findViewById
(
R
.
id
.
training_feed_swipe_refresh_layout
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
getNews
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
),
layoutManager
.
getItemCount
(),
10
).
enqueue
(
new
Callback
<
List
<
NewsArticle
>>()
{
@Override
public
void
onResponse
(
Call
<
List
<
NewsArticle
>>
call
,
Response
<
List
<
NewsArticle
>>
response
)
{
loading
=
false
;
List
<
NewsArticle
>
newsArticles
=
(
ArrayList
<
NewsArticle
>)
newsAdapter
.
getNewsArticles
();
newsArticles
.
addAll
(
response
.
body
());
if
(
response
.
body
().
size
()
==
0
)
{
showLoader
=
false
;
}
newsAdapter
.
setNewsArticles
(
newsArticles
);
newsAdapter
.
notifyDataSetChanged
();
// new updateDatabase().execute(blogPosts);
}
@Override
public
void
onFailure
(
Call
<
List
<
NewsArticle
>>
call
,
Throwable
t
)
{
loading
=
false
;
}
});
}
}
}
});
}
catch
(
NullPointerException
e
)
{
}
catch
(
NullPointerException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
...
...
app/src/main/java/app/insti/fragment/PlacementBlogFragment.java
View file @
f11c0345
...
@@ -2,7 +2,6 @@ package app.insti.fragment;
...
@@ -2,7 +2,6 @@ package app.insti.fragment;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.app.LauncherActivity
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.net.Uri
;
import
android.os.AsyncTask
;
import
android.os.AsyncTask
;
...
@@ -12,13 +11,10 @@ import android.support.v4.widget.SwipeRefreshLayout;
...
@@ -12,13 +11,10 @@ import android.support.v4.widget.SwipeRefreshLayout;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.Toolbar
;
import
android.support.v7.widget.Toolbar
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
com.google.android.gms.common.util.ListUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -44,7 +40,7 @@ public class PlacementBlogFragment extends BaseFragment {
...
@@ -44,7 +40,7 @@ public class PlacementBlogFragment extends BaseFragment {
private
SwipeRefreshLayout
feedSwipeRefreshLayout
;
private
SwipeRefreshLayout
feedSwipeRefreshLayout
;
private
AppDatabase
appDatabase
;
private
AppDatabase
appDatabase
;
private
boolean
freshBlogDisplayed
=
false
;
private
boolean
freshBlogDisplayed
=
false
;
public
static
boolean
showLoader
=
true
;
public
static
boolean
showLoader
=
true
;
public
PlacementBlogFragment
()
{
public
PlacementBlogFragment
()
{
...
@@ -82,7 +78,7 @@ public class PlacementBlogFragment extends BaseFragment {
...
@@ -82,7 +78,7 @@ public class PlacementBlogFragment extends BaseFragment {
private
void
updatePlacementFeed
()
{
private
void
updatePlacementFeed
()
{
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
getPlacementBlogFeed
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
),
0
,
20
).
enqueue
(
new
Callback
<
List
<
PlacementBlogPost
>>()
{
retrofitInterface
.
getPlacementBlogFeed
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
),
0
,
20
).
enqueue
(
new
Callback
<
List
<
PlacementBlogPost
>>()
{
@Override
@Override
public
void
onResponse
(
Call
<
List
<
PlacementBlogPost
>>
call
,
Response
<
List
<
PlacementBlogPost
>>
response
)
{
public
void
onResponse
(
Call
<
List
<
PlacementBlogPost
>>
call
,
Response
<
List
<
PlacementBlogPost
>>
response
)
{
if
(
response
.
isSuccessful
())
{
if
(
response
.
isSuccessful
())
{
...
@@ -122,25 +118,26 @@ public class PlacementBlogFragment extends BaseFragment {
...
@@ -122,25 +118,26 @@ public class PlacementBlogFragment extends BaseFragment {
placementFeedRecyclerView
.
setAdapter
(
placementBlogAdapter
);
placementFeedRecyclerView
.
setAdapter
(
placementBlogAdapter
);
placementFeedRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
placementFeedRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
placementFeedRecyclerView
.
addOnScrollListener
(
new
RecyclerView
.
OnScrollListener
()
{
placementFeedRecyclerView
.
addOnScrollListener
(
new
RecyclerView
.
OnScrollListener
()
{
// multiple calls should not be made
// multiple calls should not be made
boolean
loading
=
false
;
boolean
loading
=
false
;
@Override
@Override
public
void
onScrolled
(
RecyclerView
recyclerView
,
int
dx
,
int
dy
)
{
public
void
onScrolled
(
RecyclerView
recyclerView
,
int
dx
,
int
dy
)
{
if
(
dy
>
0
)
{
if
(
dy
>
0
)
{
LinearLayoutManager
layoutManager
=
(
LinearLayoutManager
)
placementFeedRecyclerView
.
getLayoutManager
();
LinearLayoutManager
layoutManager
=
(
LinearLayoutManager
)
placementFeedRecyclerView
.
getLayoutManager
();
if
(((
layoutManager
.
getChildCount
()+
layoutManager
.
findFirstVisibleItemPosition
())>(
layoutManager
.
getItemCount
()-
5
))&&(!
loading
))
{
if
(((
layoutManager
.
getChildCount
()
+
layoutManager
.
findFirstVisibleItemPosition
())
>
(
layoutManager
.
getItemCount
()
-
5
))
&&
(!
loading
))
{
loading
=
true
;
loading
=
true
;
View
v
=
getActivity
().
findViewById
(
R
.
id
.
placement_feed_swipe_refresh_layout
);
View
v
=
getActivity
().
findViewById
(
R
.
id
.
placement_feed_swipe_refresh_layout
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
getPlacementBlogFeed
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
),
layoutManager
.
getItemCount
(),
10
).
enqueue
(
new
Callback
<
List
<
PlacementBlogPost
>>()
{
retrofitInterface
.
getPlacementBlogFeed
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
),
layoutManager
.
getItemCount
(),
10
).
enqueue
(
new
Callback
<
List
<
PlacementBlogPost
>>()
{
@Override
@Override
public
void
onResponse
(
Call
<
List
<
PlacementBlogPost
>>
call
,
Response
<
List
<
PlacementBlogPost
>>
response
)
{
public
void
onResponse
(
Call
<
List
<
PlacementBlogPost
>>
call
,
Response
<
List
<
PlacementBlogPost
>>
response
)
{
loading
=
false
;
loading
=
false
;
List
<
PlacementBlogPost
>
blogPosts
=
(
ArrayList
<
PlacementBlogPost
>)
placementBlogAdapter
.
getPosts
();
List
<
PlacementBlogPost
>
blogPosts
=
(
ArrayList
<
PlacementBlogPost
>)
placementBlogAdapter
.
getPosts
();
blogPosts
.
addAll
(
response
.
body
());
blogPosts
.
addAll
(
response
.
body
());
if
(
response
.
body
().
size
()==
0
)
{
if
(
response
.
body
().
size
()
==
0
)
{
showLoader
=
false
;
showLoader
=
false
;
}
}
placementBlogAdapter
.
setPosts
(
blogPosts
);
placementBlogAdapter
.
setPosts
(
blogPosts
);
placementBlogAdapter
.
notifyDataSetChanged
();
placementBlogAdapter
.
notifyDataSetChanged
();
...
@@ -149,7 +146,7 @@ public class PlacementBlogFragment extends BaseFragment {
...
@@ -149,7 +146,7 @@ public class PlacementBlogFragment extends BaseFragment {
@Override
@Override
public
void
onFailure
(
Call
<
List
<
PlacementBlogPost
>>
call
,
Throwable
t
)
{
public
void
onFailure
(
Call
<
List
<
PlacementBlogPost
>>
call
,
Throwable
t
)
{
loading
=
false
;
loading
=
false
;
}
}
});
});
}
}
...
...
app/src/main/java/app/insti/fragment/TrainingBlogFragment.java
View file @
f11c0345
...
@@ -15,6 +15,7 @@ import android.view.LayoutInflater;
...
@@ -15,6 +15,7 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
app.insti.ActivityBuffer
;
import
app.insti.ActivityBuffer
;
...
@@ -39,6 +40,7 @@ public class TrainingBlogFragment extends BaseFragment {
...
@@ -39,6 +40,7 @@ public class TrainingBlogFragment extends BaseFragment {
private
SwipeRefreshLayout
feedSwipeRefreshLayout
;
private
SwipeRefreshLayout
feedSwipeRefreshLayout
;
private
AppDatabase
appDatabase
;
private
AppDatabase
appDatabase
;
private
boolean
freshBlogDisplayed
=
false
;
private
boolean
freshBlogDisplayed
=
false
;
public
static
boolean
showLoader
=
true
;
public
TrainingBlogFragment
()
{
public
TrainingBlogFragment
()
{
...
@@ -76,7 +78,7 @@ public class TrainingBlogFragment extends BaseFragment {
...
@@ -76,7 +78,7 @@ public class TrainingBlogFragment extends BaseFragment {
private
void
updateTrainingFeed
()
{
private
void
updateTrainingFeed
()
{
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
getTrainingBlogFeed
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
)).
enqueue
(
new
Callback
<
List
<
TrainingBlogPost
>>()
{
retrofitInterface
.
getTrainingBlogFeed
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
)
,
0
,
20
).
enqueue
(
new
Callback
<
List
<
TrainingBlogPost
>>()
{
@Override
@Override
public
void
onResponse
(
Call
<
List
<
TrainingBlogPost
>>
call
,
Response
<
List
<
TrainingBlogPost
>>
response
)
{
public
void
onResponse
(
Call
<
List
<
TrainingBlogPost
>>
call
,
Response
<
List
<
TrainingBlogPost
>>
response
)
{
if
(
response
.
isSuccessful
())
{
if
(
response
.
isSuccessful
())
{
...
@@ -115,6 +117,43 @@ public class TrainingBlogFragment extends BaseFragment {
...
@@ -115,6 +117,43 @@ public class TrainingBlogFragment extends BaseFragment {
trainingFeedRecyclerView
=
getActivity
().
findViewById
(
R
.
id
.
training_feed_recycler_view
);
trainingFeedRecyclerView
=
getActivity
().
findViewById
(
R
.
id
.
training_feed_recycler_view
);
trainingFeedRecyclerView
.
setAdapter
(
trainingBlogAdapter
);
trainingFeedRecyclerView
.
setAdapter
(
trainingBlogAdapter
);
trainingFeedRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
trainingFeedRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
trainingFeedRecyclerView
.
addOnScrollListener
(
new
RecyclerView
.
OnScrollListener
()
{
// multiple calls should not be made
boolean
loading
=
false
;
@Override
public
void
onScrolled
(
RecyclerView
recyclerView
,
int
dx
,
int
dy
)
{
if
(
dy
>
0
)
{
LinearLayoutManager
layoutManager
=
(
LinearLayoutManager
)
trainingFeedRecyclerView
.
getLayoutManager
();
if
(((
layoutManager
.
getChildCount
()
+
layoutManager
.
findFirstVisibleItemPosition
())
>
(
layoutManager
.
getItemCount
()
-
5
))
&&
(!
loading
))
{
loading
=
true
;
View
v
=
getActivity
().
findViewById
(
R
.
id
.
training_feed_swipe_refresh_layout
);
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
getTrainingBlogFeed
(
"sessionid="
+
getArguments
().
getString
(
Constants
.
SESSION_ID
),
layoutManager
.
getItemCount
(),
10
).
enqueue
(
new
Callback
<
List
<
TrainingBlogPost
>>()
{
@Override
public
void
onResponse
(
Call
<
List
<
TrainingBlogPost
>>
call
,
Response
<
List
<
TrainingBlogPost
>>
response
)
{
loading
=
false
;
List
<
TrainingBlogPost
>
blogPosts
=
(
ArrayList
<
TrainingBlogPost
>)
trainingBlogAdapter
.
getPosts
();
blogPosts
.
addAll
(
response
.
body
());
if
(
response
.
body
().
size
()
==
0
)
{
showLoader
=
false
;
}
trainingBlogAdapter
.
setPosts
(
blogPosts
);
trainingBlogAdapter
.
notifyDataSetChanged
();
// new updateDatabase().execute(blogPosts);
}
@Override
public
void
onFailure
(
Call
<
List
<
TrainingBlogPost
>>
call
,
Throwable
t
)
{
loading
=
false
;
}
});
}
}
}
});
}
catch
(
NullPointerException
e
)
{
}
catch
(
NullPointerException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment