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
4c582a05
Commit
4c582a05
authored
Jul 21, 2019
by
Varun Patil
Committed by
GitHub
Jul 21, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #288 from wncc/ach
Achievements tab
parents
56844f19
fdcc8f9a
Changes
69
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
69 changed files
with
1028 additions
and
240 deletions
+1028
-240
app/build.gradle
app/build.gradle
+6
-3
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+6
-0
app/src/main/java/app/insti/Constants.java
app/src/main/java/app/insti/Constants.java
+11
-0
app/src/main/java/app/insti/InstiAppFirebaseMessagingService.java
...main/java/app/insti/InstiAppFirebaseMessagingService.java
+1
-0
app/src/main/java/app/insti/Utils.java
app/src/main/java/app/insti/Utils.java
+10
-9
app/src/main/java/app/insti/activity/LoginActivity.java
app/src/main/java/app/insti/activity/LoginActivity.java
+2
-1
app/src/main/java/app/insti/activity/MainActivity.java
app/src/main/java/app/insti/activity/MainActivity.java
+20
-11
app/src/main/java/app/insti/adapter/AboutAdapter.java
app/src/main/java/app/insti/adapter/AboutAdapter.java
+2
-1
app/src/main/java/app/insti/adapter/BodyAdapter.java
app/src/main/java/app/insti/adapter/BodyAdapter.java
+2
-1
app/src/main/java/app/insti/adapter/CardAdapter.java
app/src/main/java/app/insti/adapter/CardAdapter.java
+6
-5
app/src/main/java/app/insti/adapter/CommentsAdapter.java
app/src/main/java/app/insti/adapter/CommentsAdapter.java
+5
-4
app/src/main/java/app/insti/adapter/ComplaintsAdapter.java
app/src/main/java/app/insti/adapter/ComplaintsAdapter.java
+7
-6
app/src/main/java/app/insti/adapter/FeedAdapter.java
app/src/main/java/app/insti/adapter/FeedAdapter.java
+2
-1
app/src/main/java/app/insti/adapter/GenericAdapter.java
app/src/main/java/app/insti/adapter/GenericAdapter.java
+27
-1
app/src/main/java/app/insti/adapter/ImageViewPagerAdapter.java
...rc/main/java/app/insti/adapter/ImageViewPagerAdapter.java
+3
-2
app/src/main/java/app/insti/adapter/MessMenuAdapter.java
app/src/main/java/app/insti/adapter/MessMenuAdapter.java
+3
-2
app/src/main/java/app/insti/adapter/NewsAdapter.java
app/src/main/java/app/insti/adapter/NewsAdapter.java
+3
-2
app/src/main/java/app/insti/adapter/PlacementBlogAdapter.java
...src/main/java/app/insti/adapter/PlacementBlogAdapter.java
+2
-1
app/src/main/java/app/insti/adapter/RoleAdapter.java
app/src/main/java/app/insti/adapter/RoleAdapter.java
+2
-1
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
+2
-1
app/src/main/java/app/insti/adapter/UserAdapter.java
app/src/main/java/app/insti/adapter/UserAdapter.java
+2
-1
app/src/main/java/app/insti/api/model/AboutCategory.java
app/src/main/java/app/insti/api/model/AboutCategory.java
+3
-2
app/src/main/java/app/insti/api/model/Achievement.java
app/src/main/java/app/insti/api/model/Achievement.java
+170
-0
app/src/main/java/app/insti/api/model/Event.java
app/src/main/java/app/insti/api/model/Event.java
+12
-1
app/src/main/java/app/insti/api/model/NewsArticle.java
app/src/main/java/app/insti/api/model/NewsArticle.java
+2
-1
app/src/main/java/app/insti/api/model/OfferedAchievement.java
...src/main/java/app/insti/api/model/OfferedAchievement.java
+97
-0
app/src/main/java/app/insti/api/model/PlacementBlogPost.java
app/src/main/java/app/insti/api/model/PlacementBlogPost.java
+2
-1
app/src/main/java/app/insti/api/model/TrainingBlogPost.java
app/src/main/java/app/insti/api/model/TrainingBlogPost.java
+2
-1
app/src/main/java/app/insti/api/model/User.java
app/src/main/java/app/insti/api/model/User.java
+11
-0
app/src/main/java/app/insti/fragment/AboutFragment.java
app/src/main/java/app/insti/fragment/AboutFragment.java
+4
-3
app/src/main/java/app/insti/fragment/BaseFragment.java
app/src/main/java/app/insti/fragment/BaseFragment.java
+1
-0
app/src/main/java/app/insti/fragment/BodyFragment.java
app/src/main/java/app/insti/fragment/BodyFragment.java
+13
-11
app/src/main/java/app/insti/fragment/BodyRecyclerViewFragment.java
...ain/java/app/insti/fragment/BodyRecyclerViewFragment.java
+4
-3
app/src/main/java/app/insti/fragment/CalendarFragment.java
app/src/main/java/app/insti/fragment/CalendarFragment.java
+16
-9
app/src/main/java/app/insti/fragment/ComplaintDetailsFragment.java
...ain/java/app/insti/fragment/ComplaintDetailsFragment.java
+6
-5
app/src/main/java/app/insti/fragment/ComplaintFragment.java
app/src/main/java/app/insti/fragment/ComplaintFragment.java
+8
-6
app/src/main/java/app/insti/fragment/ComplaintsFragment.java
app/src/main/java/app/insti/fragment/ComplaintsFragment.java
+8
-6
app/src/main/java/app/insti/fragment/ComplaintsHomeFragment.java
.../main/java/app/insti/fragment/ComplaintsHomeFragment.java
+6
-5
app/src/main/java/app/insti/fragment/ComplaintsMeFragment.java
...rc/main/java/app/insti/fragment/ComplaintsMeFragment.java
+6
-5
app/src/main/java/app/insti/fragment/EventFragment.java
app/src/main/java/app/insti/fragment/EventFragment.java
+47
-17
app/src/main/java/app/insti/fragment/EventRecyclerViewFragment.java
...in/java/app/insti/fragment/EventRecyclerViewFragment.java
+4
-3
app/src/main/java/app/insti/fragment/ExploreFragment.java
app/src/main/java/app/insti/fragment/ExploreFragment.java
+5
-4
app/src/main/java/app/insti/fragment/FeedFragment.java
app/src/main/java/app/insti/fragment/FeedFragment.java
+13
-9
app/src/main/java/app/insti/fragment/FileComplaintFragment.java
...c/main/java/app/insti/fragment/FileComplaintFragment.java
+13
-12
app/src/main/java/app/insti/fragment/GenericRecyclerViewFragment.java
.../java/app/insti/fragment/GenericRecyclerViewFragment.java
+108
-0
app/src/main/java/app/insti/fragment/MapFragment.java
app/src/main/java/app/insti/fragment/MapFragment.java
+9
-8
app/src/main/java/app/insti/fragment/MessMenuFragment.java
app/src/main/java/app/insti/fragment/MessMenuFragment.java
+6
-5
app/src/main/java/app/insti/fragment/NewsFragment.java
app/src/main/java/app/insti/fragment/NewsFragment.java
+4
-3
app/src/main/java/app/insti/fragment/NotificationsFragment.java
...c/main/java/app/insti/fragment/NotificationsFragment.java
+8
-6
app/src/main/java/app/insti/fragment/PlacementBlogFragment.java
...c/main/java/app/insti/fragment/PlacementBlogFragment.java
+4
-3
app/src/main/java/app/insti/fragment/QuickLinksFragment.java
app/src/main/java/app/insti/fragment/QuickLinksFragment.java
+2
-1
app/src/main/java/app/insti/fragment/RecyclerViewFragment.java
...rc/main/java/app/insti/fragment/RecyclerViewFragment.java
+6
-5
app/src/main/java/app/insti/fragment/RoleRecyclerViewFragment.java
...ain/java/app/insti/fragment/RoleRecyclerViewFragment.java
+4
-3
app/src/main/java/app/insti/fragment/SettingsFragment.java
app/src/main/java/app/insti/fragment/SettingsFragment.java
+1
-1
app/src/main/java/app/insti/fragment/TrainingBlogFragment.java
...rc/main/java/app/insti/fragment/TrainingBlogFragment.java
+4
-3
app/src/main/java/app/insti/fragment/UserFragment.java
app/src/main/java/app/insti/fragment/UserFragment.java
+16
-10
app/src/main/java/app/insti/fragment/WebViewFragment.java
app/src/main/java/app/insti/fragment/WebViewFragment.java
+222
-23
app/src/main/java/app/insti/interfaces/CardInterface.java
app/src/main/java/app/insti/interfaces/CardInterface.java
+3
-1
app/src/main/java/app/insti/utils/BodyHeadViewHolder.java
app/src/main/java/app/insti/utils/BodyHeadViewHolder.java
+3
-2
app/src/main/java/com/mrane/campusmap/ListFragment.java
app/src/main/java/com/mrane/campusmap/ListFragment.java
+2
-1
app/src/main/java/com/mrane/navigation/SlidingUpPanelLayout.java
.../main/java/com/mrane/navigation/SlidingUpPanelLayout.java
+3
-2
app/src/main/java/com/mrane/navigation/ViewDragHelper.java
app/src/main/java/com/mrane/navigation/ViewDragHelper.java
+4
-3
app/src/main/java/com/mrane/zoomview/SubsamplingScaleImageView.java
...in/java/com/mrane/zoomview/SubsamplingScaleImageView.java
+2
-1
app/src/main/res/drawable/ic_done_all_black_256dp.xml
app/src/main/res/drawable/ic_done_all_black_256dp.xml
+4
-0
app/src/main/res/drawable/ic_qr_code.xml
app/src/main/res/drawable/ic_qr_code.xml
+12
-0
app/src/main/res/layout/fragment_webview.xml
app/src/main/res/layout/fragment_webview.xml
+7
-1
app/src/main/res/menu/activity_main_drawer.xml
app/src/main/res/menu/activity_main_drawer.xml
+5
-0
app/src/main/res/menu/qr_scan_menu.xml
app/src/main/res/menu/qr_scan_menu.xml
+11
-0
build.gradle
build.gradle
+1
-1
No files found.
app/build.gradle
View file @
4c582a05
...
...
@@ -8,8 +8,8 @@ android {
manifestPlaceholders
'appAuthRedirectScheme'
:
'https'
minSdkVersion
21
targetSdkVersion
28
versionCode
3
7
versionName
"1.
3.12
"
versionCode
3
8
versionName
"1.
4
"
testInstrumentationRunner
"androidx.test.runner.AndroidJUnitRunner"
}
buildTypes
{
...
...
@@ -26,7 +26,8 @@ android {
ext
{
androidxVersion
=
'1.0.0'
playServicesVersion
=
'16.0.0'
playServicesVersion
=
'17.0.0'
playServicesVisionVersion
=
'18.0.0'
retrofitVersion
=
'2.3.0'
okhttpVersion
=
'3.14.0'
picassoVersion
=
'2.71828'
...
...
@@ -53,6 +54,7 @@ dependencies {
implementation
"com.google.android.gms:play-services-maps:${playServicesVersion}"
implementation
"com.google.android.gms:play-services-location:${playServicesVersion}"
implementation
"com.google.android.gms:play-services-places:${playServicesVersion}"
implementation
"com.google.android.gms:play-services-vision:${playServicesVisionVersion}"
implementation
"com.squareup.retrofit2:retrofit:${retrofitVersion}"
implementation
"com.squareup.retrofit2:converter-gson:${retrofitVersion}"
implementation
"com.squareup.okhttp3:okhttp:${okhttpVersion}"
...
...
@@ -67,5 +69,6 @@ dependencies {
implementation
"me.leolin:ShortcutBadger:$shortcutBadgerVersion"
implementation
"com.github.prolificinteractive:material-calendarview:${materialCalendarViewVersion}"
implementation
"com.jakewharton.threetenabp:threetenabp:${threetenBPVersion}"
implementation
'androidx.legacy:legacy-support-v4:1.0.0'
}
apply
plugin:
'com.google.gms.google-services'
app/src/main/AndroidManifest.xml
View file @
4c582a05
...
...
@@ -9,6 +9,8 @@
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.VIBRATE"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<uses-feature
android:name=
"android.hardware.camera"
/>
<application
android:allowBackup=
"true"
...
...
@@ -120,6 +122,10 @@
android:name=
"com.google.firebase.messaging.default_notification_channel_id"
android:value=
"@string/default_notification_channel_id"
/>
<meta-data
android:name=
"com.google.android.gms.vision.DEPENDENCIES"
android:value=
"barcode"
/>
</application>
</manifest>
\ No newline at end of file
app/src/main/java/app/insti/Constants.java
View file @
4c582a05
...
...
@@ -64,6 +64,17 @@ public class Constants {
public
static
final
String
CARD_TYPE_TITLE
=
"card_type_title"
;
public
static
final
String
CARD_TYPE_BODY_HEAD
=
"card_type_body_head"
;
/* Webview */
public
static
final
String
WV_TYPE
=
"webview_type"
;
public
static
final
String
WV_TYPE_ADD_EVENT
=
"add_event"
;
public
static
final
String
WV_TYPE_UPDATE_EVENT
=
"update_event"
;
public
static
final
String
WV_TYPE_UPDATE_BODY
=
"update_body"
;
public
static
final
String
WV_TYPE_ACHIEVEMENTS
=
"achievements"
;
public
static
final
String
WV_TYPE_NEW_OFFERED_ACHIEVEMENT
=
"achievements_new_offered"
;
public
static
final
String
WV_TYPE_URL
=
"url_type"
;
public
static
final
String
WV_ID
=
"id"
;
public
static
final
String
WV_URL
=
"url"
;
/* Map */
public
static
final
double
MAP_Xn
=
19.133691
,
MAP_Yn
=
72.916984
,
MAP_Zn
=
4189
,
MAP_Zyn
=
1655
;
public
static
final
double
[]
MAP_WEIGHTS_X
=
{-
7.769917472065843
,
159.26978694839946
,
244.46989575495544
,
-
6.003894110679995
,
-
0.28864271213341297
,
0.010398324019718075
,
4.215508849724247
,
-
0.6078830146963545
,
-
7.0400449629241395
};
...
...
app/src/main/java/app/insti/InstiAppFirebaseMessagingService.java
View file @
4c582a05
...
...
@@ -14,6 +14,7 @@ import android.graphics.Rect;
import
android.media.RingtoneManager
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
androidx.core.app.NotificationCompat
;
import
androidx.core.app.NotificationManagerCompat
;
...
...
app/src/main/java/app/insti/Utils.java
View file @
4c582a05
...
...
@@ -7,21 +7,22 @@ import android.content.res.Resources;
import
android.graphics.Color
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
androidx.annotation.RequiresApi
;
import
com.google.android.material.navigation.NavigationView
;
import
androidx.transition.Fade
;
import
androidx.transition.Slide
;
import
androidx.transition.Transition
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
android.util.TypedValue
;
import
android.view.View
;
import
android.webkit.CookieManager
;
import
android.widget.Button
;
import
android.widget.ImageView
;
import
androidx.annotation.RequiresApi
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.transition.Fade
;
import
androidx.transition.Slide
;
import
androidx.transition.Transition
;
import
com.google.android.material.navigation.NavigationView
;
import
com.google.gson.Gson
;
import
com.squareup.picasso.Callback
;
import
com.squareup.picasso.Picasso
;
...
...
app/src/main/java/app/insti/activity/LoginActivity.java
View file @
4c582a05
...
...
@@ -6,12 +6,13 @@ import android.content.Context;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
androidx.appcompat.app.AppCompatActivity
;
import
android.util.Log
;
import
android.webkit.WebView
;
import
android.webkit.WebViewClient
;
import
android.widget.Toast
;
import
androidx.appcompat.app.AppCompatActivity
;
import
com.google.android.gms.tasks.OnSuccessListener
;
import
com.google.firebase.iid.FirebaseInstanceId
;
import
com.google.firebase.iid.InstanceIdResult
;
...
...
app/src/main/java/app/insti/activity/MainActivity.java
View file @
4c582a05
...
...
@@ -14,17 +14,6 @@ import android.graphics.Color;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Bundle
;
import
com.google.android.material.navigation.NavigationView
;
import
com.google.android.material.snackbar.Snackbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.core.view.GravityCompat
;
import
androidx.drawerlayout.widget.DrawerLayout
;
import
androidx.appcompat.app.ActionBarDrawerToggle
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
import
android.util.Log
;
import
android.view.Menu
;
import
android.view.MenuItem
;
...
...
@@ -34,7 +23,19 @@ import android.widget.ImageView;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.appcompat.app.ActionBarDrawerToggle
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.core.view.GravityCompat
;
import
androidx.drawerlayout.widget.DrawerLayout
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
com.google.android.gms.tasks.OnSuccessListener
;
import
com.google.android.material.navigation.NavigationView
;
import
com.google.android.material.snackbar.Snackbar
;
import
com.google.firebase.iid.FirebaseInstanceId
;
import
com.google.firebase.iid.InstanceIdResult
;
import
com.google.gson.JsonElement
;
...
...
@@ -74,6 +75,7 @@ import app.insti.fragment.QuickLinksFragment;
import
app.insti.fragment.SettingsFragment
;
import
app.insti.fragment.TrainingBlogFragment
;
import
app.insti.fragment.UserFragment
;
import
app.insti.fragment.WebViewFragment
;
import
app.insti.notifications.NotificationId
;
import
me.leolin.shortcutbadger.ShortcutBadger
;
import
retrofit2.Call
;
...
...
@@ -570,6 +572,13 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
MapFragment
mapFragment
=
new
MapFragment
();
updateFragment
(
mapFragment
);
break
;
case
R
.
id
.
nav_achievements
:
WebViewFragment
webViewFragment
=
new
WebViewFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
Constants
.
WV_TYPE
,
Constants
.
WV_TYPE_ACHIEVEMENTS
);
webViewFragment
.
setArguments
(
bundle
);
updateFragment
(
webViewFragment
);
break
;
case
R
.
id
.
nav_complaint
:
if
(
session
.
isLoggedIn
())
{
...
...
app/src/main/java/app/insti/adapter/AboutAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.ViewGroup
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.util.List
;
import
app.insti.api.model.AboutCategory
;
...
...
app/src/main/java/app/insti/adapter/BodyAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
androidx.fragment.app.Fragment
;
import
android.view.View
;
import
androidx.fragment.app.Fragment
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/adapter/CardAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.squareup.picasso.Picasso
;
import
com.squareup.picasso.RequestCreator
;
...
...
@@ -104,7 +105,7 @@ public abstract class CardAdapter<T extends CardInterface> extends RecyclerView.
// Build basic request
RequestCreator
requestCreator
;
if
(
t
.
getAvatarUrl
()
!=
null
)
if
(
t
.
getAvatarUrl
()
!=
null
&&
!
t
.
getAvatarUrl
().
equals
(
""
)
)
requestCreator
=
Picasso
.
get
().
load
(
Utils
.
resizeImageUrl
(
t
.
getAvatarUrl
()));
else
if
(
getAvatarPlaceholder
(
t
)
!=
0
)
{
requestCreator
=
Picasso
.
get
().
load
(
getAvatarPlaceholder
(
t
));
...
...
app/src/main/java/app/insti/adapter/CommentsAdapter.java
View file @
4c582a05
...
...
@@ -4,10 +4,6 @@ import android.app.Activity;
import
android.content.ClipData
;
import
android.content.ClipboardManager
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.cardview.widget.CardView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.MenuItem
;
import
android.view.View
;
...
...
@@ -18,6 +14,11 @@ import android.widget.PopupMenu;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.cardview.widget.CardView
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.squareup.picasso.Picasso
;
import
java.util.ArrayList
;
...
...
app/src/main/java/app/insti/adapter/ComplaintsAdapter.java
View file @
4c582a05
...
...
@@ -4,12 +4,6 @@ import android.app.Activity;
import
android.content.DialogInterface
;
import
android.content.res.ColorStateList
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.core.content.res.ResourcesCompat
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.cardview.widget.CardView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
...
...
@@ -19,6 +13,13 @@ import android.widget.LinearLayout;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.cardview.widget.CardView
;
import
androidx.core.content.res.ResourcesCompat
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
app/src/main/java/app/insti/adapter/FeedAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
android.view.View
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
android.view.View
;
import
java.util.List
;
...
...
app/src/main/java/app/insti/adapter/GenericAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
android
x.fragment.app.Fragment
;
import
android
.os.Bundle
;
import
android.view.View
;
import
androidx.fragment.app.Fragment
;
import
java.util.ArrayList
;
import
java.util.List
;
import
app.insti.Constants
;
import
app.insti.R
;
import
app.insti.Utils
;
import
app.insti.api.model.Achievement
;
import
app.insti.api.model.Body
;
import
app.insti.api.model.Event
;
import
app.insti.api.model.OfferedAchievement
;
import
app.insti.api.model.Role
;
import
app.insti.api.model.User
;
import
app.insti.fragment.WebViewFragment
;
import
app.insti.interfaces.CardInterface
;
public
class
GenericAdapter
extends
CardAdapter
<
CardInterface
>
{
...
...
@@ -25,6 +33,24 @@ public class GenericAdapter extends CardAdapter<CardInterface> {
Utils
.
openBodyFragment
((
Body
)
cardInterface
,
fragment
,
view
.
findViewById
(
R
.
id
.
object_picture
));
}
else
if
(
cardInterface
instanceof
User
)
{
Utils
.
openUserFragment
((
User
)
cardInterface
,
fragment
,
view
.
findViewById
(
R
.
id
.
object_picture
));
}
else
if
(
cardInterface
instanceof
Role
)
{
Utils
.
openBodyFragment
(((
Role
)
cardInterface
).
getRoleBodyDetails
(),
fragment
,
view
.
findViewById
(
R
.
id
.
object_picture
));
}
else
if
(
cardInterface
instanceof
Achievement
)
{
Achievement
a
=
(
Achievement
)
cardInterface
;
if
(
a
.
getAchievementEvent
()
!=
null
)
{
a
.
getAchievementEvent
().
setEventBodies
(
new
ArrayList
<>());
a
.
getAchievementEvent
().
getEventBodies
().
add
(
a
.
getAchievementBody
());
Utils
.
openEventFragment
(
a
.
getAchievementEvent
(),
fragment
,
view
.
findViewById
(
R
.
id
.
object_picture
));
}
else
{
Utils
.
openBodyFragment
(
a
.
getAchievementBody
(),
fragment
,
view
.
findViewById
(
R
.
id
.
object_picture
));
}
}
else
if
(
cardInterface
instanceof
OfferedAchievement
)
{
WebViewFragment
webViewFragment
=
new
WebViewFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
Constants
.
WV_TYPE
,
Constants
.
WV_TYPE_NEW_OFFERED_ACHIEVEMENT
);
bundle
.
putString
(
Constants
.
WV_ID
,
((
OfferedAchievement
)
cardInterface
).
getAchievementID
());
webViewFragment
.
setArguments
(
bundle
);
Utils
.
updateFragment
(
webViewFragment
,
fragment
.
getActivity
());
}
}
...
...
app/src/main/java/app/insti/adapter/ImageViewPagerAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.viewpager.widget.PagerAdapter
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
androidx.annotation.NonNull
;
import
androidx.viewpager.widget.PagerAdapter
;
import
com.squareup.picasso.Picasso
;
import
java.util.ArrayList
;
...
...
app/src/main/java/app/insti/adapter/MessMenuAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/adapter/NewsAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
...
...
app/src/main/java/app/insti/adapter/PlacementBlogAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
android.content.Context
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
...
...
app/src/main/java/app/insti/adapter/RoleAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
androidx.fragment.app.Fragment
;
import
android.view.View
;
import
androidx.fragment.app.Fragment
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/adapter/TrainingBlogAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
android.content.Context
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
...
...
app/src/main/java/app/insti/adapter/UserAdapter.java
View file @
4c582a05
package
app.insti.adapter
;
import
androidx.fragment.app.Fragment
;
import
android.view.View
;
import
androidx.fragment.app.Fragment
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/api/model/AboutCategory.java
View file @
4c582a05
package
app.insti.api.model
;
import
android.content.Context
;
import
android.view.View
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.View
;
import
android.widget.TextView
;
import
com.squareup.picasso.Picasso
;
...
...
app/src/main/java/app/insti/api/model/Achievement.java
0 → 100644
View file @
4c582a05
package
app.insti.api.model
;
import
androidx.annotation.NonNull
;
import
com.google.gson.annotations.SerializedName
;
import
java.util.Objects
;
import
app.insti.interfaces.CardInterface
;
public
class
Achievement
implements
CardInterface
{
@NonNull
()
@SerializedName
(
"id"
)
private
String
achievementID
;
@SerializedName
(
"title"
)
private
String
achievementTitle
;
@SerializedName
(
"description"
)
private
String
achievementDescription
;
@SerializedName
(
"body_detail"
)
private
Body
achievementBody
;
@SerializedName
(
"event_detail"
)
private
Event
achievementEvent
;
@SerializedName
(
"dismissed"
)
private
boolean
achievementDismissed
;
@SerializedName
(
"verified"
)
private
boolean
achievementVerified
;
@SerializedName
(
"user"
)
private
User
achivementUser
;
@SerializedName
(
"body"
)
private
String
achievementBodyId
;
@SerializedName
(
"event"
)
private
String
achievementEventId
;
public
Achievement
(
@NonNull
String
achievementID
,
String
achievementTitle
,
String
achievementDescription
,
boolean
achievementDismissed
,
boolean
achievementVerified
,
String
achievementBodyId
,
String
achievementEventId
)
{
this
.
achievementID
=
achievementID
;
this
.
achievementTitle
=
achievementTitle
;
this
.
achievementDescription
=
achievementDescription
;
this
.
achievementDismissed
=
achievementDismissed
;
this
.
achievementVerified
=
achievementVerified
;
this
.
achievementBodyId
=
achievementBodyId
;
this
.
achievementEventId
=
achievementEventId
;
}
@NonNull
public
String
getAchievementID
()
{
return
achievementID
;
}
public
void
setAchievementID
(
@NonNull
String
achievementID
)
{
this
.
achievementID
=
achievementID
;
}
public
String
getAchievementTitle
()
{
return
achievementTitle
;
}
public
void
setAchievementTitle
(
String
achievementTitle
)
{
this
.
achievementTitle
=
achievementTitle
;
}
public
String
getAchievementDescription
()
{
return
achievementDescription
;
}
public
void
setAchievementDescription
(
String
achievementDescription
)
{
this
.
achievementDescription
=
achievementDescription
;
}
public
Body
getAchievementBody
()
{
return
achievementBody
;
}
public
void
setAchievementBody
(
Body
achievementBody
)
{
this
.
achievementBody
=
achievementBody
;
}
public
Event
getAchievementEvent
()
{
return
achievementEvent
;
}
public
void
setAchievementEvent
(
Event
achievementEvent
)
{
this
.
achievementEvent
=
achievementEvent
;
}
public
boolean
isAchievementDismissed
()
{
return
achievementDismissed
;
}
public
void
setAchievementDismissed
(
boolean
achievementDismissed
)
{
this
.
achievementDismissed
=
achievementDismissed
;
}
public
boolean
isAchievementVerified
()
{
return
achievementVerified
;
}
public
void
setAchievementVerified
(
boolean
achievementVerified
)
{
this
.
achievementVerified
=
achievementVerified
;
}
public
User
getAchivementUser
()
{
return
achivementUser
;
}
public
void
setAchivementUser
(
User
achivementUser
)
{
this
.
achivementUser
=
achivementUser
;
}
public
String
getAchievementBodyId
()
{
return
achievementBodyId
;
}
public
void
setAchievementBodyId
(
String
achievementBodyId
)
{
this
.
achievementBodyId
=
achievementBodyId
;
}
public
String
getAchievementEventId
()
{
return
achievementEventId
;
}
public
void
setAchievementEventId
(
String
achievementEventId
)
{
this
.
achievementEventId
=
achievementEventId
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
Achievement
achievement
=
(
Achievement
)
o
;
return
Objects
.
equals
(
achievementID
,
achievement
.
achievementID
);
}
public
long
getId
()
{
return
getAchievementID
().
hashCode
();
}
public
String
getTitle
()
{
return
getAchievementTitle
();
}
public
String
getSubtitle
()
{
if
(
getAchievementEvent
()
!=
null
)
{
return
getAchievementEvent
().
getEventName
();
}
if
(
getAchievementBody
()
!=
null
)
{
return
getAchievementBody
().
getBodyName
();
}
return
getAchievementDescription
();
}
public
String
getAvatarUrl
()
{
String
url
=
null
;
if
(
getAchievementEvent
()
!=
null
)
{
url
=
getAchievementEvent
().
getEventImageURL
();
}
if
(
url
==
null
||
url
.
equals
(
""
)
&&
getAchievementBody
()
!=
null
)
{
url
=
getAchievementBody
().
getBodyImageURL
();
}
return
url
;
}
}
app/src/main/java/app/insti/api/model/Event.java
View file @
4c582a05
...
...
@@ -64,6 +64,9 @@ public class Event implements CardInterface {
@SerializedName
(
"user_ues"
)
private
int
eventUserUes
;
@SerializedName
(
"offered_achievements"
)
private
List
<
OfferedAchievement
>
eventOfferedAchievements
;
private
boolean
eventBigImage
=
false
;
public
Event
(
@NonNull
String
eventID
)
{
...
...
@@ -104,7 +107,7 @@ public class Event implements CardInterface {
public
String
getEventImageURL
()
{
// Fallback to body image if event has no image
if
(
eventImageURL
==
null
)
{
if
(
eventImageURL
==
null
&&
getEventBodies
()
!=
null
&&
getEventBodies
().
size
()
>
0
)
{
return
getEventBodies
().
get
(
0
).
getBodyImageURL
();
}
return
eventImageURL
;
...
...
@@ -215,6 +218,14 @@ public class Event implements CardInterface {
this
.
eventBigImage
=
eventBigImage
;
}
public
List
<
OfferedAchievement
>
getEventOfferedAchievements
()
{
return
eventOfferedAchievements
;
}
public
void
setEventOfferedAchievements
(
List
<
OfferedAchievement
>
eventOfferedAchievements
)
{
this
.
eventOfferedAchievements
=
eventOfferedAchievements
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
...
...
app/src/main/java/app/insti/api/model/NewsArticle.java
View file @
4c582a05
package
app.insti.api.model
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
com.google.gson.annotations.SerializedName
;
import
java.sql.Timestamp
;
...
...
app/src/main/java/app/insti/api/model/OfferedAchievement.java
0 → 100644
View file @
4c582a05
package
app.insti.api.model
;
import
androidx.annotation.NonNull
;
import
com.google.gson.annotations.SerializedName
;
import
java.util.Objects
;
import
app.insti.Utils
;
import
app.insti.interfaces.CardInterface
;
public
class
OfferedAchievement
implements
CardInterface
{
@NonNull
()
@SerializedName
(
"id"
)
private
String
achievementID
;
@SerializedName
(
"title"
)
private
String
achievementTitle
;
@SerializedName
(
"description"
)
private
String
achievementDescription
;
@SerializedName
(
"body"
)
private
String
achievementBodyId
;
@SerializedName
(
"event"
)
private
String
achievementEventId
;
@SerializedName
(
"generic"
)
private
String
achievementGeneric
;
@NonNull
public
String
getAchievementID
()
{
return
achievementID
;
}
public
void
setAchievementID
(
@NonNull
String
achievementID
)
{
this
.
achievementID
=
achievementID
;
}
public
String
getAchievementTitle
()
{
return
achievementTitle
;
}
public
void
setAchievementTitle
(
String
achievementTitle
)
{
this
.
achievementTitle
=
achievementTitle
;
}
public
String
getAchievementDescription
()
{
return
achievementDescription
;
}
public
void
setAchievementDescription
(
String
achievementDescription
)
{
this
.
achievementDescription
=
achievementDescription
;
}
public
String
getAchievementBodyId
()
{
return
achievementBodyId
;
}
public
void
setAchievementBodyId
(
String
achievementBodyId
)
{
this
.
achievementBodyId
=
achievementBodyId
;
}
public
String
getAchievementEventId
()
{
return
achievementEventId
;
}
public
void
setAchievementEventId
(
String
achievementEventId
)
{
this
.
achievementEventId
=
achievementEventId
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
OfferedAchievement
achievement
=
(
OfferedAchievement
)
o
;
return
Objects
.
equals
(
achievementID
,
achievement
.
achievementID
);
}
public
long
getId
()
{
return
getAchievementID
().
hashCode
();
}
public
String
getTitle
()
{
return
getAchievementTitle
();
}
public
String
getSubtitle
()
{
return
getAchievementDescription
();
}
public
String
getAvatarUrl
()
{
return
String
.
format
(
"https://insti.app/assets/achievements/%s%s.png"
,
achievementGeneric
,
Utils
.
isDarkTheme
?
"_dark"
:
""
);
}
}
app/src/main/java/app/insti/api/model/PlacementBlogPost.java
View file @
4c582a05
package
app.insti.api.model
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
com.google.gson.annotations.SerializedName
;
import
java.sql.Timestamp
;
...
...
app/src/main/java/app/insti/api/model/TrainingBlogPost.java
View file @
4c582a05
package
app.insti.api.model
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
com.google.gson.annotations.SerializedName
;
import
java.sql.Timestamp
;
...
...
app/src/main/java/app/insti/api/model/User.java
View file @
4c582a05
...
...
@@ -56,6 +56,9 @@ public class User implements CardInterface {
@SerializedName
(
"former_roles"
)
private
List
<
Role
>
userFormerRoles
;
@SerializedName
(
"achievements"
)
private
List
<
Achievement
>
userAchievements
;
@SerializedName
(
"website_url"
)
private
String
userWebsiteURL
;
...
...
@@ -220,6 +223,14 @@ public class User implements CardInterface {
this
.
showContactNumber
=
showContactNumber
;
}
public
List
<
Achievement
>
getUserAchievements
()
{
return
userAchievements
;
}
public
void
setUserAchievements
(
List
<
Achievement
>
userAchievements
)
{
this
.
userAchievements
=
userAchievements
;
}
public
String
getCurrentRole
()
{
return
currentRole
;
}
...
...
app/src/main/java/app/insti/fragment/AboutFragment.java
View file @
4c582a05
...
...
@@ -3,13 +3,14 @@ package app.insti.fragment;
import
android.content.Context
;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.google.android.flexbox.FlexDirection
;
import
com.google.android.flexbox.FlexboxLayoutManager
;
import
com.google.android.flexbox.JustifyContent
;
...
...
app/src/main/java/app/insti/fragment/BaseFragment.java
View file @
4c582a05
...
...
@@ -3,6 +3,7 @@ package app.insti.fragment;
import
android.app.Activity
;
import
android.content.Context
;
import
androidx.fragment.app.Fragment
;
import
app.insti.ActivityBuffer
;
...
...
app/src/main/java/app/insti/fragment/BodyFragment.java
View file @
4c582a05
...
...
@@ -9,19 +9,20 @@ import android.graphics.Color;
import
android.graphics.Point
;
import
android.graphics.Rect
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.animation.DecelerateInterpolator
;
import
android.widget.ImageView
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
com.google.gson.Gson
;
import
com.squareup.picasso.Picasso
;
...
...
@@ -248,11 +249,12 @@ public class BodyFragment extends BackHandledFragment implements TransitionTarge
fab
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
AddEventFragment
addEventFragment
=
new
AddEvent
Fragment
();
WebViewFragment
webViewFragment
=
new
WebView
Fragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
"bodyId"
,
body
.
getBodyID
());
addEventFragment
.
setArguments
(
bundle
);
((
MainActivity
)
getActivity
()).
updateFragment
(
addEventFragment
);
bundle
.
putString
(
Constants
.
WV_TYPE
,
Constants
.
WV_TYPE_UPDATE_BODY
);
bundle
.
putString
(
Constants
.
WV_ID
,
body
.
getBodyID
());
webViewFragment
.
setArguments
(
bundle
);
((
MainActivity
)
getActivity
()).
updateFragment
(
webViewFragment
);
}
});
}
...
...
app/src/main/java/app/insti/fragment/BodyRecyclerViewFragment.java
View file @
4c582a05
...
...
@@ -2,13 +2,14 @@ package app.insti.fragment;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
...
...
app/src/main/java/app/insti/fragment/CalendarFragment.java
View file @
4c582a05
...
...
@@ -6,13 +6,6 @@ import android.graphics.drawable.GradientDrawable;
import
android.graphics.drawable.InsetDrawable
;
import
android.os.Build
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
androidx.fragment.app.Fragment
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -21,6 +14,14 @@ import android.widget.LinearLayout;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
com.prolificinteractive.materialcalendarview.CalendarDay
;
import
com.prolificinteractive.materialcalendarview.DayViewDecorator
;
import
com.prolificinteractive.materialcalendarview.DayViewFacade
;
...
...
@@ -42,6 +43,7 @@ import java.util.List;
import
java.util.Map
;
import
java.util.TimeZone
;
import
app.insti.Constants
;
import
app.insti.R
;
import
app.insti.Utils
;
import
app.insti.activity.MainActivity
;
...
...
@@ -138,8 +140,13 @@ public class CalendarFragment extends BaseFragment {
public
void
onClick
(
View
v
)
{
CalendarDay
day
=
((
MaterialCalendarView
)
view
.
findViewById
(
R
.
id
.
simpleCalendarView
)).
getSelectedDate
();
String
date
=
day
.
getYear
()
+
"-"
+
day
.
getMonth
()
+
"-"
+
day
.
getDay
();
AddEventFragment
addEventFragment
=
(
new
AddEventFragment
()).
withDate
(
date
);
((
MainActivity
)
getActivity
()).
updateFragment
(
addEventFragment
);
WebViewFragment
webViewFragment
=
(
new
WebViewFragment
()).
withDate
(
date
);
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
Constants
.
WV_TYPE
,
Constants
.
WV_TYPE_ADD_EVENT
);
webViewFragment
.
setArguments
(
bundle
);
((
MainActivity
)
getActivity
()).
updateFragment
(
webViewFragment
);
}
});
}
...
...
app/src/main/java/app/insti/fragment/ComplaintDetailsFragment.java
View file @
4c582a05
...
...
@@ -3,11 +3,6 @@ package app.insti.fragment;
import
android.content.DialogInterface
;
import
android.content.res.ColorStateList
;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
...
...
@@ -19,6 +14,12 @@ import android.widget.LinearLayout;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.viewpager.widget.ViewPager
;
import
com.google.android.gms.maps.CameraUpdateFactory
;
import
com.google.android.gms.maps.GoogleMap
;
import
com.google.android.gms.maps.MapView
;
...
...
app/src/main/java/app/insti/fragment/ComplaintFragment.java
View file @
4c582a05
...
...
@@ -2,17 +2,19 @@ package app.insti.fragment;
import
android.content.res.TypedArray
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.google.android.material.appbar.AppBarLayout
;
import
com.google.android.material.tabs.TabLayout
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.ViewPager
;
import
android.util.DisplayMetrics
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.ViewPager
;
import
com.google.android.material.appbar.AppBarLayout
;
import
com.google.android.material.tabs.TabLayout
;
import
java.util.Objects
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/fragment/ComplaintsFragment.java
View file @
4c582a05
...
...
@@ -2,18 +2,20 @@ package app.insti.fragment;
import
android.content.res.TypedArray
;
import
android.os.Bundle
;
import
com.google.android.material.appbar.AppBarLayout
;
import
com.google.android.material.appbar.CollapsingToolbarLayout
;
import
com.google.android.material.tabs.TabLayout
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.appcompat.widget.Toolbar
;
import
android.util.DisplayMetrics
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Button
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.viewpager.widget.ViewPager
;
import
com.google.android.material.appbar.AppBarLayout
;
import
com.google.android.material.appbar.CollapsingToolbarLayout
;
import
com.google.android.material.tabs.TabLayout
;
import
app.insti.Constants
;
import
app.insti.R
;
import
app.insti.Utils
;
...
...
app/src/main/java/app/insti/fragment/ComplaintsHomeFragment.java
View file @
4c582a05
package
app.insti.fragment
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/fragment/ComplaintsMeFragment.java
View file @
4c582a05
package
app.insti.fragment
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/fragment/EventFragment.java
View file @
4c582a05
...
...
@@ -34,6 +34,14 @@ import android.widget.ImageView;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.coordinatorlayout.widget.CoordinatorLayout
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.google.android.material.appbar.AppBarLayout
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
com.google.gson.Gson
;
...
...
@@ -41,26 +49,21 @@ import com.squareup.picasso.Picasso;
import
java.sql.Timestamp
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.coordinatorlayout.widget.CoordinatorLayout
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
app.insti.Constants
;
import
app.insti.R
;
import
app.insti.ShareURLMaker
;
import
app.insti.Utils
;
import
app.insti.activity.MainActivity
;
import
app.insti.adapter.BodyAdapter
;
import
app.insti.adapter.GenericAdapter
;
import
app.insti.api.EmptyCallback
;
import
app.insti.api.RetrofitInterface
;
import
app.insti.api.model.Body
;
import
app.insti.api.model.Event
;
import
app.insti.api.model.Venue
;
import
app.insti.interfaces.CardInterface
;
import
retrofit2.Call
;
import
retrofit2.Callback
;
import
retrofit2.Response
;
...
...
@@ -188,6 +191,8 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
* Set appbar to have an offset
*/
private
void
setAppBarOffset
(
int
offsetPx
)
{
if
(
getView
()
==
null
||
getActivity
()
==
null
)
return
;
AppBarLayout
mAppBarLayout
=
getView
().
findViewById
(
R
.
id
.
appBar
);
CoordinatorLayout
mCoordinatorLayour
=
getView
().
findViewById
(
R
.
id
.
coordinator
);
CoordinatorLayout
.
LayoutParams
params
=
(
CoordinatorLayout
.
LayoutParams
)
mAppBarLayout
.
getLayoutParams
();
...
...
@@ -196,7 +201,24 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
behavior
.
onNestedPreScroll
(
mCoordinatorLayour
,
mAppBarLayout
,
null
,
0
,
offsetPx
,
new
int
[]{
0
,
0
},
0
);
}
private
void
refreshEvent
(
Event
min_event
)
{
if
(
getView
()
==
null
||
getActivity
()
==
null
)
return
;
RetrofitInterface
retrofitInterface
=
Utils
.
getRetrofitInterface
();
retrofitInterface
.
getEvent
(
Utils
.
getSessionIDHeader
(),
min_event
.
getEventID
()).
enqueue
(
new
EmptyCallback
<
Event
>()
{
@Override
public
void
onResponse
(
Call
<
Event
>
call
,
Response
<
Event
>
response
)
{
if
(
response
.
isSuccessful
())
{
event
=
response
.
body
();
inflateViews
(
event
);
}
}
});
}
private
void
inflateViews
(
final
Event
event
)
{
if
(
getActivity
()
==
null
||
getView
()
==
null
)
return
;
eventPicture
=
(
ImageView
)
getActivity
().
findViewById
(
R
.
id
.
event_picture_2
);
final
TextView
eventTitle
=
(
TextView
)
getActivity
().
findViewById
(
R
.
id
.
event_page_title
);
final
TextView
eventDate
=
(
TextView
)
getActivity
().
findViewById
(
R
.
id
.
event_page_date
);
...
...
@@ -214,16 +236,23 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
}
eventTitle
.
setText
(
event
.
getEventName
());
Markwon
.
setMarkdown
(
eventDescription
,
event
.
getEventDescription
());
Timestamp
timestamp
=
event
.
getEventStartTime
();
Date
Date
=
new
Date
(
timestamp
.
getTime
());
SimpleDateFormat
simpleDateFormatDate
=
new
SimpleDateFormat
(
"dd MMM"
);
SimpleDateFormat
simpleDateFormatTime
=
new
SimpleDateFormat
(
"HH:mm"
);
final
List
<
Body
>
bodyList
=
event
.
getEventBodies
();
// Check for minimal event
if
(
event
.
getEventDescription
()
==
null
)
{
refreshEvent
(
event
);
return
;
}
Markwon
.
setMarkdown
(
eventDescription
,
event
.
getEventDescription
());
final
List
<
CardInterface
>
cardList
=
new
ArrayList
<>(
event
.
getEventOfferedAchievements
());
cardList
.
addAll
(
event
.
getEventBodies
());
final
RecyclerView
bodyRecyclerView
=
getActivity
().
findViewById
(
R
.
id
.
body_card_recycler_view
);
BodyAdapter
bodyAdapter
=
new
BodyAdapter
(
body
List
,
this
);
bodyRecyclerView
.
setAdapter
(
body
Adapter
);
GenericAdapter
genericAdapter
=
new
GenericAdapter
(
card
List
,
this
);
bodyRecyclerView
.
setAdapter
(
generic
Adapter
);
bodyRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
// Common
...
...
@@ -330,11 +359,12 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
}
fab
.
setOnClickListener
(
v
->
{
AddEventFragment
addEventFragment
=
new
AddEvent
Fragment
();
WebViewFragment
webViewFragment
=
new
WebView
Fragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
"id"
,
event
.
getEventID
());
addEventFragment
.
setArguments
(
bundle
);
((
MainActivity
)
getActivity
()).
updateFragment
(
addEventFragment
);
bundle
.
putString
(
Constants
.
WV_TYPE
,
Constants
.
WV_TYPE_UPDATE_EVENT
);
bundle
.
putString
(
Constants
.
WV_ID
,
event
.
getEventID
());
webViewFragment
.
setArguments
(
bundle
);
((
MainActivity
)
getActivity
()).
updateFragment
(
webViewFragment
);
});
}
...
...
app/src/main/java/app/insti/fragment/EventRecyclerViewFragment.java
View file @
4c582a05
package
app.insti.fragment
;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
...
...
app/src/main/java/app/insti/fragment/ExploreFragment.java
View file @
4c582a05
...
...
@@ -2,10 +2,6 @@ package app.insti.fragment;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.appcompat.widget.Toolbar
;
import
android.text.Editable
;
import
android.text.TextWatcher
;
import
android.view.KeyEvent
;
...
...
@@ -16,6 +12,11 @@ import android.view.inputmethod.EditorInfo;
import
android.widget.EditText
;
import
android.widget.TextView
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
app/src/main/java/app/insti/fragment/FeedFragment.java
View file @
4c582a05
...
...
@@ -3,19 +3,22 @@ package app.insti.fragment;
import
android.app.Activity
;
import
android.os.Bundle
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
java.util.List
;
import
app.insti.ActivityBuffer
;
import
app.insti.Constants
;
import
app.insti.R
;
import
app.insti.Utils
;
import
app.insti.activity.MainActivity
;
...
...
@@ -129,10 +132,11 @@ public class FeedFragment extends BaseFragment {
fab
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
AddEventFragment
addEventFragment
=
new
AddEvent
Fragment
();
WebViewFragment
webViewFragment
=
new
WebView
Fragment
();
Bundle
bundle
=
new
Bundle
();
addEventFragment
.
setArguments
(
bundle
);
((
MainActivity
)
getActivity
()).
updateFragment
(
addEventFragment
);
bundle
.
putString
(
Constants
.
WV_TYPE
,
Constants
.
WV_TYPE_ADD_EVENT
);
webViewFragment
.
setArguments
(
bundle
);
((
MainActivity
)
getActivity
()).
updateFragment
(
webViewFragment
);
}
});
feedRecyclerView
.
addOnScrollListener
(
new
RecyclerView
.
OnScrollListener
()
{
...
...
app/src/main/java/app/insti/fragment/FileComplaintFragment.java
View file @
4c582a05
...
...
@@ -14,18 +14,6 @@ import android.location.Location;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.provider.MediaStore
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.app.ActivityCompat
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.core.content.ContextCompat
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.appcompat.widget.Toolbar
;
import
android.text.Editable
;
import
android.text.TextWatcher
;
import
android.util.Base64
;
...
...
@@ -42,6 +30,19 @@ import android.widget.ScrollView;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.core.app.ActivityCompat
;
import
androidx.core.content.ContextCompat
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.viewpager.widget.ViewPager
;
import
com.cunoraz.tagview.Tag
;
import
com.cunoraz.tagview.TagView
;
import
com.google.android.gms.common.api.ApiException
;
...
...
app/src/main/java/app/insti/fragment/GenericRecyclerViewFragment.java
0 → 100644
View file @
4c582a05
package
app.insti.fragment
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.ObjectInputStream
;
import
java.io.ObjectOutputStream
;
import
java.util.ArrayList
;
import
java.util.List
;
import
app.insti.Constants
;
import
app.insti.R
;
import
app.insti.adapter.GenericAdapter
;
import
app.insti.interfaces.CardInterface
;
/**
* A simple {@link Fragment} subclass..
* Use the {@link GenericRecyclerViewFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public
class
GenericRecyclerViewFragment
extends
Fragment
implements
TransitionTargetFragment
,
TransitionTargetChild
{
public
static
final
String
TAG
=
"GenericRecyclerViewFragment"
;
public
Fragment
parentFragment
=
null
;
private
List
<
CardInterface
>
cardInterfaces
;
public
GenericRecyclerViewFragment
()
{
// Required empty public constructor
}
@Override
public
void
transitionEnd
()
{
if
(
parentFragment
instanceof
TransitionTargetFragment
)
{
((
TransitionTargetFragment
)
parentFragment
).
transitionEnd
();
}
}
@Override
public
Fragment
getParent
()
{
return
parentFragment
;
}
// TODO: Rename and change types and number of parameters
public
static
GenericRecyclerViewFragment
newInstance
(
List
<
CardInterface
>
cardInterfaces
)
{
GenericRecyclerViewFragment
fragment
=
new
GenericRecyclerViewFragment
();
Bundle
args
=
new
Bundle
();
/* Serialize the objects */
try
{
ByteArrayOutputStream
bo
=
new
ByteArrayOutputStream
();
ObjectOutputStream
so
=
new
ObjectOutputStream
(
bo
);
so
.
writeObject
(
cardInterfaces
);
so
.
flush
();
args
.
putByteArray
(
Constants
.
ROLE_LIST_JSON
,
bo
.
toByteArray
());
}
catch
(
Exception
e
)
{
Log
.
wtf
(
"profile"
,
e
);
}
fragment
.
setArguments
(
args
);
return
fragment
;
}
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
if
(
getArguments
()
!=
null
)
{
try
{
byte
b
[]
=
getArguments
().
getByteArray
(
Constants
.
ROLE_LIST_JSON
);
ByteArrayInputStream
bi
=
new
ByteArrayInputStream
(
b
);
ObjectInputStream
si
=
new
ObjectInputStream
(
bi
);
cardInterfaces
=
(
List
<
CardInterface
>)
si
.
readObject
();
}
catch
(
Exception
e
)
{
Log
.
wtf
(
"profile"
,
e
);
cardInterfaces
=
new
ArrayList
<>();
}
}
}
@Override
public
void
onStart
()
{
super
.
onStart
();
RecyclerView
recyclerView
=
(
RecyclerView
)
getActivity
().
findViewById
(
R
.
id
.
role_recycler_view
);
GenericAdapter
genericAdapter
=
new
GenericAdapter
(
cardInterfaces
,
this
);
genericAdapter
.
uid
=
"GRVFrag"
;
recyclerView
.
setAdapter
(
genericAdapter
);
recyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
}
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
// Inflate the layout for this fragment
return
inflater
.
inflate
(
R
.
layout
.
fragment_role_recycler_view
,
container
,
false
);
}
}
\ No newline at end of file
app/src/main/java/app/insti/fragment/MapFragment.java
View file @
4c582a05
...
...
@@ -20,14 +20,6 @@ import android.os.Bundle;
import
android.os.Handler
;
import
android.os.Looper
;
import
android.os.Message
;
import
androidx.annotation.NonNull
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
androidx.core.app.ActivityCompat
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.core.content.ContextCompat
;
import
androidx.appcompat.widget.Toolbar
;
import
android.text.Editable
;
import
android.text.SpannableStringBuilder
;
import
android.text.TextPaint
;
...
...
@@ -56,6 +48,14 @@ import android.widget.RelativeLayout;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.core.app.ActivityCompat
;
import
androidx.core.content.ContextCompat
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
com.google.android.gms.common.api.ApiException
;
import
com.google.android.gms.common.api.ResolvableApiException
;
import
com.google.android.gms.location.FusedLocationProviderClient
;
...
...
@@ -70,6 +70,7 @@ import com.google.android.gms.location.LocationSettingsStatusCodes;
import
com.google.android.gms.location.SettingsClient
;
import
com.google.android.gms.tasks.OnCompleteListener
;
import
com.google.android.gms.tasks.Task
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
com.mrane.campusmap.ExpandableListAdapter
;
import
com.mrane.campusmap.FuzzySearchAdapter
;
import
com.mrane.campusmap.ListFragment
;
...
...
app/src/main/java/app/insti/fragment/MessMenuFragment.java
View file @
4c582a05
...
...
@@ -2,11 +2,6 @@ package app.insti.fragment;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -14,6 +9,12 @@ import android.widget.AdapterView;
import
android.widget.ArrayAdapter
;
import
android.widget.Spinner
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.List
;
...
...
app/src/main/java/app/insti/fragment/NewsFragment.java
View file @
4c582a05
package
app.insti.fragment
;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/fragment/NotificationsFragment.java
View file @
4c582a05
...
...
@@ -3,17 +3,19 @@ package app.insti.fragment;
import
android.graphics.Canvas
;
import
android.os.Bundle
;
import
androidx.annotation.Nullable
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.ItemTouchHelper
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.ItemTouchHelper
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/fragment/PlacementBlogFragment.java
View file @
4c582a05
...
...
@@ -2,13 +2,14 @@ package app.insti.fragment;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/fragment/QuickLinksFragment.java
View file @
4c582a05
...
...
@@ -3,12 +3,13 @@ package app.insti.fragment;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
androidx.appcompat.widget.Toolbar
;
import
app.insti.R
;
import
app.insti.Utils
;
...
...
app/src/main/java/app/insti/fragment/RecyclerViewFragment.java
View file @
4c582a05
package
app.insti.fragment
;
import
android.app.Activity
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearSmoothScroller
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.appcompat.widget.SearchView
;
import
android.text.TextUtils
;
import
android.view.Menu
;
import
android.view.MenuInflater
;
import
android.view.MenuItem
;
import
android.view.View
;
import
androidx.appcompat.widget.SearchView
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearSmoothScroller
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.List
;
import
java.util.Objects
;
...
...
app/src/main/java/app/insti/fragment/RoleRecyclerViewFragment.java
View file @
4c582a05
package
app.insti.fragment
;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
...
...
app/src/main/java/app/insti/fragment/SettingsFragment.java
View file @
4c582a05
...
...
@@ -6,11 +6,11 @@ import android.content.SharedPreferences;
import
android.net.Uri
;
import
android.os.Bundle
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.preference.ListPreference
;
import
androidx.preference.Preference
;
import
androidx.preference.PreferenceFragmentCompat
;
import
androidx.preference.SwitchPreferenceCompat
;
import
androidx.appcompat.widget.Toolbar
;
import
app.insti.Constants
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/fragment/TrainingBlogFragment.java
View file @
4c582a05
...
...
@@ -2,13 +2,14 @@ package app.insti.fragment;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
java.util.List
;
import
app.insti.R
;
...
...
app/src/main/java/app/insti/fragment/UserFragment.java
View file @
4c582a05
...
...
@@ -11,11 +11,6 @@ import android.graphics.Point;
import
android.graphics.Rect
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
com.google.android.material.tabs.TabLayout
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.appcompat.widget.Toolbar
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -23,6 +18,12 @@ import android.view.animation.DecelerateInterpolator;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.ViewPager
;
import
com.google.android.material.floatingactionbutton.FloatingActionButton
;
import
com.google.android.material.tabs.TabLayout
;
import
com.squareup.picasso.Picasso
;
import
java.util.ArrayList
;
...
...
@@ -39,6 +40,7 @@ import app.insti.api.model.Body;
import
app.insti.api.model.Event
;
import
app.insti.api.model.Role
;
import
app.insti.api.model.User
;
import
app.insti.interfaces.CardInterface
;
import
retrofit2.Call
;
import
retrofit2.Response
;
...
...
@@ -178,17 +180,21 @@ public class UserFragment extends BackHandledFragment implements TransitionTarge
final
List
<
Role
>
roleList
=
user
.
getUserRoles
();
final
List
<
Body
>
bodyList
=
user
.
getUserFollowedBodies
();
final
List
<
Event
>
eventList
=
user
.
getUserGoingEvents
();
List
<
Role
>
formerRoleList
=
user
.
getUserFormerRoles
();
List
<
Role
>
allRoles
=
new
ArrayList
<>(
roleList
);
final
List
<
Role
>
formerRoleList
=
user
.
getUserFormerRoles
();
/* Construct user profile */
final
List
<
CardInterface
>
profile
=
new
ArrayList
<>(
roleList
);
for
(
Role
role
:
formerRoleList
)
{
Role
temp
=
new
Role
(
role
);
temp
.
setRoleName
(
"Former "
+
role
.
getRoleName
()
+
" "
+
role
.
getRoleYear
());
allRoles
.
add
(
temp
);
profile
.
add
(
temp
);
}
profile
.
addAll
(
user
.
getUserAchievements
());
List
<
Event
>
eventInterestedList
=
user
.
getUserInterestedEvents
();
eventList
.
removeAll
(
eventInterestedList
);
eventList
.
addAll
(
eventInterestedList
);
RoleRecyclerViewFragment
frag1
=
RoleRecyclerViewFragment
.
newInstance
(
allRoles
);
GenericRecyclerViewFragment
frag1
=
GenericRecyclerViewFragment
.
newInstance
(
profile
);
BodyRecyclerViewFragment
frag2
=
BodyRecyclerViewFragment
.
newInstance
(
bodyList
);
EventRecyclerViewFragment
frag3
=
EventRecyclerViewFragment
.
newInstance
(
eventList
);
...
...
@@ -197,7 +203,7 @@ public class UserFragment extends BackHandledFragment implements TransitionTarge
frag3
.
parentFragment
=
this
;
TabAdapter
tabAdapter
=
new
TabAdapter
(
getChildFragmentManager
());
tabAdapter
.
addFragment
(
frag1
,
"
Associations
"
);
tabAdapter
.
addFragment
(
frag1
,
"
Profile
"
);
tabAdapter
.
addFragment
(
frag2
,
"Following"
);
tabAdapter
.
addFragment
(
frag3
,
"Events"
);
...
...
app/src/main/java/app/insti/fragment/
AddEvent
Fragment.java
→
app/src/main/java/app/insti/fragment/
WebView
Fragment.java
View file @
4c582a05
This diff is collapsed.
Click to expand it.
app/src/main/java/app/insti/interfaces/CardInterface.java
View file @
4c582a05
package
app.insti.interfaces
;
public
interface
CardInterface
{
import
java.io.Serializable
;
public
interface
CardInterface
extends
Serializable
{
long
getId
();
String
getTitle
();
String
getSubtitle
();
...
...
app/src/main/java/app/insti/utils/BodyHeadViewHolder.java
View file @
4c582a05
...
...
@@ -3,14 +3,15 @@ package app.insti.utils;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.Uri
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.ImageButton
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.RecyclerView
;
import
app.insti.R
;
import
app.insti.ShareURLMaker
;
import
app.insti.Utils
;
...
...
app/src/main/java/com/mrane/campusmap/ListFragment.java
View file @
4c582a05
package
com.mrane.campusmap
;
import
android.os.Bundle
;
import
androidx.fragment.app.Fragment
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ListView
;
import
androidx.fragment.app.Fragment
;
import
app.insti.R
;
import
app.insti.fragment.MapFragment
;
...
...
app/src/main/java/com/mrane/navigation/SlidingUpPanelLayout.java
View file @
4c582a05
...
...
@@ -10,8 +10,6 @@ import android.graphics.Rect;
import
android.graphics.drawable.Drawable
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
androidx.core.view.MotionEventCompat
;
import
androidx.core.view.ViewCompat
;
import
android.util.AttributeSet
;
import
android.view.Gravity
;
import
android.view.MotionEvent
;
...
...
@@ -19,6 +17,9 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.view.accessibility.AccessibilityEvent
;
import
androidx.core.view.MotionEventCompat
;
import
androidx.core.view.ViewCompat
;
import
app.insti.R
;
public
class
SlidingUpPanelLayout
extends
ViewGroup
{
...
...
app/src/main/java/com/mrane/navigation/ViewDragHelper.java
View file @
4c582a05
...
...
@@ -18,9 +18,6 @@
package
com.mrane.navigation
;
import
android.content.Context
;
import
androidx.core.view.MotionEventCompat
;
import
androidx.core.view.VelocityTrackerCompat
;
import
androidx.core.widget.ScrollerCompat
;
import
android.view.MotionEvent
;
import
android.view.VelocityTracker
;
import
android.view.View
;
...
...
@@ -28,6 +25,10 @@ import android.view.ViewConfiguration;
import
android.view.ViewGroup
;
import
android.view.animation.Interpolator
;
import
androidx.core.view.MotionEventCompat
;
import
androidx.core.view.VelocityTrackerCompat
;
import
androidx.core.widget.ScrollerCompat
;
import
java.util.Arrays
;
/**
...
...
app/src/main/java/com/mrane/zoomview/SubsamplingScaleImageView.java
View file @
4c582a05
...
...
@@ -36,7 +36,6 @@ import android.os.AsyncTask;
import
android.os.Build.VERSION
;
import
android.os.Handler
;
import
android.os.Message
;
import
androidx.exifinterface.media.ExifInterface
;
import
android.util.AttributeSet
;
import
android.util.DisplayMetrics
;
import
android.util.Log
;
...
...
@@ -44,6 +43,8 @@ import android.view.GestureDetector;
import
android.view.MotionEvent
;
import
android.view.View
;
import
androidx.exifinterface.media.ExifInterface
;
import
java.lang.ref.WeakReference
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
...
...
app/src/main/res/drawable/ic_done_all_black_256dp.xml
0 → 100644
View file @
4c582a05
<vector
android:height=
"256dp"
android:viewportHeight=
"24.0"
android:viewportWidth=
"24.0"
android:width=
"256dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<path
android:fillColor=
"#FF000000"
android:pathData=
"M18,7l-1.41,-1.41 -6.34,6.34 1.41,1.41L18,7zM22.24,5.59L11.66,16.17 7.48,12l-1.41,1.41L11.66,19l12,-12 -1.42,-1.41zM0.41,13.41L6,19l1.41,-1.41L1.83,12 0.41,13.41z"
/>
</vector>
app/src/main/res/drawable/ic_qr_code.xml
0 → 100644
View file @
4c582a05
<vector
android:height=
"24dp"
android:viewportHeight=
"401.994"
android:viewportWidth=
"401.994"
android:width=
"24dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M0,401.991h182.724V219.265H0V401.991zM36.542,255.813h109.636v109.352H36.542V255.813z"
/>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M73.089,292.355h36.544v36.549h-36.544z"
/>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M292.352,365.449h36.553v36.545h-36.553z"
/>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M365.442,365.449h36.552v36.545h-36.552z"
/>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M365.446,255.813l-36.542,0l0,-36.548l-109.639,0l0,182.726l36.548,0l0,-109.636l36.539,0l0,36.549l109.639,0l0,-109.639l0,0l-36.545,0z"
/>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M0,182.728h182.724V0H0V182.728zM36.542,36.542h109.636v109.636H36.542V36.542z"
/>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M73.089,73.089h36.544v36.547h-36.544z"
/>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M219.265,0v182.728h182.729V0H219.265zM365.446,146.178H255.813V36.542h109.633V146.178z"
/>
<path
android:fillColor=
"#FFFFFFFF"
android:pathData=
"M292.352,73.089h36.553v36.547h-36.553z"
/>
</vector>
app/src/main/res/layout/fragment_
add_event
.xml
→
app/src/main/res/layout/fragment_
webview
.xml
View file @
4c582a05
...
...
@@ -3,7 +3,13 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
tools:context=
"app.insti.fragment.AddEventFragment"
>
tools:context=
"app.insti.fragment.WebViewFragment"
>
<SurfaceView
android:id=
"@+id/qr_camera_surfaceview"
android:layout_width=
"fill_parent"
android:layout_height=
"fill_parent"
android:visibility=
"gone"
/>
<WebView
android:id=
"@+id/add_event_webview"
...
...
app/src/main/res/menu/activity_main_drawer.xml
View file @
4c582a05
...
...
@@ -43,6 +43,11 @@
android:icon=
"@drawable/ic_map_black_48dp"
android:title=
"Map"
/>
<item
android:id=
"@+id/nav_achievements"
android:icon=
"@drawable/ic_done_all_black_256dp"
android:title=
"Achievements"
/>
<item
android:id=
"@+id/nav_complaint"
android:icon=
"@drawable/baseline_feedback_black_48"
...
...
app/src/main/res/menu/qr_scan_menu.xml
0 → 100644
View file @
4c582a05
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<item
android:id=
"@+id/action_qr_scan"
android:icon=
"@drawable/ic_qr_code"
android:iconTint=
"@color/colorWhite"
android:title=
"Scan QR"
app:showAsAction=
"always"
/>
</menu>
\ No newline at end of file
build.gradle
View file @
4c582a05
...
...
@@ -9,7 +9,7 @@ buildscript {
}
dependencies
{
classpath
'com.android.tools.build:gradle:3.4.
0
'
classpath
'com.android.tools.build:gradle:3.4.
2
'
classpath
'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
...
...
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