format-common: make PasswordEntry#extraContentString public API

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2021-05-23 18:21:02 +05:30
parent e04371d64a
commit b2b1e92b45
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
2 changed files with 7 additions and 2 deletions

View file

@ -2,6 +2,7 @@ public final class dev/msfjarvis/aps/data/passfile/PasswordEntry {
public static final field Companion Ldev/msfjarvis/aps/data/passfile/PasswordEntry$Companion;
public fun <init> (Ldev/msfjarvis/aps/util/time/UserClock;Ldev/msfjarvis/aps/util/totp/TotpFinder;Lkotlinx/coroutines/CoroutineScope;[B)V
public final fun getExtraContent ()Ljava/util/Map;
public final fun getExtraContentString ()Ljava/lang/String;
public final fun getExtraContentWithoutAuthData ()Ljava/lang/String;
public final fun getPassword ()Ljava/lang/String;
public final fun getTotp ()Lkotlinx/coroutines/flow/StateFlow;

View file

@ -5,7 +5,6 @@
package dev.msfjarvis.aps.data.passfile
import androidx.annotation.VisibleForTesting
import com.github.michaelbull.result.mapBoth
import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
@ -51,6 +50,12 @@ constructor(
/** A [String] to [String] [Map] of the extra content of this entry, in a key:value fashion. */
public val extraContent: Map<String, String>
/**
* Direct [String] representation of the extra content of this entry, before any transforms are
* applied. Only use this when the extra content is required in a formatting-preserving manner.
*/
public val extraContentString: String
/**
* A [StateFlow] providing the current TOTP. It will emit a single empty string on initialization
* which is replaced with a real TOTP if applicable. Call [hasTotp] to verify whether or not you
@ -67,7 +72,6 @@ constructor(
private val totpSecret: String?
private val totpPeriod: Long
private val totpAlgorithm: String
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) internal val extraContentString: String
init {
val (foundPassword, passContent) = findAndStripPassword(content.split("\n".toRegex()))