Skip to content

Commit

Permalink
1. add layout when survey was already done today
Browse files Browse the repository at this point in the history
2. add layout survey guide
3. add back dialog
4. add intent to show result of self assessment
  • Loading branch information
derysudrajat committed Apr 16, 2020
1 parent 5cfb455 commit 4ddf644
Show file tree
Hide file tree
Showing 2 changed files with 312 additions and 13 deletions.
101 changes: 90 additions & 11 deletions app/src/main/java/com/seadev/kampungsiagacovid/ui/SurveyActivity.kt
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
package com.seadev.kampungsiagacovid.ui

import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.util.Log
import android.view.KeyEvent
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.room.Room
import com.bumptech.glide.Glide
import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.FirebaseDatabase
import com.quickbirdstudios.surveykit.*
Expand All @@ -19,13 +24,18 @@ import com.quickbirdstudios.surveykit.steps.InstructionStep
import com.quickbirdstudios.surveykit.steps.QuestionStep
import com.quickbirdstudios.surveykit.steps.Step
import com.quickbirdstudios.surveykit.survey.SurveyView
import com.seadev.kampungsiagacovid.BuildConfig
import com.seadev.kampungsiagacovid.R
import com.seadev.kampungsiagacovid.model.Asesmen
import com.seadev.kampungsiagacovid.model.DataQuestionTitle
import com.seadev.kampungsiagacovid.room.AsesmenContract.db
import com.seadev.kampungsiagacovid.room.AssesmenDatabase
import com.seadev.kampungsiagacovid.util.DateFormater
import com.seadev.kampungsiagacovid.util.ReportHistoryFormater
import kotlinx.android.synthetic.main.activity_survey.*
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import java.util.*

class SurveyActivity : AppCompatActivity() {

Expand All @@ -40,24 +50,89 @@ class SurveyActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_survey)
supportActionBar?.title = "Koesioner Penilaian Diri"
supportActionBar?.setDisplayHomeAsUpEnabled(true)
survey = findViewById(R.id.survey_view)
survey.onCancelPendingInputEvents()
container = findViewById(R.id.surveyContainer)
initialQuestion()
setupSurvey(survey)
// supportActionBar?.setDisplayHomeAsUpEnabled(true)
initView()
}

private fun initView() {
db = Room.databaseBuilder(Objects.requireNonNull(this),
AssesmenDatabase::class.java, "db_asesmen").allowMainThreadQueries().build()
val asesmenList = db.asesmenDao().dataAsesmen
if (!asesmenList.isEmpty()) {
val (date1) = asesmenList[asesmenList.size - 1]
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy")
val nowDate = LocalDateTime.now().format(formatter)
val isToday = if (nowDate == date1) 1 else 0
if (isToday == 1) {
layoutScroll.visibility = View.VISIBLE
layoutDoneSurvey.visibility = View.VISIBLE
layoutGuideSurvey.visibility = View.GONE
btnSurveyBack.setOnClickListener { finish() }
Glide.with(this)
.load(BuildConfig.BASE_URL_LOKASI + getString(R.string.res_icon_assesment))
.into(ivImgDoneSurvey)
} else {
Glide.with(this)
.load(BuildConfig.BASE_URL_LOKASI + "res%2F068-settings.png?alt=media&token=700c2e17-e8d0-4ef5-b9a6-9a8804e1e294")
.into(ivImgGuideSurvey)
btnGuideOK.setOnClickListener {
layoutScroll.visibility = View.GONE
layoutDoneSurvey.visibility = View.GONE
layoutGuideSurvey.visibility = View.GONE
survey_view.visibility = View.VISIBLE
survey = findViewById(R.id.survey_view)
survey.onCancelPendingInputEvents()
container = findViewById(R.id.surveyContainer)
initialQuestion()
setupSurvey(survey)

}

}
}
} else {
Glide.with(this)
.load(BuildConfig.BASE_URL_LOKASI + "res%2F068-settings.png?alt=media&token=700c2e17-e8d0-4ef5-b9a6-9a8804e1e294")
.into(ivImgGuideSurvey)
btnGuideOK.setOnClickListener {
layoutScroll.visibility = View.GONE
layoutDoneSurvey.visibility = View.GONE
layoutGuideSurvey.visibility = View.GONE
survey_view.visibility = View.VISIBLE
survey = findViewById(R.id.survey_view)
survey.onCancelPendingInputEvents()
container = findViewById(R.id.surveyContainer)
initialQuestion()
setupSurvey(survey)

}
}
}

override fun onBackPressed() {
super.onBackPressed()
finish()
onBack()
}

override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (item.itemId == android.R.id.home) finish()
if (item.itemId == android.R.id.home) onBack()
return super.onOptionsItemSelected(item)
}

private fun onBack() {
val builder = AlertDialog.Builder(this)
builder.setMessage("Jika Anda keluar, data yang Anda isi akan di abaikan.")
.setPositiveButton("Ya") { dialog, which ->
survey.onSurveyFinish
survey.removeAllViews()
container.removeAllViews()
finish()
}
.setNegativeButton("Batal") { dialog, which -> }
builder.setTitle("Apakah Anda yakin ingin keluar dari penilaian diri sekarang?")
builder.create().show()
}

private fun setupSurvey(surveyView: SurveyView) {
val steps = mStep
val task = NavigableOrderedTask(steps = steps)
Expand Down Expand Up @@ -122,7 +197,7 @@ class SurveyActivity : AppCompatActivity() {
}

mStep.add(InstructionStep(
title = R.string.intro_title,
title = R.string.intro_title_2,
text = R.string.intro_text_2,
buttonText = R.string.intro_start))

Expand All @@ -141,7 +216,7 @@ class SurveyActivity : AppCompatActivity() {
}

mStep.add(InstructionStep(
title = R.string.intro_title,
title = R.string.intro_title_3,
text = R.string.intro_text_3,
buttonText = R.string.intro_start))

Expand Down Expand Up @@ -230,6 +305,10 @@ class SurveyActivity : AppCompatActivity() {
}
dataAsesmen.date = datePath
db.asesmenDao().InsertDataAsesmen(dataAsesmen)
val intent = Intent(this, DetailReportActivity::class.java)
intent.putExtra(DetailReportActivity.DATA_DETAIL_EXTRA, ReportHistoryFormater
.getTitleReport(dataAsesmen.risiko!!).toLowerCase() + " result")
startActivity(intent)
finish()
}
}
Loading

0 comments on commit 4ddf644

Please sign in to comment.