blob: b8cf505c3c03cabc9fadd005f209e454531112b7 (
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
|
package xyz.adjutor.aniki.presentation.view.anime
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.anime.DetailTopAnimeController
import xyz.adjutor.aniki.presentation.model.anime.AnimeResponse
class DetailTopAnimeActivity : AppCompatActivity() {
lateinit var controller: DetailTopAnimeController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_detail_top_anime)
controller = DetailTopAnimeController()
val intentAnimeId = "theanimeid"
val intentAnimeTitle = "theanimetitle"
val intentAnimeRank = "theanimerank"
val intentAnimeScore = "theanimescore"
val intentAnimeImageUrl = "theanimeimageurl"
val intentAnimeEpisodes = "theanimeepisodes"
val intentAnimeStartDate = "theanimestartdate"
val intentAnimeEndDate = "theanimeenddate"
val intentAnimeUrl = "theanimeurl"
val animeId = intent.getStringExtra(intentAnimeId)
val animeTitle = intent.getStringExtra(intentAnimeTitle)
val animeRank = intent.getStringExtra(intentAnimeRank)
val animeScore = intent.getStringExtra(intentAnimeScore)
val animeImageUrl = intent.getStringExtra(intentAnimeImageUrl)
val animeEpisodes = intent.getStringExtra(intentAnimeEpisodes)
val animeStartDate = intent.getStringExtra(intentAnimeStartDate)
val animeEndDate = intent.getStringExtra(intentAnimeEndDate)
val animeUrl = intent.getStringExtra(intentAnimeUrl)
val tvId: TextView = findViewById(R.id.tv_detail_id)
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 tvEpisodes: TextView = findViewById(R.id.tv_episodes)
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)
tvId.text = animeId
tvTitle.text = animeTitle
tvRank.text = animeRank
tvScore.text = animeScore
Glide
.with(this)
.load(animeImageUrl)
.apply(RequestOptions().override(400))
.into(ivImage)
//using null as a string because it has been converted to a string before
tvEpisodes.text = if (animeEpisodes != "null") {
animeEpisodes
} else {
fieldIsNull()
}
tvStartDate.text = animeStartDate
tvEndDate.text = if (animeEndDate != "null") {
animeEndDate
} else {
fieldIsNull()
}
tvUrl.text = animeUrl
controller.onStart(this, animeId.toString())
}
fun showDetail(anime: AnimeResponse) {
//elements from AnimeResponse
val tvSynopsis: TextView = findViewById(R.id.tv_synopsis)
tvSynopsis.text = anime.synopsis.toString()
}
fun showError(text: String) {
Toast.makeText(this, text, Toast.LENGTH_LONG).show()
}
private fun fieldIsNull(): String {
return "Unknown"
}
}
|