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
4eefdbff
Commit
4eefdbff
authored
Jul 18, 2018
by
Sajal Narang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add search to Placement blog
parent
f6421496
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
68 additions
and
9 deletions
+68
-9
app/src/main/java/app/insti/MainActivity.java
app/src/main/java/app/insti/MainActivity.java
+18
-8
app/src/main/java/app/insti/data/DbDao.java
app/src/main/java/app/insti/data/DbDao.java
+3
-0
app/src/main/java/app/insti/fragment/PlacementBlogFragment.java
...c/main/java/app/insti/fragment/PlacementBlogFragment.java
+47
-1
No files found.
app/src/main/java/app/insti/MainActivity.java
View file @
4eefdbff
...
...
@@ -30,6 +30,7 @@ import com.squareup.picasso.Picasso;
import
app.insti.api.UnsafeOkHttpClient
;
import
app.insti.data.Body
;
import
app.insti.data.User
;
import
app.insti.fragment.BackHandledFragment
;
import
app.insti.fragment.BodyFragment
;
import
app.insti.fragment.CalendarFragment
;
import
app.insti.fragment.ExploreFragment
;
...
...
@@ -50,7 +51,7 @@ import static app.insti.Constants.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE;
import
static
app
.
insti
.
Constants
.
RESULT_LOAD_IMAGE
;
public
class
MainActivity
extends
AppCompatActivity
implements
NavigationView
.
OnNavigationItemSelectedListener
{
public
class
MainActivity
extends
AppCompatActivity
implements
NavigationView
.
OnNavigationItemSelectedListener
,
BackHandledFragment
.
BackHandlerInterface
{
private
static
final
String
TAG
=
"MainActivity"
;
...
...
@@ -58,6 +59,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
FeedFragment
feedFragment
;
private
User
currentUser
;
private
boolean
showNotifications
=
false
;
private
BackHandledFragment
selectedFragment
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
...
...
@@ -168,13 +170,16 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
@Override
public
void
onBackPressed
()
{
DrawerLayout
drawer
=
(
DrawerLayout
)
findViewById
(
R
.
id
.
drawer_layout
);
if
(
drawer
.
isDrawerOpen
(
GravityCompat
.
START
))
{
drawer
.
closeDrawer
(
GravityCompat
.
START
);
}
else
if
(
feedFragment
!=
null
&&
feedFragment
.
isVisible
())
{
finish
();
}
else
{
super
.
onBackPressed
();
if
(
selectedFragment
==
null
||
!
selectedFragment
.
onBackPressed
())
{
// Selected fragment did not consume the back press event.
DrawerLayout
drawer
=
(
DrawerLayout
)
findViewById
(
R
.
id
.
drawer_layout
);
if
(
drawer
.
isDrawerOpen
(
GravityCompat
.
START
))
{
drawer
.
closeDrawer
(
GravityCompat
.
START
);
}
else
if
(
feedFragment
!=
null
&&
feedFragment
.
isVisible
())
{
finish
();
}
else
{
super
.
onBackPressed
();
}
}
}
...
...
@@ -364,4 +369,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
}
imm
.
hideSoftInputFromWindow
(
view
.
getWindowToken
(),
0
);
}
@Override
public
void
setSelectedFragment
(
BackHandledFragment
backHandledFragment
)
{
this
.
selectedFragment
=
backHandledFragment
;
}
}
app/src/main/java/app/insti/data/DbDao.java
View file @
4eefdbff
...
...
@@ -31,6 +31,9 @@ public interface DbDao {
@Query
(
"SELECT * FROM placementBlogPosts"
)
List
<
PlacementBlogPost
>
getAllPlacementBlogPosts
();
@Query
(
"SELECT * FROM placementBlogPosts WHERE title LIKE :query OR content LIKE :query"
)
List
<
PlacementBlogPost
>
searchPlacementBlogPosts
(
String
query
);
@Query
(
"SELECT * FROM trainingBlogPosts"
)
List
<
TrainingBlogPost
>
getAllTrainingBlogPosts
();
...
...
app/src/main/java/app/insti/fragment/PlacementBlogFragment.java
View file @
4eefdbff
...
...
@@ -10,8 +10,12 @@ import android.support.v4.app.Fragment;
import
android.support.v4.widget.SwipeRefreshLayout
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.SearchView
;
import
android.support.v7.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.Menu
;
import
android.view.MenuInflater
;
import
android.view.MenuItem
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -21,6 +25,7 @@ import java.util.List;
import
app.insti.ActivityBuffer
;
import
app.insti.Constants
;
import
app.insti.ItemClickListener
;
import
app.insti.MainActivity
;
import
app.insti.R
;
import
app.insti.adapter.PlacementBlogAdapter
;
import
app.insti.api.RetrofitInterface
;
...
...
@@ -37,6 +42,7 @@ import retrofit2.Response;
public
class
PlacementBlogFragment
extends
BaseFragment
{
private
RecyclerView
placementFeedRecyclerView
;
private
PlacementBlogAdapter
placementBlogAdapter
;
private
SwipeRefreshLayout
feedSwipeRefreshLayout
;
private
AppDatabase
appDatabase
;
private
boolean
freshBlogDisplayed
=
false
;
...
...
@@ -62,6 +68,8 @@ public class PlacementBlogFragment extends BaseFragment {
Toolbar
toolbar
=
getActivity
().
findViewById
(
R
.
id
.
toolbar
);
toolbar
.
setTitle
(
"Placement Blog"
);
setHasOptionsMenu
(
true
);
appDatabase
=
AppDatabase
.
getAppDatabase
(
getContext
());
new
PlacementBlogFragment
.
showPlacementBlogFromDB
().
execute
();
...
...
@@ -104,7 +112,7 @@ public class PlacementBlogFragment extends BaseFragment {
/* Skip if we're already destroyed */
if
(
getActivity
()
==
null
||
getView
()
==
null
)
return
;
final
PlacementBlogAdapter
placementBlogAdapter
=
new
PlacementBlogAdapter
(
result
,
new
ItemClickListener
()
{
placementBlogAdapter
=
new
PlacementBlogAdapter
(
result
,
new
ItemClickListener
()
{
@Override
public
void
onItemClick
(
View
v
,
int
position
)
{
openWebURL
(
result
.
get
(
position
).
getLink
());
...
...
@@ -188,4 +196,42 @@ public class PlacementBlogFragment extends BaseFragment {
}
}
}
private
class
performSearch
extends
AsyncTask
<
String
,
Void
,
List
<
PlacementBlogPost
>>
{
@Override
protected
List
<
PlacementBlogPost
>
doInBackground
(
String
...
args
)
{
return
appDatabase
.
dbDao
().
searchPlacementBlogPosts
(
args
[
0
]);
}
protected
void
onPostExecute
(
List
<
PlacementBlogPost
>
result
)
{
displayPlacementFeed
(
result
);
}
}
@Override
public
void
onCreateOptionsMenu
(
Menu
menu
,
MenuInflater
inflater
)
{
inflater
.
inflate
(
R
.
menu
.
search_view_menu
,
menu
);
MenuItem
item
=
menu
.
findItem
(
R
.
id
.
action_search
);
SearchView
sv
=
new
SearchView
(((
MainActivity
)
getActivity
()).
getSupportActionBar
().
getThemedContext
());
item
.
setShowAsAction
(
MenuItem
.
SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
|
MenuItem
.
SHOW_AS_ACTION_IF_ROOM
);
item
.
setActionView
(
sv
);
sv
.
setOnQueryTextListener
(
new
SearchView
.
OnQueryTextListener
()
{
@Override
public
boolean
onQueryTextSubmit
(
String
query
)
{
performSearch
(
query
);
return
false
;
}
@Override
public
boolean
onQueryTextChange
(
String
newText
)
{
System
.
out
.
println
(
"tap"
);
return
false
;
}
});
}
private
void
performSearch
(
String
query
)
{
new
performSearch
().
execute
(
"%"
+
query
+
"%"
);
showLoader
=
false
;
}
}
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