diff --git a/app/src/main/java/com/deniscerri/ytdlnis/adapter/PlaylistAdapter.kt b/app/src/main/java/com/deniscerri/ytdlnis/adapter/PlaylistAdapter.kt index 58b4d754..bb7eb808 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/PlaylistAdapter.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/PlaylistAdapter.kt @@ -76,12 +76,12 @@ class PlaylistAdapter(onItemClickListener: OnItemClickListener, activity: Activi // CHECKBOX ---------------------------------- val check = card.findViewById(R.id.checkBox) check.isChecked = checkedItems.contains(item.url) - check.setOnCheckedChangeListener { buttonView, isChecked -> - checkCard(isChecked, item.url) + check.setOnClickListener { + checkCard(check.isChecked, item.url) } card.setOnClickListener { - check.isChecked = !check.isChecked + check.performClick() } } @@ -119,6 +119,22 @@ class PlaylistAdapter(onItemClickListener: OnItemClickListener, activity: Activi } } + fun checkRange(start: Int, end: Int){ + checkedItems.clear() + if (start == end ){ + val item = getItem(start) + checkedItems.add(item!!.url) + notifyItemChanged(start) + }else{ + for (i in start..end){ + val item = getItem(i) + checkedItems.add(item!!.url) + notifyItemChanged(i) + } + } + + } + fun getCheckedItems() : List{ return checkedItems } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/SelectPlaylistItemsBottomSheetDialog.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/SelectPlaylistItemsBottomSheetDialog.kt index f8566c8a..a98703d5 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/SelectPlaylistItemsBottomSheetDialog.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/SelectPlaylistItemsBottomSheetDialog.kt @@ -5,10 +5,14 @@ import android.app.Dialog import android.content.DialogInterface import android.os.Bundle import android.util.DisplayMetrics +import android.util.Log +import android.view.KeyEvent import android.view.LayoutInflater import android.view.View import android.widget.Button import android.widget.TextView +import androidx.core.widget.doAfterTextChanged +import androidx.core.widget.doOnTextChanged import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager @@ -23,8 +27,10 @@ import com.deniscerri.ytdlnis.receiver.ShareActivity import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.floatingactionbutton.FloatingActionButton +import com.google.android.material.textfield.TextInputLayout import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import java.util.* class SelectPlaylistItemsBottomSheetDialog(private val items: List, private val type: DownloadViewModel.Type) : BottomSheetDialogFragment(), PlaylistAdapter.OnItemClickListener { @@ -34,7 +40,8 @@ class SelectPlaylistItemsBottomSheetDialog(private val items: List, private lateinit var recyclerView: RecyclerView private lateinit var behavior: BottomSheetBehavior private lateinit var selectedText: TextView - + private lateinit var fromTextInput: TextInputLayout + private lateinit var toTextInput: TextInputLayout override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -75,41 +82,90 @@ class SelectPlaylistItemsBottomSheetDialog(private val items: List, selectedText = view.findViewById