.class final Landroidx/datastore/preferences/protobuf/RopeByteString; .super Landroidx/datastore/preferences/protobuf/ByteString; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/datastore/preferences/protobuf/RopeByteString$RopeInputStream;, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator;, Landroidx/datastore/preferences/protobuf/RopeByteString$Balancer; } .end annotation # static fields .field static final minLengthByDepth:[I .field private static final serialVersionUID:J = 0x1L # instance fields .field private final left:Landroidx/datastore/preferences/protobuf/ByteString; .field private final leftLength:I .field private final right:Landroidx/datastore/preferences/protobuf/ByteString; .field private final totalLength:I .field private final treeDepth:I # direct methods .method static constructor ()V .locals 1 const/16 v0, 0x2f new-array v0, v0, [I fill-array-data v0, :array_0 sput-object v0, Landroidx/datastore/preferences/protobuf/RopeByteString;->minLengthByDepth:[I return-void :array_0 .array-data 4 0x1 0x1 0x2 0x3 0x5 0x8 0xd 0x15 0x22 0x37 0x59 0x90 0xe9 0x179 0x262 0x3db 0x63d 0xa18 0x1055 0x1a6d 0x2ac2 0x452f 0x6ff1 0xb520 0x12511 0x1da31 0x2ff42 0x4d973 0x7d8b5 0xcb228 0x148add 0x213d05 0x35c7e2 0x5704e7 0x8cccc9 0xe3d1b0 0x1709e79 0x2547029 0x3c50ea2 0x6197ecb 0x9de8d6d 0xff80c38 0x19d699a5 0x29cea5dd 0x43a53f82 0x6d73e55f 0x7fffffff .end array-data .end method .method private constructor (Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)V .locals 2 .line 146 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->()V iput-object p1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; iput-object p2, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; .line 149 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v0 iput v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I .line 150 invoke-virtual {p2}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v1 add-int/2addr v0, v1 iput v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I .line 151 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->getTreeDepth()I move-result p1 invoke-virtual {p2}, Landroidx/datastore/preferences/protobuf/ByteString;->getTreeDepth()I move-result p2 invoke-static {p1, p2}, Ljava/lang/Math;->max(II)I move-result p1 add-int/lit8 p1, p1, 0x1 iput p1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->treeDepth:I return-void .end method .method public synthetic constructor (Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/RopeByteString$1;)V .locals 0 .line 68 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/RopeByteString;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)V return-void .end method .method public static synthetic access$400(Landroidx/datastore/preferences/protobuf/RopeByteString;)Landroidx/datastore/preferences/protobuf/ByteString; .locals 0 .line 68 iget-object p0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; return-object p0 .end method .method public static synthetic access$500(Landroidx/datastore/preferences/protobuf/RopeByteString;)Landroidx/datastore/preferences/protobuf/ByteString; .locals 0 .line 68 iget-object p0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; return-object p0 .end method .method public static concatenate(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)Landroidx/datastore/preferences/protobuf/ByteString; .locals 5 .line 168 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v0 if-nez v0, :cond_0 return-object p0 .line 172 :cond_0 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v0 if-nez v0, :cond_1 return-object p1 .line 176 :cond_1 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v0 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v1 add-int/2addr v0, v1 const/16 v1, 0x80 if-ge v0, v1, :cond_2 .line 180 invoke-static {p0, p1}, Landroidx/datastore/preferences/protobuf/RopeByteString;->concatenateBytes(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object p0 return-object p0 .line 183 :cond_2 instance-of v2, p0, Landroidx/datastore/preferences/protobuf/RopeByteString; if-eqz v2, :cond_4 .line 184 move-object v2, p0 check-cast v2, Landroidx/datastore/preferences/protobuf/RopeByteString; .line 185 iget-object v3, v2, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; invoke-virtual {v3}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v3 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v4 add-int/2addr v3, v4 if-ge v3, v1, :cond_3 .line 196 iget-object p0, v2, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; invoke-static {p0, p1}, Landroidx/datastore/preferences/protobuf/RopeByteString;->concatenateBytes(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object p0 .line 197 new-instance p1, Landroidx/datastore/preferences/protobuf/RopeByteString; iget-object v0, v2, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; invoke-direct {p1, v0, p0}, Landroidx/datastore/preferences/protobuf/RopeByteString;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)V return-object p1 .line 200 :cond_3 iget-object v1, v2, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; invoke-virtual {v1}, Landroidx/datastore/preferences/protobuf/ByteString;->getTreeDepth()I move-result v1 iget-object v3, v2, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; invoke-virtual {v3}, Landroidx/datastore/preferences/protobuf/ByteString;->getTreeDepth()I move-result v3 if-le v1, v3, :cond_4 .line 201 invoke-virtual {v2}, Landroidx/datastore/preferences/protobuf/RopeByteString;->getTreeDepth()I move-result v1 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->getTreeDepth()I move-result v3 if-le v1, v3, :cond_4 .line 207 new-instance p0, Landroidx/datastore/preferences/protobuf/RopeByteString; iget-object v0, v2, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; invoke-direct {p0, v0, p1}, Landroidx/datastore/preferences/protobuf/RopeByteString;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)V .line 208 new-instance p1, Landroidx/datastore/preferences/protobuf/RopeByteString; iget-object v0, v2, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; invoke-direct {p1, v0, p0}, Landroidx/datastore/preferences/protobuf/RopeByteString;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)V return-object p1 .line 213 :cond_4 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->getTreeDepth()I move-result v1 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->getTreeDepth()I move-result v2 invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I move-result v1 add-int/lit8 v1, v1, 0x1 sget-object v2, Landroidx/datastore/preferences/protobuf/RopeByteString;->minLengthByDepth:[I .line 214 aget v1, v2, v1 if-lt v0, v1, :cond_5 .line 216 new-instance v0, Landroidx/datastore/preferences/protobuf/RopeByteString; invoke-direct {v0, p0, p1}, Landroidx/datastore/preferences/protobuf/RopeByteString;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)V return-object v0 .line 219 :cond_5 new-instance v0, Landroidx/datastore/preferences/protobuf/RopeByteString$Balancer; const/4 v1, 0x0 invoke-direct {v0, v1}, Landroidx/datastore/preferences/protobuf/RopeByteString$Balancer;->(Landroidx/datastore/preferences/protobuf/RopeByteString$1;)V invoke-static {v0, p0, p1}, Landroidx/datastore/preferences/protobuf/RopeByteString$Balancer;->access$100(Landroidx/datastore/preferences/protobuf/RopeByteString$Balancer;Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object p0 return-object p0 .end method .method private static concatenateBytes(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)Landroidx/datastore/preferences/protobuf/ByteString; .locals 4 .line 231 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v0 .line 232 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v1 add-int v2, v0, v1 .line 233 new-array v2, v2, [B const/4 v3, 0x0 .line 234 invoke-virtual {p0, v2, v3, v3, v0}, Landroidx/datastore/preferences/protobuf/ByteString;->copyTo([BIII)V .line 235 invoke-virtual {p1, v2, v3, v0, v1}, Landroidx/datastore/preferences/protobuf/ByteString;->copyTo([BIII)V .line 236 invoke-static {v2}, Landroidx/datastore/preferences/protobuf/ByteString;->wrap([B)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object p0 return-object p0 .end method .method private equalsFragments(Landroidx/datastore/preferences/protobuf/ByteString;)Z .locals 11 .line 526 new-instance v0, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator; const/4 v1, 0x0 invoke-direct {v0, p0, v1}, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/RopeByteString$1;)V .line 527 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/datastore/preferences/protobuf/ByteString$LeafByteString; .line 530 new-instance v3, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator; invoke-direct {v3, p1, v1}, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/RopeByteString$1;)V .line 531 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/datastore/preferences/protobuf/ByteString$LeafByteString; const/4 v1, 0x0 move v4, v1 move v5, v4 move v6, v5 .line 535 :goto_0 invoke-virtual {v2}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v7 sub-int/2addr v7, v4 .line 536 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v8 sub-int/2addr v8, v5 .line 537 invoke-static {v7, v8}, Ljava/lang/Math;->min(II)I move-result v9 if-nez v4, :cond_0 .line 542 invoke-virtual {v2, p1, v5, v9}, Landroidx/datastore/preferences/protobuf/ByteString$LeafByteString;->equalsRange(Landroidx/datastore/preferences/protobuf/ByteString;II)Z move-result v10 goto :goto_1 .line 543 :cond_0 invoke-virtual {p1, v2, v4, v9}, Landroidx/datastore/preferences/protobuf/ByteString$LeafByteString;->equalsRange(Landroidx/datastore/preferences/protobuf/ByteString;II)Z move-result v10 :goto_1 if-nez v10, :cond_1 return v1 :cond_1 add-int/2addr v6, v9 iget v10, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I if-lt v6, v10, :cond_3 if-ne v6, v10, :cond_2 const/4 p1, 0x1 return p1 .line 553 :cond_2 new-instance p1, Ljava/lang/IllegalStateException; invoke-direct {p1}, Ljava/lang/IllegalStateException;->()V throw p1 :cond_3 if-ne v9, v7, :cond_4 .line 558 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/datastore/preferences/protobuf/ByteString$LeafByteString; move v4, v1 goto :goto_2 :cond_4 add-int/2addr v4, v9 :goto_2 if-ne v9, v8, :cond_5 .line 564 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/datastore/preferences/protobuf/ByteString$LeafByteString; move v5, v1 goto :goto_0 :cond_5 add-int/2addr v5, v9 goto :goto_0 .end method .method public static newInstanceForTest(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)Landroidx/datastore/preferences/protobuf/RopeByteString; .locals 1 .line 250 new-instance v0, Landroidx/datastore/preferences/protobuf/RopeByteString; invoke-direct {v0, p0, p1}, Landroidx/datastore/preferences/protobuf/RopeByteString;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)V return-object v0 .end method .method private readObject(Ljava/io/ObjectInputStream;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 792 new-instance p1, Ljava/io/InvalidObjectException; const-string v0, "RopeByteStream instances are not to be serialized directly" invoke-direct {p1, v0}, Ljava/io/InvalidObjectException;->(Ljava/lang/String;)V throw p1 .end method # virtual methods .method public asReadOnlyByteBuffer()Ljava/nio/ByteBuffer; .locals 1 .line 406 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->toByteArray()[B move-result-object v0 invoke-static {v0}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer; move-result-object v0 .line 407 invoke-virtual {v0}, Ljava/nio/ByteBuffer;->asReadOnlyBuffer()Ljava/nio/ByteBuffer; move-result-object v0 return-object v0 .end method .method public asReadOnlyByteBufferList()Ljava/util/List; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Ljava/nio/ByteBuffer;", ">;" } .end annotation .line 414 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 415 new-instance v1, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator; const/4 v2, 0x0 invoke-direct {v1, p0, v2}, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/RopeByteString$1;)V .line 416 :goto_0 invoke-virtual {v1}, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator;->hasNext()Z move-result v2 if-eqz v2, :cond_0 .line 417 invoke-virtual {v1}, Landroidx/datastore/preferences/protobuf/RopeByteString$PieceIterator;->next()Landroidx/datastore/preferences/protobuf/ByteString$LeafByteString; move-result-object v2 .line 418 invoke-virtual {v2}, Landroidx/datastore/preferences/protobuf/ByteString;->asReadOnlyByteBuffer()Ljava/nio/ByteBuffer; move-result-object v2 invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_0 :cond_0 return-object v0 .end method .method public byteAt(I)B .locals 1 iget v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I .line 264 invoke-static {p1, v0}, Landroidx/datastore/preferences/protobuf/ByteString;->checkIndex(II)V .line 265 invoke-virtual {p0, p1}, Landroidx/datastore/preferences/protobuf/RopeByteString;->internalByteAt(I)B move-result p1 return p1 .end method .method public copyTo(Ljava/nio/ByteBuffer;)V .locals 1 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 400 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->copyTo(Ljava/nio/ByteBuffer;)V iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; .line 401 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->copyTo(Ljava/nio/ByteBuffer;)V return-void .end method .method public copyToInternal([BIII)V .locals 2 add-int v0, p2, p4 iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I if-gt v0, v1, :cond_0 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 388 invoke-virtual {v0, p1, p2, p3, p4}, Landroidx/datastore/preferences/protobuf/ByteString;->copyToInternal([BIII)V goto :goto_0 :cond_0 if-lt p2, v1, :cond_1 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; sub-int/2addr p2, v1 .line 390 invoke-virtual {v0, p1, p2, p3, p4}, Landroidx/datastore/preferences/protobuf/ByteString;->copyToInternal([BIII)V goto :goto_0 :cond_1 sub-int/2addr v1, p2 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 393 invoke-virtual {v0, p1, p2, p3, v1}, Landroidx/datastore/preferences/protobuf/ByteString;->copyToInternal([BIII)V iget-object p2, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; add-int/2addr p3, v1 sub-int/2addr p4, v1 const/4 v0, 0x0 .line 394 invoke-virtual {p2, p1, v0, p3, p4}, Landroidx/datastore/preferences/protobuf/ByteString;->copyToInternal([BIII)V :goto_0 return-void .end method .method public equals(Ljava/lang/Object;)Z .locals 4 const/4 v0, 0x1 if-ne p1, p0, :cond_0 return v0 .line 491 :cond_0 instance-of v1, p1, Landroidx/datastore/preferences/protobuf/ByteString; const/4 v2, 0x0 if-nez v1, :cond_1 return v2 .line 495 :cond_1 check-cast p1, Landroidx/datastore/preferences/protobuf/ByteString; iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I .line 496 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v3 if-eq v1, v3, :cond_2 return v2 :cond_2 iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I if-nez v1, :cond_3 return v0 .line 508 :cond_3 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->peekCachedHashCode()I move-result v0 .line 509 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/ByteString;->peekCachedHashCode()I move-result v1 if-eqz v0, :cond_4 if-eqz v1, :cond_4 if-eq v0, v1, :cond_4 return v2 .line 514 :cond_4 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/RopeByteString;->equalsFragments(Landroidx/datastore/preferences/protobuf/ByteString;)Z move-result p1 return p1 .end method .method public getTreeDepth()I .locals 1 iget v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->treeDepth:I return v0 .end method .method public internalByteAt(I)B .locals 2 iget v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I if-ge p1, v0, :cond_0 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 272 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->internalByteAt(I)B move-result p1 return p1 :cond_0 iget-object v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; sub-int/2addr p1, v0 .line 275 invoke-virtual {v1, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->internalByteAt(I)B move-result p1 return p1 .end method .method public isBalanced()Z .locals 3 iget v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I sget-object v1, Landroidx/datastore/preferences/protobuf/RopeByteString;->minLengthByDepth:[I iget v2, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->treeDepth:I .line 331 aget v1, v1, v2 if-lt v0, v1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isValidUtf8()Z .locals 4 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I const/4 v2, 0x0 .line 464 invoke-virtual {v0, v2, v2, v1}, Landroidx/datastore/preferences/protobuf/ByteString;->partialIsValidUtf8(III)I move-result v0 iget-object v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; .line 465 invoke-virtual {v1}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result v3 invoke-virtual {v1, v0, v2, v3}, Landroidx/datastore/preferences/protobuf/ByteString;->partialIsValidUtf8(III)I move-result v0 if-nez v0, :cond_0 const/4 v2, 0x1 :cond_0 return v2 .end method .method public iterator()Landroidx/datastore/preferences/protobuf/ByteString$ByteIterator; .locals 1 .line 285 new-instance v0, Landroidx/datastore/preferences/protobuf/RopeByteString$1; invoke-direct {v0, p0}, Landroidx/datastore/preferences/protobuf/RopeByteString$1;->(Landroidx/datastore/preferences/protobuf/RopeByteString;)V return-object v0 .end method .method public bridge synthetic iterator()Ljava/util/Iterator; .locals 1 .line 68 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/RopeByteString;->iterator()Landroidx/datastore/preferences/protobuf/ByteString$ByteIterator; move-result-object v0 return-object v0 .end method .method public newCodedInput()Landroidx/datastore/preferences/protobuf/CodedInputStream; .locals 1 .line 590 new-instance v0, Landroidx/datastore/preferences/protobuf/RopeByteString$RopeInputStream; invoke-direct {v0, p0}, Landroidx/datastore/preferences/protobuf/RopeByteString$RopeInputStream;->(Landroidx/datastore/preferences/protobuf/RopeByteString;)V invoke-static {v0}, Landroidx/datastore/preferences/protobuf/CodedInputStream;->newInstance(Ljava/io/InputStream;)Landroidx/datastore/preferences/protobuf/CodedInputStream; move-result-object v0 return-object v0 .end method .method public newInput()Ljava/io/InputStream; .locals 1 .line 595 new-instance v0, Landroidx/datastore/preferences/protobuf/RopeByteString$RopeInputStream; invoke-direct {v0, p0}, Landroidx/datastore/preferences/protobuf/RopeByteString$RopeInputStream;->(Landroidx/datastore/preferences/protobuf/RopeByteString;)V return-object v0 .end method .method public partialHash(III)I .locals 2 add-int v0, p2, p3 iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I if-gt v0, v1, :cond_0 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 575 invoke-virtual {v0, p1, p2, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->partialHash(III)I move-result p1 return p1 :cond_0 if-lt p2, v1, :cond_1 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; sub-int/2addr p2, v1 .line 577 invoke-virtual {v0, p1, p2, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->partialHash(III)I move-result p1 return p1 :cond_1 sub-int/2addr v1, p2 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 580 invoke-virtual {v0, p1, p2, v1}, Landroidx/datastore/preferences/protobuf/ByteString;->partialHash(III)I move-result p1 iget-object p2, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; const/4 v0, 0x0 sub-int/2addr p3, v1 .line 581 invoke-virtual {p2, p1, v0, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->partialHash(III)I move-result p1 return p1 .end method .method public partialIsValidUtf8(III)I .locals 2 add-int v0, p2, p3 iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I if-gt v0, v1, :cond_0 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 473 invoke-virtual {v0, p1, p2, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->partialIsValidUtf8(III)I move-result p1 return p1 :cond_0 if-lt p2, v1, :cond_1 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; sub-int/2addr p2, v1 .line 475 invoke-virtual {v0, p1, p2, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->partialIsValidUtf8(III)I move-result p1 return p1 :cond_1 sub-int/2addr v1, p2 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 478 invoke-virtual {v0, p1, p2, v1}, Landroidx/datastore/preferences/protobuf/ByteString;->partialIsValidUtf8(III)I move-result p1 iget-object p2, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; const/4 v0, 0x0 sub-int/2addr p3, v1 .line 479 invoke-virtual {p2, p1, v0, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->partialIsValidUtf8(III)I move-result p1 return p1 .end method .method public size()I .locals 1 iget v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I return v0 .end method .method public substring(II)Landroidx/datastore/preferences/protobuf/ByteString; .locals 2 iget v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I .line 349 invoke-static {p1, p2, v0}, Landroidx/datastore/preferences/protobuf/ByteString;->checkRange(III)I move-result v0 if-nez v0, :cond_0 sget-object p1, Landroidx/datastore/preferences/protobuf/ByteString;->EMPTY:Landroidx/datastore/preferences/protobuf/ByteString; return-object p1 :cond_0 iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->totalLength:I if-ne v0, v1, :cond_1 return-object p0 :cond_1 iget v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I if-gt p2, v0, :cond_2 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 364 invoke-virtual {v0, p1, p2}, Landroidx/datastore/preferences/protobuf/ByteString;->substring(II)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object p1 return-object p1 :cond_2 if-lt p1, v0, :cond_3 iget-object v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; sub-int/2addr p1, v0 sub-int/2addr p2, v0 .line 369 invoke-virtual {v1, p1, p2}, Landroidx/datastore/preferences/protobuf/ByteString;->substring(II)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object p1 return-object p1 :cond_3 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 373 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->substring(I)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object p1 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I sub-int/2addr p2, v1 const/4 v1, 0x0 .line 374 invoke-virtual {v0, v1, p2}, Landroidx/datastore/preferences/protobuf/ByteString;->substring(II)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object p2 .line 378 new-instance v0, Landroidx/datastore/preferences/protobuf/RopeByteString; invoke-direct {v0, p1, p2}, Landroidx/datastore/preferences/protobuf/RopeByteString;->(Landroidx/datastore/preferences/protobuf/ByteString;Landroidx/datastore/preferences/protobuf/ByteString;)V return-object v0 .end method .method public toStringInternal(Ljava/nio/charset/Charset;)Ljava/lang/String; .locals 2 .line 456 new-instance v0, Ljava/lang/String; invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->toByteArray()[B move-result-object v1 invoke-direct {v0, v1, p1}, Ljava/lang/String;->([BLjava/nio/charset/Charset;)V return-object v0 .end method .method public writeReplace()Ljava/lang/Object; .locals 1 .line 788 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/ByteString;->toByteArray()[B move-result-object v0 invoke-static {v0}, Landroidx/datastore/preferences/protobuf/ByteString;->wrap([B)Landroidx/datastore/preferences/protobuf/ByteString; move-result-object v0 return-object v0 .end method .method public writeTo(Landroidx/datastore/preferences/protobuf/ByteOutput;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 444 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->writeTo(Landroidx/datastore/preferences/protobuf/ByteOutput;)V iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; .line 445 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->writeTo(Landroidx/datastore/preferences/protobuf/ByteOutput;)V return-void .end method .method public writeTo(Ljava/io/OutputStream;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 425 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->writeTo(Ljava/io/OutputStream;)V iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; .line 426 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->writeTo(Ljava/io/OutputStream;)V return-void .end method .method public writeToInternal(Ljava/io/OutputStream;II)V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation add-int v0, p2, p3 iget v1, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->leftLength:I if-gt v0, v1, :cond_0 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 432 invoke-virtual {v0, p1, p2, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->writeToInternal(Ljava/io/OutputStream;II)V goto :goto_0 :cond_0 if-lt p2, v1, :cond_1 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; sub-int/2addr p2, v1 .line 434 invoke-virtual {v0, p1, p2, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->writeToInternal(Ljava/io/OutputStream;II)V goto :goto_0 :cond_1 sub-int/2addr v1, p2 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 437 invoke-virtual {v0, p1, p2, v1}, Landroidx/datastore/preferences/protobuf/ByteString;->writeToInternal(Ljava/io/OutputStream;II)V iget-object p2, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; const/4 v0, 0x0 sub-int/2addr p3, v1 .line 438 invoke-virtual {p2, p1, v0, p3}, Landroidx/datastore/preferences/protobuf/ByteString;->writeToInternal(Ljava/io/OutputStream;II)V :goto_0 return-void .end method .method public writeToReverse(Landroidx/datastore/preferences/protobuf/ByteOutput;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->right:Landroidx/datastore/preferences/protobuf/ByteString; .line 450 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->writeToReverse(Landroidx/datastore/preferences/protobuf/ByteOutput;)V iget-object v0, p0, Landroidx/datastore/preferences/protobuf/RopeByteString;->left:Landroidx/datastore/preferences/protobuf/ByteString; .line 451 invoke-virtual {v0, p1}, Landroidx/datastore/preferences/protobuf/ByteString;->writeToReverse(Landroidx/datastore/preferences/protobuf/ByteOutput;)V return-void .end method