Skip to content

Commit 337ecdd

Browse files
committed
fix:
- center nomor berkas layout - code refactoring TODO: fix bug viewmodel data
1 parent 66ff0c0 commit 337ecdd

File tree

6 files changed

+206
-150
lines changed

6 files changed

+206
-150
lines changed

app/src/main/java/com/jaylangkung/bpkpd/dataClass/RiwayatBerkasResponse.kt renamed to app/src/main/java/com/jaylangkung/bpkpd/dataClass/BerkasRiwayatResponse.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ package com.jaylangkung.bpkpd.dataClass
22

33
import com.google.gson.annotations.SerializedName
44

5-
data class RiwayatBerkasResponse(
6-
@SerializedName("data") val data: List<RiwayatBerkasData>,
5+
data class BerkasRiwayatResponse(
6+
@SerializedName("data") val data: List<BerkasRiwayatData>,
77
@SerializedName("message") val message: String,
88
@SerializedName("status") val status: String
99
)
1010

11-
data class RiwayatBerkasData(
11+
data class BerkasRiwayatData(
1212
@SerializedName("aksi") val aksi: String,
1313
@SerializedName("aksi_oleh_idadmin") val aksiOlehIdadmin: Int,
1414
@SerializedName("createddate") val createddate: String,

app/src/main/java/com/jaylangkung/bpkpd/menu/scan/ScanQrDetailActivity.kt

Lines changed: 155 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import androidx.appcompat.app.AppCompatActivity
1010
import androidx.lifecycle.ViewModelProvider
1111
import com.jaylangkung.bpkpd.MainActivity
1212
import com.jaylangkung.bpkpd.R
13+
import com.jaylangkung.bpkpd.dataClass.BerkasData
14+
import com.jaylangkung.bpkpd.dataClass.BerkasRiwayatData
1315
import com.jaylangkung.bpkpd.databinding.ActivityScanQrDetailBinding
1416
import com.jaylangkung.bpkpd.databinding.BerkasBphtbBinding
1517
import com.jaylangkung.bpkpd.databinding.BerkasBphtbKolektifBinding
@@ -18,20 +20,13 @@ import com.jaylangkung.bpkpd.databinding.BerkasPbbBinding
1820
import com.jaylangkung.bpkpd.databinding.BerkasPenagihanBinding
1921
import com.jaylangkung.bpkpd.databinding.BerkasSalinanBinding
2022
import com.jaylangkung.bpkpd.databinding.BerkasSknjopBinding
21-
import com.jaylangkung.bpkpd.utils.Constants
22-
import com.jaylangkung.bpkpd.utils.MySharedPreferences
2323
import com.jaylangkung.bpkpd.viewModel.ScanQrViewModel
2424
import com.jaylangkung.bpkpd.viewModel.ViewModelFactory
2525

2626
class ScanQrDetailActivity : AppCompatActivity() {
2727

2828
private lateinit var binding: ActivityScanQrDetailBinding
2929
private lateinit var viewModel: ScanQrViewModel
30-
private lateinit var myPreferences: MySharedPreferences
31-
32-
companion object {
33-
const val EXTRA_RESULT = "result"
34-
}
3530

3631
@RequiresApi(Build.VERSION_CODES.O)
3732
override fun onCreate(savedInstanceState: Bundle?) {
@@ -40,11 +35,6 @@ class ScanQrDetailActivity : AppCompatActivity() {
4035
setContentView(binding.root)
4136
val factory = ViewModelFactory.getInstance(application)
4237
viewModel = ViewModelProvider(this, factory)[ScanQrViewModel::class.java]
43-
myPreferences = MySharedPreferences(this@ScanQrDetailActivity)
44-
45-
val idadmin = myPreferences.getValue(Constants.USER_IDADMIN).toString()
46-
val tokenAuth = myPreferences.getValue(Constants.TokenAuth).toString()
47-
val result = intent.getStringExtra(EXTRA_RESULT).toString()
4838

4939
onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) {
5040
override fun handleOnBackPressed() {
@@ -61,140 +51,182 @@ class ScanQrDetailActivity : AppCompatActivity() {
6151
}
6252

6353
viewModel.apply {
64-
getBerkas(idadmin, result, tokenAuth)
6554
berkasData.observe(this@ScanQrDetailActivity) { berkas ->
6655
if (berkas != null) {
67-
val data = berkas.data[0]
68-
when (berkas.tabel) {
69-
"penagihan" -> {
70-
tvTitle.text = getString(R.string.berkas_title, "Salinan")
71-
stubBerkas.layoutResource = R.layout.berkas_salinan
72-
val stubBinding = BerkasSalinanBinding.bind(stubBerkas.inflate())
73-
val tglDiterima = convertDate(data.tanggal)
74-
val tglSelesai = convertDate(data.tanggalSelesai)
75-
stubBinding.apply {
76-
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
77-
tvPermohonan.text = getString(R.string.permohonan, data.permohonan)
78-
tvTglDiterima.text = getString(R.string.tgl_diterima, tglDiterima)
79-
tvTglSelesai.text = getString(R.string.tgl_selesai, tglSelesai)
80-
when (data.prosesBerkas) {
81-
"masuk" -> {
82-
tvStatusBerkas.text = getString(R.string.status_berkas, "Masuk")
83-
statusBerkasProgressBar.progress = 0
84-
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 0)
85-
}
86-
87-
"dalam proses" -> {
88-
tvStatusBerkas.text = getString(R.string.status_berkas, "Dalam Proses")
89-
statusBerkasProgressBar.progress = 50
90-
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 50)
91-
}
92-
93-
"kurang lengkap" -> {
94-
tvStatusBerkas.text = getString(R.string.status_berkas, "Kurang Lengkap")
95-
statusBerkasProgressBar.progress = 75
96-
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 75)
97-
}
98-
99-
"selesai" -> {
100-
tvStatusBerkas.text = getString(R.string.status_berkas, "Selesai")
101-
statusBerkasProgressBar.progress = 100
102-
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 100)
103-
}
104-
105-
"ditolak" -> {
106-
tvStatusBerkas.text = getString(R.string.status_berkas, "Ditolak")
107-
statusBerkasProgressBar.progress = 100
108-
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 100)
109-
tvDitolak.visibility = View.VISIBLE
110-
tvDitolak.text = getString(R.string.ditolak, data.berkasDitolak)
111-
}
112-
113-
else -> tvStatusBerkas.text = getString(R.string.status_berkas, "Masuk")
56+
berkasRiwayatData.observe(this@ScanQrDetailActivity) { berkasRiwayat ->
57+
if (berkasRiwayat != null) {
58+
when (berkas.tabel) {
59+
"penagihan" -> {
60+
salinanView(berkas.data[0], berkasRiwayat.data)
61+
}
62+
"pbb" -> {
63+
pbbView(berkas.data[0], berkasRiwayat.data)
11464
}
11565

116-
tvNama.text = getString(R.string.nama_pemohon, data.namaWp)
117-
tvAlamat.text = getString(R.string.alamat_pemohon, data.desaKel, data.kecamatan)
118-
tvKontak.text = getString(R.string.kontak_pemohon, data.contactPerson)
119-
tvJmlPermohonan.text = getString(R.string.jml_permohonan, data.jumlah)
120-
if (data.keterangan.isNotEmpty()) {
121-
txtCatatan.visibility = View.VISIBLE
122-
tvCatatan.visibility = View.VISIBLE
123-
tvCatatan.text = data.keterangan
66+
"salinan" -> {
67+
penagihanView(berkas.data[0], berkasRiwayat.data)
12468
}
125-
}
12669

127-
}
70+
"sk_njop" -> {
71+
sknjopView(berkas.data[0], berkasRiwayat.data)
72+
}
12873

129-
"pbb" -> {
130-
tvTitle.text = getString(R.string.berkas_title, "PBB")
131-
stubBerkas.layoutResource = R.layout.berkas_pbb
132-
val stubBinding = BerkasPbbBinding.bind(stubBerkas.inflate())
133-
stubBinding.apply {
74+
"bphtb" -> {
75+
bphtbView(berkas.data[0], berkasRiwayat.data)
76+
}
13477

135-
}
136-
}
78+
"bphtb_kolektif" -> {
79+
bphtbKolektifView(berkas.data[0], berkasRiwayat.data)
80+
}
13781

138-
"salinan" -> {
139-
tvTitle.text = getString(R.string.berkas_title, "Penagihan")
140-
stubBerkas.layoutResource = R.layout.berkas_penagihan
141-
val stubBinding = BerkasPenagihanBinding.bind(stubBerkas.inflate())
142-
val tglDiterima = convertDate(data.tanggal)
143-
val tglSelesai = convertDate(data.tanggalSelesai)
144-
stubBinding.apply {
145-
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
146-
tvTglDiterima.text = getString(R.string.tgl_diterima, tglDiterima)
147-
tvTglSelesai.text = getString(R.string.tgl_selesai, tglSelesai)
82+
"npwpd" -> {
83+
npwpdView(berkas.data[0], berkasRiwayat.data)
84+
}
85+
86+
else -> tvTitle.text = getString(R.string.berkas_title, berkas.tabel)
14887
}
14988
}
89+
}
90+
}
91+
}
92+
}
93+
}
94+
}
15095

151-
"sk_njop" -> {
152-
tvTitle.text = getString(R.string.berkas_title, "SK NJOP")
153-
stubBerkas.layoutResource = R.layout.berkas_sknjop
154-
val stubBinding = BerkasSknjopBinding.bind(stubBerkas.inflate())
155-
stubBinding.apply {
156-
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
96+
@RequiresApi(Build.VERSION_CODES.O)
97+
private fun salinanView(data: BerkasData, dataRiwayat: List<BerkasRiwayatData>) {
98+
binding.apply {
99+
tvTitle.text = getString(R.string.berkas_title, "Salinan")
100+
stubBerkas.layoutResource = R.layout.berkas_salinan
101+
val stubBinding = BerkasSalinanBinding.bind(stubBerkas.inflate())
102+
val tglDiterima = viewModel.convertDate(data.tanggal)
103+
val tglSelesai = viewModel.convertDate(data.tanggalSelesai)
104+
stubBinding.apply {
105+
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
106+
tvPermohonan.text = getString(R.string.permohonan, data.permohonan)
107+
tvTglDiterima.text = getString(R.string.tgl_diterima, tglDiterima)
108+
tvTglSelesai.text = getString(R.string.tgl_selesai, tglSelesai)
109+
when (data.prosesBerkas) {
110+
"masuk" -> {
111+
tvStatusBerkas.text = getString(R.string.status_berkas, "Masuk")
112+
statusBerkasProgressBar.progress = 0
113+
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 0)
114+
}
157115

158-
}
159-
}
116+
"dalam proses" -> {
117+
tvStatusBerkas.text = getString(R.string.status_berkas, "Dalam Proses")
118+
statusBerkasProgressBar.progress = 50
119+
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 50)
120+
}
160121

161-
"bphtb" -> {
162-
tvTitle.text = getString(R.string.berkas_title, "BPTHB")
163-
stubBerkas.layoutResource = R.layout.berkas_bphtb
164-
val stubBinding = BerkasBphtbBinding.bind(stubBerkas.inflate())
165-
stubBinding.apply {
166-
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
122+
"kurang lengkap" -> {
123+
tvStatusBerkas.text = getString(R.string.status_berkas, "Kurang Lengkap")
124+
statusBerkasProgressBar.progress = 75
125+
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 75)
126+
}
167127

168-
}
169-
}
128+
"selesai" -> {
129+
tvStatusBerkas.text = getString(R.string.status_berkas, "Selesai")
130+
statusBerkasProgressBar.progress = 100
131+
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 100)
132+
}
170133

171-
"bphtb_kolektif" -> {
172-
tvTitle.text = getString(R.string.berkas_title, "BPTHB Kolektif")
173-
stubBerkas.layoutResource = R.layout.berkas_bphtb_kolektif
174-
val stubBinding = BerkasBphtbKolektifBinding.bind(stubBerkas.inflate())
175-
stubBinding.apply {
176-
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
134+
"ditolak" -> {
135+
tvStatusBerkas.text = getString(R.string.status_berkas, "Ditolak")
136+
statusBerkasProgressBar.progress = 100
137+
tvStatusBerkasPersen.text = getString(R.string.status_berkas_persen, 100)
138+
tvDitolak.visibility = View.VISIBLE
139+
tvDitolak.text = getString(R.string.ditolak, data.berkasDitolak)
140+
}
177141

178-
}
179-
}
142+
else -> tvStatusBerkas.text = getString(R.string.status_berkas, "Masuk")
143+
}
180144

181-
"npwpd" -> {
182-
tvTitle.text = getString(R.string.berkas_title, "NPWPD")
183-
stubBerkas.layoutResource = R.layout.berkas_npwpd
184-
val stubBinding = BerkasNpwpdBinding.bind(stubBerkas.inflate())
185-
stubBinding.apply {
186-
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
145+
tvNama.text = getString(R.string.nama_pemohon, data.namaWp)
146+
tvAlamat.text = getString(R.string.alamat_pemohon, data.desaKel, data.kecamatan)
147+
tvKontak.text = getString(R.string.kontak_pemohon, data.contactPerson)
148+
tvJmlPermohonan.text = getString(R.string.jml_permohonan, data.jumlah)
149+
if (data.keterangan.isNotEmpty()) {
150+
txtCatatan.visibility = View.VISIBLE
151+
tvCatatan.visibility = View.VISIBLE
152+
tvCatatan.text = data.keterangan
153+
}
154+
}
155+
}
156+
}
187157

188-
}
189-
}
158+
private fun pbbView(data: BerkasData, dataRiwayat: List<BerkasRiwayatData>) {
159+
binding.apply {
160+
tvTitle.text = getString(R.string.berkas_title, "PBB")
161+
stubBerkas.layoutResource = R.layout.berkas_pbb
162+
val stubBinding = BerkasPbbBinding.bind(stubBerkas.inflate())
163+
stubBinding.apply {
190164

191-
else -> tvTitle.text = getString(R.string.berkas_title, berkas.tabel)
192-
}
165+
}
166+
}
167+
}
193168

194-
}
195-
}
169+
@RequiresApi(Build.VERSION_CODES.O)
170+
private fun penagihanView(data: BerkasData, dataRiwayat: List<BerkasRiwayatData>) {
171+
binding.apply {
172+
tvTitle.text = getString(R.string.berkas_title, "Penagihan")
173+
stubBerkas.layoutResource = R.layout.berkas_penagihan
174+
val stubBinding = BerkasPenagihanBinding.bind(stubBerkas.inflate())
175+
val tglDiterima = viewModel.convertDate(data.tanggal)
176+
val tglSelesai = viewModel.convertDate(data.tanggalSelesai)
177+
stubBinding.apply {
178+
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
179+
tvTglDiterima.text = getString(R.string.tgl_diterima, tglDiterima)
180+
tvTglSelesai.text = getString(R.string.tgl_selesai, tglSelesai)
196181
}
197182
}
183+
}
198184

185+
private fun sknjopView(data: BerkasData, dataRiwayat: List<BerkasRiwayatData>) {
186+
binding.apply {
187+
tvTitle.text = getString(R.string.berkas_title, "SK NJOP")
188+
stubBerkas.layoutResource = R.layout.berkas_sknjop
189+
val stubBinding = BerkasSknjopBinding.bind(stubBerkas.inflate())
190+
stubBinding.apply {
191+
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
192+
193+
}
194+
}
195+
}
196+
197+
private fun bphtbView(data: BerkasData, dataRiwayat: List<BerkasRiwayatData>) {
198+
binding.apply {
199+
tvTitle.text = getString(R.string.berkas_title, "BPTHB")
200+
stubBerkas.layoutResource = R.layout.berkas_bphtb
201+
val stubBinding = BerkasBphtbBinding.bind(stubBerkas.inflate())
202+
stubBinding.apply {
203+
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
204+
205+
}
206+
}
207+
}
208+
209+
private fun bphtbKolektifView(data: BerkasData, dataRiwayat: List<BerkasRiwayatData>) {
210+
binding.apply {
211+
tvTitle.text = getString(R.string.berkas_title, "BPTHB Kolektif")
212+
stubBerkas.layoutResource = R.layout.berkas_bphtb_kolektif
213+
val stubBinding = BerkasBphtbKolektifBinding.bind(stubBerkas.inflate())
214+
stubBinding.apply {
215+
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
216+
217+
}
218+
}
219+
}
220+
221+
private fun npwpdView(data: BerkasData, dataRiwayat: List<BerkasRiwayatData>) {
222+
binding.apply {
223+
tvTitle.text = getString(R.string.berkas_title, "NPWPD")
224+
stubBerkas.layoutResource = R.layout.berkas_npwpd
225+
val stubBinding = BerkasNpwpdBinding.bind(stubBerkas.inflate())
226+
stubBinding.apply {
227+
tvNomorBerkas.text = getString(R.string.nomor_berkas, data.noPly, data.tahun)
228+
229+
}
230+
}
199231
}
200232
}

0 commit comments

Comments
 (0)