From 89764b20521f28030d0a7e29092b81a014597dc1 Mon Sep 17 00:00:00 2001 From: Spsden Date: Mon, 1 Nov 2021 22:39:29 +0530 Subject: [PATCH 1/5] Added viewpager, recyclerview and tablayout, all changes are unstable --- .idea/misc.xml | 2 + app/build.gradle | 3 + .../com/example/jottnotes/BaseFragment.kt | 25 ++++++++ .../com/example/jottnotes/FolderFragment.kt | 59 +++++++++++++++++++ .../java/com/example/jottnotes/Main_page.kt | 26 +++++++- .../com/example/jottnotes/NotesToRvAdapter.kt | 30 ++++++++++ .../java/com/example/jottnotes/Notes_page.kt | 49 +++++++++++---- .../java/com/example/jottnotes/RvFragment.kt | 30 +++++++--- .../com/example/jottnotes/ViewPagerAdapter.kt | 30 ++++++++++ app/src/main/res/drawable/scrollview.xml | 2 +- app/src/main/res/layout/fragment_folder.xml | 14 +++++ .../main/res/layout/fragment_main_page.xml | 12 ++-- .../main/res/layout/fragment_notes_page.xml | 14 +++-- app/src/main/res/layout/fragment_rv.xml | 7 +-- app/src/main/res/layout/home_grids.xml | 14 ----- app/src/main/res/layout/rvcard.xml | 59 +++++++++++++++++++ 16 files changed, 326 insertions(+), 50 deletions(-) create mode 100644 app/src/main/java/com/example/jottnotes/BaseFragment.kt create mode 100644 app/src/main/java/com/example/jottnotes/FolderFragment.kt create mode 100644 app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt create mode 100644 app/src/main/java/com/example/jottnotes/ViewPagerAdapter.kt create mode 100644 app/src/main/res/layout/fragment_folder.xml delete mode 100644 app/src/main/res/layout/home_grids.xml create mode 100644 app/src/main/res/layout/rvcard.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index b92cd49..1d28b75 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,6 +24,7 @@ + @@ -33,6 +34,7 @@ + diff --git a/app/build.gradle b/app/build.gradle index feff990..da57b91 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -81,6 +81,9 @@ dependencies { //bottomsheet implementation 'com.google.android.material:material:1.4.0' + //coroutines core + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9' + } diff --git a/app/src/main/java/com/example/jottnotes/BaseFragment.kt b/app/src/main/java/com/example/jottnotes/BaseFragment.kt new file mode 100644 index 0000000..30bdc53 --- /dev/null +++ b/app/src/main/java/com/example/jottnotes/BaseFragment.kt @@ -0,0 +1,25 @@ +package com.example.jottnotes + +import android.os.Bundle +import androidx.fragment.app.Fragment +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.Job +import kotlin.coroutines.CoroutineContext + +abstract class BaseFragment : Fragment(),CoroutineScope{ + + private lateinit var job: Job + override val coroutineContext: CoroutineContext + get() = job +Dispatchers.Main + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + job = Job() + } + + override fun onDestroy() { + super.onDestroy() + job.cancel() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/FolderFragment.kt b/app/src/main/java/com/example/jottnotes/FolderFragment.kt new file mode 100644 index 0000000..c14f6a6 --- /dev/null +++ b/app/src/main/java/com/example/jottnotes/FolderFragment.kt @@ -0,0 +1,59 @@ +package com.example.jottnotes + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [FolderFragment.newInstance] factory method to + * create an instance of this fragment. + */ +class FolderFragment : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_folder, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment FolderFragment. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + FolderFragment().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/Main_page.kt b/app/src/main/java/com/example/jottnotes/Main_page.kt index 3b81116..7675367 100644 --- a/app/src/main/java/com/example/jottnotes/Main_page.kt +++ b/app/src/main/java/com/example/jottnotes/Main_page.kt @@ -10,11 +10,16 @@ import android.view.View import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.FragmentManager +import androidx.viewpager2.widget.ViewPager2 +import com.google.android.material.tabs.TabLayout +import com.google.android.material.tabs.TabLayoutMediator import kotlinx.android.synthetic.main.fragment_main_page.* class Mainpage : Fragment() { + val fragarray = ArrayList() + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -35,16 +40,33 @@ class Mainpage : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - val manager: FragmentManager = (this.context as AppCompatActivity).supportFragmentManager - + //for bottom sheet transaction + val manager: FragmentManager = (this.context as AppCompatActivity).supportFragmentManager floating_action_button.setOnClickListener { BottomSheet().show(manager, ContentValues.TAG) } + //for launching Viewpager fragment + val tabLayout = activity?.findViewById(R.id.tabs) + val viewpager2 = activity?.findViewById(R.id.View_pager) + + fragarray.add(RvFragment()) + + val adapter = ViewPagerAdapter(requireActivity().supportFragmentManager,lifecycle) + viewpager2?.adapter = adapter + + if (viewpager2 != null) { + if (tabLayout != null) { + TabLayoutMediator(tabLayout, viewpager2){tab,position -> + + tab.text = "Notes" + }.attach() + } } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt b/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt new file mode 100644 index 0000000..317e92c --- /dev/null +++ b/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt @@ -0,0 +1,30 @@ +package com.example.jottnotes + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.codingwithme.notesapp.entities.Notes +import kotlinx.android.synthetic.main.rvcard.view.* + + class NotesToRvAdapter(val arraylist : List) : RecyclerView.Adapter() { + + class NotesViewHolder(view: View) :RecyclerView.ViewHolder(view){ + + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NotesViewHolder { + val view = LayoutInflater.from(parent.context).inflate(R.layout.rvcard,parent,false) + return NotesViewHolder(view) + } + + override fun getItemCount(): Int { + return arraylist.size + } + + override fun onBindViewHolder(holder: NotesViewHolder, position: Int) { + holder.itemView.title_thumb.text = arraylist[position].title + holder.itemView.note_desc_thumb.text = arraylist[position].noteText + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/Notes_page.kt b/app/src/main/java/com/example/jottnotes/Notes_page.kt index 8503662..304114e 100644 --- a/app/src/main/java/com/example/jottnotes/Notes_page.kt +++ b/app/src/main/java/com/example/jottnotes/Notes_page.kt @@ -5,11 +5,17 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Toast +import androidx.compose.ui.platform.textInputServiceFactory +import com.codingwithme.notesapp.database.NotesDatabase +import com.codingwithme.notesapp.entities.Notes import kotlinx.android.synthetic.main.fragment_notes_page.* +import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.* -class Notes_page : Fragment() { +class Notes_page : BaseFragment() { + var currentDate:String? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -41,31 +47,52 @@ class Notes_page : Fragment() { super.onViewCreated(view, savedInstanceState) var sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss") - val CurrentDate = sdf.format(Date()) + currentDate = sdf.format(Date()) - date.text = CurrentDate + date.text = currentDate - note_back_button.setOnClickListener{ + note_back_button.setOnClickListener { saveNote() - replaceFragment(Mainpage(),true) + replaceFragment(Mainpage(), true) } } - private fun saveNote(){ + private fun saveNote() { + if (notes_title.text.isNullOrEmpty()) { + Toast.makeText(context, "Title Required", Toast.LENGTH_SHORT).show() + } + + launch { + val notes = Notes() + notes.title = notes_title.text.toString() + notes.noteText = notes_desc.text.toString() + notes.dateTime = currentDate + + context?.let { + NotesDatabase.getDatabase(it).noteDao().insertNotes(notes) + notes_desc.setText("") + notes_title.setText("") + + } + + } + } - fun replaceFragment(fragment: Fragment , istransition : Boolean) - { + fun replaceFragment(fragment: Fragment, istransition: Boolean) { val manager = requireActivity().supportFragmentManager val transaction = manager.beginTransaction() - if (istransition){ - transaction.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right) + if (istransition) { + transaction.setCustomAnimations( + android.R.anim.slide_in_left, + android.R.anim.slide_out_right + ) } - transaction.replace(R.id.notes_page,fragment).commit() + transaction.replace(R.id.notes_page, fragment).commit() } diff --git a/app/src/main/java/com/example/jottnotes/RvFragment.kt b/app/src/main/java/com/example/jottnotes/RvFragment.kt index ff1d8f0..7e8653f 100644 --- a/app/src/main/java/com/example/jottnotes/RvFragment.kt +++ b/app/src/main/java/com/example/jottnotes/RvFragment.kt @@ -5,9 +5,17 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import kotlinx.coroutines.launch +import androidx.recyclerview.widget.StaggeredGridLayoutManager +import com.codingwithme.notesapp.database.NotesDatabase +import kotlinx.android.synthetic.main.fragment_rv.* +import kotlinx.coroutines.coroutineScope -class RvFragment : Fragment() { +class RvFragment : BaseFragment() { + +// var arrNotes = ArrayList() +// var notesAdapter: NotesAdapter = NotesToRvAdapter() override fun onCreate(savedInstanceState: Bundle?) { @@ -21,18 +29,24 @@ class RvFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_rv, container, false) } - companion object { + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + main_page_rv.setHasFixedSize(true) + main_page_rv.layoutManager = StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL) + + launch { + context?.let { + var notes = NotesDatabase.getDatabase(it).noteDao().getAllNotes() + main_page_rv.adapter = NotesToRvAdapter(notes) - @JvmStatic - fun newInstance(param1: String, param2: String) = - RvFragment().apply { - arguments = Bundle().apply { - } } + } } + + } \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/ViewPagerAdapter.kt b/app/src/main/java/com/example/jottnotes/ViewPagerAdapter.kt new file mode 100644 index 0000000..b352a99 --- /dev/null +++ b/app/src/main/java/com/example/jottnotes/ViewPagerAdapter.kt @@ -0,0 +1,30 @@ +package com.example.jottnotes + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.compose.ui.layout.Layout +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import androidx.lifecycle.Lifecycle +import androidx.recyclerview.widget.RecyclerView +import androidx.viewpager2.adapter.FragmentStateAdapter + +class ViewPagerAdapter(fragmentManager: FragmentManager,lifecycle: Lifecycle): + FragmentStateAdapter(fragmentManager,lifecycle){ + + override fun getItemCount(): Int { + return 2 + } + + override fun createFragment(position: Int): Fragment { + when (position){ + 0 -> return RvFragment() + 1 -> return RvFragment() + } + return RvFragment() + } + + +} \ No newline at end of file diff --git a/app/src/main/res/drawable/scrollview.xml b/app/src/main/res/drawable/scrollview.xml index b5abf46..a7e8560 100644 --- a/app/src/main/res/drawable/scrollview.xml +++ b/app/src/main/res/drawable/scrollview.xml @@ -1,6 +1,6 @@ - + diff --git a/app/src/main/res/layout/fragment_folder.xml b/app/src/main/res/layout/fragment_folder.xml new file mode 100644 index 0000000..6aa2bdd --- /dev/null +++ b/app/src/main/res/layout/fragment_folder.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_page.xml b/app/src/main/res/layout/fragment_main_page.xml index b987f00..520757b 100644 --- a/app/src/main/res/layout/fragment_main_page.xml +++ b/app/src/main/res/layout/fragment_main_page.xml @@ -73,15 +73,19 @@ android:layout_height="wrap_content"/> + - + app:layout_constraintTop_toBottomOf="@id/tabs" + app:layout_constraintVertical_bias="0.6" + tools:layout_editor_absoluteX="13dp" /> @@ -106,19 +111,16 @@ android:orientation="horizontal" android:padding="10dp" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent"> + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent"> - + android:background="@drawable/ic_baseline_image_24" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_rv.xml b/app/src/main/res/layout/fragment_rv.xml index 30179d0..5260480 100644 --- a/app/src/main/res/layout/fragment_rv.xml +++ b/app/src/main/res/layout/fragment_rv.xml @@ -5,10 +5,9 @@ android:layout_height="match_parent" tools:context=".RvFragment"> - - + android:layout_height="wrap_content"/> \ No newline at end of file diff --git a/app/src/main/res/layout/home_grids.xml b/app/src/main/res/layout/home_grids.xml deleted file mode 100644 index aebfcee..0000000 --- a/app/src/main/res/layout/home_grids.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/app/src/main/res/layout/rvcard.xml b/app/src/main/res/layout/rvcard.xml new file mode 100644 index 0000000..c3aacc2 --- /dev/null +++ b/app/src/main/res/layout/rvcard.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From f4cc76894ad4a759c00f060132310eb14155a6b7 Mon Sep 17 00:00:00 2001 From: Spsden Date: Tue, 2 Nov 2021 00:17:39 +0530 Subject: [PATCH 2/5] Added folders fragment and fixed Recyclerview jumbling issue --- .idea/misc.xml | 3 + .../com/example/jottnotes/FolderFragment.kt | 38 +--------- .../com/example/jottnotes/MainActivity.kt | 19 +++-- .../java/com/example/jottnotes/Main_page.kt | 5 +- .../java/com/example/jottnotes/Notes_page.kt | 19 ++--- .../com/example/jottnotes/ViewPagerAdapter.kt | 2 +- app/src/main/res/drawable/ic_folder.xml | 12 +++ app/src/main/res/layout/fragment_folder.xml | 73 +++++++++++++++++-- app/src/main/res/layout/rvcard.xml | 2 +- 9 files changed, 109 insertions(+), 64 deletions(-) create mode 100644 app/src/main/res/drawable/ic_folder.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 1d28b75..6dbb1a8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -20,13 +20,16 @@ + + + diff --git a/app/src/main/java/com/example/jottnotes/FolderFragment.kt b/app/src/main/java/com/example/jottnotes/FolderFragment.kt index c14f6a6..3357d80 100644 --- a/app/src/main/java/com/example/jottnotes/FolderFragment.kt +++ b/app/src/main/java/com/example/jottnotes/FolderFragment.kt @@ -6,26 +6,13 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -// TODO: Rename parameter arguments, choose names that match -// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER -private const val ARG_PARAM1 = "param1" -private const val ARG_PARAM2 = "param2" - -/** - * A simple [Fragment] subclass. - * Use the [FolderFragment.newInstance] factory method to - * create an instance of this fragment. - */ class FolderFragment : Fragment() { - // TODO: Rename and change types of parameters - private var param1: String? = null - private var param2: String? = null + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) arguments?.let { - param1 = it.getString(ARG_PARAM1) - param2 = it.getString(ARG_PARAM2) + } } @@ -33,27 +20,8 @@ class FolderFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_folder, container, false) } - companion object { - /** - * Use this factory method to create a new instance of - * this fragment using the provided parameters. - * - * @param param1 Parameter 1. - * @param param2 Parameter 2. - * @return A new instance of fragment FolderFragment. - */ - // TODO: Rename and change types and number of parameters - @JvmStatic - fun newInstance(param1: String, param2: String) = - FolderFragment().apply { - arguments = Bundle().apply { - putString(ARG_PARAM1, param1) - putString(ARG_PARAM2, param2) - } - } - } + } \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/MainActivity.kt b/app/src/main/java/com/example/jottnotes/MainActivity.kt index 2dc82d8..0fc3eba 100644 --- a/app/src/main/java/com/example/jottnotes/MainActivity.kt +++ b/app/src/main/java/com/example/jottnotes/MainActivity.kt @@ -3,7 +3,6 @@ package com.example.jottnotes import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.fragment.app.Fragment -import com.example.jottnotes.Notes_page.Companion.newInstance class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -12,7 +11,10 @@ class MainActivity : AppCompatActivity() { - replaceFragment(Mainpage(),true) + + + + replaceFragment(Mainpage(), true) } //this is to change from mainactivity to main_page fragment. @@ -21,14 +23,17 @@ class MainActivity : AppCompatActivity() { //also this same function has the replace(one you are in, the one you want to go) //the addtobackstack is a stack maker function. - private fun replaceFragment(fragment:Fragment, istransition:Boolean) { + private fun replaceFragment(fragment: Fragment, istransition: Boolean) { val fragmentTransition = supportFragmentManager.beginTransaction() - if (istransition) - { - fragmentTransition.setCustomAnimations(android.R.anim.slide_out_right,android.R.anim.slide_in_left) + if (istransition) { + fragmentTransition.setCustomAnimations( + android.R.anim.slide_out_right, + android.R.anim.slide_in_left + ) } - fragmentTransition.replace(R.id.frame_layout,fragment).addToBackStack(fragment.javaClass.simpleName).commit() + fragmentTransition.replace(R.id.frame_layout, fragment) + .addToBackStack(fragment.javaClass.simpleName).commit() } } \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/Main_page.kt b/app/src/main/java/com/example/jottnotes/Main_page.kt index 7675367..99d5022 100644 --- a/app/src/main/java/com/example/jottnotes/Main_page.kt +++ b/app/src/main/java/com/example/jottnotes/Main_page.kt @@ -59,7 +59,10 @@ class Mainpage : Fragment() { if (tabLayout != null) { TabLayoutMediator(tabLayout, viewpager2){tab,position -> - tab.text = "Notes" + when(position){ + 0 -> tab.text = "Notes" + 1 -> tab.text = "Folders" + } }.attach() } } diff --git a/app/src/main/java/com/example/jottnotes/Notes_page.kt b/app/src/main/java/com/example/jottnotes/Notes_page.kt index 304114e..a7438f8 100644 --- a/app/src/main/java/com/example/jottnotes/Notes_page.kt +++ b/app/src/main/java/com/example/jottnotes/Notes_page.kt @@ -1,12 +1,13 @@ package com.example.jottnotes + import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast -import androidx.compose.ui.platform.textInputServiceFactory + import com.codingwithme.notesapp.database.NotesDatabase import com.codingwithme.notesapp.entities.Notes import kotlinx.android.synthetic.main.fragment_notes_page.* @@ -15,7 +16,7 @@ import java.text.SimpleDateFormat import java.util.* class Notes_page : BaseFragment() { - var currentDate:String? = null + var currentDate: String? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -32,22 +33,13 @@ class Notes_page : BaseFragment() { return inflater.inflate(R.layout.fragment_notes_page, container, false) } - companion object { - @JvmStatic - fun newInstance(param1: String, param2: String) = - Notes_page().apply { - arguments = Bundle().apply { - - } - } - } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) var sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss") - currentDate = sdf.format(Date()) + currentDate = sdf.format(Date()) date.text = currentDate @@ -78,10 +70,9 @@ class Notes_page : BaseFragment() { } } - - } + fun replaceFragment(fragment: Fragment, istransition: Boolean) { val manager = requireActivity().supportFragmentManager val transaction = manager.beginTransaction() diff --git a/app/src/main/java/com/example/jottnotes/ViewPagerAdapter.kt b/app/src/main/java/com/example/jottnotes/ViewPagerAdapter.kt index b352a99..c269a85 100644 --- a/app/src/main/java/com/example/jottnotes/ViewPagerAdapter.kt +++ b/app/src/main/java/com/example/jottnotes/ViewPagerAdapter.kt @@ -21,7 +21,7 @@ class ViewPagerAdapter(fragmentManager: FragmentManager,lifecycle: Lifecycle): override fun createFragment(position: Int): Fragment { when (position){ 0 -> return RvFragment() - 1 -> return RvFragment() + 1 -> return FolderFragment() } return RvFragment() } diff --git a/app/src/main/res/drawable/ic_folder.xml b/app/src/main/res/drawable/ic_folder.xml new file mode 100644 index 0000000..2eb53a2 --- /dev/null +++ b/app/src/main/res/drawable/ic_folder.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/layout/fragment_folder.xml b/app/src/main/res/layout/fragment_folder.xml index 6aa2bdd..5d4745c 100644 --- a/app/src/main/res/layout/fragment_folder.xml +++ b/app/src/main/res/layout/fragment_folder.xml @@ -1,14 +1,77 @@ - - - + android:columnCount="2" + android:rowCount="3"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/rvcard.xml b/app/src/main/res/layout/rvcard.xml index c3aacc2..095248a 100644 --- a/app/src/main/res/layout/rvcard.xml +++ b/app/src/main/res/layout/rvcard.xml @@ -1,7 +1,7 @@ From 362800fcf6397b710bf680bb261feccc6f10d421 Mon Sep 17 00:00:00 2001 From: Spsden Date: Sun, 5 Dec 2021 13:41:10 +0530 Subject: [PATCH 3/5] added note page bottom sheet and fixed recyclerview --- .idea/misc.xml | 16 + .../com/example/jottnotes/Bottom_sheet.kt | 2 +- .../example/jottnotes/NotesPageBottomSheet.kt | 59 ++++ .../com/example/jottnotes/NotesToRvAdapter.kt | 54 +++- .../java/com/example/jottnotes/Notes_page.kt | 29 +- .../java/com/example/jottnotes/RvFragment.kt | 70 ++++- app/src/main/res/drawable-v24/img_bar.png | Bin 0 -> 419 bytes .../main/res/drawable-v24/note_color_2.xml | 9 + .../main/res/drawable-v24/note_color_4.xml | 9 + .../main/res/drawable-v24/note_color_5.xml | 9 + .../main/res/drawable-v24/note_color_6.xml | 9 + .../main/res/drawable-v24/note_color_7.xml | 9 + app/src/main/res/drawable/ic_delete.xml | 5 + app/src/main/res/drawable/ic_image.xml | 12 + app/src/main/res/drawable/ic_link.xml | 15 + app/src/main/res/drawable/note_color_1.xml | 9 + .../main/res/layout/fragment_notes_page.xml | 2 +- .../fragment_notes_page_bottom_sheet.xml | 289 ++++++++++++++++++ app/src/main/res/layout/rvcard.xml | 1 + app/src/main/res/values/colors.xml | 9 + build.gradle | 2 +- 21 files changed, 596 insertions(+), 23 deletions(-) create mode 100644 app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt create mode 100644 app/src/main/res/drawable-v24/img_bar.png create mode 100644 app/src/main/res/drawable-v24/note_color_2.xml create mode 100644 app/src/main/res/drawable-v24/note_color_4.xml create mode 100644 app/src/main/res/drawable-v24/note_color_5.xml create mode 100644 app/src/main/res/drawable-v24/note_color_6.xml create mode 100644 app/src/main/res/drawable-v24/note_color_7.xml create mode 100644 app/src/main/res/drawable/ic_delete.xml create mode 100644 app/src/main/res/drawable/ic_image.xml create mode 100644 app/src/main/res/drawable/ic_link.xml create mode 100644 app/src/main/res/drawable/note_color_1.xml create mode 100644 app/src/main/res/layout/fragment_notes_page_bottom_sheet.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 6dbb1a8..5375a6a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,6 +3,7 @@ diff --git a/app/src/main/java/com/example/jottnotes/Bottom_sheet.kt b/app/src/main/java/com/example/jottnotes/Bottom_sheet.kt index 6500a96..01771d0 100644 --- a/app/src/main/java/com/example/jottnotes/Bottom_sheet.kt +++ b/app/src/main/java/com/example/jottnotes/Bottom_sheet.kt @@ -37,7 +37,7 @@ class BottomSheet : BottomSheetDialogFragment(){ Notes_add.setOnClickListener { - replaceFragment(Notes_page(),true) + replaceFragment(NotesPage(),true) Toast.makeText(context,"this is toast message",Toast.LENGTH_SHORT).show() dismiss() } diff --git a/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt b/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt new file mode 100644 index 0000000..dd0614e --- /dev/null +++ b/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt @@ -0,0 +1,59 @@ +package com.example.jottnotes + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [NotesPageBottomSheet.newInstance] factory method to + * create an instance of this fragment. + */ +class NotesPageBottomSheet : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_notes_page_bottom_sheet, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment NotesPageBottomSheet. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + NotesPageBottomSheet().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt b/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt index 317e92c..79d8de1 100644 --- a/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt +++ b/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt @@ -3,28 +3,52 @@ package com.example.jottnotes import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.AdapterView import androidx.recyclerview.widget.RecyclerView import com.codingwithme.notesapp.entities.Notes import kotlinx.android.synthetic.main.rvcard.view.* - class NotesToRvAdapter(val arraylist : List) : RecyclerView.Adapter() { + class NotesToRvAdapter(): + RecyclerView.Adapter() { + var listener : OnItemClickListener? = null - class NotesViewHolder(view: View) :RecyclerView.ViewHolder(view){ + interface OnItemClickListener { + fun onClicked(noteId : Int) - } + } - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NotesViewHolder { - val view = LayoutInflater.from(parent.context).inflate(R.layout.rvcard,parent,false) - return NotesViewHolder(view) - } + var arrList = ArrayList() + class NotesViewHolder(view: View) : RecyclerView.ViewHolder(view) { - override fun getItemCount(): Int { - return arraylist.size - } + } - override fun onBindViewHolder(holder: NotesViewHolder, position: Int) { - holder.itemView.title_thumb.text = arraylist[position].title - holder.itemView.note_desc_thumb.text = arraylist[position].noteText - } + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NotesViewHolder { + return NotesViewHolder( + LayoutInflater.from(parent.context).inflate(R.layout.rvcard,parent,false) + ) + } -} \ No newline at end of file + override fun onBindViewHolder(holder: NotesViewHolder, position: Int) { + holder.itemView.title_thumb.text = arrList[position].title + holder.itemView.note_desc_thumb.text = arrList[position].noteText + + holder.itemView.rv_card.setOnClickListener{ + listener!!.onClicked(arrList[position].id!!) + } + + } + + override fun getItemCount(): Int { + return arrList.size + } + + fun setOnClickListener(listener1: OnItemClickListener){ + listener = listener1 + } + + fun setData(arrNotesList:List){ + arrList = arrNotesList as ArrayList + } + + + } \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/Notes_page.kt b/app/src/main/java/com/example/jottnotes/Notes_page.kt index a7438f8..0bf0edd 100644 --- a/app/src/main/java/com/example/jottnotes/Notes_page.kt +++ b/app/src/main/java/com/example/jottnotes/Notes_page.kt @@ -1,12 +1,15 @@ package com.example.jottnotes +import android.content.BroadcastReceiver +import android.content.IntentFilter import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast +import androidx.localbroadcastmanager.content.LocalBroadcastManager import com.codingwithme.notesapp.database.NotesDatabase import com.codingwithme.notesapp.entities.Notes @@ -15,14 +18,16 @@ import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.* -class Notes_page : BaseFragment() { +class NotesPage : BaseFragment() { var currentDate: String? = null + private var noteId = -1 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) arguments?.let { } + noteId = requireArguments().getInt("noteId",-1) } override fun onCreateView( @@ -33,11 +38,32 @@ class Notes_page : BaseFragment() { return inflater.inflate(R.layout.fragment_notes_page, container, false) } + companion object{ + @JvmStatic + fun newInstance()= + NotesPage().apply { + arguments= Bundle().apply { + + } + } + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + if (noteId != 1){ + launch { + context?.let { + var notes = NotesDatabase.getDatabase(it).noteDao().getSpecificNote(noteId) + notes_title.setText(notes.title) + notes_desc.setText(notes.noteText) + } + } + } + + var sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss") currentDate = sdf.format(Date()) @@ -66,6 +92,7 @@ class Notes_page : BaseFragment() { NotesDatabase.getDatabase(it).noteDao().insertNotes(notes) notes_desc.setText("") notes_title.setText("") + requireActivity().supportFragmentManager.popBackStack() } diff --git a/app/src/main/java/com/example/jottnotes/RvFragment.kt b/app/src/main/java/com/example/jottnotes/RvFragment.kt index 7e8653f..959f451 100644 --- a/app/src/main/java/com/example/jottnotes/RvFragment.kt +++ b/app/src/main/java/com/example/jottnotes/RvFragment.kt @@ -8,14 +8,15 @@ import android.view.ViewGroup import kotlinx.coroutines.launch import androidx.recyclerview.widget.StaggeredGridLayoutManager import com.codingwithme.notesapp.database.NotesDatabase +import com.codingwithme.notesapp.entities.Notes import kotlinx.android.synthetic.main.fragment_rv.* import kotlinx.coroutines.coroutineScope class RvFragment : BaseFragment() { -// var arrNotes = ArrayList() -// var notesAdapter: NotesAdapter = NotesToRvAdapter() + var arrNotes = ArrayList() + var notesAdapter: NotesToRvAdapter = NotesToRvAdapter() override fun onCreate(savedInstanceState: Bundle?) { @@ -32,6 +33,16 @@ class RvFragment : BaseFragment() { return inflater.inflate(R.layout.fragment_rv, container, false) } + companion object { + @JvmStatic + fun newInstance() = + RvFragment().apply { + arguments = Bundle().apply { + + } + } + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -41,12 +52,63 @@ class RvFragment : BaseFragment() { launch { context?.let { var notes = NotesDatabase.getDatabase(it).noteDao().getAllNotes() - main_page_rv.adapter = NotesToRvAdapter(notes) + notesAdapter.setData(notes) + arrNotes = notes as ArrayList + main_page_rv.adapter = notesAdapter } } + + notesAdapter.setOnClickListener(onCLicked) + + + } + + private val onCLicked = object :NotesToRvAdapter.OnItemClickListener{ + override fun onClicked(noteId: Int) { + + var fragment : Fragment + var bundle = Bundle() + bundle.putInt("noteId",noteId) + fragment = NotesPage.newInstance() + fragment.arguments = bundle + + replaceFragment(fragment,false) + + + } + } + + fun replaceFragment(fragment: Fragment , istransition:Boolean) { + val fragmentTransaction = requireActivity().supportFragmentManager + val transaction = fragmentTransaction.beginTransaction() + + if (istransition) { + transaction.setCustomAnimations(android.R.anim.slide_in_left,android.R.anim.slide_out_right) + + } + transaction.replace(R.id.frame_layout,fragment).addToBackStack(fragment.javaClass.simpleName).commit() } +} -} \ No newline at end of file +//fun replaceFragment(fragment: Fragment, istransition : Boolean) +//{ +// val editNotes = fragment +// val manager = requireActivity().supportFragmentManager +// val transaction = manager.beginTransaction() +// +// if (istransition){ +// transaction.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right) +// +// } +// +// +// transaction.replace(R.id.frame_layout, editNotes).addToBackStack(null).commit() +// +// +// +// +// +//} \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/img_bar.png b/app/src/main/res/drawable-v24/img_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..8725979efaf8ff2449b8bedc364d2ad60e971c40 GIT binary patch literal 419 zcmV;U0bKrxP)Px$T}ebiRA>e5nn6y(Knz7~tKIhqaDwJ0EjNH0P|6M#UBC_~H{b|OZ<3sVE42G+ zj6JAQ61hkuS^jR)@r?iC>1$?UhpF>hKff(id7;DwGZmd_3_&0yph^{!R?ND8e|apM zi}*aa-)v`cN?%00Jjd_^fqn$EOcS~L+^i0spH1cl6RphO3q@UtwL+#J6QKCj34vpXl^Cs2$%o> N002ovPDHLkV1jP|uW + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/note_color_4.xml b/app/src/main/res/drawable-v24/note_color_4.xml new file mode 100644 index 0000000..4613595 --- /dev/null +++ b/app/src/main/res/drawable-v24/note_color_4.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/note_color_5.xml b/app/src/main/res/drawable-v24/note_color_5.xml new file mode 100644 index 0000000..40fc8aa --- /dev/null +++ b/app/src/main/res/drawable-v24/note_color_5.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/note_color_6.xml b/app/src/main/res/drawable-v24/note_color_6.xml new file mode 100644 index 0000000..eaa89b4 --- /dev/null +++ b/app/src/main/res/drawable-v24/note_color_6.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/note_color_7.xml b/app/src/main/res/drawable-v24/note_color_7.xml new file mode 100644 index 0000000..9822721 --- /dev/null +++ b/app/src/main/res/drawable-v24/note_color_7.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml new file mode 100644 index 0000000..7a90b75 --- /dev/null +++ b/app/src/main/res/drawable/ic_delete.xml @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_image.xml b/app/src/main/res/drawable/ic_image.xml new file mode 100644 index 0000000..83b37ec --- /dev/null +++ b/app/src/main/res/drawable/ic_image.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_link.xml b/app/src/main/res/drawable/ic_link.xml new file mode 100644 index 0000000..7ea1907 --- /dev/null +++ b/app/src/main/res/drawable/ic_link.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/note_color_1.xml b/app/src/main/res/drawable/note_color_1.xml new file mode 100644 index 0000000..96d47c3 --- /dev/null +++ b/app/src/main/res/drawable/note_color_1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_notes_page.xml b/app/src/main/res/layout/fragment_notes_page.xml index fdea586..ffaf881 100644 --- a/app/src/main/res/layout/fragment_notes_page.xml +++ b/app/src/main/res/layout/fragment_notes_page.xml @@ -6,7 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/background_blue" - tools:context=".Notes_page"> + tools:context=".NotesPage"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/rvcard.xml b/app/src/main/res/layout/rvcard.xml index 095248a..8b021d4 100644 --- a/app/src/main/res/layout/rvcard.xml +++ b/app/src/main/res/layout/rvcard.xml @@ -6,6 +6,7 @@ android:orientation="vertical"> #030800 #232323 + #606570 + #4e33ff + #ffd633 + #ffffff + #ae3b76 + #0aebaf + #ff7746 + #202734 + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 9db2bf1..1b638e6 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { classpath "com.android.tools.build:gradle:7.0.2" - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31" + classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From c4a362cf05782caf25db6854b8d9289c2a96f2a7 Mon Sep 17 00:00:00 2001 From: Spsden Date: Sun, 5 Dec 2021 14:54:01 +0530 Subject: [PATCH 4/5] added delete button to bottom sheet and logic to color notes --- .../example/jottnotes/NotesPageBottomSheet.kt | 210 +++++++++++++++--- .../java/com/example/jottnotes/Notes_page.kt | 1 + .../{img_bar.png => img_bar_dots.png} | Bin .../res/drawable/ic_baseline_image_24.xml | 5 - app/src/main/res/drawable/ic_delete.xml | 4 +- app/src/main/res/drawable/ic_tick.xml | 10 + app/src/main/res/drawable/img_bar_dots.xml | 10 + .../main/res/layout/fragment_notes_page.xml | 42 +++- .../fragment_notes_page_bottom_sheet.xml | 12 +- 9 files changed, 245 insertions(+), 49 deletions(-) rename app/src/main/res/drawable-v24/{img_bar.png => img_bar_dots.png} (100%) delete mode 100644 app/src/main/res/drawable/ic_baseline_image_24.xml create mode 100644 app/src/main/res/drawable/ic_tick.xml create mode 100644 app/src/main/res/drawable/img_bar_dots.xml diff --git a/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt b/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt index dd0614e..9b4fb48 100644 --- a/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt +++ b/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt @@ -1,31 +1,76 @@ package com.example.jottnotes +import android.annotation.SuppressLint +import android.app.Dialog +import android.content.Intent import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.localbroadcastmanager.content.LocalBroadcastManager +import com.google.android.material.bottomsheet.BottomSheetBehavior +import com.google.android.material.bottomsheet.BottomSheetDialogFragment +import kotlinx.android.synthetic.main.fragment_notes_page_bottom_sheet.* + + +class NotesPageBottomSheet : BottomSheetDialogFragment() { + var selectedColor = "#232323" + + @SuppressLint("RestrictedApi") + override fun setupDialog(dialog: Dialog, style: Int) { + super.setupDialog(dialog, style) + + val view = LayoutInflater.from(context).inflate(R.layout.fragment_notes_page_bottom_sheet,null) + dialog.setContentView(view) + + val param = (view.parent as View).layoutParams as CoordinatorLayout.LayoutParams + + val behavior = param.behavior + + if (behavior is BottomSheetBehavior<*>){ + behavior.setBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback(){ + override fun onSlide(bottomSheet: View, slideOffset: Float) { + TODO("Not yet implemented") + } + + override fun onStateChanged(bottomSheet: View, newState: Int) { + var state = "" + when (newState) { + BottomSheetBehavior.STATE_DRAGGING -> { + state = "DRAGGING" + } + BottomSheetBehavior.STATE_SETTLING -> { + state = "SETTLING" + } + BottomSheetBehavior.STATE_EXPANDED -> { + state = "EXPANDED" + } + BottomSheetBehavior.STATE_COLLAPSED -> { + state = "COLLAPSED" + } + + BottomSheetBehavior.STATE_HIDDEN -> { + state = "HIDDEN" + dismiss() + behavior.state = BottomSheetBehavior.STATE_COLLAPSED + } + + } + } + + }) + + + } + } -// TODO: Rename parameter arguments, choose names that match -// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER -private const val ARG_PARAM1 = "param1" -private const val ARG_PARAM2 = "param2" - -/** - * A simple [Fragment] subclass. - * Use the [NotesPageBottomSheet.newInstance] factory method to - * create an instance of this fragment. - */ -class NotesPageBottomSheet : Fragment() { - // TODO: Rename and change types of parameters - private var param1: String? = null - private var param2: String? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) arguments?.let { - param1 = it.getString(ARG_PARAM1) - param2 = it.getString(ARG_PARAM2) + } } @@ -33,26 +78,135 @@ class NotesPageBottomSheet : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_notes_page_bottom_sheet, container, false) } + + private fun setListener(){ + fNote1.setOnClickListener { + + imgNote1.setImageResource(R.drawable.ic_tick) + imgNote2.setImageResource(0) + imgNote4.setImageResource(0) + imgNote5.setImageResource(0) + imgNote6.setImageResource(0) + imgNote7.setImageResource(0) + selectedColor = "#4e33ff" + + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","Blue") + intent.putExtra("selectedColor",selectedColor) + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + + } + + fNote2.setOnClickListener { + imgNote1.setImageResource(0) + imgNote2.setImageResource(R.drawable.ic_tick) + imgNote4.setImageResource(0) + imgNote5.setImageResource(0) + imgNote6.setImageResource(0) + imgNote7.setImageResource(0) + selectedColor = "#ffd633" + + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","Yellow") + intent.putExtra("selectedColor",selectedColor) + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + + } + + fNote4.setOnClickListener { + imgNote1.setImageResource(0) + imgNote2.setImageResource(0) + imgNote4.setImageResource(R.drawable.ic_tick) + imgNote5.setImageResource(0) + imgNote6.setImageResource(0) + imgNote7.setImageResource(0) + selectedColor = "#ae3b76" + + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","Purple") + intent.putExtra("selectedColor",selectedColor) + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + + } + + fNote5.setOnClickListener { + imgNote1.setImageResource(0) + imgNote2.setImageResource(0) + imgNote4.setImageResource(0) + imgNote5.setImageResource(R.drawable.ic_tick) + imgNote6.setImageResource(0) + imgNote7.setImageResource(0) + selectedColor = "#0aebaf" + + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","Green") + intent.putExtra("selectedColor",selectedColor) + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + } + + fNote6.setOnClickListener { + + imgNote1.setImageResource(0) + imgNote2.setImageResource(0) + imgNote4.setImageResource(0) + imgNote5.setImageResource(0) + imgNote6.setImageResource(R.drawable.ic_tick) + imgNote7.setImageResource(0) + selectedColor = "#ff7746" + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","Orange") + intent.putExtra("selectedColor",selectedColor) + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + } + + fNote7.setOnClickListener { + imgNote1.setImageResource(0) + imgNote2.setImageResource(0) + imgNote4.setImageResource(0) + imgNote5.setImageResource(0) + imgNote6.setImageResource(0) + imgNote7.setImageResource(R.drawable.ic_tick) + selectedColor = "#202734" + + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","Black") + intent.putExtra("selectedColor",selectedColor) + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + } + + + layoutImage.setOnClickListener{ + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","Image") + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + dismiss() + } + layoutWebUrl.setOnClickListener{ + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","WebUrl") + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + dismiss() + } + layoutDeleteNote.setOnClickListener { + val intent = Intent("bottom_sheet_action") + intent.putExtra("action","DeleteNote") + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent) + dismiss() + } + + + } companion object { - /** - * Use this factory method to create a new instance of - * this fragment using the provided parameters. - * - * @param param1 Parameter 1. - * @param param2 Parameter 2. - * @return A new instance of fragment NotesPageBottomSheet. - */ - // TODO: Rename and change types and number of parameters + + @JvmStatic fun newInstance(param1: String, param2: String) = NotesPageBottomSheet().apply { arguments = Bundle().apply { - putString(ARG_PARAM1, param1) - putString(ARG_PARAM2, param2) + } } } diff --git a/app/src/main/java/com/example/jottnotes/Notes_page.kt b/app/src/main/java/com/example/jottnotes/Notes_page.kt index 0bf0edd..712a330 100644 --- a/app/src/main/java/com/example/jottnotes/Notes_page.kt +++ b/app/src/main/java/com/example/jottnotes/Notes_page.kt @@ -19,6 +19,7 @@ import java.text.SimpleDateFormat import java.util.* class NotesPage : BaseFragment() { + var selectedColor = "#232323" var currentDate: String? = null private var noteId = -1 diff --git a/app/src/main/res/drawable-v24/img_bar.png b/app/src/main/res/drawable-v24/img_bar_dots.png similarity index 100% rename from app/src/main/res/drawable-v24/img_bar.png rename to app/src/main/res/drawable-v24/img_bar_dots.png diff --git a/app/src/main/res/drawable/ic_baseline_image_24.xml b/app/src/main/res/drawable/ic_baseline_image_24.xml deleted file mode 100644 index d789b6b..0000000 --- a/app/src/main/res/drawable/ic_baseline_image_24.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml index 7a90b75..bc63a67 100644 --- a/app/src/main/res/drawable/ic_delete.xml +++ b/app/src/main/res/drawable/ic_delete.xml @@ -1,5 +1,5 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_tick.xml b/app/src/main/res/drawable/ic_tick.xml new file mode 100644 index 0000000..6349e97 --- /dev/null +++ b/app/src/main/res/drawable/ic_tick.xml @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/img_bar_dots.xml b/app/src/main/res/drawable/img_bar_dots.xml new file mode 100644 index 0000000..6439bcc --- /dev/null +++ b/app/src/main/res/drawable/img_bar_dots.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/fragment_notes_page.xml b/app/src/main/res/layout/fragment_notes_page.xml index ffaf881..6e637bb 100644 --- a/app/src/main/res/layout/fragment_notes_page.xml +++ b/app/src/main/res/layout/fragment_notes_page.xml @@ -8,15 +8,18 @@ android:background="@color/background_blue" tools:context=".NotesPage"> - @@ -24,23 +27,46 @@ android:id="@+id/note_back_button" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:background="@drawable/back"> + android:layout_weight="10" + android:background="@drawable/back" + app:layout_constraintRight_toLeftOf="@id/note_heading" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + android:textStyle="bold" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@+id/imgDone" + app:layout_constraintStart_toEndOf="@+id/note_back_button" + app:layout_constraintTop_toTopOf="parent" /> + + - + @@ -117,7 +144,8 @@ + android:layout_gravity="center_horizontal" + android:background="@drawable/img_bar_dots" /> diff --git a/app/src/main/res/layout/fragment_notes_page_bottom_sheet.xml b/app/src/main/res/layout/fragment_notes_page_bottom_sheet.xml index c3e5aaf..b105915 100644 --- a/app/src/main/res/layout/fragment_notes_page_bottom_sheet.xml +++ b/app/src/main/res/layout/fragment_notes_page_bottom_sheet.xml @@ -26,7 +26,7 @@ android:layout_gravity="center" android:layout_width="24dp" android:layout_height="24dp" - android:src="@drawable/img_bar"/> + android:src="@drawable/img_bar_dots"/> + android:layout_marginEnd="10dp"/> From d4faf3ba9f32bc197a1d5474fbc58eb257b288c4 Mon Sep 17 00:00:00 2001 From: Spsden Date: Sun, 5 Dec 2021 23:26:35 +0530 Subject: [PATCH 5/5] upgraded rooom coroutines support in gradle --- .idea/misc.xml | 7 +- app/build.gradle | 11 +- .../com/example/jottnotes/Bottom_sheet.kt | 9 +- .../example/jottnotes/NotesPageBottomSheet.kt | 39 +++- .../com/example/jottnotes/NotesToRvAdapter.kt | 10 +- .../java/com/example/jottnotes/Notes_page.kt | 176 +++++++++++++++--- .../java/com/example/jottnotes/RvFragment.kt | 5 +- .../java/com/example/jottnotes/dao/NoteDao.kt | 10 +- .../jottnotes/database/NotesDatabase.kt | 8 +- .../com/example/jottnotes/entities/Notes.kt | 2 +- .../main/res/layout/fragment_notes_page.xml | 3 +- .../fragment_notes_page_bottom_sheet.xml | 3 +- 12 files changed, 218 insertions(+), 65 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 5375a6a..31e0829 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -39,6 +39,7 @@ + @@ -47,11 +48,15 @@ + + + - + + diff --git a/app/build.gradle b/app/build.gradle index da57b91..adc51e2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -65,7 +65,7 @@ dependencies { androidTestImplementation("androidx.navigation:navigation-testing:2.3.5") // Jetpack Compose Integration - implementation("androidx.navigation:navigation-compose:2.4.0-alpha10") + implementation("androidx.navigation:navigation-compose:2.4.0-beta02") implementation("androidx.viewpager2:viewpager2:1.0.0") implementation("androidx.recyclerview:recyclerview:1.2.1") @@ -73,16 +73,17 @@ dependencies { implementation("androidx.cardview:cardview:1.0.0") //room database - implementation 'androidx.room:room-runtime:2.3.0' - kapt 'androidx.room:room-compiler:2.3.0' - implementation 'androidx.room:room-ktx:2.3.0' + implementation 'androidx.room:room-runtime:2.4.0-rc01' + kapt 'androidx.room:room-compiler:2.4.0-rc01' + implementation "androidx.room:room-ktx:2.4.0-rc01" implementation 'com.makeramen:roundedimageview:2.3.0' + //bottomsheet implementation 'com.google.android.material:material:1.4.0' //coroutines core - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0' diff --git a/app/src/main/java/com/example/jottnotes/Bottom_sheet.kt b/app/src/main/java/com/example/jottnotes/Bottom_sheet.kt index 01771d0..b554fdc 100644 --- a/app/src/main/java/com/example/jottnotes/Bottom_sheet.kt +++ b/app/src/main/java/com/example/jottnotes/Bottom_sheet.kt @@ -7,8 +7,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast -import androidx.fragment.app.FragmentManager -import androidx.fragment.app.FragmentTransaction import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialogFragment import kotlinx.android.synthetic.main.fragment_bottom_sheet.* @@ -37,7 +35,7 @@ class BottomSheet : BottomSheetDialogFragment(){ Notes_add.setOnClickListener { - replaceFragment(NotesPage(),true) + replaceFragment(NotesPage.newInstance(),true) Toast.makeText(context,"this is toast message",Toast.LENGTH_SHORT).show() dismiss() } @@ -45,9 +43,8 @@ class BottomSheet : BottomSheetDialogFragment(){ } - fun replaceFragment(fragment: Fragment, istransition : Boolean) + private fun replaceFragment(fragment: Fragment, istransition : Boolean) { - val editNotes = fragment val manager = requireActivity().supportFragmentManager val transaction = manager.beginTransaction() @@ -57,7 +54,7 @@ class BottomSheet : BottomSheetDialogFragment(){ } - transaction.replace(R.id.frame_layout, editNotes).addToBackStack(null).commit() + transaction.replace(R.id.frame_layout, fragment).addToBackStack(null).commit() diff --git a/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt b/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt index 9b4fb48..a806ed4 100644 --- a/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt +++ b/app/src/main/java/com/example/jottnotes/NotesPageBottomSheet.kt @@ -82,6 +82,17 @@ class NotesPageBottomSheet : BottomSheetDialogFragment() { } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + if (noteId != -1){ + layoutDeleteNote.visibility = View.VISIBLE + }else{ + layoutDeleteNote.visibility = View.GONE + } + setListener() + } + + private fun setListener(){ fNote1.setOnClickListener { @@ -200,14 +211,24 @@ class NotesPageBottomSheet : BottomSheetDialogFragment() { } companion object { - - - @JvmStatic - fun newInstance(param1: String, param2: String) = - NotesPageBottomSheet().apply { - arguments = Bundle().apply { - - } - } + var noteId = -1 + fun newInstance(id:Int): NotesPageBottomSheet{ + val args = Bundle() + val fragment = NotesPageBottomSheet() + fragment.arguments = args + noteId = id + return fragment + } } +// companion object { +// +// +// @JvmStatic +// fun newInstance(param1: String, param2: String) = +// NotesPageBottomSheet().apply { +// arguments = Bundle().apply { +// +// } +// } +// } } \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt b/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt index 79d8de1..9d596b9 100644 --- a/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt +++ b/app/src/main/java/com/example/jottnotes/NotesToRvAdapter.kt @@ -1,11 +1,11 @@ package com.example.jottnotes +import android.graphics.Color import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.AdapterView import androidx.recyclerview.widget.RecyclerView -import com.codingwithme.notesapp.entities.Notes +import com.example.jottnotes.entities.Notes import kotlinx.android.synthetic.main.rvcard.view.* class NotesToRvAdapter(): @@ -32,6 +32,12 @@ import kotlinx.android.synthetic.main.rvcard.view.* holder.itemView.title_thumb.text = arrList[position].title holder.itemView.note_desc_thumb.text = arrList[position].noteText + if (arrList[position].color != null){ + holder.itemView.rv_card.setCardBackgroundColor(Color.parseColor(arrList[position].color)) + }else{ + holder.itemView.rv_card.setCardBackgroundColor(Color.parseColor(R.color.scroll_viewGrey.toString())) + } + holder.itemView.rv_card.setOnClickListener{ listener!!.onClicked(arrList[position].id!!) } diff --git a/app/src/main/java/com/example/jottnotes/Notes_page.kt b/app/src/main/java/com/example/jottnotes/Notes_page.kt index 712a330..47f9aa0 100644 --- a/app/src/main/java/com/example/jottnotes/Notes_page.kt +++ b/app/src/main/java/com/example/jottnotes/Notes_page.kt @@ -2,18 +2,23 @@ package com.example.jottnotes import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent import android.content.IntentFilter +import android.graphics.Color import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.EditText import android.widget.Toast import androidx.localbroadcastmanager.content.LocalBroadcastManager -import com.codingwithme.notesapp.database.NotesDatabase -import com.codingwithme.notesapp.entities.Notes +import com.example.jottnotes.database.NotesDatabase +import com.example.jottnotes.entities.Notes import kotlinx.android.synthetic.main.fragment_notes_page.* +import kotlinx.android.synthetic.main.fragment_notes_page_bottom_sheet.* import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.* @@ -23,12 +28,13 @@ class NotesPage : BaseFragment() { var currentDate: String? = null private var noteId = -1 + private var colorView = view?.findViewById(R.id.notes_title) + + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - arguments?.let { - - } noteId = requireArguments().getInt("noteId",-1) + } override fun onCreateView( @@ -54,50 +60,158 @@ class NotesPage : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - if (noteId != 1){ - launch { - context?.let { - var notes = NotesDatabase.getDatabase(it).noteDao().getSpecificNote(noteId) - notes_title.setText(notes.title) - notes_desc.setText(notes.noteText) - } - } - } + +// if (noteId != 1){ +// launch { +// context?.let { +// var notes = NotesDatabase.getDatabase(it).noteDao().getSpecificNote(noteId) +// notes_title.setText(notes.title) +// notes_desc.setText(notes.noteText) +// colorView?.setBackgroundColor(Color.parseColor(notes.color)) +// } +// } +// } + + LocalBroadcastManager.getInstance(requireContext()).registerReceiver( + BroadcastReceiver,IntentFilter("bottom_sheet_action") + ) - var sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss") + + val sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss") currentDate = sdf.format(Date()) + colorView?.setBackgroundColor(Color.parseColor(selectedColor)) + date.text = currentDate note_back_button.setOnClickListener { saveNote() - replaceFragment(Mainpage(), true) + requireActivity().supportFragmentManager.popBackStack() + + + } + + imgDone.setOnClickListener { + if (noteId != -1){ + //updateNote() + }else{ + saveNote() + } + } + + imgMore.setOnClickListener{ + var noteBottomSheetFragment = NotesPageBottomSheet.newInstance(noteId) + noteBottomSheetFragment.show(requireActivity().supportFragmentManager,"Note Bottom Sheet Fragment") } + + } private fun saveNote() { if (notes_title.text.isNullOrEmpty()) { Toast.makeText(context, "Title Required", Toast.LENGTH_SHORT).show() } + else { - launch { - val notes = Notes() - notes.title = notes_title.text.toString() - notes.noteText = notes_desc.text.toString() - notes.dateTime = currentDate + launch { + val notes = Notes() + notes.title = notes_title.text.toString() + notes.noteText = notes_desc.text.toString() + notes.dateTime = currentDate + notes.color = selectedColor + //notes.imgPath = selectedImagePath + //notes.webLink = webLink - context?.let { - NotesDatabase.getDatabase(it).noteDao().insertNotes(notes) - notes_desc.setText("") - notes_title.setText("") - requireActivity().supportFragmentManager.popBackStack() + context?.let { + NotesDatabase.getDatabase(it).noteDao().insertNotes(notes) + notes_desc.setText("") + notes_title.setText("") + layoutImage.visibility = View.GONE + //imgNote.visibility = View.GONE + //tvWebLink.visibility = View.GONE + requireActivity().supportFragmentManager.popBackStack() + + } } + } + } + + private val BroadcastReceiver : BroadcastReceiver = object :BroadcastReceiver(){ + override fun onReceive(p0: Context?, p1: Intent?) { + + var actionColor = p1!!.getStringExtra("action") + + when(actionColor!!){ + + "Blue" -> { + selectedColor = p1.getStringExtra("selectedColor")!! + colorView?.setBackgroundColor(Color.parseColor(selectedColor)) + } + + "Yellow" -> { + selectedColor = p1.getStringExtra("selectedColor")!! + colorView?.setBackgroundColor(Color.parseColor(selectedColor)) + + } + + + "Purple" -> { + selectedColor = p1.getStringExtra("selectedColor")!! + colorView?.setBackgroundColor(Color.parseColor(selectedColor)) + + } + + + "Green" -> { + selectedColor = p1.getStringExtra("selectedColor")!! + colorView?.setBackgroundColor(Color.parseColor(selectedColor)) + + } + + + "Orange" -> { + selectedColor = p1.getStringExtra("selectedColor")!! + colorView?.setBackgroundColor(Color.parseColor(selectedColor)) + + } + + + "Black" -> { + selectedColor = p1.getStringExtra("selectedColor")!! + colorView?.setBackgroundColor(Color.parseColor(selectedColor)) + + } + +// "Image" ->{ +// readStorageTask() +// layoutWebUrl.visibility = View.GONE +// } + +// "WebUrl" ->{ +// layoutWebUrl.visibility = View.VISIBLE +// } +// "DeleteNote" -> { +// //delete note +// deleteNote() +// } + + + else -> { + layoutImage.visibility = View.GONE +// imgNote.visibility = View.GONE +// layoutWebUrl.visibility = View.GONE + selectedColor = p1.getStringExtra("selectedColor")!! + colorView?.setBackgroundColor(Color.parseColor(selectedColor)) + + } + } } + } @@ -114,5 +228,13 @@ class NotesPage : BaseFragment() { transaction.replace(R.id.notes_page, fragment).commit() } + override fun onDestroy() { + + LocalBroadcastManager.getInstance(requireContext()).unregisterReceiver(BroadcastReceiver) + super.onDestroy() + } + + +} + -} \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/RvFragment.kt b/app/src/main/java/com/example/jottnotes/RvFragment.kt index 959f451..01d435f 100644 --- a/app/src/main/java/com/example/jottnotes/RvFragment.kt +++ b/app/src/main/java/com/example/jottnotes/RvFragment.kt @@ -7,10 +7,9 @@ import android.view.View import android.view.ViewGroup import kotlinx.coroutines.launch import androidx.recyclerview.widget.StaggeredGridLayoutManager -import com.codingwithme.notesapp.database.NotesDatabase -import com.codingwithme.notesapp.entities.Notes +import com.example.jottnotes.database.NotesDatabase +import com.example.jottnotes.entities.Notes import kotlinx.android.synthetic.main.fragment_rv.* -import kotlinx.coroutines.coroutineScope class RvFragment : BaseFragment() { diff --git a/app/src/main/java/com/example/jottnotes/dao/NoteDao.kt b/app/src/main/java/com/example/jottnotes/dao/NoteDao.kt index 53d39b7..86a5ef2 100644 --- a/app/src/main/java/com/example/jottnotes/dao/NoteDao.kt +++ b/app/src/main/java/com/example/jottnotes/dao/NoteDao.kt @@ -1,7 +1,7 @@ -package com.codingwithme.notesapp.dao +package com.example.jottnotes.dao import androidx.room.* -import com.codingwithme.notesapp.entities.Notes +import com.example.jottnotes.entities.Notes @Dao interface NoteDao { @@ -13,14 +13,14 @@ interface NoteDao { suspend fun getSpecificNote(id:Int) : Notes @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun insertNotes(note:Notes) + suspend fun insertNotes(note: Notes) @Delete - suspend fun deleteNote(note:Notes) + suspend fun deleteNote(note: Notes) @Query("DELETE FROM notes WHERE id =:id") suspend fun deleteSpecificNote(id:Int) @Update - suspend fun updateNote(note:Notes) + suspend fun updateNote(note: Notes) } \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/database/NotesDatabase.kt b/app/src/main/java/com/example/jottnotes/database/NotesDatabase.kt index 10cc586..fca4888 100644 --- a/app/src/main/java/com/example/jottnotes/database/NotesDatabase.kt +++ b/app/src/main/java/com/example/jottnotes/database/NotesDatabase.kt @@ -1,11 +1,11 @@ -package com.codingwithme.notesapp.database +package com.example.jottnotes.database import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase -import com.codingwithme.notesapp.dao.NoteDao -import com.codingwithme.notesapp.entities.Notes +import com.example.jottnotes.dao.NoteDao +import com.example.jottnotes.entities.Notes @Database(entities = [Notes::class], version = 1, exportSchema = false) abstract class NotesDatabase : RoomDatabase() { @@ -26,5 +26,5 @@ abstract class NotesDatabase : RoomDatabase() { } } - abstract fun noteDao():NoteDao + abstract fun noteDao(): NoteDao } \ No newline at end of file diff --git a/app/src/main/java/com/example/jottnotes/entities/Notes.kt b/app/src/main/java/com/example/jottnotes/entities/Notes.kt index 176ffdc..1a3c1d7 100644 --- a/app/src/main/java/com/example/jottnotes/entities/Notes.kt +++ b/app/src/main/java/com/example/jottnotes/entities/Notes.kt @@ -1,5 +1,5 @@ -package com.codingwithme.notesapp.entities +package com.example.jottnotes.entities import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/res/layout/fragment_notes_page.xml b/app/src/main/res/layout/fragment_notes_page.xml index 6e637bb..746b237 100644 --- a/app/src/main/res/layout/fragment_notes_page.xml +++ b/app/src/main/res/layout/fragment_notes_page.xml @@ -68,12 +68,12 @@ + +