diff --git a/Xevo1/app/src/main/AndroidManifest.xml b/Xevo1/app/src/main/AndroidManifest.xml
index 4cfce490..c6e63b45 100644
--- a/Xevo1/app/src/main/AndroidManifest.xml
+++ b/Xevo1/app/src/main/AndroidManifest.xml
@@ -119,9 +119,14 @@
-
+
+
+
\ No newline at end of file
diff --git a/Xevo1/app/src/main/java/xevo/xevo1/AnswerReady.kt b/Xevo1/app/src/main/java/xevo/xevo1/AnswerReady.kt
index 8a767f0f..7064eb97 100644
--- a/Xevo1/app/src/main/java/xevo/xevo1/AnswerReady.kt
+++ b/Xevo1/app/src/main/java/xevo/xevo1/AnswerReady.kt
@@ -1,14 +1,35 @@
package xevo.xevo1
+import android.net.Uri
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
+import android.util.Log
+import com.google.firebase.database.*
+import kotlinx.android.synthetic.main.activity_answer_ready.*
+import xevo.xevo1.Database.DatabaseModels.CaseDetails
+import android.animation.ObjectAnimator
+import android.view.View
+import android.widget.TextView
+import kotlinx.android.synthetic.main.activity_answer_ready.view.*
+import xevo.xevo1.R.id.question_details_text_view
+
class AnswerReady : AppCompatActivity() {
var caseId : String? = null
+ lateinit var databaseReference : DatabaseReference
+ val TAG : String = "ANSWER_READY_ACTIVITY"
+ lateinit var caseDetails : CaseDetails
+ lateinit var questionDetailsTextView : TextView
+
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_answer_ready)
caseId = intent.getStringExtra("caseId")
+ Log.d(TAG, "Case Id : " + caseId)
+
+ if (caseId != null) {
+ }
}
}
diff --git a/Xevo1/app/src/main/java/xevo/xevo1/DisplayAnswer.kt b/Xevo1/app/src/main/java/xevo/xevo1/DisplayAnswer.kt
new file mode 100644
index 00000000..49d41297
--- /dev/null
+++ b/Xevo1/app/src/main/java/xevo/xevo1/DisplayAnswer.kt
@@ -0,0 +1,102 @@
+package xevo.xevo1
+
+import android.animation.ObjectAnimator
+import android.net.Uri
+import android.os.Bundle
+import android.support.design.widget.Snackbar
+import android.support.v7.app.AppCompatActivity
+import android.util.Log
+import android.view.View
+import android.widget.TextView
+import com.google.firebase.database.*
+
+import kotlinx.android.synthetic.main.activity_display_answer.*
+import kotlinx.android.synthetic.main.content_display_answer.*
+import xevo.xevo1.Database.DatabaseModels.CaseDetails
+
+class DisplayAnswer : AppCompatActivity(),
+ ProfileAndString.OnFragmentInteractionListener {
+
+ var caseId : String? = null
+ lateinit var databaseReference : DatabaseReference
+ val TAG : String = "ANSWER_READY_ACTIVITY"
+ lateinit var caseDetails : CaseDetails
+ lateinit var questionDetailsTextView : TextView
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_display_answer)
+ setSupportActionBar(toolbar)
+
+ caseId = intent.getStringExtra("caseId")
+ Log.d(TAG, "Case Id : " + caseId)
+
+ if(caseId != null) {
+ getQuestionDetails(caseId!!)
+ questionDetailsTextView = question_details_text_view
+// if (questionDetailsTextView.maxLines > 4) {
+ expand_collapse_text_view.visibility = View.VISIBLE
+// }
+ expand_collapse_text_view.setOnClickListener(View.OnClickListener { collapseOrExpandTextView() })
+ }
+ //TODO handle the other case
+ }
+
+ override fun onFragmentInteraction(uri: Uri) {
+ TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
+ }
+
+ private fun collapseOrExpandTextView() {
+ val collapsedMaxLines = 4
+ var questionDetailsTextView = question_details_text_view
+ if (questionDetailsTextView.getMaxLines() >= collapsedMaxLines) {
+ collapseTextView(questionDetailsTextView, collapsedMaxLines)
+ }
+ else {
+ expandTextView(questionDetailsTextView)
+ }
+ }
+
+ private fun getQuestionDetails(caseId : String) {
+ databaseReference = FirebaseDatabase.getInstance().getReference(
+ getString(R.string.db_cases) + caseId)
+ var valueEventListener : ValueEventListener = object : ValueEventListener {
+ override fun onCancelled(databaseError: DatabaseError?) {
+ Log.w(TAG, "loadPost:onCancelled", databaseError?.toException())
+ Log.d(TAG, "error")
+ }
+
+ override fun onDataChange(dataSnapshot: DataSnapshot?) {
+ var obj = dataSnapshot?.getValue(CaseDetails::class.java)
+ if (obj!= null) {
+ Log.d(TAG, "Case details got")
+ caseDetails = obj
+// question_details.setText(caseDetails.description)
+ updateUI(caseDetails)
+ }
+ }
+ }
+ databaseReference.addListenerForSingleValueEvent(valueEventListener)
+ }
+
+ private fun updateUI(caseDetails: CaseDetails) {
+ Log.d(TAG, "UI update called")
+ var headerFragment : ProfileAndString = supportFragmentManager.findFragmentById(
+ R.id.question_title) as ProfileAndString
+ headerFragment.setText(caseDetails.title)
+ question_details_text_view.setText(caseDetails.description)
+ answer_display_text_view.setText(caseDetails.answer)
+ }
+
+ private fun expandTextView(tv: TextView) {
+ tv.maxLines = Int.MAX_VALUE
+ val animation = ObjectAnimator.ofInt(tv, "maxLines", tv.lineCount)
+ animation.setDuration(200).start()
+ }
+
+ private fun collapseTextView(tv: TextView, numLines: Int) {
+ val animation = ObjectAnimator.ofInt(tv, "maxLines", numLines)
+ animation.setDuration(200).start()
+ }
+
+}
diff --git a/Xevo1/app/src/main/res/layout/activity_answer_ready.xml b/Xevo1/app/src/main/res/layout/activity_answer_ready.xml
index 7742c35d..1f3dedb1 100644
--- a/Xevo1/app/src/main/res/layout/activity_answer_ready.xml
+++ b/Xevo1/app/src/main/res/layout/activity_answer_ready.xml
@@ -5,5 +5,46 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="xevo.xevo1.AnswerReady">
+
+
+
+
+
+
+
+
+
diff --git a/Xevo1/app/src/main/res/layout/activity_display_answer.xml b/Xevo1/app/src/main/res/layout/activity_display_answer.xml
new file mode 100644
index 00000000..be21eee5
--- /dev/null
+++ b/Xevo1/app/src/main/res/layout/activity_display_answer.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Xevo1/app/src/main/res/layout/content_display_answer.xml b/Xevo1/app/src/main/res/layout/content_display_answer.xml
new file mode 100644
index 00000000..5b5f8b78
--- /dev/null
+++ b/Xevo1/app/src/main/res/layout/content_display_answer.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Xevo1/app/src/main/res/values/colors.xml b/Xevo1/app/src/main/res/values/colors.xml
index 2309eba6..c8620f42 100644
--- a/Xevo1/app/src/main/res/values/colors.xml
+++ b/Xevo1/app/src/main/res/values/colors.xml
@@ -10,8 +10,10 @@
#AAAAAA
#dd000000
#89000000
+ #0645AD
+ #0B0080
+ #000000
#80ffffff
-
Email
@@ -91,5 +92,5 @@
%d unanswered
ffffcc80
-
+ DisplayAnswer
diff --git a/Xevo1/app/src/main/res/values/styles.xml b/Xevo1/app/src/main/res/values/styles.xml
index 7dd57802..f51f9301 100644
--- a/Xevo1/app/src/main/res/values/styles.xml
+++ b/Xevo1/app/src/main/res/values/styles.xml
@@ -10,6 +10,7 @@
-
@style/spinnerDropDownItemStyle
+ - @style/titleStyle
- @style/buttonStyle
@@ -87,4 +88,23 @@
- false
+
+
+