|
@@ -1,57 +1,68 @@
|
|
|
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 SpaceActivity : AppCompatActivity() {
|
|
|
+class SpaceActivity : BaseActivity() {
|
|
|
+ private lateinit var expandLv: ExpandableListView
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
super.onCreate(savedInstanceState)
|
|
|
setContentView(R.layout.activity_space)
|
|
|
|
|
|
- val expandLV = findViewById<ExpandableListView>(R.id.expandLV)
|
|
|
- expandLV.setGroupIndicator(null)
|
|
|
- val adapter = ExpandAdapter(this, groups, items)
|
|
|
- expandLV.setAdapter(adapter)
|
|
|
- expandLV.adapter
|
|
|
- expandLV.divider = null
|
|
|
- expandLV.setOnChildClickListener { parent, v, groupPosition, childPosition, id ->
|
|
|
+ expandLv = findViewById<ExpandableListView>(R.id.expandLv)
|
|
|
+ expandLv.setGroupIndicator(null)
|
|
|
+ expandLv.divider = null
|
|
|
|
|
|
- Toast.makeText(this@SpaceActivity, "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", "space")
|
|
|
+ intent.putExtra("floor", bundle)
|
|
|
+ startActivity(intent)
|
|
|
true
|
|
|
}
|
|
|
-
|
|
|
backIv.setOnClickListener {
|
|
|
finish()
|
|
|
}
|
|
|
+
|
|
|
+ initViewModel()
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-val groups = listOf("B1", "B2", "B3")
|
|
|
-val items = listOf(
|
|
|
- listOf("F4", "F3", "F2", "F1"),
|
|
|
- listOf("F5", "F4", "F3", "F2", "F1"),
|
|
|
- listOf("F6", "F5", "F4", "F3", "F2", "F1")
|
|
|
-)
|
|
|
-/*
|
|
|
-private fun data(): Map<String, List<String>> {
|
|
|
- val group = mutableMapOf<String, List<String>>()
|
|
|
+ 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)
|
|
|
|
|
|
- val item1 = listOf("F4,F3,F2,F1")
|
|
|
- group["B1"] = item1
|
|
|
+ }, this)
|
|
|
+ vm.getBuilds()
|
|
|
+ }
|
|
|
|
|
|
- val item2 = listOf("F5,F4,F3,F2,F1")
|
|
|
- group["B2"] = item2
|
|
|
+ private fun sep(builds: List<Build>): List<List<Floor>> {
|
|
|
+ val floors = mutableListOf<List<Floor>>()
|
|
|
+ for (build in builds) {
|
|
|
+ floors.add(build.floor)
|
|
|
+ }
|
|
|
+ return floors
|
|
|
+ }
|
|
|
|
|
|
- val item3 = listOf("F6,F5,F4,F3,F2,F1")
|
|
|
- group["B3"] = item3
|
|
|
|
|
|
- return group
|
|
|
}
|
|
|
-*/
|
|
|
|
|
|
|