From 506c99ed414707474bc24238e1c78c708912bc5c Mon Sep 17 00:00:00 2001 From: Paul Woitaschek Date: Sat, 3 Jul 2021 22:08:18 +0200 Subject: [PATCH] Convert the StringSparseArrayParceler to kotlin. --- .../internal/StringSparseArrayParceler.kt | 83 +++++++------------ 1 file changed, 30 insertions(+), 53 deletions(-) diff --git a/conductor/src/main/java/com/bluelinelabs/conductor/internal/StringSparseArrayParceler.kt b/conductor/src/main/java/com/bluelinelabs/conductor/internal/StringSparseArrayParceler.kt index 5cb34de..d21bf7f 100644 --- a/conductor/src/main/java/com/bluelinelabs/conductor/internal/StringSparseArrayParceler.kt +++ b/conductor/src/main/java/com/bluelinelabs/conductor/internal/StringSparseArrayParceler.kt @@ -1,62 +1,39 @@ -package com.bluelinelabs.conductor.internal; +package com.bluelinelabs.conductor.internal -import android.os.Parcel; -import android.os.Parcelable; -import androidx.annotation.NonNull; -import android.util.SparseArray; +import android.os.Parcel +import android.os.Parcelable +import android.util.SparseArray -public class StringSparseArrayParceler implements Parcelable { +class StringSparseArrayParceler(val stringSparseArray: SparseArray) : Parcelable { - private final SparseArray stringSparseArray; + override fun describeContents(): Int = 0 - public StringSparseArrayParceler(@NonNull SparseArray stringSparseArray) { - this.stringSparseArray = stringSparseArray; + override fun writeToParcel(out: Parcel, flags: Int) { + val size = stringSparseArray.size() + out.writeInt(size) + for (i in 0 until size) { + val key = stringSparseArray.keyAt(i) + out.writeInt(key) + out.writeString(stringSparseArray[key]) } + } - StringSparseArrayParceler(@NonNull Parcel in) { - stringSparseArray = new SparseArray<>(); + companion object { - final int size = in.readInt(); - - for (int i = 0; i < size; i++) { - stringSparseArray.put(in.readInt(), in.readString()); - } - } - - @NonNull - public SparseArray getStringSparseArray() { - return stringSparseArray; - } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel out, int flags) { - final int size = stringSparseArray.size(); - - out.writeInt(size); - - for (int i = 0; i < size; i++) { - int key = stringSparseArray.keyAt(i); - - out.writeInt(key); - out.writeString(stringSparseArray.get(key)); - } - } - - public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { - @Override - public StringSparseArrayParceler createFromParcel(Parcel in) { - return new StringSparseArrayParceler(in); + @Suppress("unused") + @JvmField + val CREATOR: Parcelable.Creator = + object : Parcelable.Creator { + override fun createFromParcel(parcel: Parcel): StringSparseArrayParceler { + val stringSparseArray = SparseArray() + val size = parcel.readInt() + for (i in 0 until size) { + stringSparseArray.put(parcel.readInt(), parcel.readString()) + } + return StringSparseArrayParceler(stringSparseArray) } - @Override - public StringSparseArrayParceler[] newArray(int size) { - return new StringSparseArrayParceler[size]; - } - }; - -} + override fun newArray(size: Int): Array = arrayOfNulls(size) + } + } +} \ No newline at end of file