diff --git a/app/src/main/java/com/lukas/music/instruments/Instrument.kt b/app/src/main/java/com/lukas/music/instruments/Instrument.kt index b1f68ad..b8ef1bc 100644 --- a/app/src/main/java/com/lukas/music/instruments/Instrument.kt +++ b/app/src/main/java/com/lukas/music/instruments/Instrument.kt @@ -25,10 +25,6 @@ abstract fun stopNote(note: Note) companion object { - val instruments = - mutableListOf( - MonoInstrument("Bass"), - PolyInstrument("Chords"), - ) + val instruments = mutableListOf() } } \ No newline at end of file diff --git a/app/src/main/java/com/lukas/music/instruments/Instrument.kt b/app/src/main/java/com/lukas/music/instruments/Instrument.kt index b1f68ad..b8ef1bc 100644 --- a/app/src/main/java/com/lukas/music/instruments/Instrument.kt +++ b/app/src/main/java/com/lukas/music/instruments/Instrument.kt @@ -25,10 +25,6 @@ abstract fun stopNote(note: Note) companion object { - val instruments = - mutableListOf( - MonoInstrument("Bass"), - PolyInstrument("Chords"), - ) + val instruments = mutableListOf() } } \ No newline at end of file diff --git a/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt b/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt index 30ae23b..1b37037 100644 --- a/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt +++ b/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt @@ -10,13 +10,18 @@ package com.lukas.music.ui.fragments +import android.app.AlertDialog import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.lukas.music.databinding.FragmentInstrumentListBinding +import com.lukas.music.instruments.Instrument +import com.lukas.music.instruments.MonoInstrument +import com.lukas.music.instruments.PolyInstrument import com.lukas.music.ui.adapters.InstrumentAdapter class InstrumentListFragment : Fragment() { @@ -29,6 +34,23 @@ binding = FragmentInstrumentListBinding.inflate(inflater) binding.recyclerView.adapter = InstrumentAdapter(this) binding.recyclerView.layoutManager = LinearLayoutManager(context) + binding.addInstrumentButton.setOnClickListener { + val builder = AlertDialog.Builder(binding.root.context) + builder.setTitle("Instrument type:") + .setItems( + arrayOf("mono", "poly") + ) { _, index -> + when (index) { + 0 -> Instrument.instruments += MonoInstrument("New mono Instrument") + 1 -> Instrument.instruments += PolyInstrument("New poly Instrument") + } + (binding.recyclerView.adapter as RecyclerView.Adapter).notifyItemInserted( + Instrument.instruments.size - 1 + ) + } + builder.create() + builder.show() + } return binding.root } } \ No newline at end of file diff --git a/app/src/main/java/com/lukas/music/instruments/Instrument.kt b/app/src/main/java/com/lukas/music/instruments/Instrument.kt index b1f68ad..b8ef1bc 100644 --- a/app/src/main/java/com/lukas/music/instruments/Instrument.kt +++ b/app/src/main/java/com/lukas/music/instruments/Instrument.kt @@ -25,10 +25,6 @@ abstract fun stopNote(note: Note) companion object { - val instruments = - mutableListOf( - MonoInstrument("Bass"), - PolyInstrument("Chords"), - ) + val instruments = mutableListOf() } } \ No newline at end of file diff --git a/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt b/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt index 30ae23b..1b37037 100644 --- a/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt +++ b/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt @@ -10,13 +10,18 @@ package com.lukas.music.ui.fragments +import android.app.AlertDialog import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.lukas.music.databinding.FragmentInstrumentListBinding +import com.lukas.music.instruments.Instrument +import com.lukas.music.instruments.MonoInstrument +import com.lukas.music.instruments.PolyInstrument import com.lukas.music.ui.adapters.InstrumentAdapter class InstrumentListFragment : Fragment() { @@ -29,6 +34,23 @@ binding = FragmentInstrumentListBinding.inflate(inflater) binding.recyclerView.adapter = InstrumentAdapter(this) binding.recyclerView.layoutManager = LinearLayoutManager(context) + binding.addInstrumentButton.setOnClickListener { + val builder = AlertDialog.Builder(binding.root.context) + builder.setTitle("Instrument type:") + .setItems( + arrayOf("mono", "poly") + ) { _, index -> + when (index) { + 0 -> Instrument.instruments += MonoInstrument("New mono Instrument") + 1 -> Instrument.instruments += PolyInstrument("New poly Instrument") + } + (binding.recyclerView.adapter as RecyclerView.Adapter).notifyItemInserted( + Instrument.instruments.size - 1 + ) + } + builder.create() + builder.show() + } return binding.root } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_instrument_list.xml b/app/src/main/res/layout/fragment_instrument_list.xml index 2b1bda3..ddc5b6a 100644 --- a/app/src/main/res/layout/fragment_instrument_list.xml +++ b/app/src/main/res/layout/fragment_instrument_list.xml @@ -33,13 +33,13 @@ app:layout_constraintVertical_bias="0.0" /> diff --git a/app/src/main/java/com/lukas/music/instruments/Instrument.kt b/app/src/main/java/com/lukas/music/instruments/Instrument.kt index b1f68ad..b8ef1bc 100644 --- a/app/src/main/java/com/lukas/music/instruments/Instrument.kt +++ b/app/src/main/java/com/lukas/music/instruments/Instrument.kt @@ -25,10 +25,6 @@ abstract fun stopNote(note: Note) companion object { - val instruments = - mutableListOf( - MonoInstrument("Bass"), - PolyInstrument("Chords"), - ) + val instruments = mutableListOf() } } \ No newline at end of file diff --git a/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt b/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt index 30ae23b..1b37037 100644 --- a/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt +++ b/app/src/main/java/com/lukas/music/ui/fragments/InstrumentListFragment.kt @@ -10,13 +10,18 @@ package com.lukas.music.ui.fragments +import android.app.AlertDialog import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.lukas.music.databinding.FragmentInstrumentListBinding +import com.lukas.music.instruments.Instrument +import com.lukas.music.instruments.MonoInstrument +import com.lukas.music.instruments.PolyInstrument import com.lukas.music.ui.adapters.InstrumentAdapter class InstrumentListFragment : Fragment() { @@ -29,6 +34,23 @@ binding = FragmentInstrumentListBinding.inflate(inflater) binding.recyclerView.adapter = InstrumentAdapter(this) binding.recyclerView.layoutManager = LinearLayoutManager(context) + binding.addInstrumentButton.setOnClickListener { + val builder = AlertDialog.Builder(binding.root.context) + builder.setTitle("Instrument type:") + .setItems( + arrayOf("mono", "poly") + ) { _, index -> + when (index) { + 0 -> Instrument.instruments += MonoInstrument("New mono Instrument") + 1 -> Instrument.instruments += PolyInstrument("New poly Instrument") + } + (binding.recyclerView.adapter as RecyclerView.Adapter).notifyItemInserted( + Instrument.instruments.size - 1 + ) + } + builder.create() + builder.show() + } return binding.root } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_instrument_list.xml b/app/src/main/res/layout/fragment_instrument_list.xml index 2b1bda3..ddc5b6a 100644 --- a/app/src/main/res/layout/fragment_instrument_list.xml +++ b/app/src/main/res/layout/fragment_instrument_list.xml @@ -33,13 +33,13 @@ app:layout_constraintVertical_bias="0.0" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 39ade0d..8073634 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -39,4 +39,5 @@ close this menu Waveform: Voice: + Add a new instrument \ No newline at end of file