|
17 | 17 | package com.google.android.fhir.demo
|
18 | 18 |
|
19 | 19 | import android.os.Bundle
|
20 |
| -import android.view.MenuItem |
21 |
| -import android.widget.TextView |
22 | 20 | import androidx.activity.viewModels
|
23 |
| -import androidx.appcompat.app.ActionBarDrawerToggle |
24 | 21 | import androidx.appcompat.app.AppCompatActivity
|
25 |
| -import androidx.core.view.GravityCompat |
26 |
| -import androidx.drawerlayout.widget.DrawerLayout |
27 | 22 | import com.google.android.fhir.demo.databinding.ActivityMainBinding
|
28 | 23 |
|
29 | 24 | const val MAX_RESOURCE_COUNT = 20
|
30 | 25 |
|
31 | 26 | class MainActivity : AppCompatActivity() {
|
32 | 27 | private lateinit var binding: ActivityMainBinding
|
33 |
| - private lateinit var drawerToggle: ActionBarDrawerToggle |
34 |
| - private val viewModel: MainActivityViewModel by viewModels() |
| 28 | + private val activityViewModel: ActivityViewModel by viewModels() |
35 | 29 |
|
36 | 30 | override fun onCreate(savedInstanceState: Bundle?) {
|
37 | 31 | super.onCreate(savedInstanceState)
|
38 | 32 | binding = ActivityMainBinding.inflate(layoutInflater)
|
39 | 33 | setContentView(binding.root)
|
40 | 34 | initActionBar()
|
41 |
| - initNavigationDrawer() |
42 |
| - observeLastSyncTime() |
43 |
| - viewModel.updateLastSyncTimestamp() |
44 |
| - } |
45 |
| - |
46 |
| - override fun onBackPressed() { |
47 |
| - if (binding.drawer.isDrawerOpen(GravityCompat.START)) { |
48 |
| - binding.drawer.closeDrawer(GravityCompat.START) |
49 |
| - return |
50 |
| - } |
51 |
| - super.onBackPressed() |
52 |
| - } |
53 |
| - |
54 |
| - fun setDrawerEnabled(enabled: Boolean) { |
55 |
| - val lockMode = |
56 |
| - if (enabled) DrawerLayout.LOCK_MODE_UNLOCKED else DrawerLayout.LOCK_MODE_LOCKED_CLOSED |
57 |
| - binding.drawer.setDrawerLockMode(lockMode) |
58 |
| - drawerToggle.isDrawerIndicatorEnabled = enabled |
59 |
| - } |
60 |
| - |
61 |
| - fun openNavigationDrawer() { |
62 |
| - binding.drawer.openDrawer(GravityCompat.START) |
63 |
| - viewModel.updateLastSyncTimestamp() |
| 35 | + activityViewModel.createPatientsOnAppFirstLaunch() |
64 | 36 | }
|
65 | 37 |
|
66 | 38 | private fun initActionBar() {
|
67 | 39 | val toolbar = binding.toolbar
|
68 | 40 | setSupportActionBar(toolbar)
|
69 | 41 | }
|
70 |
| - |
71 |
| - private fun initNavigationDrawer() { |
72 |
| - binding.navigationView.setNavigationItemSelectedListener(this::onNavigationItemSelected) |
73 |
| - drawerToggle = ActionBarDrawerToggle(this, binding.drawer, R.string.open, R.string.close) |
74 |
| - binding.drawer.addDrawerListener(drawerToggle) |
75 |
| - drawerToggle.syncState() |
76 |
| - } |
77 |
| - |
78 |
| - private fun onNavigationItemSelected(item: MenuItem): Boolean { |
79 |
| - when (item.itemId) { |
80 |
| - R.id.menu_sync -> { |
81 |
| - viewModel.triggerOneTimeSync() |
82 |
| - binding.drawer.closeDrawer(GravityCompat.START) |
83 |
| - return false |
84 |
| - } |
85 |
| - } |
86 |
| - return false |
87 |
| - } |
88 |
| - |
89 |
| - private fun observeLastSyncTime() { |
90 |
| - viewModel.lastSyncTimestampLiveData.observe(this) { |
91 |
| - binding.navigationView.getHeaderView(0).findViewById<TextView>(R.id.last_sync_tv).text = it |
92 |
| - } |
93 |
| - } |
94 | 42 | }
|
0 commit comments