Skip to content

Commit eb3159a

Browse files
committed
added 2 quiz
1 parent a7e255e commit eb3159a

File tree

10 files changed

+645
-195
lines changed

10 files changed

+645
-195
lines changed

.idea/gradle.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/com/solvabit/climate/fragment/StatsFragments/ForestDensityStatsFragment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ class ForestDensityStatsFragment : Fragment() {
135135
binding.lineChart.setBackgroundColor(resources.getColor(R.color.white))
136136
binding.lineChart.animateXY(3000, 3000)
137137
binding.lineChart.setTouchEnabled(false)
138+
binding.lineChart.setDescription(" ")
138139
binding.lineChart.setDrawGridBackground(false)
139140
binding.lineChart.getXAxis().setDrawGridLines(false);
140141
binding.lineChart.getAxisLeft().setDrawGridLines(false);
@@ -144,6 +145,7 @@ class ForestDensityStatsFragment : Fragment() {
144145
binding.lineChart2.setBackgroundColor(resources.getColor(R.color.white))
145146
binding.lineChart2.animateXY(3000, 3000)
146147
binding.lineChart2.setTouchEnabled(false)
148+
binding.lineChart2.setDescription(" ")
147149
binding.lineChart2.setDrawGridBackground(false)
148150
binding.lineChart2.getXAxis().setDrawGridLines(false);
149151
binding.lineChart2.getAxisLeft().setDrawGridLines(false);

app/src/main/java/com/solvabit/climate/fragment/StatsFragments/GroundWaterStatsFragment.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,15 @@ class GroundWaterStatsFragment : Fragment() {
5858
scaleValue.add("Rainfall Monsoon Recharge")
5959

6060
val lineEntry = ArrayList<Entry>()
61-
lineEntry.add(Entry(localuser.groundWaterData[11].toFloat(), 1))
62-
lineEntry.add(Entry(localuser.groundWaterData[5].toFloat(), 2))
63-
lineEntry.add(Entry(localuser.groundWaterData[2].toFloat(), 3))
64-
lineEntry.add(Entry(localuser.groundWaterData[3].toFloat(), 4))
65-
lineEntry.add(Entry(localuser.groundWaterData[9].toFloat(), 5))
61+
lineEntry.add(Entry(localuser.groundWaterData[5].toFloat(), 1))
62+
lineEntry.add(Entry(localuser.groundWaterData[2].toFloat(), 2))
63+
lineEntry.add(Entry(localuser.groundWaterData[3].toFloat(), 3))
64+
lineEntry.add(Entry(localuser.groundWaterData[9].toFloat(), 4))
6665
val pieDataSet = PieDataSet(lineEntry, "Year")
6766
val dataSet = PieData(scaleValue, pieDataSet)
6867
pieDataSet.setColors(ColorTemplate.JOYFUL_COLORS)
6968
binding.pieChart.animateXY(5000, 5000)
70-
69+
binding.pieChart.setDescription(" ")
7170
binding.pieChart.data = dataSet
7271

7372

app/src/main/java/com/solvabit/climate/fragment/TaskFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class TaskFragment : Fragment(), StartNewTaskDialog.EditNameDialogListener {
4949

5050
private fun setClickForTasks() {
5151

52-
for( i in 1 .. 15) {
52+
for( i in 1 .. 14) {
5353
val imageView = returnImageId(i.toString())
5454
imageView.setImageResource(actionsList[i-1].background)
5555
var status = "remaining"

app/src/main/java/com/solvabit/climate/fragment/Tasks/GuideTask.kt

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import android.view.View
66
import android.view.ViewGroup
77
import androidx.databinding.DataBindingUtil
88
import androidx.fragment.app.Fragment
9-
import androidx.fragment.app.FragmentManager
109
import androidx.navigation.findNavController
1110
import com.google.android.material.bottomnavigation.BottomNavigationView
1211
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer
@@ -15,6 +14,7 @@ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTube
1514
import com.solvabit.climate.R
1615
import com.solvabit.climate.databinding.FragmentGuideTaskBinding
1716
import com.solvabit.climate.fragment.TaskFragment
17+
import kotlinx.android.synthetic.main.fragment_guide_task.*
1818

1919

2020
class GuideTask : Fragment() {
@@ -41,23 +41,43 @@ class GuideTask : Fragment() {
4141

4242
initalizeToolbar()
4343

44-
initalizeVideoPlayer()
44+
initalizeVideoPlayer(taskId)
4545

46+
initateQuiz(taskId)
4647
return binding.root
4748
}
4849

49-
private fun initalizeVideoPlayer() {
50+
private fun initalizeVideoPlayer(taksId: Int) {
5051
youTubePlayerView = binding.youtubePlayerView
5152
lifecycle.addObserver(youTubePlayerView)
53+
var videoId = "iLLYX3RbtPQ"
5254

55+
when(taksId){
56+
3 -> videoId = "23XQ-hQoR7A"
57+
5 -> videoId = "iLLYX3RbtPQ"
58+
59+
}
5360
youTubePlayerView.addYouTubePlayerListener(object : AbstractYouTubePlayerListener() {
5461
override fun onReady(youTubePlayer: YouTubePlayer) {
55-
val videoId = "iLLYX3RbtPQ"
62+
5663
youTubePlayer.loadVideo(videoId, 0F)
5764
}
5865
})
5966
}
6067

68+
69+
private fun initateQuiz(taksId: Int) {
70+
var quizContainer = binding.quizContainer
71+
val inflater = LayoutInflater.from(context)
72+
when(taksId){
73+
3 -> inflater.inflate(R.layout.conserve_electricity_quiz,quizContainer, true)
74+
75+
5 -> inflater.inflate(R.layout.conserve_water_quiz,quizContainer, true)
76+
77+
78+
}
79+
80+
}
6181
private fun initalizeToolbar() {
6282
binding.guideTitle.text = actionsList[taskId - 1].title.toString()
6383
binding.backArrowGuide.setOnClickListener {

app/src/main/java/com/solvabit/climate/fragment/Tasks/SendReportFragment.kt

Lines changed: 113 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,30 @@ import android.net.Uri
88
import android.os.Bundle
99
import android.os.Environment
1010
import android.provider.MediaStore
11+
import android.util.Log
1112
import android.view.LayoutInflater
1213
import android.view.View
1314
import android.view.ViewGroup
1415
import androidx.core.content.FileProvider
1516
import androidx.databinding.DataBindingUtil
1617
import androidx.fragment.app.Fragment
18+
import com.github.mikephil.charting.data.*
19+
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet
20+
import com.github.mikephil.charting.utils.ColorTemplate
1721
import com.google.android.material.bottomnavigation.BottomNavigationView
22+
import com.google.firebase.auth.FirebaseAuth
1823
import com.solvabit.climate.R
24+
import com.solvabit.climate.Repository.Repository
25+
import com.solvabit.climate.database.Stats
26+
import com.solvabit.climate.database.UserDatabase
1927
import com.solvabit.climate.databinding.FragmentSendReportBinding
2028
import com.solvabit.climate.fragment.Dashboard
29+
import com.solvabit.climate.fragment.Dashboard.Companion.localuser
30+
import kotlinx.android.synthetic.main.bottom_sheet_planted_tree_data.*
2131
import kotlinx.android.synthetic.main.dialog_share_achievement_to_feed.view.*
32+
import kotlinx.coroutines.Dispatchers
33+
import kotlinx.coroutines.GlobalScope
34+
import kotlinx.coroutines.launch
2235
import timber.log.Timber
2336
import java.io.ByteArrayOutputStream
2437
import java.io.File
@@ -44,13 +57,27 @@ class SendReportFragment : Fragment() {
4457

4558
navbar = activity?.findViewById(R.id.bottomNavigation)!!
4659
navbar.visibility = View.GONE
47-
60+
val uid = FirebaseAuth.getInstance().uid.toString()
61+
val instance = UserDatabase.getInstance(context?.applicationContext!!)
62+
val dao = instance.userDao()
63+
val statsDao = instance.statsDao()
64+
val localRepo = Repository(dao, uid)
4865
initializeData()
4966

5067
binding.shareReportButton.setOnClickListener {
5168
showShareIntent()
5269
}
5370

71+
val stats = Stats()
72+
setLineChart(stats)
73+
GlobalScope.launch(Dispatchers.Main) {
74+
localRepo.getStats(statsDao){
75+
Log.v("StatsFragment",it.toString())
76+
setLineChart(it)
77+
}
78+
79+
}
80+
setPieChart()
5481
return binding.root
5582
}
5683

@@ -80,8 +107,93 @@ class SendReportFragment : Fragment() {
80107
// Step 7: Start/Launch Share intent
81108
startActivity(intent)
82109
}
110+
private fun setLineChart(stats: Stats) {
111+
112+
val xvalue = ArrayList<String>()
113+
xvalue.add("2011")
114+
xvalue.add("2012")
115+
xvalue.add("2014")
116+
xvalue.add("2015")
117+
xvalue.add("2019")
118+
119+
val lineEntry = ArrayList<Entry>()
120+
lineEntry.add(Entry(stats.actual_forest_cover_2009.toFloat(), 0))
121+
lineEntry.add(Entry(stats.actual_forest_cover_2011.toFloat(), 1))
122+
lineEntry.add(Entry(stats.actual_forest_cover_2013.toFloat(), 2))
123+
lineEntry.add(Entry(stats.actual_forest_cover_2015.toFloat(), 3))
124+
lineEntry.add(Entry(stats.actual_forest_cover_2019.toFloat(), 4))
125+
126+
val lineEntry1 = ArrayList<Entry>()
127+
lineEntry1.add(Entry(stats.open_forest_2009.toFloat(), 0))
128+
lineEntry1.add(Entry(stats.open_forest_2011.toFloat(), 1))
129+
lineEntry1.add(Entry(stats.open_forest_2013.toFloat(), 2))
130+
lineEntry1.add(Entry(stats.open_forest_2015.toFloat(), 3))
131+
lineEntry1.add(Entry(stats.open_forest_2019.toFloat(), 4))
132+
133+
134+
135+
val linedataset = LineDataSet(lineEntry, "AFC")
136+
linedataset.color = resources.getColor(R.color.green)
137+
138+
val linedataset1 = LineDataSet(lineEntry1, "OFC")
139+
linedataset1.color = resources.getColor(R.color.blue)
140+
141+
142+
linedataset.circleRadius = 0f
143+
linedataset.setDrawFilled(true)
144+
linedataset.fillColor = resources.getColor(R.color.green)
145+
linedataset.fillAlpha = 30
146+
linedataset.setDrawCubic(true)
147+
148+
linedataset1.circleRadius = 0f
149+
linedataset1.setDrawFilled(true)
150+
linedataset1.fillColor = resources.getColor(R.color.blue)
151+
linedataset1.fillAlpha = 30
152+
linedataset1.setDrawCubic(true)
153+
154+
155+
val linedatasetArray = arrayListOf<LineDataSet>(linedataset, linedataset1)
156+
157+
val actualCoverData = LineData(xvalue, linedatasetArray as List<ILineDataSet>?)
158+
159+
binding.lineChart.data = actualCoverData
160+
binding.lineChart.setBackgroundColor(resources.getColor(R.color.white))
161+
binding.lineChart.animateXY(3000, 3000)
162+
binding.lineChart.setTouchEnabled(false)
163+
binding.lineChart.setDrawGridBackground(false)
164+
binding.lineChart.getXAxis().setDrawGridLines(false);
165+
binding.lineChart.setDescription(" ")
166+
binding.lineChart.getAxisLeft().setDrawGridLines(false);
167+
binding.lineChart.getAxisRight().setDrawGridLines(false);
168+
169+
}
83170

84171

172+
private fun setPieChart() {
173+
174+
val scaleValue = java.util.ArrayList<String>()
175+
scaleValue.add("GWS")
176+
scaleValue.add("TAR")
177+
scaleValue.add("CAE")
178+
scaleValue.add("CAU")
179+
scaleValue.add("RMR")
180+
181+
val lineEntry = java.util.ArrayList<Entry>()
182+
lineEntry.add(Entry(localuser.groundWaterData[5].toFloat(), 1))
183+
lineEntry.add(Entry(localuser.groundWaterData[2].toFloat(), 2))
184+
lineEntry.add(Entry(localuser.groundWaterData[3].toFloat(), 3))
185+
lineEntry.add(Entry(localuser.groundWaterData[9].toFloat(), 4))
186+
val pieDataSet = PieDataSet(lineEntry, "")
187+
val dataSet = PieData(scaleValue, pieDataSet)
188+
pieDataSet.setColors(ColorTemplate.JOYFUL_COLORS)
189+
binding.pieChart.animateXY(5000, 5000)
190+
binding.pieChart.setDrawSliceText(true)
191+
binding.pieChart.setDescription(" ")
192+
binding.pieChart.data = dataSet
193+
194+
195+
}
196+
85197
private fun initializeData() {
86198
binding.apply {
87199
achievementNameTextView.text = localUser.username

0 commit comments

Comments
 (0)