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
a4a07ae2
Commit
a4a07ae2
authored
Jul 01, 2018
by
Sajal Narang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reformat Code
parent
7472f0d0
Changes
37
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
400 additions
and
424 deletions
+400
-424
app/src/main/assets/login.html
app/src/main/assets/login.html
+19
-17
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/LoginActivity.java
.../main/java/in/ac/iitb/gymkhana/iitbapp/LoginActivity.java
+52
-75
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/MainActivity.java
...c/main/java/in/ac/iitb/gymkhana/iitbapp/MainActivity.java
+5
-2
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/BodyAdapter.java
...java/in/ac/iitb/gymkhana/iitbapp/adapter/BodyAdapter.java
+7
-7
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/MessMenuAdapter.java
.../in/ac/iitb/gymkhana/iitbapp/adapter/MessMenuAdapter.java
+18
-18
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/NewsAdapter.java
...java/in/ac/iitb/gymkhana/iitbapp/adapter/NewsAdapter.java
+0
-1
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/PlacementBlogAdapter.java
...c/iitb/gymkhana/iitbapp/adapter/PlacementBlogAdapter.java
+0
-1
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/RoleAdapter.java
...java/in/ac/iitb/gymkhana/iitbapp/adapter/RoleAdapter.java
+7
-7
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/TabAdapter.java
.../java/in/ac/iitb/gymkhana/iitbapp/adapter/TabAdapter.java
+5
-5
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/TrainingBlogAdapter.java
...ac/iitb/gymkhana/iitbapp/adapter/TrainingBlogAdapter.java
+0
-1
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/UserAdapter.java
...java/in/ac/iitb/gymkhana/iitbapp/adapter/UserAdapter.java
+6
-7
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/RetrofitInterface.java
...va/in/ac/iitb/gymkhana/iitbapp/api/RetrofitInterface.java
+0
-2
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/UnsafeOkHttpClient.java
...a/in/ac/iitb/gymkhana/iitbapp/api/UnsafeOkHttpClient.java
+2
-2
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/Role.java
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/Role.java
+9
-10
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/User.java
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/User.java
+6
-5
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/AddEventFragment.java
...n/ac/iitb/gymkhana/iitbapp/fragment/AddEventFragment.java
+0
-5
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/BodyFragment.java
...va/in/ac/iitb/gymkhana/iitbapp/fragment/BodyFragment.java
+19
-18
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/BodyRecyclerViewFragment.java
...b/gymkhana/iitbapp/fragment/BodyRecyclerViewFragment.java
+4
-3
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/CalendarFragment.java
...n/ac/iitb/gymkhana/iitbapp/fragment/CalendarFragment.java
+2
-2
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/EventFragment.java
...a/in/ac/iitb/gymkhana/iitbapp/fragment/EventFragment.java
+17
-17
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/EventRecyclerViewFragment.java
.../gymkhana/iitbapp/fragment/EventRecyclerViewFragment.java
+4
-3
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/FeedFragment.java
...va/in/ac/iitb/gymkhana/iitbapp/fragment/FeedFragment.java
+20
-20
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/ProfileFragment.java
...in/ac/iitb/gymkhana/iitbapp/fragment/ProfileFragment.java
+1
-1
app/src/main/res/anim/slide_in_left.xml
app/src/main/res/anim/slide_in_left.xml
+2
-2
app/src/main/res/anim/slide_in_right.xml
app/src/main/res/anim/slide_in_right.xml
+2
-2
app/src/main/res/anim/slide_out_left.xml
app/src/main/res/anim/slide_out_left.xml
+2
-2
app/src/main/res/anim/slide_out_right.xml
app/src/main/res/anim/slide_out_right.xml
+2
-2
app/src/main/res/drawable/baseline_navigation_24.xml
app/src/main/res/drawable/baseline_navigation_24.xml
+6
-6
app/src/main/res/drawable/baseline_rss_feed_24.xml
app/src/main/res/drawable/baseline_rss_feed_24.xml
+7
-7
app/src/main/res/drawable/ic_language_black_24dp.xml
app/src/main/res/drawable/ic_language_black_24dp.xml
+5
-5
app/src/main/res/layout/blog_post_card.xml
app/src/main/res/layout/blog_post_card.xml
+2
-2
app/src/main/res/layout/fragment_body.xml
app/src/main/res/layout/fragment_body.xml
+140
-140
app/src/main/res/layout/fragment_calendar.xml
app/src/main/res/layout/fragment_calendar.xml
+8
-7
app/src/main/res/layout/fragment_event.xml
app/src/main/res/layout/fragment_event.xml
+10
-10
app/src/main/res/layout/fragment_event_recycler_view.xml
app/src/main/res/layout/fragment_event_recycler_view.xml
+3
-2
app/src/main/res/layout/fragment_mess_menu.xml
app/src/main/res/layout/fragment_mess_menu.xml
+2
-2
app/src/main/res/layout/news_article_card.xml
app/src/main/res/layout/news_article_card.xml
+6
-6
No files found.
app/src/main/assets/login.html
View file @
a4a07ae2
...
...
@@ -61,28 +61,30 @@
line-height
:
1.7em
;
font-size
:
1.05em
;
}
</style>
</head>
<body>
<div
class=
"logodiv"
>
<img
src=
"lotus.png"
class=
"logo"
>
<div
class=
"app-name"
>
InstiApp
</div>
</div>
<div
class=
"lowerdiv"
>
<div
class=
"logindiv"
>
<a
class=
"login"
href=
"https://gymkhana.iitb.ac.in/sso/account/login/?next=/sso/oauth/authorize/%3Fclient_id%3DvR1pU7wXWyve1rUkg0fMS6StL1Kr6paoSmRIiLXJ%26response_type%3Dcode%26scope%3Dbasic%2520profile%2520picture%2520sex%2520ldap%2520phone%2520insti_address%2520program%2520secondary_emails%26redirect_uri=https://redirecturi"
>
LOG IN VIA SSO
</a>
<br><br
>
or
<br>
<a
class=
"guest"
href=
"https://guesturi"
>
Continue as a Guest
</a>
</
div
>
<div
class=
"logodiv"
>
<img
src=
"lotus.png"
class=
"logo"
>
<div
class=
"app-name"
>
InstiApp
</div>
</div>
<div
class=
"lowerdiv"
>
<div
class=
"logindiv"
>
<a
class=
"login"
href=
"https://gymkhana.iitb.ac.in/sso/account/login/?next=/sso/oauth/authorize/%3Fclient_id%3DvR1pU7wXWyve1rUkg0fMS6StL1Kr6paoSmRIiLXJ%26response_type%3Dcode%26scope%3Dbasic%2520profile%2520picture%2520sex%2520ldap%2520phone%2520insti_address%2520program%2520secondary_emails%26redirect_uri=https://redirecturi"
>
LOG IN VIA SSO
</a
>
<br><br>
or
<br
>
<a
class=
"guest"
href=
"https://guesturi"
>
Continue as a Guest
</
a
>
</div>
</div>
</body>
</html>
\ No newline at end of file
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/LoginActivity.java
View file @
a4a07ae2
package
in.ac.iitb.gymkhana.iitbapp
;
import
android.annotation.TargetApi
;
import
android.app.PendingIntent
;
import
android.app.ProgressDialog
;
import
android.content.BroadcastReceiver
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.IntentFilter
;
import
android.content.SharedPreferences
;
import
android.net.Uri
;
import
android.net.http.SslError
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.preference.PreferenceManager
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.Nullable
;
import
android.support.v4.content.LocalBroadcastManager
;
import
android.support.v7.app.AppCompatActivity
;
import
android.util.Log
;
import
android.view.View
;
import
android.webkit.SslErrorHandler
;
import
android.webkit.WebChromeClient
;
import
android.webkit.WebResourceRequest
;
import
android.webkit.WebView
;
import
android.webkit.WebViewClient
;
import
android.widget.Button
;
import
android.widget.Toast
;
import
com.google.android.gms.common.ConnectionResult
;
import
com.google.android.gms.common.GoogleApiAvailability
;
import
net.openid.appauth.AuthorizationException
;
import
net.openid.appauth.AuthorizationRequest
;
import
net.openid.appauth.AuthorizationResponse
;
import
net.openid.appauth.AuthorizationService
;
import
net.openid.appauth.AuthorizationServiceConfiguration
;
import
in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface
;
import
in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.LoginResponse
;
import
in.ac.iitb.gymkhana.iitbapp.gcm.RegistrationIntentService
;
import
retrofit2.Call
;
import
retrofit2.Callback
;
import
retrofit2.Response
;
...
...
@@ -64,63 +42,11 @@ public class LoginActivity extends AppCompatActivity {
progressDialog
=
new
ProgressDialog
(
LoginActivity
.
this
);
}
private
class
WvClient
extends
WebViewClient
{
@Override
public
void
onReceivedSslError
(
WebView
view
,
SslErrorHandler
handler
,
SslError
er
)
{
handler
.
proceed
();
}
@Override
public
boolean
shouldOverrideUrlLoading
(
final
WebView
view
,
final
String
url
)
{
/* Capture redirect */
if
(
url
.
startsWith
(
redirectUri
))
{
/* Show progress dialog */
progressDialog
.
setMessage
(
"Logging In"
);
progressDialog
.
setCancelable
(
false
);
progressDialog
.
setIndeterminate
(
true
);
if
(!
progressDialog
.
isShowing
())
{
progressDialog
.
show
();
}
/* Get auth code from query */
String
query
=
Uri
.
parse
(
url
).
getQuery
();
authCode
=
query
.
substring
(
query
.
lastIndexOf
(
"="
)
+
1
);
login
(
authCode
,
redirectUri
,
authCode
);
return
true
;
}
/* Guest Login */
if
(
url
.
startsWith
(
guestUri
))
{
Intent
intent
=
new
Intent
(
LoginActivity
.
this
,
MainActivity
.
class
);
startActivity
(
intent
);
return
true
;
}
if
(!
progressDialog
.
isShowing
())
{
progressDialog
.
setMessage
(
"Loading"
);
progressDialog
.
setCancelable
(
false
);
progressDialog
.
setIndeterminate
(
true
);
progressDialog
.
show
();
}
/* Load URL */
view
.
loadUrl
(
url
);
return
false
;
}
@Override
public
void
onPageFinished
(
WebView
view
,
String
url
)
{
if
(
progressDialog
.
isShowing
())
{
progressDialog
.
dismiss
();
}
}
}
@Override
protected
void
onStart
()
{
super
.
onStart
();
WebView
webview
=
(
WebView
)
findViewById
(
R
.
id
.
login_webview
);
WebView
webview
=
(
WebView
)
findViewById
(
R
.
id
.
login_webview
);
webview
.
getSettings
().
setJavaScriptEnabled
(
true
);
webview
.
getSettings
().
setDomStorageEnabled
(
true
);
webview
.
setWebViewClient
(
new
WvClient
());
...
...
@@ -169,5 +95,56 @@ public class LoginActivity extends AppCompatActivity {
return
true
;
}
private
class
WvClient
extends
WebViewClient
{
@Override
public
void
onReceivedSslError
(
WebView
view
,
SslErrorHandler
handler
,
SslError
er
)
{
handler
.
proceed
();
}
@Override
public
boolean
shouldOverrideUrlLoading
(
final
WebView
view
,
final
String
url
)
{
/* Capture redirect */
if
(
url
.
startsWith
(
redirectUri
))
{
/* Show progress dialog */
progressDialog
.
setMessage
(
"Logging In"
);
progressDialog
.
setCancelable
(
false
);
progressDialog
.
setIndeterminate
(
true
);
if
(!
progressDialog
.
isShowing
())
{
progressDialog
.
show
();
}
/* Get auth code from query */
String
query
=
Uri
.
parse
(
url
).
getQuery
();
authCode
=
query
.
substring
(
query
.
lastIndexOf
(
"="
)
+
1
);
login
(
authCode
,
redirectUri
,
authCode
);
return
true
;
}
/* Guest Login */
if
(
url
.
startsWith
(
guestUri
))
{
Intent
intent
=
new
Intent
(
LoginActivity
.
this
,
MainActivity
.
class
);
startActivity
(
intent
);
return
true
;
}
if
(!
progressDialog
.
isShowing
())
{
progressDialog
.
setMessage
(
"Loading"
);
progressDialog
.
setCancelable
(
false
);
progressDialog
.
setIndeterminate
(
true
);
progressDialog
.
show
();
}
/* Load URL */
view
.
loadUrl
(
url
);
return
false
;
}
@Override
public
void
onPageFinished
(
WebView
view
,
String
url
)
{
if
(
progressDialog
.
isShowing
())
{
progressDialog
.
dismiss
();
}
}
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/MainActivity.java
View file @
a4a07ae2
...
...
@@ -58,14 +58,17 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
private
static
final
String
TAG
=
"MainActivity"
;
SessionManager
session
;
NotificationsResponse
notificationsResponse
;
FeedFragment
feedFragment
;
private
User
currentUser
;
private
boolean
showNotifications
=
false
;
FeedFragment
feedFragment
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
try
{
initPicasso
();
}
catch
(
IllegalStateException
ignored
)
{}
try
{
initPicasso
();
}
catch
(
IllegalStateException
ignored
)
{
}
setContentView
(
R
.
layout
.
activity_main
);
session
=
new
SessionManager
(
getApplicationContext
());
session
.
checkLogin
();
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/BodyAdapter.java
View file @
a4a07ae2
...
...
@@ -17,12 +17,13 @@ import in.ac.iitb.gymkhana.iitbapp.R;
import
in.ac.iitb.gymkhana.iitbapp.data.Body
;
public
class
BodyAdapter
extends
RecyclerView
.
Adapter
<
BodyAdapter
.
ViewHolder
>{
public
class
BodyAdapter
extends
RecyclerView
.
Adapter
<
BodyAdapter
.
ViewHolder
>
{
private
List
<
Body
>
bodyList
;
private
ItemClickListener
itemClickListener
;
private
Context
context
;
public
BodyAdapter
(
List
<
Body
>
bodyList
,
ItemClickListener
itemClickListener
){
public
BodyAdapter
(
List
<
Body
>
bodyList
,
ItemClickListener
itemClickListener
)
{
this
.
bodyList
=
bodyList
;
this
.
itemClickListener
=
itemClickListener
;
}
...
...
@@ -31,13 +32,13 @@ public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder>{
public
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
context
=
parent
.
getContext
();
View
v
=
LayoutInflater
.
from
(
context
)
.
inflate
(
R
.
layout
.
body_card_view
,
parent
,
false
);
.
inflate
(
R
.
layout
.
body_card_view
,
parent
,
false
);
final
ViewHolder
postViewHolder
=
new
ViewHolder
(
v
);
v
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
itemClickListener
.
onItemClick
(
view
,
postViewHolder
.
getAdapterPosition
());
itemClickListener
.
onItemClick
(
view
,
postViewHolder
.
getAdapterPosition
());
}
});
...
...
@@ -56,10 +57,10 @@ public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder>{
@Override
public
int
getItemCount
()
{
return
bodyList
.
size
();
return
bodyList
.
size
();
}
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
TextView
name
;
public
TextView
description
;
public
ImageView
image
;
...
...
@@ -72,6 +73,5 @@ public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder>{
}
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/MessMenuAdapter.java
View file @
a4a07ae2
...
...
@@ -47,24 +47,6 @@ public class MessMenuAdapter extends RecyclerView.Adapter<MessMenuAdapter.ViewHo
return
messMenus
.
size
();
}
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
private
TextView
day
;
private
TextView
breakfast
;
private
TextView
lunch
;
private
TextView
snacks
;
private
TextView
dinner
;
public
ViewHolder
(
View
itemView
)
{
super
(
itemView
);
day
=
itemView
.
findViewById
(
R
.
id
.
day_text_view
);
breakfast
=
itemView
.
findViewById
(
R
.
id
.
breakfast_text_view
);
lunch
=
itemView
.
findViewById
(
R
.
id
.
lunch_text_view
);
snacks
=
itemView
.
findViewById
(
R
.
id
.
snacks_text_view
);
dinner
=
itemView
.
findViewById
(
R
.
id
.
dinner_text_view
);
}
}
private
String
generateDayString
(
int
day
)
{
switch
(
day
)
{
case
1
:
...
...
@@ -85,4 +67,22 @@ public class MessMenuAdapter extends RecyclerView.Adapter<MessMenuAdapter.ViewHo
throw
new
RuntimeException
(
"DayIndexOutOfBounds: "
+
day
);
}
}
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
private
TextView
day
;
private
TextView
breakfast
;
private
TextView
lunch
;
private
TextView
snacks
;
private
TextView
dinner
;
public
ViewHolder
(
View
itemView
)
{
super
(
itemView
);
day
=
itemView
.
findViewById
(
R
.
id
.
day_text_view
);
breakfast
=
itemView
.
findViewById
(
R
.
id
.
breakfast_text_view
);
lunch
=
itemView
.
findViewById
(
R
.
id
.
lunch_text_view
);
snacks
=
itemView
.
findViewById
(
R
.
id
.
snacks_text_view
);
dinner
=
itemView
.
findViewById
(
R
.
id
.
dinner_text_view
);
}
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/NewsAdapter.java
View file @
a4a07ae2
...
...
@@ -9,7 +9,6 @@ import android.view.ViewGroup;
import
android.widget.TextView
;
import
java.text.DateFormat
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Date
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/PlacementBlogAdapter.java
View file @
a4a07ae2
...
...
@@ -8,7 +8,6 @@ import android.view.ViewGroup;
import
android.widget.TextView
;
import
java.text.DateFormat
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Date
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/RoleAdapter.java
View file @
a4a07ae2
...
...
@@ -18,12 +18,13 @@ import in.ac.iitb.gymkhana.iitbapp.data.Body;
import
in.ac.iitb.gymkhana.iitbapp.data.Role
;
public
class
RoleAdapter
extends
RecyclerView
.
Adapter
<
RoleAdapter
.
ViewHolder
>{
public
class
RoleAdapter
extends
RecyclerView
.
Adapter
<
RoleAdapter
.
ViewHolder
>
{
private
List
<
Role
>
roleList
;
private
ItemClickListener
itemClickListener
;
private
Context
context
;
public
RoleAdapter
(
List
<
Role
>
roleList
,
ItemClickListener
itemClickListener
){
public
RoleAdapter
(
List
<
Role
>
roleList
,
ItemClickListener
itemClickListener
)
{
this
.
roleList
=
roleList
;
this
.
itemClickListener
=
itemClickListener
;
}
...
...
@@ -32,13 +33,13 @@ public class RoleAdapter extends RecyclerView.Adapter<RoleAdapter.ViewHolder>{
public
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
context
=
parent
.
getContext
();
View
v
=
LayoutInflater
.
from
(
context
)
.
inflate
(
R
.
layout
.
role_card
,
parent
,
false
);
.
inflate
(
R
.
layout
.
role_card
,
parent
,
false
);
final
ViewHolder
postViewHolder
=
new
ViewHolder
(
v
);
v
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
itemClickListener
.
onItemClick
(
view
,
postViewHolder
.
getAdapterPosition
());
itemClickListener
.
onItemClick
(
view
,
postViewHolder
.
getAdapterPosition
());
}
});
...
...
@@ -58,10 +59,10 @@ public class RoleAdapter extends RecyclerView.Adapter<RoleAdapter.ViewHolder>{
@Override
public
int
getItemCount
()
{
return
roleList
.
size
();
return
roleList
.
size
();
}
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
TextView
bodyName
;
public
TextView
role
;
public
ImageView
image
;
...
...
@@ -74,6 +75,5 @@ public class RoleAdapter extends RecyclerView.Adapter<RoleAdapter.ViewHolder>{
}
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/TabAdapter.java
View file @
a4a07ae2
...
...
@@ -12,15 +12,15 @@ public class TabAdapter extends FragmentStatePagerAdapter {
private
final
List
<
Fragment
>
list_fragment
=
new
ArrayList
<>();
private
final
List
<
String
>
list_title
=
new
ArrayList
<>();
public
void
addFragment
(
Fragment
fragment
,
String
title
)
{
list_fragment
.
add
(
fragment
);
list_title
.
add
(
title
);
}
public
TabAdapter
(
FragmentManager
fm
)
{
super
(
fm
);
}
public
void
addFragment
(
Fragment
fragment
,
String
title
)
{
list_fragment
.
add
(
fragment
);
list_title
.
add
(
title
);
}
@Override
public
CharSequence
getPageTitle
(
int
position
)
{
return
list_title
.
get
(
position
);
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/TrainingBlogAdapter.java
View file @
a4a07ae2
...
...
@@ -8,7 +8,6 @@ import android.view.ViewGroup;
import
android.widget.TextView
;
import
java.text.DateFormat
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Date
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/adapter/UserAdapter.java
View file @
a4a07ae2
...
...
@@ -14,8 +14,6 @@ import java.util.List;
import
in.ac.iitb.gymkhana.iitbapp.ItemClickListener
;
import
in.ac.iitb.gymkhana.iitbapp.R
;
import
in.ac.iitb.gymkhana.iitbapp.data.Body
;
import
in.ac.iitb.gymkhana.iitbapp.data.Role
;
import
in.ac.iitb.gymkhana.iitbapp.data.User
;
public
class
UserAdapter
extends
RecyclerView
.
Adapter
<
UserAdapter
.
ViewHolder
>
{
...
...
@@ -23,7 +21,8 @@ public class UserAdapter extends RecyclerView.Adapter<UserAdapter.ViewHolder> {
private
List
<
User
>
userList
;
private
ItemClickListener
itemClickListener
;
private
Context
context
;
public
UserAdapter
(
List
<
User
>
userList
,
ItemClickListener
itemClickListener
){
public
UserAdapter
(
List
<
User
>
userList
,
ItemClickListener
itemClickListener
)
{
this
.
userList
=
userList
;
this
.
itemClickListener
=
itemClickListener
;
}
...
...
@@ -32,13 +31,13 @@ public class UserAdapter extends RecyclerView.Adapter<UserAdapter.ViewHolder> {
public
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
context
=
parent
.
getContext
();
View
v
=
LayoutInflater
.
from
(
context
)
.
inflate
(
R
.
layout
.
role_card
,
parent
,
false
);
.
inflate
(
R
.
layout
.
role_card
,
parent
,
false
);
final
ViewHolder
postViewHolder
=
new
ViewHolder
(
v
);
v
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
itemClickListener
.
onItemClick
(
view
,
postViewHolder
.
getAdapterPosition
());
itemClickListener
.
onItemClick
(
view
,
postViewHolder
.
getAdapterPosition
());
}
});
...
...
@@ -56,10 +55,10 @@ public class UserAdapter extends RecyclerView.Adapter<UserAdapter.ViewHolder> {
@Override
public
int
getItemCount
()
{
return
userList
.
size
();
return
userList
.
size
();
}
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
TextView
userName
;
public
TextView
role
;
public
ImageView
image
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/RetrofitInterface.java
View file @
a4a07ae2
package
in.ac.iitb.gymkhana.iitbapp.api
;
import
java.sql.Timestamp
;
import
java.util.Date
;
import
java.util.List
;
import
in.ac.iitb.gymkhana.iitbapp.api.model.EventCreateRequest
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/api/UnsafeOkHttpClient.java
View file @
a4a07ae2
...
...
@@ -18,7 +18,7 @@ public class UnsafeOkHttpClient {
public
static
OkHttpClient
getUnsafeOkHttpClient
(
Context
context
)
{
try
{
// Create a trust manager that does not validate certificate chains
final
TrustManager
[]
trustAllCerts
=
new
TrustManager
[]
{
final
TrustManager
[]
trustAllCerts
=
new
TrustManager
[]{
new
X509TrustManager
()
{
@Override
public
void
checkClientTrusted
(
java
.
security
.
cert
.
X509Certificate
[]
chain
,
String
authType
)
throws
CertificateException
{
...
...
@@ -45,7 +45,7 @@ public class UnsafeOkHttpClient {
OkHttpClient
.
Builder
builder
=
new
OkHttpClient
.
Builder
();
Cache
cache
=
new
Cache
(
context
.
getCacheDir
(),
200000000
);
builder
.
cache
(
cache
);
builder
.
sslSocketFactory
(
sslSocketFactory
,
(
X509TrustManager
)
trustAllCerts
[
0
]);
builder
.
sslSocketFactory
(
sslSocketFactory
,
(
X509TrustManager
)
trustAllCerts
[
0
]);
builder
.
hostnameVerifier
(
new
HostnameVerifier
()
{
@Override
public
boolean
verify
(
String
hostname
,
SSLSession
session
)
{
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/Role.java
View file @
a4a07ae2
...
...
@@ -6,7 +6,6 @@ import android.arch.persistence.room.PrimaryKey;
import
com.google.gson.annotations.SerializedName
;
import
java.util.List
;
@Entity
(
tableName
=
"roles"
)
...
...
@@ -17,40 +16,40 @@ public class Role {
@PrimaryKey
(
autoGenerate
=
true
)
int
db_id
;
@ColumnInfo
(
name
=
"id"
)
@ColumnInfo
(
name
=
"id"
)
@SerializedName
(
"id"
)
String
roleID
;
@ColumnInfo
(
name
=
"name"
)
@ColumnInfo
(
name
=
"name"
)
@SerializedName
(
"name"
)
String
roleName
;
@ColumnInfo
(
name
=
"inheritable"
)
@ColumnInfo
(
name
=
"inheritable"
)
@SerializedName
(
"inheritable"
)
boolean
roleInheritable
;
@ColumnInfo
(
name
=
"body"
)
@ColumnInfo
(
name
=
"body"
)
@SerializedName
(
"body"
)
String
roleBody
;
@ColumnInfo
(
name
=
"body_detail"
)
@ColumnInfo
(
name
=
"body_detail"
)
@SerializedName
(
"body_detail"
)
Body
roleBodyDetails
;
@ColumnInfo
(
name
=
"bodies"
)
@ColumnInfo
(
name
=
"bodies"
)
@SerializedName
(
"bodies"
)
List
<
Body
>
roleBodies
;
@ColumnInfo
(
name
=
"permissions"
)
@ColumnInfo
(
name
=
"permissions"
)
@SerializedName
(
"permissions"
)
List
<
String
>
rolePermissions
;
@ColumnInfo
(
name
=
"users"
)
@ColumnInfo
(
name
=
"users"
)
@SerializedName
(
"users"
)
List
<
String
>
roleUsers
;
@ColumnInfo
(
name
=
"users_detail"
)
@ColumnInfo
(
name
=
"users_detail"
)
@SerializedName
(
"users_detail"
)
List
<
User
>
roleUsersDetail
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/data/User.java
View file @
a4a07ae2
...
...
@@ -4,7 +4,6 @@ import android.arch.persistence.room.ColumnInfo;
import
android.arch.persistence.room.Entity
;
import
android.arch.persistence.room.Ignore
;
import
android.arch.persistence.room.PrimaryKey
;
import
android.util.Log
;
import
com.google.gson.Gson
;
import
com.google.gson.annotations.SerializedName
;
...
...
@@ -51,10 +50,10 @@ public class User {
List
<
String
>
userFollowedBodiesID
;
@ColumnInfo
(
name
=
"roles"
)
@SerializedName
(
"roles"
)
List
<
Role
>
userRoles
;
@ColumnInfo
(
name
=
"institute_roles"
)
List
<
Role
>
userRoles
;
@ColumnInfo
(
name
=
"institute_roles"
)
@SerializedName
(
"institute_roles"
)
List
<
Role
>
userInstituteRoles
;
List
<
Role
>
userInstituteRoles
;
@ColumnInfo
(
name
=
"website_url"
)
@SerializedName
(
"website_url"
)
String
userWebsiteURL
;
...
...
@@ -65,7 +64,9 @@ public class User {
@SerializedName
(
"hostel"
)
String
hostel
;
/** Not in database */
/**
* Not in database
*/
@Ignore
String
currentRole
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/AddEventFragment.java
View file @
a4a07ae2
...
...
@@ -6,19 +6,14 @@ import android.app.ProgressDialog;
import
android.app.TimePickerDialog
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
import
android.database.Cursor
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.provider.MediaStore
;
import
android.support.v4.app.ActivityCompat
;
import
android.support.v4.content.ContextCompat
;
import
android.support.v4.widget.ImageViewCompat
;
import
android.util.Base64
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.PixelCopy
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Button
;
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/BodyFragment.java
View file @
a4a07ae2
...
...
@@ -7,10 +7,9 @@ import android.os.AsyncTask;
import
android.os.Bundle
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.FragmentTransaction
;
import
android.support.v4.widget.SwipeRefreshLayout
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v4.widget.SwipeRefreshLayout
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -56,9 +55,8 @@ public class BodyFragment extends Fragment {
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private
AppDatabase
appDatabase
;
String
TAG
=
"BodyFragment"
;
private
AppDatabase
appDatabase
;
// TODO: Rename and change types of parameters
private
Body
min_body
;
private
SwipeRefreshLayout
bodySwipeRefreshLayout
;
...
...
@@ -100,7 +98,7 @@ public class BodyFragment extends Fragment {
appDatabase
=
AppDatabase
.
getAppDatabase
(
getContext
());
displayBody
(
min_body
);
new
getDbBody
().
execute
(
min_body
.
getBodyID
());
bodySwipeRefreshLayout
=
getActivity
().
findViewById
(
R
.
id
.
body_swipe_refresh_layout
);
bodySwipeRefreshLayout
=
getActivity
().
findViewById
(
R
.
id
.
body_swipe_refresh_layout
);
bodySwipeRefreshLayout
.
setOnRefreshListener
(
new
SwipeRefreshLayout
.
OnRefreshListener
()
{
@Override
public
void
onRefresh
()
{
...
...
@@ -111,7 +109,7 @@ public class BodyFragment extends Fragment {
private
void
updateBody
()
{
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
getBody
(((
MainActivity
)
getActivity
()).
getSessionIDHeader
(),
min_body
.
getBodyID
()).
enqueue
(
new
Callback
<
Body
>()
{
retrofitInterface
.
getBody
(((
MainActivity
)
getActivity
()).
getSessionIDHeader
(),
min_body
.
getBodyID
()).
enqueue
(
new
Callback
<
Body
>()
{
@Override
public
void
onResponse
(
Call
<
Body
>
call
,
Response
<
Body
>
response
)
{
if
(
response
.
isSuccessful
())
{
...
...
@@ -159,7 +157,7 @@ public class BodyFragment extends Fragment {
@Override
public
void
onClick
(
View
view
)
{
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
updateBodyFollowing
(((
MainActivity
)
getActivity
()).
getSessionIDHeader
(),
body
.
getBodyID
(),
body
.
getBodyUserFollows
()
?
0
:
1
).
enqueue
(
new
Callback
<
Void
>()
{
retrofitInterface
.
updateBodyFollowing
(((
MainActivity
)
getActivity
()).
getSessionIDHeader
(),
body
.
getBodyID
(),
body
.
getBodyUserFollows
()
?
0
:
1
).
enqueue
(
new
Callback
<
Void
>()
{
@Override
public
void
onResponse
(
Call
<
Void
>
call
,
Response
<
Void
>
response
)
{
if
(
response
.
isSuccessful
())
{
...
...
@@ -178,11 +176,11 @@ public class BodyFragment extends Fragment {
});
/* Initialize web button */
if
(
body
.
getBodyWebsiteURL
()
!=
null
&&
!
body
.
getBodyWebsiteURL
().
isEmpty
())
{
if
(
body
.
getBodyWebsiteURL
()
!=
null
&&
!
body
.
getBodyWebsiteURL
().
isEmpty
())
{
webBodyButton
.
setVisibility
(
View
.
VISIBLE
);
webBodyButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
String
bodywebURL
=
body
.
getBodyWebsiteURL
();
@Override
public
void
onClick
(
View
view
)
{
Intent
browserIntent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
Uri
.
parse
(
bodywebURL
));
...
...
@@ -194,6 +192,7 @@ public class BodyFragment extends Fragment {
/* Initialize share button */
shareBodyButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
String
shareUrl
=
ShareURLMaker
.
getBodyURL
(
body
);
@Override
public
void
onClick
(
View
view
)
{
Intent
i
=
new
Intent
(
Intent
.
ACTION_SEND
);
...
...
@@ -230,7 +229,7 @@ public class BodyFragment extends Fragment {
final
List
<
User
>
users
=
new
ArrayList
();
for
(
Role
role
:
roles
)
{
if
(
role
.
getRoleUsersDetail
()
!=
null
)
{
for
(
User
user:
role
.
getRoleUsersDetail
())
{
for
(
User
user
:
role
.
getRoleUsersDetail
())
{
user
.
setCurrentRole
(
role
.
getRoleName
());
users
.
add
(
user
);
}
...
...
@@ -280,7 +279,9 @@ public class BodyFragment extends Fragment {
childrenRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
}
/** Open body fragment for a body */
/**
* Open body fragment for a body
*/
private
void
openBody
(
Body
body
)
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
Constants
.
BODY_JSON
,
new
Gson
().
toJson
(
body
));
...
...
@@ -293,6 +294,13 @@ public class BodyFragment extends Fragment {
ft
.
commit
();
}
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
// Inflate the layout for this fragment
return
inflater
.
inflate
(
R
.
layout
.
fragment_body
,
container
,
false
);
}
private
class
updateDbBody
extends
AsyncTask
<
Body
,
Void
,
Integer
>
{
@Override
protected
Integer
doInBackground
(
Body
...
body
)
{
...
...
@@ -325,11 +333,4 @@ public class BodyFragment extends Fragment {
}
}
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
// Inflate the layout for this fragment
return
inflater
.
inflate
(
R
.
layout
.
fragment_body
,
container
,
false
);
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/BodyRecyclerViewFragment.java
View file @
a4a07ae2
...
...
@@ -55,7 +55,8 @@ public class BodyRecyclerViewFragment extends Fragment {
super
.
onCreate
(
savedInstanceState
);
if
(
getArguments
()
!=
null
)
{
bodyList
=
new
Gson
().
fromJson
(
getArguments
().
getString
(
Constants
.
BODY_LIST_JSON
),
new
TypeToken
<
List
<
Body
>>(){}.
getType
());
),
new
TypeToken
<
List
<
Body
>>()
{
}.
getType
());
}
}
...
...
@@ -69,8 +70,8 @@ public class BodyRecyclerViewFragment extends Fragment {
public
void
onItemClick
(
View
v
,
int
position
)
{
Body
body
=
bodyList
.
get
(
position
);
BodyFragment
bodyFragment
=
new
BodyFragment
();
Bundle
arguments
=
getArguments
();
arguments
.
putString
(
Constants
.
BODY_JSON
,
new
Gson
().
toJson
(
body
));
Bundle
arguments
=
getArguments
();
arguments
.
putString
(
Constants
.
BODY_JSON
,
new
Gson
().
toJson
(
body
));
bodyFragment
.
setArguments
(
getArguments
());
FragmentTransaction
ft
=
getActivity
().
getSupportFragmentManager
().
beginTransaction
();
ft
.
replace
(
R
.
id
.
framelayout_for_fragment
,
bodyFragment
,
bodyFragment
.
getTag
());
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/CalendarFragment.java
View file @
a4a07ae2
...
...
@@ -109,7 +109,7 @@ public class CalendarFragment extends BaseFragment {
final
String
oneMonthOn
=
isoFormatter
.
format
(
oneMonthOnDate
).
toString
();
RetrofitInterface
retrofitInterface
=
ServiceGenerator
.
createService
(
RetrofitInterface
.
class
);
retrofitInterface
.
getEventsBetweenDates
(((
MainActivity
)
getActivity
()).
getSessionIDHeader
(),
oneMonthBack
,
oneMonthOn
).
enqueue
(
new
Callback
<
NewsFeedResponse
>()
{
retrofitInterface
.
getEventsBetweenDates
(((
MainActivity
)
getActivity
()).
getSessionIDHeader
(),
oneMonthBack
,
oneMonthOn
).
enqueue
(
new
Callback
<
NewsFeedResponse
>()
{
@Override
public
void
onResponse
(
Call
<
NewsFeedResponse
>
call
,
Response
<
NewsFeedResponse
>
response
)
{
if
(
response
.
isSuccessful
())
{
...
...
@@ -136,7 +136,7 @@ public class CalendarFragment extends BaseFragment {
private
void
showEventsForDate
(
Date
date
)
{
final
List
<
Event
>
filteredEvents
=
new
ArrayList
<
Event
>();
for
(
Event
event
:
events
)
{
for
(
Event
event
:
events
)
{
Date
nextDay
=
new
Date
(
date
.
getTime
()
+
(
1000
*
60
*
60
*
24
));
Timestamp
start
=
event
.
getEventStartTime
();
if
(
start
.
after
(
date
)
&&
start
.
before
(
nextDay
))
{
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/EventFragment.java
View file @
a4a07ae2
...
...
@@ -55,8 +55,8 @@ public class EventFragment extends BaseFragment {
ImageButton
webEventButton
;
ImageButton
shareEventButton
;
RecyclerView
bodyRecyclerView
;
private
AppDatabase
appDatabase
;
String
TAG
=
"EventFragment"
;
private
AppDatabase
appDatabase
;
public
EventFragment
()
{
// Required empty public constructor
...
...
@@ -112,22 +112,22 @@ public class EventFragment extends BaseFragment {
eventVenueName
.
append
(
", "
).
append
(
venue
.
getVenueShortName
());
}
final
List
<
Body
>
bodyList
=
event
.
getEventBodies
();
bodyRecyclerView
=
(
RecyclerView
)
getActivity
().
findViewById
(
R
.
id
.
body_card_recycler_view
);
BodyAdapter
bodyAdapter
=
new
BodyAdapter
(
bodyList
,
new
ItemClickListener
()
{
@Override
public
void
onItemClick
(
View
v
,
int
position
)
{
Body
body
=
bodyList
.
get
(
position
);
BodyFragment
bodyFragment
=
BodyFragment
.
newInstance
(
body
);
FragmentTransaction
ft
=
getActivity
().
getSupportFragmentManager
().
beginTransaction
();
ft
.
setCustomAnimations
(
R
.
anim
.
slide_in_left
,
R
.
anim
.
slide_out_left
,
R
.
anim
.
slide_in_right
,
R
.
anim
.
slide_out_right
);
ft
.
replace
(
R
.
id
.
framelayout_for_fragment
,
bodyFragment
,
bodyFragment
.
getTag
());
ft
.
addToBackStack
(
bodyFragment
.
getTag
());
ft
.
commit
();
}
});
bodyRecyclerView
.
setAdapter
(
bodyAdapter
);
bodyRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
final
List
<
Body
>
bodyList
=
event
.
getEventBodies
();
bodyRecyclerView
=
(
RecyclerView
)
getActivity
().
findViewById
(
R
.
id
.
body_card_recycler_view
);
BodyAdapter
bodyAdapter
=
new
BodyAdapter
(
bodyList
,
new
ItemClickListener
()
{
@Override
public
void
onItemClick
(
View
v
,
int
position
)
{
Body
body
=
bodyList
.
get
(
position
);
BodyFragment
bodyFragment
=
BodyFragment
.
newInstance
(
body
);
FragmentTransaction
ft
=
getActivity
().
getSupportFragmentManager
().
beginTransaction
();
ft
.
setCustomAnimations
(
R
.
anim
.
slide_in_left
,
R
.
anim
.
slide_out_left
,
R
.
anim
.
slide_in_right
,
R
.
anim
.
slide_out_right
);
ft
.
replace
(
R
.
id
.
framelayout_for_fragment
,
bodyFragment
,
bodyFragment
.
getTag
());
ft
.
addToBackStack
(
bodyFragment
.
getTag
());
ft
.
commit
();
}
});
bodyRecyclerView
.
setAdapter
(
bodyAdapter
);
bodyRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
if
(!
eventVenueName
.
toString
().
equals
(
""
))
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/EventRecyclerViewFragment.java
View file @
a4a07ae2
...
...
@@ -53,7 +53,8 @@ public class EventRecyclerViewFragment extends Fragment {
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
if
(
getArguments
()
!=
null
)
{
eventList
=
new
Gson
().
fromJson
(
getArguments
().
getString
(
Constants
.
EVENT_LIST_JSON
),
new
TypeToken
<
List
<
Event
>>(){}.
getType
());
eventList
=
new
Gson
().
fromJson
(
getArguments
().
getString
(
Constants
.
EVENT_LIST_JSON
),
new
TypeToken
<
List
<
Event
>>()
{
}.
getType
());
}
}
...
...
@@ -67,8 +68,8 @@ public class EventRecyclerViewFragment extends Fragment {
public
void
onItemClick
(
View
v
,
int
position
)
{
Event
event
=
eventList
.
get
(
position
);
EventFragment
eventFragment
=
new
EventFragment
();
Bundle
arguments
=
getArguments
();
arguments
.
putString
(
Constants
.
EVENT_JSON
,
new
Gson
().
toJson
(
event
));
Bundle
arguments
=
getArguments
();
arguments
.
putString
(
Constants
.
EVENT_JSON
,
new
Gson
().
toJson
(
event
));
eventFragment
.
setArguments
(
getArguments
());
FragmentTransaction
ft
=
getActivity
().
getSupportFragmentManager
().
beginTransaction
();
ft
.
replace
(
R
.
id
.
framelayout_for_fragment
,
eventFragment
,
eventFragment
.
getTag
());
...
...
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/FeedFragment.java
View file @
a4a07ae2
...
...
@@ -14,7 +14,6 @@ import android.support.v7.widget.RecyclerView;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Toast
;
import
com.google.gson.Gson
;
...
...
@@ -115,25 +114,6 @@ public class FeedFragment extends BaseFragment {
});
}
private
class
updateDatabase
extends
AsyncTask
<
List
<
Event
>,
Void
,
Integer
>
{
@Override
protected
Integer
doInBackground
(
List
<
Event
>...
events
)
{
appDatabase
.
dbDao
().
deleteEvents
();
appDatabase
.
dbDao
().
insertEvents
(
events
[
0
]);
return
1
;
}
}
private
class
showEventsFromDB
extends
AsyncTask
<
String
,
Void
,
List
<
Event
>>
{
@Override
protected
List
<
Event
>
doInBackground
(
String
...
events
)
{
return
appDatabase
.
dbDao
().
getAllEvents
();
}
protected
void
onPostExecute
(
List
<
Event
>
result
)
{
displayEvents
(
result
);
}
}
private
void
displayEvents
(
final
List
<
Event
>
events
)
{
final
FeedAdapter
feedAdapter
=
new
FeedAdapter
(
events
,
new
ItemClickListener
()
{
@Override
...
...
@@ -165,4 +145,24 @@ public class FeedFragment extends BaseFragment {
}
});
}
private
class
updateDatabase
extends
AsyncTask
<
List
<
Event
>,
Void
,
Integer
>
{
@Override
protected
Integer
doInBackground
(
List
<
Event
>...
events
)
{
appDatabase
.
dbDao
().
deleteEvents
();
appDatabase
.
dbDao
().
insertEvents
(
events
[
0
]);
return
1
;
}
}
private
class
showEventsFromDB
extends
AsyncTask
<
String
,
Void
,
List
<
Event
>>
{
@Override
protected
List
<
Event
>
doInBackground
(
String
...
events
)
{
return
appDatabase
.
dbDao
().
getAllEvents
();
}
protected
void
onPostExecute
(
List
<
Event
>
result
)
{
displayEvents
(
result
);
}
}
}
app/src/main/java/in/ac/iitb/gymkhana/iitbapp/fragment/ProfileFragment.java
View file @
a4a07ae2
...
...
@@ -109,7 +109,7 @@ public class ProfileFragment extends BaseFragment {
BodyRecyclerViewFragment
frag1
=
BodyRecyclerViewFragment
.
newInstance
(
bodyList
);
EventRecyclerViewFragment
frag2
=
EventRecyclerViewFragment
.
newInstance
(
eventList
);
TabAdapter
tabAdapter
=
new
TabAdapter
(
getChildFragmentManager
());
tabAdapter
.
addFragment
(
frag1
,
"Following"
);
tabAdapter
.
addFragment
(
frag1
,
"Following"
);
tabAdapter
.
addFragment
(
frag2
,
"Events"
);
// Set up the ViewPager with the sections adapter.
ViewPager
viewPager
=
(
ViewPager
)
getActivity
().
findViewById
(
R
.
id
.
viewPager
);
...
...
app/src/main/res/anim/slide_in_left.xml
View file @
a4a07ae2
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:duration=
"400"
android:propertyName=
"x"
android:valueType=
"floatType"
android:valueFrom=
"1280"
android:valueTo=
"0"
android:
duration=
"400"
/>
android:
valueType=
"floatType"
/>
</set>
\ No newline at end of file
app/src/main/res/anim/slide_in_right.xml
View file @
a4a07ae2
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:duration=
"400"
android:propertyName=
"x"
android:valueType=
"floatType"
android:valueFrom=
"-1280"
android:valueTo=
"0"
android:
duration=
"400"
/>
android:
valueType=
"floatType"
/>
</set>
\ No newline at end of file
app/src/main/res/anim/slide_out_left.xml
View file @
a4a07ae2
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:duration=
"400"
android:propertyName=
"x"
android:valueType=
"floatType"
android:valueFrom=
"0"
android:valueTo=
"-1280"
android:
duration=
"400"
/>
android:
valueType=
"floatType"
/>
</set>
\ No newline at end of file
app/src/main/res/anim/slide_out_right.xml
View file @
a4a07ae2
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:duration=
"400"
android:propertyName=
"x"
android:valueType=
"floatType"
android:valueFrom=
"0"
android:valueTo=
"1280"
android:
duration=
"400"
/>
android:
valueType=
"floatType"
/>
</set>
\ No newline at end of file
app/src/main/res/drawable/baseline_navigation_24.xml
View file @
a4a07ae2
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"24dp"
android:height=
"24dp"
android:viewportWidth=
"24.0
"
android:viewportHeight=
"24.0"
android:tint=
"?attr/colorControlNormal
"
>
android:width=
"24dp"
android:height=
"24dp"
android:tint=
"?attr/colorControlNormal
"
android:viewportHeight=
"24.0"
android:viewportWidth=
"24.0
"
>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M12,2L4.5,20.29l0.71,0.71L12,18l6.79,3 0.71,-0.71z"
/>
android:pathData=
"M12,2L4.5,20.29l0.71,0.71L12,18l6.79,3 0.71,-0.71z"
/>
</vector>
app/src/main/res/drawable/baseline_rss_feed_24.xml
View file @
a4a07ae2
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"24dp"
android:height=
"24dp"
android:viewportWidth=
"24.0
"
android:viewportHeight=
"24.0"
android:tint=
"?attr/colorControlNormal
"
>
android:width=
"24dp"
android:height=
"24dp"
android:tint=
"?attr/colorControlNormal
"
android:viewportHeight=
"24.0"
android:viewportWidth=
"24.0
"
>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M6.18,17.82m-2.18,0a2.18,2.18 0,1 1,4.36 0a2.18,2.18 0,1 1,-4.36 0"
/>
android:pathData=
"M6.18,17.82m-2.18,0a2.18,2.18 0,1 1,4.36 0a2.18,2.18 0,1 1,-4.36 0"
/>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M4,4.44v2.83c7.03,0 12.73,5.7 12.73,12.73h2.83c0,-8.59 -6.97,-15.56 -15.56,-15.56zM4,10.1v2.83c3.9,0 7.07,3.17 7.07,7.07h2.83c0,-5.47 -4.43,-9.9 -9.9,-9.9z"
/>
android:pathData=
"M4,4.44v2.83c7.03,0 12.73,5.7 12.73,12.73h2.83c0,-8.59 -6.97,-15.56 -15.56,-15.56zM4,10.1v2.83c3.9,0 7.07,3.17 7.07,7.07h2.83c0,-5.47 -4.43,-9.9 -9.9,-9.9z"
/>
</vector>
app/src/main/res/drawable/ic_language_black_24dp.xml
View file @
a4a07ae2
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"24dp"
android:height=
"24dp"
android:viewportWidth
=
"24.0"
android:viewportHeight
=
"24.0"
>
android:width=
"24dp"
android:height=
"24dp"
android:viewportHeight
=
"24.0"
android:viewportWidth
=
"24.0"
>
<path
android:fillColor=
"#FF000000"
android:pathData=
"M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM18.92,8h-2.95c-0.32,-1.25 -0.78,-2.45 -1.38,-3.56 1.84,0.63 3.37,1.91 4.33,3.56zM12,4.04c0.83,1.2 1.48,2.53 1.91,3.96h-3.82c0.43,-1.43 1.08,-2.76 1.91,-3.96zM4.26,14C4.1,13.36 4,12.69 4,12s0.1,-1.36 0.26,-2h3.38c-0.08,0.66 -0.14,1.32 -0.14,2 0,0.68 0.06,1.34 0.14,2L4.26,14zM5.08,16h2.95c0.32,1.25 0.78,2.45 1.38,3.56 -1.84,-0.63 -3.37,-1.9 -4.33,-3.56zM8.03,8L5.08,8c0.96,-1.66 2.49,-2.93 4.33,-3.56C8.81,5.55 8.35,6.75 8.03,8zM12,19.96c-0.83,-1.2 -1.48,-2.53 -1.91,-3.96h3.82c-0.43,1.43 -1.08,2.76 -1.91,3.96zM14.34,14L9.66,14c-0.09,-0.66 -0.16,-1.32 -0.16,-2 0,-0.68 0.07,-1.35 0.16,-2h4.68c0.09,0.65 0.16,1.32 0.16,2 0,0.68 -0.07,1.34 -0.16,2zM14.59,19.56c0.6,-1.11 1.06,-2.31 1.38,-3.56h2.95c-0.96,1.65 -2.49,2.93 -4.33,3.56zM16.36,14c0.08,-0.66 0.14,-1.32 0.14,-2 0,-0.68 -0.06,-1.34 -0.14,-2h3.38c0.16,0.64 0.26,1.31 0.26,2s-0.1,1.36 -0.26,2h-3.38z"
/>
android:pathData=
"M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM18.92,8h-2.95c-0.32,-1.25 -0.78,-2.45 -1.38,-3.56 1.84,0.63 3.37,1.91 4.33,3.56zM12,4.04c0.83,1.2 1.48,2.53 1.91,3.96h-3.82c0.43,-1.43 1.08,-2.76 1.91,-3.96zM4.26,14C4.1,13.36 4,12.69 4,12s0.1,-1.36 0.26,-2h3.38c-0.08,0.66 -0.14,1.32 -0.14,2 0,0.68 0.06,1.34 0.14,2L4.26,14zM5.08,16h2.95c0.32,1.25 0.78,2.45 1.38,3.56 -1.84,-0.63 -3.37,-1.9 -4.33,-3.56zM8.03,8L5.08,8c0.96,-1.66 2.49,-2.93 4.33,-3.56C8.81,5.55 8.35,6.75 8.03,8zM12,19.96c-0.83,-1.2 -1.48,-2.53 -1.91,-3.96h3.82c-0.43,1.43 -1.08,2.76 -1.91,3.96zM14.34,14L9.66,14c-0.09,-0.66 -0.16,-1.32 -0.16,-2 0,-0.68 0.07,-1.35 0.16,-2h4.68c0.09,0.65 0.16,1.32 0.16,2 0,0.68 -0.07,1.34 -0.16,2zM14.59,19.56c0.6,-1.11 1.06,-2.31 1.38,-3.56h2.95c-0.96,1.65 -2.49,2.93 -4.33,3.56zM16.36,14c0.08,-0.66 0.14,-1.32 0.14,-2 0,-0.68 -0.06,-1.34 -0.14,-2h3.38c0.16,0.64 0.26,1.31 0.26,2s-0.1,1.36 -0.26,2h-3.38z"
/>
</vector>
app/src/main/res/layout/blog_post_card.xml
View file @
a4a07ae2
...
...
@@ -20,9 +20,9 @@
android:id=
"@+id/post_title"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:fontFamily=
"sans-serif-light"
android:textColor=
"#000000"
android:textSize=
"22sp"
android:fontFamily=
"sans-serif-light"
/>
android:textSize=
"22sp"
/>
<TextView
android:id=
"@+id/post_published"
...
...
app/src/main/res/layout/fragment_body.xml
View file @
a4a07ae2
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/fragment_calendar.xml
View file @
a4a07ae2
<RelativeLayout
android:layout_width=
"match_parent
"
android:layout_
height
=
"match_parent"
xmlns:android=
"http://schemas.android.com/apk/res/android
"
>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android
"
android:layout_
width
=
"match_parent"
android:layout_height=
"match_parent
"
>
<android.support.v4.widget.NestedScrollView
android:layout_width=
"match_parent"
<android.support.v4.widget.NestedScrollView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
...
...
@@ -10,8 +11,8 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"#fafafa"
android:
theme=
"@style/CalendarTheme
"
android:
orientation=
"vertical
"
>
android:
orientation=
"vertical
"
android:
theme=
"@style/CalendarTheme
"
>
<RelativeLayout
android:layout_width=
"wrap_content"
...
...
@@ -47,7 +48,7 @@
android:background=
"@drawable/round_text_box"
android:gravity=
"center"
android:text=
"# Events Today"
android:textColor=
"@color/secondaryTextColor"
/>
android:textColor=
"@color/secondaryTextColor"
/>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
...
...
app/src/main/res/layout/fragment_event.xml
View file @
a4a07ae2
...
...
@@ -22,7 +22,7 @@
android:layout_height=
"0dp"
android:layout_weight=
"1"
android:adjustViewBounds=
"true"
android:scaleType=
"fitCenter"
/>
android:scaleType=
"fitCenter"
/>
<android.support.v7.widget.CardView
android:layout_width=
"match_parent"
...
...
@@ -53,39 +53,39 @@
android:text=
"Event Title"
android:textColor=
"#fff"
android:textSize=
"21sp"
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
<ImageButton
android:id=
"@+id/web_event_button"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"8dp"
android:background=
"?attr/selectableItemBackgroundBorderless"
android:contentDescription=
"Event Website"
android:layout_marginStart=
"8dp"
app:srcCompat=
"@drawable/ic_language_black_24dp"
android:tint=
"@color/colorWhite"
android:visibility=
"invisible"
/>
android:visibility=
"invisible"
app:srcCompat=
"@drawable/ic_language_black_24dp"
/>
<ImageButton
android:id=
"@+id/navigate_button"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"8dp"
android:background=
"?attr/selectableItemBackgroundBorderless"
android:contentDescription=
"Navigate"
android:layout_marginStart=
"8dp"
app:srcCompat=
"@drawable/baseline_navigation_24"
android:tint=
"@color/colorWhite"
/>
android:tint=
"@color/colorWhite"
app:srcCompat=
"@drawable/baseline_navigation_24"
/>
<ImageButton
android:id=
"@+id/share_event_button"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"8dp"
android:background=
"?attr/selectableItemBackgroundBorderless"
android:contentDescription=
"Share Event"
android:layout_marginStart=
"8dp"
android:src=
"@drawable/ic_menu_share"
android:tint=
"@color/colorWhite"
/>
</LinearLayout>
...
...
@@ -189,10 +189,10 @@
android:id=
"@+id/event_page_description"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"16dp"
android:layout_marginEnd=
"10dp"
android:layout_marginStart=
"10dp"
android:layout_marginTop=
"12dp"
android:layout_marginBottom=
"16dp"
android:textColor=
"#777"
android:textSize=
"16sp"
/>
...
...
app/src/main/res/layout/fragment_event_recycler_view.xml
View file @
a4a07ae2
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/event_recycler_view"
...
...
app/src/main/res/layout/fragment_mess_menu.xml
View file @
a4a07ae2
...
...
@@ -10,9 +10,9 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/colorPrimary"
android:
theme=
"@style/AppTheme
"
android:
paddingBottom=
"12dp
"
android:paddingLeft=
"16dp"
android:
paddingBottom=
"12dp"
/>
android:
theme=
"@style/AppTheme"
/>
<android.support.v4.widget.SwipeRefreshLayout
android:id=
"@+id/mess_menu_swipe_refresh_layout"
...
...
app/src/main/res/layout/news_article_card.xml
View file @
a4a07ae2
...
...
@@ -33,23 +33,23 @@
android:id=
"@+id/article_body"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:fontFamily=
"sans-serif-light"
android:textColor=
"#000000"
android:textSize=
"17sp"
android:fontFamily=
"sans-serif-light"
/>
android:textSize=
"17sp"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:fontFamily=
"sans-serif-light"
android:text=
" | "
android:textSize=
"17sp"
android:fontFamily=
"sans-serif-light"
/>
android:textSize=
"17sp"
/>
<TextView
android:id=
"@+id/article_published"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:
textSize=
"17sp
"
android:
fontFamily=
"sans-serif-light
"
/>
android:
fontFamily=
"sans-serif-light
"
android:
textSize=
"17sp
"
/>
</LinearLayout>
<TextView
...
...
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