@@ -7,7 +7,6 @@ import androidx.appcompat.app.AppCompatActivity
77import android.os.Bundle
88import android.os.Handler
99import android.preference.PreferenceManager
10- import android.util.Log
1110import android.view.*
1211import android.widget.*
1312import androidx.appcompat.widget.SearchView
@@ -36,21 +35,23 @@ class MainActivity : AppCompatActivity(), PopupMenu.OnMenuItemClickListener {
3635 private lateinit var mDbWorkerThread: DbWorkerThread
3736 private lateinit var pLayout : String
3837
39- private val mUiHandler = Handler ()
38+ private val mUiHandler = Handler () // UI хэндлер для удобной работы с потоком БД
4039
4140 override fun onCreate (savedInstanceState : Bundle ? ) {
4241 super .onCreate(savedInstanceState)
4342 setContentView(R .layout.activity_main)
4443 setSupportActionBar(findViewById(R .id.toolbar))
44+
4545 mFab = findViewById(R .id.fab)
46- mDbWorkerThread = DbWorkerThread (" dbWorkerThread" )
46+ mDbWorkerThread = DbWorkerThread (" dbWorkerThread" ) // Создание дб Воркера
4747 mDbWorkerThread.start()
48+
4849 getPref()
4950 recyclerView = findViewById(R .id.recycleView)
5051 setViewManager()
5152 recyclerView.layoutManager = viewManager
5253
53- mDb = NotesDataBase .getInstance(this )
54+ mDb = NotesDataBase .getInstance(this ) // Получение инстанса БД
5455 loadDataInListView()
5556
5657 mFab.setOnClickListener { view ->
@@ -64,9 +65,11 @@ class MainActivity : AppCompatActivity(), PopupMenu.OnMenuItemClickListener {
6465 getPref()
6566 super .onStart()
6667 }
67- private fun setViewManager (){
68- Log .d(" setView" , pLayout.toString())
6968
69+ /* *
70+ * Изменение интефейса в зависимости от настроек приложения
71+ */
72+ private fun setViewManager (){
7073 when (pLayout){
7174
7275 " 0" -> viewManager = LinearLayoutManager (this )
@@ -81,11 +84,18 @@ class MainActivity : AppCompatActivity(), PopupMenu.OnMenuItemClickListener {
8184 setViewManager()
8285 super .onRestart()
8386 }
84- private fun getPref (){
87+
88+ /* *
89+ * Получение настроек приложения
90+ */
91+ private fun getPref (){
8592 val mySharedPref: SharedPreferences = PreferenceManager .getDefaultSharedPreferences(this )
8693 pLayout = mySharedPref.getString(" layout_list" , " 0" )!!
87- Log .d(" TEST" , pLayout.toString())
8894 }
95+
96+ /* *
97+ * Назначение листенера на RecyclerView, создание кэлбэка на свайпы
98+ */
8999 private fun setRecyclerViewItemTouchListener () {
90100 val itemTouchCallback = object : ItemTouchHelper .SimpleCallback (0 ,
91101 ItemTouchHelper .LEFT or ItemTouchHelper .RIGHT ) {
@@ -106,10 +116,10 @@ class MainActivity : AppCompatActivity(), PopupMenu.OnMenuItemClickListener {
106116 itemTouchHelper.attachToRecyclerView(recyclerView)
107117 }
108118
119+ /* *
120+ * Удаление Note с БД
121+ */
109122 private fun toDeleteElementFromDb (position : Int ) {
110- val id = mItems[position].noteId
111- val size = mItems.size
112- Log .d(" test" , " $size , $position $" )
113123 mDbWorkerThread.postTask(Runnable {
114124 mDb?.notesDataDao()?.deleteNote(mItems[position])
115125 mUiHandler.post(Runnable {
@@ -123,6 +133,9 @@ class MainActivity : AppCompatActivity(), PopupMenu.OnMenuItemClickListener {
123133 super .onResume()
124134 loadDataInListView()
125135 }
136+ /* *
137+ * Подключение к туллбару меню
138+ */
126139 override fun onCreateOptionsMenu (menu : Menu ): Boolean {
127140 val inflater: MenuInflater = menuInflater
128141 inflater.inflate(R .menu.appbar_menu, menu)
@@ -143,6 +156,9 @@ class MainActivity : AppCompatActivity(), PopupMenu.OnMenuItemClickListener {
143156 }
144157 }
145158
159+ /* *
160+ * Назначение листенера на поисковик
161+ */
146162 private fun searchQueryTextListener (searchView : SearchView ): Boolean {
147163 searchView.queryHint = " Search notes"
148164 searchView.setOnQueryTextListener(object : SearchView .OnQueryTextListener {
@@ -160,6 +176,9 @@ class MainActivity : AppCompatActivity(), PopupMenu.OnMenuItemClickListener {
160176 return true
161177 }
162178
179+ /* *
180+ * Поиск заметки в БД, достать и положить в адаптер
181+ */
163182 fun getNotesFromDb (query : String ){
164183 val searchTextQuery = " %$query %"
165184 mDb!! .notesDataDao().getNotesForQuery(searchTextQuery)
@@ -172,7 +191,7 @@ class MainActivity : AppCompatActivity(), PopupMenu.OnMenuItemClickListener {
172191 }
173192
174193
175- private fun showPopup (v : View ): Boolean {
194+ private fun showPopup (v : View ): Boolean {
176195 PopupMenu (this , v, Gravity .END ).apply {
177196 // MainActivity implements OnMenuItemClickListener
178197 setOnMenuItemClickListener(this @MainActivity)
@@ -191,11 +210,14 @@ private fun showPopup(v: View): Boolean{
191210 }
192211 }
193212
213+ /* *
214+ * Выгрузить с БД все заметки, достать и положить в адаптер
215+ */
194216 private fun loadDataInListView (){
195217 val task = Runnable {
196218 val notesData = mDb?.notesDataDao()?.getAll()
197219 mUiHandler.post {
198- if (notesData == null || notesData.size == 0 ){
220+ if (notesData == null || notesData.isEmpty() ){
199221 showToast(this , " NoData in Cashe..." )
200222 } else {
201223 mItems = ArrayList (notesData)
0 commit comments