Initial commit: LCK Control Android app

Multi-module Android app (app/shared/sdk) with backend-driven auth,
Quest Platform SDK login, YouTube/Twitch OAuth linking, stream
management via AIDL service. Compose UI with Hilt DI.
This commit is contained in:
2026-02-24 12:03:43 +01:00
commit 82aa207f9a
101 changed files with 4723 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
package com.omixlab.lckcontrol.shared
import android.os.Parcel
import android.os.Parcelable
data class LinkedAccount(
val serviceId: String,
val displayName: String,
val accountId: String,
val avatarUrl: String? = null,
val isAuthenticated: Boolean = false,
) : Parcelable {
constructor(parcel: Parcel) : this(
serviceId = parcel.readString()!!,
displayName = parcel.readString()!!,
accountId = parcel.readString()!!,
avatarUrl = parcel.readString(),
isAuthenticated = parcel.readInt() != 0,
)
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(serviceId)
parcel.writeString(displayName)
parcel.writeString(accountId)
parcel.writeString(avatarUrl)
parcel.writeInt(if (isAuthenticated) 1 else 0)
}
override fun describeContents(): Int = 0
companion object CREATOR : Parcelable.Creator<LinkedAccount> {
override fun createFromParcel(parcel: Parcel) = LinkedAccount(parcel)
override fun newArray(size: Int) = arrayOfNulls<LinkedAccount>(size)
}
}