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
e0558838
Commit
e0558838
authored
Nov 03, 2019
by
RAHUL SHARMA
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changes in BroadActivityFragment
parent
cfae4dc0
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
724 additions
and
132 deletions
+724
-132
.idea/codeStyles/Project.xml
.idea/codeStyles/Project.xml
+109
-25
app/build.gradle
app/build.gradle
+9
-0
app/google-services.json
app/google-services.json
+29
-15
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-0
app/src/main/java/app/insti/activity/LoginActivity.java
app/src/main/java/app/insti/activity/LoginActivity.java
+6
-0
app/src/main/java/app/insti/activity/MainActivity.java
app/src/main/java/app/insti/activity/MainActivity.java
+5
-0
app/src/main/java/app/insti/adapter/ActivitiesAdapter.java
app/src/main/java/app/insti/adapter/ActivitiesAdapter.java
+58
-1
app/src/main/java/app/insti/api/model/BroadActivity.java
app/src/main/java/app/insti/api/model/BroadActivity.java
+72
-1
app/src/main/java/app/insti/api/model/NewEvent.java
app/src/main/java/app/insti/api/model/NewEvent.java
+187
-1
app/src/main/java/app/insti/api/model/SubActivity.java
app/src/main/java/app/insti/api/model/SubActivity.java
+126
-1
app/src/main/java/app/insti/fragment/BroadActivityFragment.java
...c/main/java/app/insti/fragment/BroadActivityFragment.java
+45
-80
app/src/main/res/layout/fragment_broad_activity.xml
app/src/main/res/layout/fragment_broad_activity.xml
+5
-3
app/src/main/res/layout/resource_layout_broad_activities.xml
app/src/main/res/layout/resource_layout_broad_activities.xml
+3
-1
app/src/main/res/layout/resource_layout_sub_activities.xml
app/src/main/res/layout/resource_layout_sub_activities.xml
+55
-0
app/src/main/res/menu/activity_main_drawer.xml
app/src/main/res/menu/activity_main_drawer.xml
+5
-0
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+3
-0
build.gradle
build.gradle
+3
-2
gradle/wrapper/gradle-wrapper.properties
gradle/wrapper/gradle-wrapper.properties
+2
-2
No files found.
.idea/codeStyles/Project.xml
View file @
e0558838
<component
name=
"ProjectCodeStyleConfiguration"
>
<code_scheme
name=
"Project"
version=
"173"
>
<Objective-C-extensions>
<file>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Import"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Macro"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Typedef"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Enum"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Constant"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Global"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Struct"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"FunctionPredecl"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Function"
/>
</file>
<class>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Property"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"Synthesize"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"InitMethod"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"StaticMethod"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"InstanceMethod"
/>
<option
name=
"com.jetbrains.cidr.lang.util.OCDeclarationKind"
value=
"DeallocMethod"
/>
</class>
<extensions>
<pair
source=
"cpp"
header=
"h"
fileNamingConvention=
"NONE"
/>
<pair
source=
"c"
header=
"h"
fileNamingConvention=
"NONE"
/>
</extensions>
</Objective-C-extensions>
<codeStyleSettings
language=
"XML"
>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>
xmlns:android
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
^$
</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>
xmlns:.*
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
^$
</XML_NAMESPACE>
</AND>
</match>
<order>
BY_NAME
</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>
.*:id
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
http://schemas.android.com/apk/res/android
</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>
.*:name
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
http://schemas.android.com/apk/res/android
</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>
name
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
^$
</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>
style
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
^$
</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>
.*
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
^$
</XML_NAMESPACE>
</AND>
</match>
<order>
BY_NAME
</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>
.*
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
http://schemas.android.com/apk/res/android
</XML_NAMESPACE>
</AND>
</match>
<order>
ANDROID_ATTRIBUTE_ORDER
</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>
.*
</NAME>
<XML_ATTRIBUTE
/>
<XML_NAMESPACE>
.*
</XML_NAMESPACE>
</AND>
</match>
<order>
BY_NAME
</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
</code_scheme>
</component>
\ No newline at end of file
app/build.gradle
View file @
e0558838
...
...
@@ -71,5 +71,14 @@ dependencies {
implementation
"com.jakewharton.threetenabp:threetenabp:${threetenBPVersion}"
implementation
'androidx.legacy:legacy-support-v4:1.0.0'
implementation
'androidx.browser:browser:1.0.0'
implementation
'com.google.firebase:firebase-database:19.2.0'
implementation
'com.google.firebase:firebase-analytics:17.2.1'
implementation
'com.google.firebase:firebase-auth:19.1.0'
implementation
'com.google.firebase:firebase-storage:19.1.0'
implementation
'androidx.appcompat:appcompat:1.1.0'
implementation
'androidx.constraintlayout:constraintlayout:1.1.3'
implementation
'com.android.support:cardview-v7:28.0.0'
implementation
'com.squareup.picasso:picasso:2.5.2'
}
apply
plugin:
'com.google.gms.google-services'
app/google-services.json
View file @
e0558838
{
"project_info"
:
{
"project_number"
:
"
259853447628
"
,
"firebase_url"
:
"https://
astral-theory-207617
.firebaseio.com"
,
"project_id"
:
"
astral-theory-207617
"
,
"storage_bucket"
:
"
astral-theory-207617
.appspot.com"
"project_number"
:
"
1023141785699
"
,
"firebase_url"
:
"https://
insticonnect-45378
.firebaseio.com"
,
"project_id"
:
"
insticonnect-45378
"
,
"storage_bucket"
:
"
insticonnect-45378
.appspot.com"
},
"client"
:
[
{
"client_info"
:
{
"mobilesdk_app_id"
:
"1:
259853447628:android:efaea50ea28ccfec
"
,
"mobilesdk_app_id"
:
"1:
1023141785699:android:58573214b1f96c0f5a8856
"
,
"android_client_info"
:
{
"package_name"
:
"app.insti"
}
},
"oauth_client"
:
[
{
"client_id"
:
"259853447628-be3teletcqtfpfddj9qnk0bqj221h2mo.apps.googleusercontent.com"
,
"client_id"
:
"1023141785699-28upmbifpbs6un76kdr3hpm6fug7n9v4.apps.googleusercontent.com"
,
"client_type"
:
1
,
"android_info"
:
{
"package_name"
:
"app.insti"
,
"certificate_hash"
:
"06e2d90cd8194ec68c63a02bcfba1eacc0c6708e"
}
},
{
"client_id"
:
"1023141785699-vu4a8rsf0idtik4389hsgdo2g7tp4m8q.apps.googleusercontent.com"
,
"client_type"
:
1
,
"android_info"
:
{
"package_name"
:
"app.insti"
,
"certificate_hash"
:
"21f9683560ab885f4047ada091134c1e42b090a8"
}
},
{
"client_id"
:
"1023141785699-pruslo8ehct8hfkusat4s1et7m21noek.apps.googleusercontent.com"
,
"client_type"
:
3
}
],
"api_key"
:
[
{
"current_key"
:
"AIzaSyB
8B7N-3hnW_u4jOXHLRUzbMl6To3aDyJ
o"
"current_key"
:
"AIzaSyB
ZaFkdmkZ3A9enFnXBttS6iWGbh597yy
o"
}
],
"services"
:
{
"analytics_service"
:
{
"status"
:
1
},
"appinvite_service"
:
{
"status"
:
1
,
"other_platform_oauth_client"
:
[]
},
"ads_service"
:
{
"status"
:
2
"other_platform_oauth_client"
:
[
{
"client_id"
:
"1023141785699-pruslo8ehct8hfkusat4s1et7m21noek.apps.googleusercontent.com"
,
"client_type"
:
3
}
]
}
}
}
...
...
app/src/main/AndroidManifest.xml
View file @
e0558838
...
...
@@ -9,6 +9,7 @@
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.VIBRATE"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-feature
android:name=
"android.hardware.camera"
/>
...
...
@@ -21,6 +22,7 @@
android:roundIcon=
"@mipmap/ic_launcher_round"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
<receiver
android:name=
".widget.MessMenuWidget"
>
<intent-filter>
<action
android:name=
"android.appwidget.action.APPWIDGET_UPDATE"
/>
...
...
app/src/main/java/app/insti/activity/LoginActivity.java
View file @
e0558838
...
...
@@ -8,14 +8,19 @@ import android.net.Uri;
import
android.os.Bundle
;
import
android.webkit.WebView
;
import
android.webkit.WebViewClient
;
import
android.widget.Button
;
import
android.widget.Toast
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.browser.customtabs.CustomTabsIntent
;
import
com.google.android.gms.tasks.OnSuccessListener
;
import
com.google.firebase.FirebaseApp
;
import
com.google.firebase.database.DatabaseReference
;
import
com.google.firebase.database.FirebaseDatabase
;
import
com.google.firebase.iid.FirebaseInstanceId
;
import
com.google.firebase.iid.InstanceIdResult
;
import
com.google.firebase.storage.FirebaseStorage
;
import
app.insti.Constants
;
import
app.insti.R
;
...
...
@@ -48,6 +53,7 @@ public class LoginActivity extends AppCompatActivity {
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
session
=
new
SessionManager
(
mContext
);
if
(
session
.
isLoggedIn
())
{
openMainActivity
();
}
else
{
...
...
app/src/main/java/app/insti/activity/MainActivity.java
View file @
e0558838
...
...
@@ -61,6 +61,7 @@ import app.insti.api.model.Role;
import
app.insti.api.model.User
;
import
app.insti.api.request.UserFCMPatchRequest
;
import
app.insti.fragment.BackHandledFragment
;
import
app.insti.fragment.BroadActivityFragment
;
import
app.insti.fragment.CalendarFragment
;
import
app.insti.fragment.ComplaintsFragment
;
import
app.insti.fragment.ExploreFragment
;
...
...
@@ -555,6 +556,10 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
updateFragment
(
new
NewsFragment
());
break
;
case
R
.
id
.
nav_broad_activities
:
updateFragment
(
new
BroadActivityFragment
());
break
;
case
R
.
id
.
nav_placement_blog
:
openPlacementBlog
();
break
;
...
...
app/src/main/java/app/insti/adapter/ActivitiesAdapter.java
View file @
e0558838
package
app.insti.adapter
;
public
class
ActivitiesAdapter
{
import
android.app.Activity
;
import
android.content.Context
;
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.recyclerview.widget.RecyclerView
;
import
com.squareup.picasso.Picasso
;
import
java.util.List
;
import
app.insti.R
;
import
app.insti.api.model.BroadActivity
;
public
class
ActivitiesAdapter
extends
RecyclerView
.
Adapter
<
ActivitiesAdapter
.
BroadActivitiesViewHolder
>
{
private
Context
context
;
private
List
<
BroadActivity
>
broadActivityList
;
public
ActivitiesAdapter
(
Context
context
,
List
<
BroadActivity
>
broadActivityList
){
this
.
context
=
context
;
this
.
broadActivityList
=
broadActivityList
;
}
@NonNull
@Override
public
BroadActivitiesViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
LayoutInflater
inflater
=
LayoutInflater
.
from
(
context
);
View
view
=
inflater
.
inflate
(
R
.
layout
.
resource_layout_broad_activities
,
parent
,
false
);
return
new
BroadActivitiesViewHolder
(
view
);
}
@Override
public
void
onBindViewHolder
(
@NonNull
BroadActivitiesViewHolder
holder
,
int
position
)
{
BroadActivity
broadActivity
=
broadActivityList
.
get
(
position
);
holder
.
txtView
.
setText
(
broadActivity
.
getBroadActivityName
());
Picasso
.
get
().
load
(
broadActivity
.
getAvatarUrl
()).
fit
().
centerCrop
().
into
(
holder
.
imgView
);
}
@Override
public
int
getItemCount
()
{
return
broadActivityList
.
size
();
}
public
class
BroadActivitiesViewHolder
extends
RecyclerView
.
ViewHolder
{
ImageView
imgView
;
TextView
txtView
;
public
BroadActivitiesViewHolder
(
@NonNull
View
itemView
)
{
super
(
itemView
);
imgView
=
itemView
.
findViewById
(
R
.
id
.
imgViewActivity
);
txtView
=
itemView
.
findViewById
(
R
.
id
.
txtViewActivity
);
}
}
}
app/src/main/java/app/insti/api/model/BroadActivity.java
View file @
e0558838
package
app.insti.api.model
;
public
class
BroadActivity
{
import
com.google.gson.annotations.SerializedName
;
import
java.util.List
;
import
app.insti.interfaces.CardInterface
;
public
class
BroadActivity
implements
CardInterface
{
@SerializedName
(
"id"
)
private
String
broadActivityID
;
@SerializedName
(
"name"
)
private
String
broadActivityName
;
@SerializedName
(
"image_url"
)
private
String
broadActivityImageURL
;
@SerializedName
(
"children"
)
private
List
<
SubActivity
>
broadActivityChildren
;
public
String
getBroadActivityID
()
{
return
broadActivityID
;
}
public
String
getBroadActivityName
()
{
return
broadActivityName
;
}
public
String
getBroadActivityImageURL
()
{
return
broadActivityImageURL
;
}
public
List
<
SubActivity
>
getBroadActivityChildren
()
{
return
broadActivityChildren
;
}
public
void
setBroadActivityID
(
String
broadActivityID
)
{
this
.
broadActivityID
=
broadActivityID
;
}
public
void
setBroadActivityName
(
String
broadActivityName
)
{
this
.
broadActivityName
=
broadActivityName
;
}
public
void
setBroadActivityImageURL
(
String
broadActivityImageURL
)
{
this
.
broadActivityImageURL
=
broadActivityImageURL
;
}
public
void
setBroadActivityChildren
(
List
<
SubActivity
>
broadActivityChildren
)
{
this
.
broadActivityChildren
=
broadActivityChildren
;
}
@Override
public
long
getId
()
{
return
getBroadActivityID
().
hashCode
();
}
@Override
public
String
getTitle
()
{
return
getBroadActivityName
();
}
@Override
public
String
getSubtitle
()
{
return
null
;
}
@Override
public
String
getAvatarUrl
()
{
return
getBroadActivityImageURL
();
}
}
app/src/main/java/app/insti/api/model/NewEvent.java
View file @
e0558838
package
app.insti.api.model
;
public
class
NewEvent
{
import
androidx.annotation.NonNull
;
import
com.google.gson.annotations.SerializedName
;
import
java.sql.Timestamp
;
import
java.util.List
;
import
app.insti.interfaces.CardInterface
;
public
class
NewEvent
implements
CardInterface
{
@NonNull
()
@SerializedName
(
"id"
)
private
String
newEventID
;
@SerializedName
(
"str_id"
)
private
String
newEventStrID
;
@SerializedName
(
"name"
)
private
String
newEventName
;
@SerializedName
(
"description"
)
private
String
newEventDescription
;
@SerializedName
(
"image_url"
)
private
String
newEventImageURL
;
@SerializedName
(
"date"
)
private
Timestamp
newEventDate
;
@SerializedName
(
"start_time"
)
private
Timestamp
newEventStartTime
;
@SerializedName
(
"end_time"
)
private
Timestamp
newEventEndTime
;
@SerializedName
(
"venue"
)
private
String
newEventVenue
;
@SerializedName
(
"parent"
)
private
SubActivity
newEventParent
;
@SerializedName
(
"interested_count"
)
private
int
newEventInterestedCount
;
@SerializedName
(
"going_count"
)
private
int
newEventGoingCount
;
@SerializedName
(
"interested"
)
private
List
<
User
>
newEventInterested
;
@SerializedName
(
"going"
)
private
List
<
User
>
newEventGoing
;
@NonNull
public
String
getNewEventID
()
{
return
newEventID
;
}
public
String
getNewEventStrID
()
{
return
newEventStrID
;
}
public
String
getNewEventName
()
{
return
newEventName
;
}
public
String
getNewEventDescription
()
{
return
newEventDescription
;
}
public
String
getNewEventImageURL
()
{
return
newEventImageURL
;
}
public
Timestamp
getNewEventDate
()
{
return
newEventDate
;
}
public
Timestamp
getNewEventStartTime
()
{
return
newEventStartTime
;
}
public
Timestamp
getNewEventEndTime
()
{
return
newEventEndTime
;
}
public
String
getNewEventVenue
()
{
return
newEventVenue
;
}
public
SubActivity
getNewEventParent
()
{
return
newEventParent
;
}
public
int
getNewEventInterestedCount
()
{
return
newEventInterestedCount
;
}
public
int
getNewEventGoingCount
()
{
return
newEventGoingCount
;
}
public
List
<
User
>
getNewEventInterested
()
{
return
newEventInterested
;
}
public
List
<
User
>
getNewEventGoing
()
{
return
newEventGoing
;
}
public
void
setNewEventID
(
@NonNull
String
newEventID
)
{
this
.
newEventID
=
newEventID
;
}
public
void
setNewEventStrID
(
String
newEventStrID
)
{
this
.
newEventStrID
=
newEventStrID
;
}
public
void
setNewEventName
(
String
newEventName
)
{
this
.
newEventName
=
newEventName
;
}
public
void
setNewEventDescription
(
String
newEventDescription
)
{
this
.
newEventDescription
=
newEventDescription
;
}
public
void
setNewEventImageURL
(
String
newEventImageURL
)
{
this
.
newEventImageURL
=
newEventImageURL
;
}
public
void
setNewEventDate
(
Timestamp
newEventDate
)
{
this
.
newEventDate
=
newEventDate
;
}
public
void
setNewEventStartTime
(
Timestamp
newEventStartTime
)
{
this
.
newEventStartTime
=
newEventStartTime
;
}
public
void
setNewEventEndTime
(
Timestamp
newEventEndTime
)
{
this
.
newEventEndTime
=
newEventEndTime
;
}
public
void
setNewEventVenue
(
String
newEventVenue
)
{
this
.
newEventVenue
=
newEventVenue
;
}
public
void
setNewEventParent
(
SubActivity
newEventParent
)
{
this
.
newEventParent
=
newEventParent
;
}
public
void
setNewEventInterestedCount
(
int
newEventInterestedCount
)
{
this
.
newEventInterestedCount
=
newEventInterestedCount
;
}
public
void
setNewEventGoingCount
(
int
newEventGoingCount
)
{
this
.
newEventGoingCount
=
newEventGoingCount
;
}
public
void
setNewEventInterested
(
List
<
User
>
newEventInterested
)
{
this
.
newEventInterested
=
newEventInterested
;
}
public
void
setNewEventGoing
(
List
<
User
>
newEventGoing
)
{
this
.
newEventGoing
=
newEventGoing
;
}
@Override
public
long
getId
()
{
return
getNewEventID
().
hashCode
();
}
@Override
public
String
getTitle
()
{
return
getNewEventName
();
}
@Override
public
String
getSubtitle
()
{
String
subtitle
=
getNewEventDate
()
+
"|"
+
getNewEventStartTime
().
toString
()
+
"|"
+
getNewEventVenue
();
return
subtitle
;
}
@Override
public
String
getAvatarUrl
()
{
return
getNewEventImageURL
();
}
}
app/src/main/java/app/insti/api/model/SubActivity.java
View file @
e0558838
package
app.insti.api.model
;
public
class
SubActivity
{
import
com.google.gson.annotations.SerializedName
;
import
java.util.List
;
import
app.insti.interfaces.CardInterface
;
public
class
SubActivity
implements
CardInterface
{
@SerializedName
(
"id"
)
private
String
subActivityID
;
@SerializedName
(
"name"
)
private
String
subActivityName
;
@SerializedName
(
"image_url"
)
private
String
subActivityImageURL
;
@SerializedName
(
"shortdescription"
)
private
String
subActivityShortDescription
;
@SerializedName
(
"description"
)
private
String
subActivityDescription
;
@SerializedName
(
"parent"
)
private
BroadActivity
subActivityParents
;
@SerializedName
(
"children"
)
private
List
<
NewEvent
>
subActivityChildren
;
@SerializedName
(
"followers_count"
)
private
int
subActivityFollowersCount
;
@SerializedName
(
"user_follows"
)
private
boolean
subActivityUserFollows
;
public
String
getSubActivityID
()
{
return
subActivityID
;
}
public
String
getSubActivityName
()
{
return
subActivityName
;
}
public
String
getSubActivityImageURL
()
{
return
subActivityImageURL
;
}
public
List
<
NewEvent
>
getSubActivityChildren
()
{
return
subActivityChildren
;
}
public
BroadActivity
getSubActivityParents
()
{
return
subActivityParents
;
}
public
String
getSubActivityShortDescription
()
{
return
subActivityShortDescription
;
}
public
void
setSubActivityID
(
String
subActivityID
)
{
this
.
subActivityID
=
subActivityID
;
}
public
void
setSubActivityName
(
String
subActivityName
)
{
this
.
subActivityName
=
subActivityName
;
}
public
void
setSubActivityImageURL
(
String
subActivityImageURL
)
{
this
.
subActivityImageURL
=
subActivityImageURL
;
}
public
void
setSubActivityChildren
(
List
<
NewEvent
>
subActivityChildren
)
{
this
.
subActivityChildren
=
subActivityChildren
;
}
public
void
setSubActivityParents
(
BroadActivity
subActivityParents
)
{
this
.
subActivityParents
=
subActivityParents
;
}
public
String
getSubActivityDescription
()
{
return
subActivityDescription
;
}
public
int
getSubActivityFollowersCount
()
{
return
subActivityFollowersCount
;
}
public
boolean
isSubActivityUserFollows
()
{
return
subActivityUserFollows
;
}
public
void
setSubActivityDescription
(
String
subActivityDescription
)
{
this
.
subActivityDescription
=
subActivityDescription
;
}
public
void
setSubActivityFollowersCount
(
int
subActivityFollowersCount
)
{
this
.
subActivityFollowersCount
=
subActivityFollowersCount
;
}
public
void
setSubActivityUserFollows
(
boolean
subActivityUserFollows
)
{
this
.
subActivityUserFollows
=
subActivityUserFollows
;
}
public
void
setSubActivityShortDescription
(
String
subActivityShortDescription
)
{
this
.
subActivityShortDescription
=
subActivityShortDescription
;
}
@Override
public
long
getId
()
{
return
getSubActivityID
().
hashCode
();
}
@Override
public
String
getTitle
()
{
return
getSubActivityName
();
}
@Override
public
String
getSubtitle
()
{
return
getSubActivityDescription
()
;
}
@Override
public
String
getAvatarUrl
()
{
return
getSubActivityImageURL
();
}
}
app/src/main/java/app/insti/fragment/BroadActivityFragment.java
View file @
e0558838
package
app.insti
;
package
app.insti
.fragment
;
import
android.content.Context
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
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
android.widget.LinearLayout
;
import
android.widget.Toast
;
import
com.google.firebase.database.DataSnapshot
;
import
com.google.firebase.database.DatabaseError
;
import
com.google.firebase.database.DatabaseReference
;
import
com.google.firebase.database.FirebaseDatabase
;
import
com.google.firebase.database.ValueEventListener
;
import
com.google.firebase.storage.FirebaseStorage
;
import
com.google.firebase.storage.StorageReference
;
import
java.util.ArrayList
;
import
java.util.List
;
import
app.insti.R
;
import
app.insti.adapter.ActivitiesAdapter
;
import
app.insti.api.model.BroadActivity
;
/**
* A simple {@link Fragment} subclass.
* Activities that contain this fragment must implement the
* {@link BroadActivityFragment.OnFragmentInteractionListener} interface
* to handle interaction events.
* Use the {@link BroadActivityFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public
class
BroadActivityFragment
extends
Fragment
{
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private
static
final
String
ARG_PARAM1
=
"param1"
;
private
static
final
String
ARG_PARAM2
=
"param2"
;
// TODO: Rename and change types of parameters
private
String
mParam1
;
private
String
mParam2
;
private
OnFragmentInteractionListener
mListener
;
private
StorageReference
storageReference
;
private
DatabaseReference
databaseReference
;
private
List
<
BroadActivity
>
broadActivityList
;
public
BroadActivityFragment
()
{
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment BroadActivityFragment.
*/
// TODO: Rename and change types and number of parameters
public
static
BroadActivityFragment
newInstance
(
String
param1
,
String
param2
)
{
BroadActivityFragment
fragment
=
new
BroadActivityFragment
();
Bundle
args
=
new
Bundle
();
args
.
putString
(
ARG_PARAM1
,
param1
);
args
.
putString
(
ARG_PARAM2
,
param2
);
fragment
.
setArguments
(
args
);
return
fragment
;
}
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
if
(
getArguments
()
!=
null
)
{
mParam1
=
getArguments
().
getString
(
ARG_PARAM1
);
mParam2
=
getArguments
().
getString
(
ARG_PARAM2
);
}
}
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
// Inflate the layout for this fragment
return
inflater
.
inflate
(
R
.
layout
.
fragment_broad_activity
,
container
,
false
);
}
View
view
=
inflater
.
inflate
(
R
.
layout
.
fragment_broad_activity
,
container
,
false
);
// TODO: Rename method, update argument and hook method into UI event
public
void
onButtonPressed
(
Uri
uri
)
{
if
(
mListener
!=
null
)
{
mListener
.
onFragmentInteraction
(
uri
);
}
}
RecyclerView
broadActivitiesList
=
view
.
findViewById
(
R
.
id
.
broadActivitiesList
);
broadActivitiesList
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
@Override
public
void
onAttach
(
Context
context
)
{
super
.
onAttach
(
context
);
if
(
context
instanceof
OnFragmentInteractionListener
)
{
mListener
=
(
OnFragmentInteractionListener
)
context
;
}
else
{
throw
new
RuntimeException
(
context
.
toString
()
+
" must implement OnFragmentInteractionListener"
);
}
}
broadActivityList
=
new
ArrayList
<>();
@Override
public
void
onDetach
()
{
super
.
onDetach
();
mListener
=
null
;
}
databaseReference
=
FirebaseDatabase
.
getInstance
().
getReference
(
"activities"
);
databaseReference
.
addValueEventListener
(
new
ValueEventListener
()
{
@Override
public
void
onDataChange
(
@NonNull
DataSnapshot
dataSnapshot
)
{
for
(
DataSnapshot
activitySnapshot
:
dataSnapshot
.
getChildren
()){
BroadActivity
broadActivity
=
activitySnapshot
.
getValue
(
BroadActivity
.
class
);
broadActivityList
.
add
(
broadActivity
);
}
ActivitiesAdapter
broadActivityAdapter
=
new
ActivitiesAdapter
(
getContext
(),
broadActivityList
);
broadActivitiesList
.
setAdapter
(
broadActivityAdapter
);
}
/**
* This interface must be implemented by activities that contain this
* fragment to allow an interaction in this fragment to be communicated
* to the activity and potentially other fragments contained in that
* activity.
* <p>
* See the Android Training lesson <a href=
* "http://developer.android.com/training/basics/fragments/communicating.html"
* >Communicating with Other Fragments</a> for more information.
*/
public
interface
OnFragmentInteractionListener
{
// TODO: Update argument type and name
void
onFragmentInteraction
(
Uri
uri
);
@Override
public
void
onCancelled
(
@NonNull
DatabaseError
databaseError
)
{
Toast
.
makeText
(
getContext
(),
"Something wrong happened"
,
Toast
.
LENGTH_SHORT
).
show
();
}
});
return
view
;
}
}
app/src/main/res/layout/fragment_broad_activity.xml
View file @
e0558838
...
...
@@ -3,12 +3,14 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".BroadActivityFragment"
>
tools:context=
".
fragment.
BroadActivityFragment"
>
<!-- TODO: Update blank fragment layout -->
<
Text
View
<
androidx.recyclerview.widget.Recycler
View
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:text=
"@string/hello_blank_fragment"
/>
android:id=
"@+id/broadActivitiesList"
>
</androidx.recyclerview.widget.RecyclerView>
</FrameLayout>
\ No newline at end of file
app/src/main/res/layout/resource_layout_broad_activities.xml
View file @
e0558838
...
...
@@ -24,7 +24,9 @@
android:layout_height=
"wrap_content"
android:id=
"@+id/txtViewActivity"
style=
"@style/TextAppearance.AppCompat.Title"
android:layout_marginTop=
"10dp"
>
android:layout_marginTop=
"10dp"
android:textColor=
"@color/colorPrimary"
android:background=
"@color/colorAccent"
>
</TextView>
...
...
app/src/main/res/layout/resource_layout_sub_activities.xml
0 → 100644
View file @
e0558838
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"?android:attr/selectableItemBackground"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:paddingBottom=
"4dp"
android:paddingLeft=
"18dp"
android:paddingRight=
"10dp"
android:paddingTop=
"2dp"
android:minHeight=
"80dp"
>
<de.hdodenhof.circleimageview.CircleImageView
android:id=
"@+id/imgViewSubActivity"
android:layout_width=
"60dp"
android:layout_height=
"60dp"
android:layout_gravity=
"center_vertical"
android:scaleType=
"centerCrop"
/>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginLeft=
"12dp"
android:layout_marginRight=
"12dp"
android:layout_weight=
"3"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/txtViewSubActivityName"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:maxLines=
"2"
android:ellipsize=
"end"
android:textColor=
"?attr/themeColorInverse"
android:textSize=
"17sp"
android:layout_marginBottom=
"5dp"
/>
<TextView
android:id=
"@+id/txtViewSubActivityShortDescription"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:ellipsize=
"end"
android:maxLines=
"1"
android:textSize=
"15sp"
android:textColor=
"?attr/themeGray"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
app/src/main/res/menu/activity_main_drawer.xml
View file @
e0558838
...
...
@@ -18,6 +18,11 @@
android:icon=
"@drawable/ic_search_black_24dp"
android:title=
"Explore"
/>
<item
android:id=
"@+id/nav_broad_activities"
android:icon=
"@drawable/ic_dashboard_black_48dp"
android:title=
"Activities"
/>
<item
android:id=
"@+id/nav_mess_menu"
android:icon=
"@drawable/ic_restaurant_black_48dp"
...
...
app/src/main/res/values/strings.xml
View file @
e0558838
...
...
@@ -55,4 +55,7 @@
<string
name=
"GPS_not_enables"
>
GPS is not enabled!
</string>
<string
name=
"no_permission"
>
No permission!
</string>
<string
name=
"enter_location_details"
>
Enter Location Details
</string>
<!-- TODO: Remove or change this placeholder text -->
<string
name=
"hello_blank_fragment"
>
Hello blank fragment
</string>
</resources>
build.gradle
View file @
e0558838
...
...
@@ -9,8 +9,9 @@ buildscript {
}
dependencies
{
classpath
'com.android.tools.build:gradle:3.4.2'
classpath
'com.google.gms:google-services:4.2.0'
classpath
'com.android.tools.build:gradle:3.5.1'
// classpath 'com.google.gms:google-services:4.2.0'
classpath
'com.google.gms:google-services:4.3.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
...
...
gradle/wrapper/gradle-wrapper.properties
View file @
e0558838
#
Mon May 06 02:37:18
IST 2019
#
Fri Nov 01 03:28:46
IST 2019
distributionBase
=
GRADLE_USER_HOME
distributionPath
=
wrapper/dists
zipStoreBase
=
GRADLE_USER_HOME
zipStorePath
=
wrapper/dists
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-5.
1
.1-all.zip
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-5.
4
.1-all.zip
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