From 8f671bd2d07f04f331fe53c14159f0ff7cbfbe49 Mon Sep 17 00:00:00 2001 From: Alex Bakon Date: Wed, 18 Jun 2025 14:22:14 -0400 Subject: [PATCH] Make BackupLevel.value public --- .../zkgroup/backups/BackupLevel.java | 32 ------------------- .../libsignal/zkgroup/backups/BackupLevel.kt | 28 ++++++++++++++++ 2 files changed, 28 insertions(+), 32 deletions(-) delete mode 100644 java/shared/java/org/signal/libsignal/zkgroup/backups/BackupLevel.java create mode 100644 java/shared/java/org/signal/libsignal/zkgroup/backups/BackupLevel.kt diff --git a/java/shared/java/org/signal/libsignal/zkgroup/backups/BackupLevel.java b/java/shared/java/org/signal/libsignal/zkgroup/backups/BackupLevel.java deleted file mode 100644 index 3e3b3bfcf..000000000 --- a/java/shared/java/org/signal/libsignal/zkgroup/backups/BackupLevel.java +++ /dev/null @@ -1,32 +0,0 @@ -// -// Copyright 2024 Signal Messenger, LLC. -// SPDX-License-Identifier: AGPL-3.0-only -// - -package org.signal.libsignal.zkgroup.backups; - -public enum BackupLevel { - // This must match the Rust version of the enum. - FREE(200), - PAID(201); - - private final int value; - - BackupLevel(int value) { - this.value = value; - } - - int getValue() { - return this.value; - } - - public static BackupLevel fromValue(int value) { - // A linear scan is simpler than a hash lookup for a set of values this small. - for (final var backupLevel : BackupLevel.values()) { - if (backupLevel.getValue() == value) { - return backupLevel; - } - } - throw new IllegalArgumentException("Invalid backup level: " + value); - } -} diff --git a/java/shared/java/org/signal/libsignal/zkgroup/backups/BackupLevel.kt b/java/shared/java/org/signal/libsignal/zkgroup/backups/BackupLevel.kt new file mode 100644 index 000000000..40f878796 --- /dev/null +++ b/java/shared/java/org/signal/libsignal/zkgroup/backups/BackupLevel.kt @@ -0,0 +1,28 @@ +// +// Copyright 2024 Signal Messenger, LLC. +// SPDX-License-Identifier: AGPL-3.0-only +// + +package org.signal.libsignal.zkgroup.backups + +public enum class BackupLevel { + // This must match the Rust version of the enum. + FREE(200), + PAID(201), + ; + + public val value: Int + + private constructor(value: Int) { + this.value = value + } + + public companion object { + @JvmStatic + public fun fromValue(value: Int): BackupLevel { + // A linear scan is simpler than a hash lookup for a set of values this small. + val found = BackupLevel.values().firstOrNull { it.value == value } + return requireNotNull(found) { "Invalid backup level: $value" } + } + } +}