blob: 3e70accca3acfcb95d4555c4b19d6d7bc35baf28 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
package xyz.adjutor.aniki.presentation.view.activity
import android.os.Bundle
import android.widget.ImageView
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import xyz.adjutor.aniki.R
import xyz.adjutor.aniki.presentation.controller.DetailTopMangaController
import xyz.adjutor.aniki.presentation.model.response.MangaResponse
class DetailTopMangaActivity : AppCompatActivity() {
lateinit var controller: DetailTopMangaController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_detail_top_manga)
controller = DetailTopMangaController()
//used in the list
val intentMangaTitle = "themangatitle"
val intentMangaRank = "themangarank"
val intentMangaScore = "themangascore"
val intentMangaImageUrl = "themangaimageurl"
//only used for the detail
val intentMangaId = "themangaid"
val intentMangaVolumes = "themangavolumes"
val intentMangaStartDate = "themangastartdate"
val intentMangaEndDate = "themangaenddate"
val intentMangaUrl = "themangaurl"
val mangaTitle = intent.getStringExtra(intentMangaTitle)
val mangaRank = intent.getStringExtra(intentMangaRank)
val mangaScore = intent.getStringExtra(intentMangaScore)
val mangaImageUrl = intent.getStringExtra(intentMangaImageUrl)
val mangaId = intent.getStringExtra(intentMangaId)
val mangaVolumes = intent.getStringExtra(intentMangaVolumes)
val mangaStartDate = intent.getStringExtra(intentMangaStartDate)
val mangaEndDate = intent.getStringExtra(intentMangaEndDate)
val mangaUrl = intent.getStringExtra(intentMangaUrl)
val tvTitle: TextView = findViewById(R.id.tv_detail_title)
val tvRank: TextView = findViewById(R.id.tv_detail_rank)
val tvScore: TextView = findViewById(R.id.tv_detail_score)
val ivImage: ImageView = findViewById(R.id.iv_detail_image)
val tvId: TextView = findViewById(R.id.tv_detail_id)
val tvVolumes: TextView = findViewById(R.id.tv_volumes)
val tvStartDate: TextView = findViewById(R.id.tv_start_date)
val tvEndDate: TextView = findViewById(R.id.tv_end_date)
val tvUrl: TextView = findViewById(R.id.tv_url)
tvTitle.text = mangaTitle
tvRank.text = mangaRank
tvScore.text = mangaScore
Glide
.with(this)
.load(mangaImageUrl)
.apply(RequestOptions().override(400))
.into(ivImage)
tvId.text = mangaId
//using null as a string because it has been converted to a string before
tvVolumes.text = if (mangaVolumes != "null") {
mangaVolumes
} else {
fieldIsNull()
}
tvStartDate.text = mangaStartDate
tvEndDate.text = if (mangaEndDate != "null") {
mangaEndDate
} else {
fieldIsNull()
}
tvUrl.text = mangaUrl
controller.onStart(this, mangaId.toString())
}
fun showDetail(manga: MangaResponse) {
//elements from MangaResponse
val tvChapters: TextView = findViewById(R.id.tv_chapters)
val tvSynopsis: TextView = findViewById(R.id.tv_synopsis)
val tvBackground: TextView = findViewById(R.id.tv_background)
tvChapters.text = if (manga.chapters != null) {
manga.chapters.toString()
} else {
fieldIsNull()
}
tvSynopsis.text = manga.synopsis.toString()
tvBackground.text = if (manga.background != null) {
manga.background.toString()
} else {
fieldIsNull()
}
}
fun showError(text: String) {
Toast.makeText(this, text, Toast.LENGTH_LONG).show()
}
private fun fieldIsNull(): String {
return "Unknown"
}
}
|