Skip to content
Snippets Groups Projects
Commit 8de88d92 authored by Nicolas Pomepuy's avatar Nicolas Pomepuy
Browse files

Change SparseBooleanArrayParcelable implementation to Parcelize

parent 7d711150
No related branches found
No related tags found
1 merge request!195Crash fixes
......@@ -97,7 +97,7 @@ abstract class MediaBrowserFragment<T : SortableModel> : Fragment(), ActionMode.
mediaLibrary = AbstractMedialibrary.getInstance()
setHasOptionsMenu(!AndroidDevices.isAndroidTv)
if (savedInstanceState?.keySet()?.contains(KEY_SELECTION) == true) {
savedSelection = savedInstanceState.getParcelable(KEY_SELECTION) as SparseBooleanArrayParcelable
savedSelection = (savedInstanceState.getParcelable(KEY_SELECTION) as SparseBooleanArrayParcelable).data
}
}
......
package org.videolan.vlc.gui.helpers
import android.os.Parcel
import android.os.Parcelable
import android.util.SparseBooleanArray
import kotlinx.android.parcel.Parcelize
class SparseBooleanArrayParcelable : SparseBooleanArray, Parcelable {
constructor()
constructor(sparseBooleanArray: SparseBooleanArray) {
for (i in 0 until sparseBooleanArray.size()) {
this.put(sparseBooleanArray.keyAt(i), sparseBooleanArray.valueAt(i))
}
}
override fun describeContents(): Int {
return 0
}
override fun writeToParcel(dest: Parcel, flags: Int) {
val keys = IntArray(size())
val values = BooleanArray(size())
for (i in 0 until size()) {
keys[i] = keyAt(i)
values[i] = valueAt(i)
}
dest.writeInt(size())
dest.writeIntArray(keys)
dest.writeBooleanArray(values)
}
companion object {
@JvmField
var CREATOR: Parcelable.Creator<SparseBooleanArrayParcelable> = object : Parcelable.Creator<SparseBooleanArrayParcelable> {
override fun createFromParcel(source: Parcel): SparseBooleanArrayParcelable {
val read = SparseBooleanArrayParcelable()
val size = source.readInt()
val keys = IntArray(size)
val values = BooleanArray(size)
source.readIntArray(keys)
source.readBooleanArray(values)
for (i in 0 until size) {
read.put(keys[i], values[i])
}
return read
}
override fun newArray(size: Int): Array<SparseBooleanArrayParcelable?> {
return arrayOfNulls(size)
}
}
}
}
\ No newline at end of file
@Parcelize
class SparseBooleanArrayParcelable(val data: SparseBooleanArray) : Parcelable
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment