Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Xevo1/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,14 @@
<activity android:name=".AnswerReady">
<intent-filter>
<action android:name="com.xevo.AnsweReady_TARGET" />
<category android:name="android.intent.category.DEFAULT"/>

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".DisplayAnswer"
android:label="@string/title_activity_display_answer"
android:theme="@style/AppTheme.NoActionBar"></activity>
</application>

</manifest>
21 changes: 21 additions & 0 deletions Xevo1/app/src/main/java/xevo/xevo1/AnswerReady.kt
Original file line number Diff line number Diff line change
@@ -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) {
}
}
}
102 changes: 102 additions & 0 deletions Xevo1/app/src/main/java/xevo/xevo1/DisplayAnswer.kt
Original file line number Diff line number Diff line change
@@ -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()
}

}
41 changes: 41 additions & 0 deletions Xevo1/app/src/main/res/layout/activity_answer_ready.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,46 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="xevo.xevo1.AnswerReady">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/answer_ready_text_view"
style="@style/largeTitleStyle"
android:layout_weight="1"
android:text="@string/answer_ready"/>

<android.support.v7.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/xevo_logo_image_view"
android:src="@drawable/xevo_logo"
android:layout_weight="2"
app:layout_constraintTop_toBottomOf="@+id/answer_ready_text_view"/>

<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/download_pdf_text_view"
android:text="Download pdf"
android:gravity="center"
android:layout_weight="1"
android:clickable="true"
app:layout_constraintTop_toBottomOf="@+id/xevo_logo_image_view"
android:textColor="@color/unclicked_link"
/>

<android.support.v7.widget.AppCompatButton
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:text="View Answer"
style="@style/buttonStyle"
android:layout_gravity="center"
/>
</LinearLayout>

</android.support.constraint.ConstraintLayout>
25 changes: 25 additions & 0 deletions Xevo1/app/src/main/res/layout/activity_display_answer.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="xevo.xevo1.DisplayAnswer">

<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_display_answer" />

</android.support.design.widget.CoordinatorLayout>
66 changes: 66 additions & 0 deletions Xevo1/app/src/main/res/layout/content_display_answer.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="xevo.xevo1.DisplayAnswer"
tools:showIn="@layout/activity_display_answer">

<fragment
android:name="xevo.xevo1.ProfileAndString"
android:layout_width="match_parent"
android:id="@+id/question_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginHorizontal="@dimen/activity_horizontal_margin"
android:layout_height="wrap_content" />

<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/content_below_title"
app:layout_constraintTop_toBottomOf="@+id/question_title">

<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/activity_margin_content">

<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/question_details_text_view"
android:maxLines="4"
android:ellipsize="end" />

<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Expand"
android:textColor="@color/unclicked_link"
android:visibility="gone"
android:clickable="true"
android:id="@+id/expand_collapse_text_view"/>

<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/answer_display_text_view" />

<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/download_pdf_text_view"
android:text="Download pdf"
android:clickable="true"
android:textColor="@color/unclicked_link"
/>

</LinearLayout>
</ScrollView>

</android.support.constraint.ConstraintLayout>
4 changes: 3 additions & 1 deletion Xevo1/app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@
<color name="colorDarkGrey">#AAAAAA</color>
<color name="primaryTextDark">#dd000000</color>
<color name="secondaryTextDark">#89000000</color>
<color name="unclicked_link">#0645AD</color>
<color name="clicked_link">#0B0080</color>
<color name="black">#000000</color>
<color name="ripple">#80ffffff</color>

<!-- Old color scheme:
<color name="colorPrimary">#903000</color>
<color name="colorPrimaryDark">#702000</color>
Expand Down
3 changes: 2 additions & 1 deletion Xevo1/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<string name="title_activity_login">Sign in</string>
<string name="submit">Submit</string>
<string name="what_makes_question_difficult">What makes this question difficult?</string>
<string name="answer_ready">Your answer is ready!</string>

<!-- Strings related to login -->
<string name="prompt_email">Email</string>
Expand Down Expand Up @@ -91,5 +92,5 @@
<!--Category Strings-->
<string name="format_unanswered">%d unanswered</string>
<string name="category_all_color">ffffcc80</string>

<string name="title_activity_display_answer">DisplayAnswer</string>
</resources>
20 changes: 20 additions & 0 deletions Xevo1/app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<item name="android:spinnerDropDownItemStyle">
@style/spinnerDropDownItemStyle
</item>
<item name="largeTitleStyle">@style/titleStyle</item>
<item name="buttonStyle">@style/buttonStyle</item>
</style>

Expand Down Expand Up @@ -87,4 +88,23 @@
<item name="android:textAllCaps">false</item>
</style>

<!--
<style name="buttonStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_alignParentBottom">true</item>
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_marginBottom">16dp</item>
<item name="android:fontFamily">@font/avenir_regular</item>
<item name="android:textColor">@android:color/white</item>
</style>
-->

<style name="largeTitleStyle">
<item name="android:fontFamily">@font/avenir_regular</item>
<item name="android:gravity">center</item>
<item name="android:padding">@dimen/text_margin_large</item>
<item name="android:textSize">@dimen/text_size_medium</item>
<item name="android:textColor">@color/black</item>
</style>
</resources>