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
347f9d6d
Commit
347f9d6d
authored
Oct 10, 2018
by
Sajal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move ClickListener outside RecyclerViewFragment for non-browsable items
parent
eb245a15
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
76 additions
and
21 deletions
+76
-21
app/src/main/java/app/insti/Utils.java
app/src/main/java/app/insti/Utils.java
+8
-0
app/src/main/java/app/insti/api/model/NewsArticle.java
app/src/main/java/app/insti/api/model/NewsArticle.java
+19
-2
app/src/main/java/app/insti/api/model/PlacementBlogPost.java
app/src/main/java/app/insti/api/model/PlacementBlogPost.java
+19
-2
app/src/main/java/app/insti/api/model/TrainingBlogPost.java
app/src/main/java/app/insti/api/model/TrainingBlogPost.java
+19
-2
app/src/main/java/app/insti/fragment/RecyclerViewFragment.java
...rc/main/java/app/insti/fragment/RecyclerViewFragment.java
+3
-10
app/src/main/java/app/insti/interfaces/Browsable.java
app/src/main/java/app/insti/interfaces/Browsable.java
+0
-5
app/src/main/java/app/insti/interfaces/Clickable.java
app/src/main/java/app/insti/interfaces/Clickable.java
+8
-0
app/src/main/java/app/insti/interfaces/ItemClickListener.java
...src/main/java/app/insti/interfaces/ItemClickListener.java
+0
-0
No files found.
app/src/main/java/app/insti/Utils.java
View file @
347f9d6d
package
app.insti
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.FragmentActivity
;
...
...
@@ -97,4 +100,9 @@ public final class Utils {
public
static
void
setRetrofitInterface
(
RetrofitInterface
retrofitInterface
)
{
Utils
.
retrofitInterface
=
retrofitInterface
;
}
public
static
void
openWebURL
(
Context
context
,
String
URL
)
{
Intent
browse
=
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
URL
));
context
.
startActivity
(
browse
);
}
}
app/src/main/java/app/insti/api/model/NewsArticle.java
View file @
347f9d6d
package
app.insti.api.model
;
import
android.content.Context
;
import
android.support.annotation.NonNull
;
import
android.view.View
;
import
com.google.gson.annotations.SerializedName
;
import
java.sql.Timestamp
;
import
app.insti.interfaces.Browsable
;
import
app.insti.Utils
;
import
app.insti.interfaces.Clickable
;
public
class
NewsArticle
implements
Browsable
{
import
static
app
.
insti
.
Utils
.
openWebURL
;
public
class
NewsArticle
implements
Clickable
{
@NonNull
()
@SerializedName
(
"id"
)
private
String
articleID
;
...
...
@@ -84,4 +89,16 @@ public class NewsArticle implements Browsable {
public
void
setBody
(
Body
body
)
{
this
.
body
=
body
;
}
@Override
public
View
.
OnClickListener
getOnClickListener
(
final
Context
context
)
{
return
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
link
!=
null
&&
!
link
.
isEmpty
())
{
openWebURL
(
context
,
link
);
}
}
};
}
}
app/src/main/java/app/insti/api/model/PlacementBlogPost.java
View file @
347f9d6d
package
app.insti.api.model
;
import
android.content.Context
;
import
android.support.annotation.NonNull
;
import
android.view.View
;
import
com.google.gson.annotations.SerializedName
;
import
java.sql.Timestamp
;
import
app.insti.interfaces.Browsable
;
import
app.insti.Utils
;
import
app.insti.interfaces.Clickable
;
public
class
PlacementBlogPost
implements
Browsable
{
import
static
app
.
insti
.
Utils
.
openWebURL
;
public
class
PlacementBlogPost
implements
Clickable
{
@NonNull
()
@SerializedName
(
"id"
)
private
String
postID
;
...
...
@@ -72,4 +77,16 @@ public class PlacementBlogPost implements Browsable {
public
void
setPublished
(
Timestamp
published
)
{
this
.
published
=
published
;
}
@Override
public
View
.
OnClickListener
getOnClickListener
(
final
Context
context
)
{
return
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
link
!=
null
&&
!
link
.
isEmpty
())
{
openWebURL
(
context
,
link
);
}
}
};
}
}
app/src/main/java/app/insti/api/model/TrainingBlogPost.java
View file @
347f9d6d
package
app.insti.api.model
;
import
android.content.Context
;
import
android.support.annotation.NonNull
;
import
android.view.View
;
import
com.google.gson.annotations.SerializedName
;
import
java.sql.Timestamp
;
import
app.insti.interfaces.Browsable
;
import
app.insti.Utils
;
import
app.insti.interfaces.Clickable
;
public
class
TrainingBlogPost
implements
Browsable
{
import
static
app
.
insti
.
Utils
.
openWebURL
;
public
class
TrainingBlogPost
implements
Clickable
{
@NonNull
()
@SerializedName
(
"id"
)
private
String
postID
;
...
...
@@ -72,4 +77,16 @@ public class TrainingBlogPost implements Browsable {
public
void
setPublished
(
Timestamp
published
)
{
this
.
published
=
published
;
}
@Override
public
View
.
OnClickListener
getOnClickListener
(
final
Context
context
)
{
return
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
link
!=
null
&&
!
link
.
isEmpty
())
{
openWebURL
(
context
,
link
);
}
}
};
}
}
app/src/main/java/app/insti/fragment/RecyclerViewFragment.java
View file @
347f9d6d
...
...
@@ -22,7 +22,7 @@ import app.insti.R;
import
app.insti.Utils
;
import
app.insti.activity.MainActivity
;
import
app.insti.api.RetrofitInterface
;
import
app.insti.interfaces.
Brows
able
;
import
app.insti.interfaces.
Click
able
;
import
app.insti.interfaces.ItemClickListener
;
import
app.insti.interfaces.Readable
;
import
app.insti.interfaces.Writable
;
...
...
@@ -32,7 +32,7 @@ import retrofit2.Response;
import
static
android
.
view
.
View
.
GONE
;
public
abstract
class
RecyclerViewFragment
<
T
extends
Brows
able
,
S
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
&
Readable
<
T
>
&
Writable
<
T
>>
extends
BaseFragment
{
public
abstract
class
RecyclerViewFragment
<
T
extends
Click
able
,
S
extends
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>
&
Readable
<
T
>
&
Writable
<
T
>>
extends
BaseFragment
{
public
static
boolean
showLoader
=
true
;
protected
RecyclerView
recyclerView
;
protected
Class
<
T
>
postType
;
...
...
@@ -103,9 +103,7 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
adapter
=
adapterType
.
getDeclaredConstructor
(
List
.
class
,
ItemClickListener
.
class
).
newInstance
(
result
,
new
ItemClickListener
()
{
@Override
public
void
onItemClick
(
View
v
,
int
position
)
{
String
link
=
result
.
get
(
position
).
getLink
();
if
(
link
!=
null
&&
!
link
.
isEmpty
())
openWebURL
(
link
);
result
.
get
(
position
).
getOnClickListener
(
getContext
()).
onClick
(
v
);
}
});
initRecyclerView
();
...
...
@@ -167,11 +165,6 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
return
adapter
.
getPosts
().
size
();
}
private
void
openWebURL
(
String
URL
)
{
Intent
browse
=
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
URL
));
startActivity
(
browse
);
}
@Override
public
void
onCreateOptionsMenu
(
Menu
menu
,
MenuInflater
inflater
)
{
inflater
.
inflate
(
R
.
menu
.
search_view_menu
,
menu
);
...
...
app/src/main/java/app/insti/interfaces/Browsable.java
deleted
100644 → 0
View file @
eb245a15
package
app.insti.interfaces
;
public
interface
Browsable
{
String
getLink
();
}
app/src/main/java/app/insti/interfaces/Clickable.java
0 → 100644
View file @
347f9d6d
package
app.insti.interfaces
;
import
android.content.Context
;
import
android.view.View.OnClickListener
;
public
interface
Clickable
{
OnClickListener
getOnClickListener
(
Context
context
);
}
app/src/main/java/app/insti/interfaces/ItemClickListener.java
100755 → 100644
View file @
347f9d6d
File mode changed from 100755 to 100644
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