1 package jp.sourceforge.gokigen.memoma
3 import android.app.Dialog
4 import android.content.Intent
5 import android.os.Bundle
6 import android.util.Log
7 import android.view.Menu
8 import android.view.MenuItem
9 import android.view.Window
10 import androidx.appcompat.app.AppCompatActivity
11 import jp.sourceforge.gokigen.memoma.io.MeMoMaDataInOutManager
16 class Main : AppCompatActivity()
18 private lateinit var listener: MeMoMaListener // イベント処理クラス
20 public override fun onCreate(savedInstanceState: Bundle?)
22 super.onCreate(savedInstanceState)
25 listener = MeMoMaListener(this, MeMoMaDataInOutManager(this))
27 // タイトルにプログレスバーを出せるようにする
28 supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS)
31 supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY)
34 setContentView(R.layout.main)
39 listener.prepareListener()
45 Log.v(TAG, " START MEMOMA...");
51 override fun onCreateOptionsMenu(menu: Menu): Boolean
55 val menu0 = listener.onCreateOptionsMenu(menu)
56 return (super.onCreateOptionsMenu(menu0))
68 override fun onOptionsItemSelected(item: MenuItem): Boolean
72 return listener.onOptionsItemSelected(item)
84 override fun onPrepareOptionsMenu(menu: Menu): Boolean
88 listener.onPrepareOptionsMenu(menu)
89 return (super.onPrepareOptionsMenu(menu))
101 public override fun onPause()
106 // 動作を止めるようイベント処理クラスに指示する
109 catch (ex: Exception)
118 public override fun onResume()
123 // 動作準備するようイベント処理クラスに指示する
124 listener.prepareToStart()
126 catch (ex: Exception)
135 override fun onDestroy()
139 listener.finishListener()
151 override fun onSaveInstanceState(outState: Bundle)
155 super.onSaveInstanceState(outState)
156 if (::listener.isInitialized)
158 // ここでActivityの情報を覚える
159 listener.onSaveInstanceState(outState)
171 override fun onRestoreInstanceState(savedInstanceState: Bundle)
173 super.onRestoreInstanceState(savedInstanceState)
176 if (::listener.isInitialized)
178 // ここでActivityの情報を展開する
179 listener.onRestoreInstanceState(savedInstanceState)
192 override fun onCreateDialog(id: Int): Dialog
194 return listener.onCreateDialog(id)
201 override fun onPrepareDialog(id: Int, dialog: Dialog)
205 listener.onPrepareDialog(id, dialog)
216 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
218 super.onActivityResult(requestCode, resultCode, data)
221 // 子画面からもらった情報の応答処理をイベント処理クラスに依頼する
222 listener.onActivityResult(requestCode, resultCode, data)
224 catch (ex: Exception)
231 const val APP_NAMESPACE = "gokigen"
232 private val TAG = Main::class.java.simpleName