diff --git a/app/src/main/java/org/ole/planet/myplanet/ui/courses/CourseStepFragment.kt b/app/src/main/java/org/ole/planet/myplanet/ui/courses/CourseStepFragment.kt index 16cc4fb21..c79d8bfd1 100644 --- a/app/src/main/java/org/ole/planet/myplanet/ui/courses/CourseStepFragment.kt +++ b/app/src/main/java/org/ole/planet/myplanet/ui/courses/CourseStepFragment.kt @@ -8,7 +8,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import io.realm.Case import io.realm.Realm import org.ole.planet.myplanet.MainApplication import org.ole.planet.myplanet.R @@ -127,40 +126,34 @@ class CourseStepFragment : BaseContainerFragment(), ImageCaptureCallback { fragmentCourseStepBinding.btnTakeSurvey.visibility = View.GONE if (stepExams.isNotEmpty()) { val firstStepId = stepExams[0].id - val questions = cRealm.where(RealmExamQuestion::class.java).equalTo("examId", firstStepId).findAll() - val submissionsCount = step.courseId?.let { - cRealm.where(RealmSubmission::class.java).equalTo("userId",user?.id).contains("parentId", it) - .notEqualTo("status", "pending", Case.INSENSITIVE).count() - } - if (questions != null && questions.size > 0) { - val examId=questions[0]?.examId - - val isSubmitted = step.courseId?.let { courseId -> - val parentId = "$examId@$courseId" - cRealm.where(RealmSubmission::class.java) - .equalTo("userId",user?.id) - .equalTo("parentId", parentId) - .equalTo("type", "exam") - .findFirst() != null - } ?: false - fragmentCourseStepBinding.btnTakeTest.text = if (isSubmitted) { getString(R.string.retake_test, stepExams.size) } else { getString(R.string.take_test, stepExams.size) } - fragmentCourseStepBinding.btnTakeTest.visibility = View.VISIBLE - } + val isTestPersent = existsSubmission(firstStepId, "exam") + fragmentCourseStepBinding.btnTakeTest.text = if (isTestPersent) { getString(R.string.retake_test, stepExams.size) } else { getString(R.string.take_test, stepExams.size) } + fragmentCourseStepBinding.btnTakeTest.visibility = View.VISIBLE } if (stepSurvey.isNotEmpty()) { val firstStepId = stepSurvey[0].id - val questions = cRealm.where(RealmExamQuestion::class.java).equalTo("examId", firstStepId).findAll() - val submissionsCount = step.courseId?.let { - cRealm.where(RealmSubmission::class.java).contains("parentId", it) - .notEqualTo("status", "pending", Case.INSENSITIVE).count() - } - if (questions != null && questions.size > 0) { - if (submissionsCount != null) { - fragmentCourseStepBinding.btnTakeSurvey.text = if (submissionsCount > 0) { "redo survey" } else { "record survey" } - } - fragmentCourseStepBinding.btnTakeSurvey.visibility = View.VISIBLE + val isSurveyPresent = existsSubmission(firstStepId, "survey") + fragmentCourseStepBinding.btnTakeSurvey.text = if (isSurveyPresent) { "redo survey" } else { "record survey" } + fragmentCourseStepBinding.btnTakeSurvey.visibility = View.VISIBLE } } + + private fun existsSubmission(firstStepId:String? , submissionType: String): Boolean{ + val questions = cRealm.where(RealmExamQuestion::class.java).equalTo("examId", firstStepId).findAll() + var isPresent=false + if (questions != null && questions.size > 0) { + val examId=questions[0]?.examId + val isSubmitted = step.courseId?.let { courseId -> + val parentId = "$examId@$courseId" + cRealm.where(RealmSubmission::class.java) + .equalTo("userId",user?.id) + .equalTo("parentId", parentId) + .equalTo("type", submissionType) + .findFirst() != null + } ?: false + isPresent= isSubmitted + } + return isPresent } override fun setMenuVisibility(visible: Boolean) { diff --git a/app/src/main/java/org/ole/planet/myplanet/ui/dashboard/notification/NotificationsFragment.kt b/app/src/main/java/org/ole/planet/myplanet/ui/dashboard/notification/NotificationsFragment.kt index be41e5748..b642cd3b8 100644 --- a/app/src/main/java/org/ole/planet/myplanet/ui/dashboard/notification/NotificationsFragment.kt +++ b/app/src/main/java/org/ole/planet/myplanet/ui/dashboard/notification/NotificationsFragment.kt @@ -197,6 +197,8 @@ class NotificationsFragment : Fragment() { override fun onDestroy() { super.onDestroy() - mRealm.close() + if (::mRealm.isInitialized) { + mRealm.close() + } } } diff --git a/app/src/main/java/org/ole/planet/myplanet/ui/feedback/FeedbackDetailActivity.kt b/app/src/main/java/org/ole/planet/myplanet/ui/feedback/FeedbackDetailActivity.kt index d13de41fe..0f29f8d60 100644 --- a/app/src/main/java/org/ole/planet/myplanet/ui/feedback/FeedbackDetailActivity.kt +++ b/app/src/main/java/org/ole/planet/myplanet/ui/feedback/FeedbackDetailActivity.kt @@ -22,6 +22,7 @@ import org.ole.planet.myplanet.model.FeedbackReply import org.ole.planet.myplanet.model.RealmFeedback import org.ole.planet.myplanet.ui.dashboard.DashboardActivity import org.ole.planet.myplanet.ui.feedback.FeedbackDetailActivity.RvFeedbackAdapter.ReplyViewHolder +import org.ole.planet.myplanet.utilities.LocaleHelper import org.ole.planet.myplanet.utilities.TimeUtils.getFormatedDateWithTime import java.util.Date @@ -33,6 +34,10 @@ class FeedbackDetailActivity : AppCompatActivity() { lateinit var realm: Realm private lateinit var rowFeedbackReplyBinding: RowFeedbackReplyBinding + override fun attachBaseContext(base: Context) { + super.attachBaseContext(LocaleHelper.onAttach(base)) + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) activityFeedbackDetailBinding = ActivityFeedbackDetailBinding.inflate(layoutInflater) diff --git a/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/AddMyHealthActivity.kt b/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/AddMyHealthActivity.kt index 75f277d10..a5fabaf09 100644 --- a/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/AddMyHealthActivity.kt +++ b/app/src/main/java/org/ole/planet/myplanet/ui/myhealth/AddMyHealthActivity.kt @@ -4,6 +4,10 @@ import android.os.Bundle import android.text.TextUtils import android.view.MenuItem import android.view.View +import android.view.ViewGroup +import android.widget.ArrayAdapter +import android.widget.Spinner +import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import com.google.gson.Gson import io.realm.Realm @@ -19,6 +23,7 @@ import org.ole.planet.myplanet.utilities.AndroidDecrypter.Companion.encrypt import org.ole.planet.myplanet.utilities.AndroidDecrypter.Companion.generateKey import org.ole.planet.myplanet.utilities.Utilities + class AddMyHealthActivity : AppCompatActivity() { private lateinit var activityAddMyHealthBinding: ActivityAddMyHealthBinding lateinit var realm: Realm @@ -47,6 +52,24 @@ class AddMyHealthActivity : AppCompatActivity() { createMyHealth() Utilities.toast(this@AddMyHealthActivity, getString(R.string.my_health_saved_successfully)) } + val spinner: Spinner = findViewById(R.id.spn_contact_type) + + val adapter = object : ArrayAdapter( + this, R.layout.spinner_item, resources.getStringArray(R.array.contact_type) + ) { + override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { + val view = super.getView(position, convertView, parent) as TextView + return view + } + + override fun getDropDownView(position: Int, convertView: View?, parent: ViewGroup): View { + val view = super.getDropDownView(position, convertView, parent) as TextView + return view + } + } + + spinner.adapter = adapter + initViews() } diff --git a/app/src/main/res/layout/activity_add_my_health.xml b/app/src/main/res/layout/activity_add_my_health.xml index b43da97cc..d0d2d4649 100644 --- a/app/src/main/res/layout/activity_add_my_health.xml +++ b/app/src/main/res/layout/activity_add_my_health.xml @@ -5,16 +5,19 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:padding="@dimen/padding_large" - tools:context=".ui.myhealth.AddMyHealthActivity"> + tools:context=".ui.myhealth.AddMyHealthActivity" + android:background="@color/secondary_bg"> + android:layout_height="match_parent" + android:background="@color/secondary_bg"> + android:orientation="vertical" + android:background="@color/secondary_bg"> + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> - + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> @@ -107,28 +119,32 @@ android:id="@+id/et_birthplace" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="1"> + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> @@ -140,43 +156,48 @@ android:id="@+id/et_emergency" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="1"> + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> + android:padding="@dimen/padding_large" /> + android:layout_weight="1" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> + android:layout_height="wrap_content" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" /> + android:layout_height="wrap_content" + android:textColorHint="@color/hint_color"> + android:backgroundTint="@color/daynight_textColor" + android:textColor="@color/daynight_textColor" />