Package-level declarations

Types

Link copied to clipboard
data class AntiFeatureV2(val icon: LocalizedFileV2 = emptyMap(), val name: LocalizedTextV2, val description: LocalizedTextV2 = emptyMap())
Link copied to clipboard
data class CategoryV2(val icon: LocalizedFileV2 = emptyMap(), val name: LocalizedTextV2, val description: LocalizedTextV2 = emptyMap())
Link copied to clipboard
data class Entry(val timestamp: Long, val version: Long, val maxAge: Int? = null, val index: EntryFileV2, val diffs: Map<String, EntryFileV2> = emptyMap())
Link copied to clipboard
data class EntryFileV2(val name: String, val sha256: String, val size: Long, val ipfsCidV1: String? = null, val numPackages: Int)
Link copied to clipboard
class EntryVerifier(jarFile: File, expectedSigningCertificate: String?, expectedSigningFingerprint: String?) : JarIndexVerifier

Verifies the entry.jar file of Index V2.

Link copied to clipboard
data class FeatureV2(val name: String)
Link copied to clipboard
data class FileV1(val name: String, val sha256: String, val size: Long? = null, val ipfsCidV1: String? = null)

Like FileV2 with the only difference that the sha256 hash can not be null. Even in index-v1 this must exist, so we can use it as a primary key in the DB.

Link copied to clipboard
data class FileV2(val name: String, val sha256: String? = null, val size: Long? = null, val ipfsCidV1: String? = null)
Link copied to clipboard
data class IndexV2(val repo: RepoV2, val packages: Map<String, PackageV2> = emptyMap())
Link copied to clipboard
class IndexV2DiffStreamProcessor(indexStreamReceiver: IndexV2DiffStreamReceiver, json: Json = IndexParser.json) : IndexV2StreamProcessor
Link copied to clipboard
Link copied to clipboard
class IndexV2FullStreamProcessor(indexStreamReceiver: IndexV2StreamReceiver, certificate: String, json: Json = IndexParser.json) : IndexV2StreamProcessor
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class ManifestV2(val versionName: String, val versionCode: Long, val usesSdk: UsesSdkV2? = null, val maxSdkVersion: Int? = null, val signer: SignerV2? = null, val usesPermission: List<PermissionV2> = emptyList(), val usesPermissionSdk23: List<PermissionV2> = emptyList(), val nativecode: List<String> = emptyList(), val features: List<FeatureV2> = emptyList()) : PackageManifest
Link copied to clipboard
data class MetadataV2(val name: LocalizedTextV2? = null, val summary: LocalizedTextV2? = null, val description: LocalizedTextV2? = null, val added: Long, val lastUpdated: Long, val webSite: String? = null, val changelog: String? = null, val license: String? = null, val sourceCode: String? = null, val issueTracker: String? = null, val translation: String? = null, val preferredSigner: String? = null, val categories: List<String> = emptyList(), val authorName: String? = null, val authorEmail: String? = null, val authorWebSite: String? = null, val authorPhone: String? = null, val donate: List<String> = emptyList(), val liberapayID: String? = null, val liberapay: String? = null, val openCollective: String? = null, val bitcoin: String? = null, val litecoin: String? = null, val flattrID: String? = null, val icon: LocalizedFileV2? = null, val featureGraphic: LocalizedFileV2? = null, val promoGraphic: LocalizedFileV2? = null, val tvBanner: LocalizedFileV2? = null, val video: LocalizedTextV2? = null, val screenshots: Screenshots? = null)
Link copied to clipboard
data class MirrorV2(val url: String, val location: String? = null)
Link copied to clipboard
interface PackageManifest
Link copied to clipboard
data class PackageV2(val metadata: MetadataV2, val versions: Map<String, PackageVersionV2> = emptyMap())
Link copied to clipboard
interface PackageVersion
Link copied to clipboard
data class PackageVersionV2(val added: Long, val file: FileV1, val src: FileV2? = null, val manifest: ManifestV2, val releaseChannels: List<String> = emptyList(), val antiFeatures: Map<String, LocalizedTextV2> = emptyMap(), val whatsNew: LocalizedTextV2 = emptyMap()) : PackageVersion
Link copied to clipboard
data class PermissionV2(val name: String, val maxSdkVersion: Int? = null)
Link copied to clipboard

A class using Kotlin reflection to implement JSON Merge Patch (RFC 7386) against data classes. This approach loses type-safety, so you need to ensure that the structure of the JsonObject matches exactly the structure of the data class you want to apply the diff on. If something unexpected happens, SerializationException gets thrown.

Link copied to clipboard
data class ReleaseChannelV2(val name: LocalizedTextV2, val description: LocalizedTextV2 = emptyMap())
Link copied to clipboard
data class RepoV2(val name: LocalizedTextV2 = emptyMap(), val icon: LocalizedFileV2 = emptyMap(), val address: String, val webBaseUrl: String? = null, val description: LocalizedTextV2 = emptyMap(), val mirrors: List<MirrorV2> = emptyList(), val timestamp: Long, val antiFeatures: Map<String, AntiFeatureV2> = emptyMap(), val categories: Map<String, CategoryV2> = emptyMap(), val releaseChannels: Map<String, ReleaseChannelV2> = emptyMap())
Link copied to clipboard
data class Screenshots(val phone: LocalizedFileListV2? = null, val sevenInch: LocalizedFileListV2? = null, val tenInch: LocalizedFileListV2? = null, val wear: LocalizedFileListV2? = null, val tv: LocalizedFileListV2? = null)
Link copied to clipboard
data class SignerV2(val sha256: List<String>, val hasMultipleSigners: Boolean = false)
Link copied to clipboard
data class UsesSdkV2(val minSdkVersion: Int, val targetSdkVersion: Int)

Properties

Link copied to clipboard