Skip to content

Commit

Permalink
Solved an issue while displaying diseases information
Browse files Browse the repository at this point in the history
  • Loading branch information
Javinator9889 committed May 1, 2020
1 parent 86727a1 commit 34821f4
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 45 deletions.
3 changes: 2 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ android {
applicationId "com.javinator9889.handwashingreminder"
minSdkVersion 17
targetSdkVersion 29
versionCode 120
versionCode 121
versionName "1.1.2-${gitCommitHash}"
multiDexEnabled true
resConfigs "en", "es"
Expand Down Expand Up @@ -78,6 +78,7 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
multiDexEnabled = true
signingConfig signingConfigs.release
versionNameSuffix "-stable"

debuggable false
jniDebuggable false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ abstract class BaseFragmentView : BaseFragment() {
@get:LayoutRes
protected abstract val layoutId: Int

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
retainInstance = true
}

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,6 @@ class DiseaseDescriptionFragment : BaseFragmentView() {
private lateinit var parsedHTMLText: ParsedHTMLText
private var animId by Delegates.notNull<Int>()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (savedInstanceState != null || arguments != null) {
val data = savedInstanceState ?: arguments
parsedHTMLText = data!!.getParcelable(ARG_HTML_TEXT)!!
animId = data.getInt(ARG_ANIMATION_ID)
}
}

override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putCharSequence(ARG_TITLE, title.text)
Expand All @@ -62,22 +53,20 @@ class DiseaseDescriptionFragment : BaseFragmentView() {

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
animatedView.setAnimation(animId)
if (savedInstanceState != null) {
title.text = savedInstanceState.getCharSequence(ARG_TITLE)
shortDescription.text =
savedInstanceState.getCharSequence(ARG_SDESC)
longDescription.text = savedInstanceState.getCharSequence(ARG_LDESC)
provider.text = savedInstanceState.getCharSequence(ARG_PROVIDER)
website.text = savedInstanceState.getCharSequence(ARG_WEBSITE)
} else {
title.text = parsedHTMLText.name
shortDescription.text = parsedHTMLText.shortDescription
longDescription.text = parsedHTMLText.longDescription
provider.text =
getString(R.string.written_by, parsedHTMLText.provider)
website.text =
getString(R.string.available_at, parsedHTMLText.website)
if (savedInstanceState != null || arguments != null) {
val data = (savedInstanceState ?: arguments)!!
parsedHTMLText = data.getParcelable(ARG_HTML_TEXT)!!
animId = data.getInt(ARG_ANIMATION_ID)
animatedView.setAnimation(animId)
title.text = data.getCharSequence(ARG_TITLE) ?: parsedHTMLText.name
shortDescription.text = data.getCharSequence(ARG_SDESC)
?: parsedHTMLText.shortDescription
longDescription.text = data.getCharSequence(ARG_LDESC)
?: parsedHTMLText.longDescription
provider.text = data.getCharSequence(ARG_PROVIDER)
?: getString(R.string.written_by, parsedHTMLText.provider)
website.text = data.getCharSequence(ARG_WEBSITE)
?: getString(R.string.available_at, parsedHTMLText.website)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,20 @@ import android.os.Bundle
import androidx.annotation.LayoutRes
import com.javinator9889.handwashingreminder.R
import com.javinator9889.handwashingreminder.activities.base.BaseFragmentView
import com.javinator9889.handwashingreminder.activities.views.fragments.washinghands.ARG_POSITION
import com.javinator9889.handwashingreminder.activities.views.viewmodels.ParsedHTMLText
import kotlinx.android.synthetic.main.simple_text_view.*
import kotlin.properties.Delegates

internal const val ARG_SYMPTOMS = "bundle:symptoms"
internal const val ARG_PREVENTION = "bundle:prevention"
internal const val ARG_POSITION = "bundle:item:position"

class DiseaseExtraInformationFragment : BaseFragmentView() {
@get:LayoutRes
override val layoutId: Int = R.layout.simple_text_view
private var position by Delegates.notNull<Int>()
private lateinit var parsedHTMLText: ParsedHTMLText

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (savedInstanceState != null || arguments != null) {
val data = savedInstanceState ?: arguments
position = data!!.getInt(ARG_POSITION)
parsedHTMLText = data.getParcelable(ARG_HTML_TEXT)!!
}
}

override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
if (position == 1)
Expand All @@ -57,17 +48,17 @@ class DiseaseExtraInformationFragment : BaseFragmentView() {

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
if (savedInstanceState != null)
text.text = when (position) {
1 -> savedInstanceState.getCharSequence(ARG_SYMPTOMS)
2 -> savedInstanceState.getCharSequence(ARG_PREVENTION)
else -> ""
}
else
if (savedInstanceState != null || arguments != null) {
val data = (savedInstanceState ?: arguments)!!
position = data.getInt(ARG_POSITION)
parsedHTMLText = data.getParcelable(ARG_HTML_TEXT)!!
text.text = when (position) {
1 -> parsedHTMLText.symptoms
2 -> parsedHTMLText.prevention
1 -> data.getCharSequence(ARG_SYMPTOMS)
?: parsedHTMLText.symptoms
2 -> data.getCharSequence(ARG_PREVENTION)
?: parsedHTMLText.prevention
else -> ""
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.javinator9889.handwashingreminder.activities.views.fragments.diseases.ARG_ANIMATION_ID
import com.javinator9889.handwashingreminder.activities.views.fragments.diseases.ARG_HTML_TEXT
import com.javinator9889.handwashingreminder.activities.views.fragments.diseases.ARG_POSITION
import com.javinator9889.handwashingreminder.activities.views.fragments.diseases.DiseaseDescriptionFragment
import com.javinator9889.handwashingreminder.activities.views.fragments.diseases.DiseaseExtraInformationFragment
import com.javinator9889.handwashingreminder.activities.views.viewmodels.ParsedHTMLText
Expand Down

0 comments on commit 34821f4

Please sign in to comment.