|
@@ -1,39 +1,65 @@
|
|
|
package com.sybotan.android.demo.activities.poc
|
|
|
|
|
|
+import android.content.Intent
|
|
|
import android.os.Bundle
|
|
|
-import android.support.v7.app.AppCompatActivity
|
|
|
import android.widget.ExpandableListView
|
|
|
-import android.widget.Toast
|
|
|
import com.sybotan.android.demo.R
|
|
|
+import com.sybotan.android.demo.activities.BaseActivity
|
|
|
+import com.sybotan.android.demo.activities.GraphyActivity
|
|
|
import com.sybotan.android.demo.adapter.ExpandAdapter
|
|
|
+import com.sybotan.android.demo.entitiies.Build
|
|
|
+import com.sybotan.android.demo.entitiies.Floor
|
|
|
+import com.sybotan.android.demo.retrofit.BaseViewModelInterface
|
|
|
+import com.sybotan.android.demo.viewmodel.BuildVM
|
|
|
import kotlinx.android.synthetic.main.activity_scene.*
|
|
|
|
|
|
-class SceneActivity : AppCompatActivity() {
|
|
|
+class SceneActivity : BaseActivity() {
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
super.onCreate(savedInstanceState)
|
|
|
setContentView(R.layout.activity_scene)
|
|
|
-
|
|
|
val expandLV = findViewById<ExpandableListView>(R.id.expandLv)
|
|
|
expandLV.setGroupIndicator(null)
|
|
|
- /* val adapter = ExpandAdapter(this, map.keys.toList(), map.values.toList())
|
|
|
- expandLV.setAdapter(adapter)
|
|
|
- expandLV.adapter
|
|
|
- expandLV.divider = null
|
|
|
- expandLV.setOnChildClickListener { parent, v, groupPosition, childPosition, id ->
|
|
|
+ expandLv.divider = null
|
|
|
|
|
|
- Toast.makeText(this@SceneActivity, "click on $groupPosition, $childPosition", Toast.LENGTH_LONG).show()
|
|
|
+ expandLv.setOnChildClickListener { parent, v, groupPosition, childPosition, id ->
|
|
|
+ val floor = mBuilds[groupPosition].floor[childPosition]
|
|
|
+ val intent = Intent(this, GraphyActivity::class.java)
|
|
|
+ val bundle = Bundle()
|
|
|
+ bundle.putString("buildingId", floor.buildingId)
|
|
|
+ bundle.putString("floorId", floor.id)
|
|
|
+ bundle.putString("floorMap", floor.infos.floorMap)
|
|
|
+ bundle.putString("from", "scene")
|
|
|
+ intent.putExtra("floor", bundle)
|
|
|
+ startActivity(intent)
|
|
|
true
|
|
|
}
|
|
|
|
|
|
backIv.setOnClickListener {
|
|
|
finish()
|
|
|
- }*/
|
|
|
+ }
|
|
|
+
|
|
|
+ initViewModel()
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
+ private lateinit var mBuilds: List<Build>
|
|
|
+ private fun initViewModel() {
|
|
|
+ val vm = BuildVM(BaseViewModelInterface { name, params ->
|
|
|
+ mBuilds = params as List<Build>
|
|
|
+ val floors = sep(mBuilds)
|
|
|
+ val adapter = ExpandAdapter(this, mBuilds, floors)
|
|
|
+ expandLv.setAdapter(adapter)
|
|
|
+
|
|
|
+ }, this)
|
|
|
+ vm.getBuilds()
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun sep(builds: List<Build>): List<List<Floor>> {
|
|
|
+ val floors = mutableListOf<List<Floor>>()
|
|
|
+ for (build in builds) {
|
|
|
+ floors.add(build.floor)
|
|
|
+ }
|
|
|
+ return floors
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-private val map = mapOf(
|
|
|
- "B1" to listOf("F4", "F3", "F2", "F1"),
|
|
|
- "B2" to listOf("F5", "F4", "F3", "F2", "F1"),
|
|
|
- "B3" to listOf("F6", "F5", "F4", "F3", "F2", "F1")
|
|
|
-)
|