.class final Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter; .super Landroidx/datastore/preferences/protobuf/BinaryWriter; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/datastore/preferences/protobuf/BinaryWriter; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "SafeDirectWriter" .end annotation # instance fields .field private buffer:Ljava/nio/ByteBuffer; .field private limitMinusOne:I .field private pos:I # direct methods .method public constructor (Landroidx/datastore/preferences/protobuf/BufferAllocator;I)V .locals 1 const/4 v0, 0x0 .line 1992 invoke-direct {p0, p1, p2, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter;->(Landroidx/datastore/preferences/protobuf/BufferAllocator;ILandroidx/datastore/preferences/protobuf/BinaryWriter$1;)V .line 1993 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->nextBuffer()V return-void .end method .method private bytesWrittenToCurrentBuffer()I .locals 2 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->limitMinusOne:I iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I sub-int/2addr v0, v1 return v0 .end method .method private nextBuffer()V .locals 1 .line 1997 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter;->newDirectBuffer()Landroidx/datastore/preferences/protobuf/AllocatedBuffer; move-result-object v0 invoke-direct {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->nextBuffer(Landroidx/datastore/preferences/protobuf/AllocatedBuffer;)V return-void .end method .method private nextBuffer(I)V .locals 0 .line 2001 invoke-virtual {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter;->newDirectBuffer(I)Landroidx/datastore/preferences/protobuf/AllocatedBuffer; move-result-object p1 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->nextBuffer(Landroidx/datastore/preferences/protobuf/AllocatedBuffer;)V return-void .end method .method private nextBuffer(Landroidx/datastore/preferences/protobuf/AllocatedBuffer;)V .locals 2 .line 2005 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/AllocatedBuffer;->hasNioBuffer()Z move-result v0 if-eqz v0, :cond_1 .line 2008 invoke-virtual {p1}, Landroidx/datastore/preferences/protobuf/AllocatedBuffer;->nioBuffer()Ljava/nio/ByteBuffer; move-result-object v0 .line 2009 invoke-virtual {v0}, Ljava/nio/ByteBuffer;->isDirect()Z move-result v1 if-eqz v1, :cond_0 .line 2013 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->finishCurrentBuffer()V iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->buffers:Ljava/util/ArrayDeque; .line 2014 invoke-virtual {v1, p1}, Ljava/util/ArrayDeque;->addFirst(Ljava/lang/Object;)V iput-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; .line 2017 invoke-virtual {v0}, Ljava/nio/Buffer;->capacity()I move-result p1 invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer; iget-object p1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; const/4 v0, 0x0 .line 2018 invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; iget-object p1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; .line 2020 sget-object v0, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder; invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; iget-object p1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; .line 2022 invoke-virtual {p1}, Ljava/nio/Buffer;->limit()I move-result p1 add-int/lit8 p1, p1, -0x1 iput p1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->limitMinusOne:I iput p1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I return-void .line 2010 :cond_0 new-instance p1, Ljava/lang/RuntimeException; const-string v0, "Allocator returned non-direct buffer" invoke-direct {p1, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw p1 .line 2006 :cond_1 new-instance p1, Ljava/lang/RuntimeException; const-string v0, "Allocated buffer does not have NIO buffer" invoke-direct {p1, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw p1 .end method .method private spaceLeft()I .locals 1 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v0, v0, 0x1 return v0 .end method .method private writeVarint32FiveBytes(I)V .locals 4 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v2, v1, -0x1 iput v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I ushr-int/lit8 v2, p1, 0x1c int-to-byte v2, v2 .line 2252 invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x4 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, -0x3 ushr-int/lit8 v2, p1, 0x15 and-int/lit8 v2, v2, 0x7f or-int/lit16 v2, v2, 0x80 shl-int/lit8 v2, v2, 0x18 ushr-int/lit8 v3, p1, 0xe and-int/lit8 v3, v3, 0x7f or-int/lit16 v3, v3, 0x80 shl-int/lit8 v3, v3, 0x10 or-int/2addr v2, v3 ushr-int/lit8 v3, p1, 0x7 and-int/lit8 v3, v3, 0x7f or-int/lit16 v3, v3, 0x80 shl-int/lit8 v3, v3, 0x8 or-int/2addr v2, v3 and-int/lit8 p1, p1, 0x7f or-int/lit16 p1, p1, 0x80 or-int/2addr p1, v2 .line 2254 invoke-virtual {v1, v0, p1}, Ljava/nio/ByteBuffer;->putInt(II)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint32FourBytes(I)V .locals 5 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x4 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, -0x3 const/high16 v2, 0xfe00000 and-int/2addr v2, p1 shl-int/lit8 v2, v2, 0x3 const v3, 0x1fc000 and-int/2addr v3, p1 const/high16 v4, 0x200000 or-int/2addr v3, v4 shl-int/lit8 v3, v3, 0x2 or-int/2addr v2, v3 and-int/lit16 v3, p1, 0x3f80 or-int/lit16 v3, v3, 0x4000 shl-int/lit8 v3, v3, 0x1 or-int/2addr v2, v3 and-int/lit8 p1, p1, 0x7f or-int/lit16 p1, p1, 0x80 or-int/2addr p1, v2 .line 2242 invoke-virtual {v1, v0, p1}, Ljava/nio/ByteBuffer;->putInt(II)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint32OneByte(I)V .locals 3 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v2, v1, -0x1 iput v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I int-to-byte p1, p1 .line 2220 invoke-virtual {v0, v1, p1}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint32ThreeBytes(I)V .locals 4 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v0, v0, -0x3 iput v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; const v2, 0x1fc000 and-int/2addr v2, p1 shl-int/lit8 v2, v2, 0xa and-int/lit16 v3, p1, 0x3f80 or-int/lit16 v3, v3, 0x4000 shl-int/lit8 v3, v3, 0x9 or-int/2addr v2, v3 and-int/lit8 p1, p1, 0x7f or-int/lit16 p1, p1, 0x80 shl-int/lit8 p1, p1, 0x8 or-int/2addr p1, v2 .line 2232 invoke-virtual {v1, v0, p1}, Ljava/nio/ByteBuffer;->putInt(II)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint32TwoBytes(I)V .locals 3 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x2 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, -0x1 and-int/lit16 v2, p1, 0x3f80 shl-int/lit8 v2, v2, 0x1 and-int/lit8 p1, p1, 0x7f or-int/lit16 p1, p1, 0x80 or-int/2addr p1, v2 int-to-short p1, p1 .line 2226 invoke-virtual {v1, v0, p1}, Ljava/nio/ByteBuffer;->putShort(IS)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint64EightBytes(J)V .locals 8 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x8 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; const/4 v2, 0x7 sub-int/2addr v0, v2 const-wide/high16 v3, 0xfe000000000000L and-long/2addr v3, p1 shl-long v2, v3, v2 const-wide v4, 0x1fc0000000000L and-long/2addr v4, p1 const-wide/high16 v6, 0x2000000000000L or-long/2addr v4, v6 const/4 v6, 0x6 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide v4, 0x3f800000000L and-long/2addr v4, p1 const-wide v6, 0x40000000000L or-long/2addr v4, v6 const/4 v6, 0x5 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide v4, 0x7f0000000L and-long/2addr v4, p1 const-wide v6, 0x800000000L or-long/2addr v4, v6 const/4 v6, 0x4 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0xfe00000 and-long/2addr v4, p1 const-wide/32 v6, 0x10000000 or-long/2addr v4, v6 const/4 v6, 0x3 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0x1fc000 and-long/2addr v4, p1 const-wide/32 v6, 0x200000 or-long/2addr v4, v6 const/4 v6, 0x2 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x3f80 and-long/2addr v4, p1 const-wide/16 v6, 0x4000 or-long/2addr v4, v6 const/4 v6, 0x1 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x7f and-long/2addr p1, v4 const-wide/16 v4, 0x80 or-long/2addr p1, v4 or-long/2addr p1, v2 .line 2356 invoke-virtual {v1, v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint64EightBytesWithSign(J)V .locals 8 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x8 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; const/4 v2, 0x7 sub-int/2addr v0, v2 const-wide/high16 v3, 0xfe000000000000L and-long/2addr v3, p1 const-wide/high16 v5, 0x100000000000000L or-long/2addr v3, v5 shl-long v2, v3, v2 const-wide v4, 0x1fc0000000000L and-long/2addr v4, p1 const-wide/high16 v6, 0x2000000000000L or-long/2addr v4, v6 const/4 v6, 0x6 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide v4, 0x3f800000000L and-long/2addr v4, p1 const-wide v6, 0x40000000000L or-long/2addr v4, v6 const/4 v6, 0x5 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide v4, 0x7f0000000L and-long/2addr v4, p1 const-wide v6, 0x800000000L or-long/2addr v4, v6 const/4 v6, 0x4 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0xfe00000 and-long/2addr v4, p1 const-wide/32 v6, 0x10000000 or-long/2addr v4, v6 const/4 v6, 0x3 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0x1fc000 and-long/2addr v4, p1 const-wide/32 v6, 0x200000 or-long/2addr v4, v6 const/4 v6, 0x2 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x3f80 and-long/2addr v4, p1 const-wide/16 v6, 0x4000 or-long/2addr v4, v6 const/4 v6, 0x1 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x7f and-long/2addr p1, v4 const-wide/16 v4, 0x80 or-long/2addr p1, v4 or-long/2addr p1, v2 .line 2371 invoke-virtual {v1, v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint64FiveBytes(J)V .locals 8 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x5 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, -0x7 const-wide v2, 0x7f0000000L and-long/2addr v2, p1 const/16 v4, 0x1c shl-long/2addr v2, v4 const-wide/32 v4, 0xfe00000 and-long/2addr v4, p1 const-wide/32 v6, 0x10000000 or-long/2addr v4, v6 const/16 v6, 0x1b shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0x1fc000 and-long/2addr v4, p1 const-wide/32 v6, 0x200000 or-long/2addr v4, v6 const/16 v6, 0x1a shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x3f80 and-long/2addr v4, p1 const-wide/16 v6, 0x4000 or-long/2addr v4, v6 const/16 v6, 0x19 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x7f and-long/2addr p1, v4 const-wide/16 v4, 0x80 or-long/2addr p1, v4 const/16 v4, 0x18 shl-long/2addr p1, v4 or-long/2addr p1, v2 .line 2317 invoke-virtual {v1, v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint64FourBytes(J)V .locals 0 long-to-int p1, p1 .line 2311 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32FourBytes(I)V return-void .end method .method private writeVarint64NineBytes(J)V .locals 4 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v2, v1, -0x1 iput v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I const/16 v2, 0x38 ushr-long v2, p1, v2 long-to-int v2, v2 int-to-byte v2, v2 .line 2384 invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; const-wide v0, 0xffffffffffffffL and-long/2addr p1, v0 .line 2385 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64EightBytesWithSign(J)V return-void .end method .method private writeVarint64OneByte(J)V .locals 0 long-to-int p1, p1 .line 2299 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32OneByte(I)V return-void .end method .method private writeVarint64SevenBytes(J)V .locals 8 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v0, v0, -0x7 iput v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; const-wide v2, 0x1fc0000000000L and-long/2addr v2, p1 const/16 v4, 0xe shl-long/2addr v2, v4 const-wide v4, 0x3f800000000L and-long/2addr v4, p1 const-wide v6, 0x40000000000L or-long/2addr v4, v6 const/16 v6, 0xd shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide v4, 0x7f0000000L and-long/2addr v4, p1 const-wide v6, 0x800000000L or-long/2addr v4, v6 const/16 v6, 0xc shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0xfe00000 and-long/2addr v4, p1 const-wide/32 v6, 0x10000000 or-long/2addr v4, v6 const/16 v6, 0xb shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0x1fc000 and-long/2addr v4, p1 const-wide/32 v6, 0x200000 or-long/2addr v4, v6 const/16 v6, 0xa shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x3f80 and-long/2addr v4, p1 const-wide/16 v6, 0x4000 or-long/2addr v4, v6 const/16 v6, 0x9 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x7f and-long/2addr p1, v4 const-wide/16 v4, 0x80 or-long/2addr p1, v4 const/16 v4, 0x8 shl-long/2addr p1, v4 or-long/2addr p1, v2 .line 2342 invoke-virtual {v1, v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint64SixBytes(J)V .locals 8 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x6 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, -0x7 const-wide v2, 0x3f800000000L and-long/2addr v2, p1 const/16 v4, 0x15 shl-long/2addr v2, v4 const-wide v4, 0x7f0000000L and-long/2addr v4, p1 const-wide v6, 0x800000000L or-long/2addr v4, v6 const/16 v6, 0x14 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0xfe00000 and-long/2addr v4, p1 const-wide/32 v6, 0x10000000 or-long/2addr v4, v6 const/16 v6, 0x13 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/32 v4, 0x1fc000 and-long/2addr v4, p1 const-wide/32 v6, 0x200000 or-long/2addr v4, v6 const/16 v6, 0x12 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x3f80 and-long/2addr v4, p1 const-wide/16 v6, 0x4000 or-long/2addr v4, v6 const/16 v6, 0x11 shl-long/2addr v4, v6 or-long/2addr v2, v4 const-wide/16 v4, 0x7f and-long/2addr p1, v4 const-wide/16 v4, 0x80 or-long/2addr p1, v4 const/16 v4, 0x10 shl-long/2addr p1, v4 or-long/2addr p1, v2 .line 2329 invoke-virtual {v1, v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer; return-void .end method .method private writeVarint64TenBytes(J)V .locals 6 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v2, v1, -0x1 iput v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I const/16 v2, 0x3f ushr-long v2, p1, v2 long-to-int v2, v2 int-to-byte v2, v2 .line 2389 invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v2, v1, -0x1 iput v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I const/16 v2, 0x38 ushr-long v2, p1, v2 const-wide/16 v4, 0x7f and-long/2addr v2, v4 const-wide/16 v4, 0x80 or-long/2addr v2, v4 long-to-int v2, v2 int-to-byte v2, v2 .line 2390 invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; const-wide v0, 0xffffffffffffffL and-long/2addr p1, v0 .line 2391 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64EightBytesWithSign(J)V return-void .end method .method private writeVarint64ThreeBytes(J)V .locals 0 long-to-int p1, p1 .line 2307 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32ThreeBytes(I)V return-void .end method .method private writeVarint64TwoBytes(J)V .locals 0 long-to-int p1, p1 .line 2303 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32TwoBytes(I)V return-void .end method # virtual methods .method public finishCurrentBuffer()V .locals 2 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; if-eqz v0, :cond_0 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->totalDoneBytes:I .line 2042 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->bytesWrittenToCurrentBuffer()I move-result v1 add-int/2addr v0, v1 iput v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->totalDoneBytes:I iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v1, 0x1 .line 2044 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; const/4 v0, 0x0 iput-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; const/4 v0, 0x0 iput v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iput v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->limitMinusOne:I :cond_0 return-void .end method .method public getTotalBytesWritten()I .locals 2 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->totalDoneBytes:I .line 2028 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->bytesWrittenToCurrentBuffer()I move-result v1 add-int/2addr v0, v1 return v0 .end method .method public requireSpace(I)V .locals 1 .line 2527 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->spaceLeft()I move-result v0 if-ge v0, p1, :cond_0 .line 2528 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->nextBuffer(I)V :cond_0 return-void .end method .method public write(B)V .locals 3 iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v2, v1, -0x1 iput v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I .line 2460 invoke-virtual {v0, v1, p1}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; return-void .end method .method public write(Ljava/nio/ByteBuffer;)V .locals 2 .line 2495 invoke-virtual {p1}, Ljava/nio/Buffer;->remaining()I move-result v0 .line 2496 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->spaceLeft()I move-result v1 if-ge v1, v0, :cond_0 .line 2497 invoke-direct {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->nextBuffer(I)V :cond_0 iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I sub-int/2addr v1, v0 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v1, v1, 0x1 .line 2501 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; .line 2502 invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer; return-void .end method .method public write([BII)V .locals 2 .line 2465 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->spaceLeft()I move-result v0 if-ge v0, p3, :cond_0 .line 2466 invoke-direct {p0, p3}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->nextBuffer(I)V :cond_0 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I sub-int/2addr v0, p3 iput v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, 0x1 .line 2470 invoke-virtual {v1, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; .line 2471 invoke-virtual {v0, p1, p2, p3}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer; return-void .end method .method public writeBool(IZ)V .locals 1 const/4 v0, 0x6 .line 2102 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V int-to-byte p2, p2 .line 2103 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->write(B)V const/4 p2, 0x0 .line 2104 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeBool(Z)V .locals 0 int-to-byte p1, p1 .line 2196 invoke-virtual {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->write(B)V return-void .end method .method public writeBytes(ILandroidx/datastore/preferences/protobuf/ByteString;)V .locals 1 .line 2120 :try_start_0 invoke-virtual {p2, p0}, Landroidx/datastore/preferences/protobuf/ByteString;->writeToReverse(Landroidx/datastore/preferences/protobuf/ByteOutput;)V :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 const/16 v0, 0xa .line 2126 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2127 invoke-virtual {p2}, Landroidx/datastore/preferences/protobuf/ByteString;->size()I move-result p2 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32(I)V const/4 p2, 0x2 .line 2128 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void :catch_0 move-exception p1 .line 2123 new-instance p2, Ljava/lang/RuntimeException; invoke-direct {p2, p1}, Ljava/lang/RuntimeException;->(Ljava/lang/Throwable;)V throw p2 .end method .method public writeEndGroup(I)V .locals 1 const/4 v0, 0x4 .line 2172 invoke-virtual {p0, p1, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeFixed32(I)V .locals 2 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x4 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, -0x3 .line 2397 invoke-virtual {v1, v0, p1}, Ljava/nio/ByteBuffer;->putInt(II)Ljava/nio/ByteBuffer; return-void .end method .method public writeFixed32(II)V .locals 1 const/16 v0, 0x9 .line 2074 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2075 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeFixed32(I)V const/4 p2, 0x5 .line 2076 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeFixed64(IJ)V .locals 1 const/16 v0, 0xd .line 2095 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2096 invoke-virtual {p0, p2, p3}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeFixed64(J)V const/4 p2, 0x1 .line 2097 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeFixed64(J)V .locals 2 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v1, v0, -0x8 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, -0x7 .line 2403 invoke-virtual {v1, v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer; return-void .end method .method public writeGroup(ILjava/lang/Object;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x4 .line 2153 invoke-virtual {p0, p1, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V .line 2154 invoke-static {}, Landroidx/datastore/preferences/protobuf/Protobuf;->getInstance()Landroidx/datastore/preferences/protobuf/Protobuf; move-result-object v0 invoke-virtual {v0, p2, p0}, Landroidx/datastore/preferences/protobuf/Protobuf;->writeTo(Ljava/lang/Object;Landroidx/datastore/preferences/protobuf/Writer;)V const/4 p2, 0x3 .line 2155 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeGroup(ILjava/lang/Object;Landroidx/datastore/preferences/protobuf/Schema;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x4 .line 2160 invoke-virtual {p0, p1, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V .line 2161 invoke-interface {p3, p2, p0}, Landroidx/datastore/preferences/protobuf/Schema;->writeTo(Ljava/lang/Object;Landroidx/datastore/preferences/protobuf/Writer;)V const/4 p2, 0x3 .line 2162 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeInt32(I)V .locals 2 if-ltz p1, :cond_0 .line 2178 invoke-virtual {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32(I)V goto :goto_0 :cond_0 int-to-long v0, p1 .line 2180 invoke-virtual {p0, v0, v1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64(J)V :goto_0 return-void .end method .method public writeInt32(II)V .locals 1 const/16 v0, 0xf .line 2060 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2061 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeInt32(I)V const/4 p2, 0x0 .line 2062 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeLazy(Ljava/nio/ByteBuffer;)V .locals 2 .line 2507 invoke-virtual {p1}, Ljava/nio/Buffer;->remaining()I move-result v0 .line 2508 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->spaceLeft()I move-result v1 if-ge v1, v0, :cond_0 iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->totalDoneBytes:I add-int/2addr v1, v0 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->totalDoneBytes:I iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->buffers:Ljava/util/ArrayDeque; .line 2512 invoke-static {p1}, Landroidx/datastore/preferences/protobuf/AllocatedBuffer;->wrap(Ljava/nio/ByteBuffer;)Landroidx/datastore/preferences/protobuf/AllocatedBuffer; move-result-object p1 invoke-virtual {v0, p1}, Ljava/util/ArrayDeque;->addFirst(Ljava/lang/Object;)V .line 2516 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->nextBuffer()V return-void :cond_0 iget v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I sub-int/2addr v1, v0 iput v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v1, v1, 0x1 .line 2521 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; .line 2522 invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer; return-void .end method .method public writeLazy([BII)V .locals 2 .line 2476 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->spaceLeft()I move-result v0 if-ge v0, p3, :cond_0 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->totalDoneBytes:I add-int/2addr v0, p3 iput v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->totalDoneBytes:I iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter;->buffers:Ljava/util/ArrayDeque; .line 2480 invoke-static {p1, p2, p3}, Landroidx/datastore/preferences/protobuf/AllocatedBuffer;->wrap([BII)Landroidx/datastore/preferences/protobuf/AllocatedBuffer; move-result-object p1 invoke-virtual {v0, p1}, Ljava/util/ArrayDeque;->addFirst(Ljava/lang/Object;)V .line 2484 invoke-direct {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->nextBuffer()V return-void :cond_0 iget v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I sub-int/2addr v0, p3 iput v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I iget-object v1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, 0x1 .line 2489 invoke-virtual {v1, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; iget-object v0, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; .line 2490 invoke-virtual {v0, p1, p2, p3}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer; return-void .end method .method public writeMessage(ILjava/lang/Object;)V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 2133 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->getTotalBytesWritten()I move-result v0 .line 2134 invoke-static {}, Landroidx/datastore/preferences/protobuf/Protobuf;->getInstance()Landroidx/datastore/preferences/protobuf/Protobuf; move-result-object v1 invoke-virtual {v1, p2, p0}, Landroidx/datastore/preferences/protobuf/Protobuf;->writeTo(Ljava/lang/Object;Landroidx/datastore/preferences/protobuf/Writer;)V .line 2135 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->getTotalBytesWritten()I move-result p2 sub-int/2addr p2, v0 const/16 v0, 0xa .line 2136 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2137 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32(I)V const/4 p2, 0x2 .line 2138 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeMessage(ILjava/lang/Object;Landroidx/datastore/preferences/protobuf/Schema;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 2143 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->getTotalBytesWritten()I move-result v0 .line 2144 invoke-interface {p3, p2, p0}, Landroidx/datastore/preferences/protobuf/Schema;->writeTo(Ljava/lang/Object;Landroidx/datastore/preferences/protobuf/Writer;)V .line 2145 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->getTotalBytesWritten()I move-result p2 sub-int/2addr p2, v0 const/16 p3, 0xa .line 2146 invoke-virtual {p0, p3}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2147 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32(I)V const/4 p2, 0x2 .line 2148 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeSInt32(I)V .locals 0 .line 2186 invoke-static {p1}, Landroidx/datastore/preferences/protobuf/CodedOutputStream;->encodeZigZag32(I)I move-result p1 invoke-virtual {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32(I)V return-void .end method .method public writeSInt32(II)V .locals 1 const/16 v0, 0xa .line 2067 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2068 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeSInt32(I)V const/4 p2, 0x0 .line 2069 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeSInt64(IJ)V .locals 1 const/16 v0, 0xf .line 2088 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2089 invoke-virtual {p0, p2, p3}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeSInt64(J)V const/4 p2, 0x0 .line 2090 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeSInt64(J)V .locals 0 .line 2191 invoke-static {p1, p2}, Landroidx/datastore/preferences/protobuf/CodedOutputStream;->encodeZigZag64(J)J move-result-wide p1 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64(J)V return-void .end method .method public writeStartGroup(I)V .locals 1 const/4 v0, 0x3 .line 2167 invoke-virtual {p0, p1, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeString(ILjava/lang/String;)V .locals 1 .line 2109 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->getTotalBytesWritten()I move-result v0 .line 2110 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeString(Ljava/lang/String;)V .line 2111 invoke-virtual {p0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->getTotalBytesWritten()I move-result p2 sub-int/2addr p2, v0 const/16 v0, 0xa .line 2112 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2113 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32(I)V const/4 p2, 0x2 .line 2114 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeString(Ljava/lang/String;)V .locals 8 .line 2409 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v0 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2412 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v0 const/4 v1, 0x1 sub-int/2addr v0, v1 iget v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I sub-int/2addr v2, v0 iput v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I :goto_0 const/16 v2, 0x80 if-ltz v0, :cond_0 .line 2416 invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C move-result v3 if-ge v3, v2, :cond_0 iget-object v2, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v4, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/2addr v4, v0 int-to-byte v3, v3 .line 2417 invoke-virtual {v2, v4, v3}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_0 const/4 v3, -0x1 if-ne v0, v3, :cond_1 iget p1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I sub-int/2addr p1, v1 iput p1, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I return-void :cond_1 iget v4, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/2addr v4, v0 iput v4, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I :goto_1 if-ltz v0, :cond_8 .line 2426 invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C move-result v4 if-ge v4, v2, :cond_2 iget v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I if-ltz v5, :cond_2 iget-object v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v7, v5, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I int-to-byte v4, v4 .line 2428 invoke-virtual {v6, v5, v4}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; goto/16 :goto_2 :cond_2 const/16 v5, 0x800 if-ge v4, v5, :cond_3 iget v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I if-lez v5, :cond_3 iget-object v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v7, v5, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I and-int/lit8 v7, v4, 0x3f or-int/2addr v7, v2 int-to-byte v7, v7 .line 2430 invoke-virtual {v6, v5, v7}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; iget-object v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v7, v6, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I ushr-int/lit8 v4, v4, 0x6 or-int/lit16 v4, v4, 0x3c0 int-to-byte v4, v4 .line 2431 invoke-virtual {v5, v6, v4}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; goto/16 :goto_2 :cond_3 const v5, 0xd800 if-lt v4, v5, :cond_4 const v5, 0xdfff if-ge v5, v4, :cond_5 :cond_4 iget v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I if-le v5, v1, :cond_5 iget-object v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; add-int/lit8 v7, v5, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I and-int/lit8 v7, v4, 0x3f or-int/2addr v7, v2 int-to-byte v7, v7 .line 2434 invoke-virtual {v6, v5, v7}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; iget-object v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v7, v6, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I ushr-int/lit8 v7, v4, 0x6 and-int/lit8 v7, v7, 0x3f or-int/2addr v7, v2 int-to-byte v7, v7 .line 2435 invoke-virtual {v5, v6, v7}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; iget-object v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v7, v6, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I ushr-int/lit8 v4, v4, 0xc or-int/lit16 v4, v4, 0x1e0 int-to-byte v4, v4 .line 2436 invoke-virtual {v5, v6, v4}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; goto :goto_2 :cond_5 iget v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I const/4 v6, 0x2 if-le v5, v6, :cond_7 if-eqz v0, :cond_6 add-int/lit8 v5, v0, -0x1 .line 2441 invoke-virtual {p1, v5}, Ljava/lang/String;->charAt(I)C move-result v5 invoke-static {v5, v4}, Ljava/lang/Character;->isSurrogatePair(CC)Z move-result v6 if-eqz v6, :cond_6 add-int/lit8 v0, v0, -0x1 .line 2445 invoke-static {v5, v4}, Ljava/lang/Character;->toCodePoint(CC)I move-result v4 iget-object v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v7, v6, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I and-int/lit8 v7, v4, 0x3f or-int/2addr v7, v2 int-to-byte v7, v7 .line 2446 invoke-virtual {v5, v6, v7}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; iget-object v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v7, v6, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I ushr-int/lit8 v7, v4, 0x6 and-int/lit8 v7, v7, 0x3f or-int/2addr v7, v2 int-to-byte v7, v7 .line 2447 invoke-virtual {v5, v6, v7}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; iget-object v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v7, v6, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I ushr-int/lit8 v7, v4, 0xc and-int/lit8 v7, v7, 0x3f or-int/2addr v7, v2 int-to-byte v7, v7 .line 2448 invoke-virtual {v5, v6, v7}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; iget-object v5, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->buffer:Ljava/nio/ByteBuffer; iget v6, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I add-int/lit8 v7, v6, -0x1 iput v7, p0, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->pos:I ushr-int/lit8 v4, v4, 0x12 or-int/lit16 v4, v4, 0xf0 int-to-byte v4, v4 .line 2449 invoke-virtual {v5, v6, v4}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer; goto :goto_2 .line 2442 :cond_6 new-instance p1, Landroidx/datastore/preferences/protobuf/Utf8$UnpairedSurrogateException; add-int/lit8 v1, v0, -0x1 invoke-direct {p1, v1, v0}, Landroidx/datastore/preferences/protobuf/Utf8$UnpairedSurrogateException;->(II)V throw p1 .line 2452 :cond_7 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V add-int/lit8 v0, v0, 0x1 :goto_2 add-int/2addr v0, v3 goto/16 :goto_1 :cond_8 return-void .end method .method public writeTag(II)V .locals 0 .line 2201 invoke-static {p1, p2}, Landroidx/datastore/preferences/protobuf/WireFormat;->makeTag(II)I move-result p1 invoke-virtual {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32(I)V return-void .end method .method public writeUInt32(II)V .locals 1 const/16 v0, 0xa .line 2053 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2054 invoke-virtual {p0, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32(I)V const/4 p2, 0x0 .line 2055 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeUInt64(IJ)V .locals 1 const/16 v0, 0xf .line 2081 invoke-virtual {p0, v0}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->requireSpace(I)V .line 2082 invoke-virtual {p0, p2, p3}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64(J)V const/4 p2, 0x0 .line 2083 invoke-virtual {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeTag(II)V return-void .end method .method public writeVarint32(I)V .locals 1 and-int/lit8 v0, p1, -0x80 if-nez v0, :cond_0 .line 2207 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32OneByte(I)V goto :goto_0 :cond_0 and-int/lit16 v0, p1, -0x4000 if-nez v0, :cond_1 .line 2209 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32TwoBytes(I)V goto :goto_0 :cond_1 const/high16 v0, -0x200000 and-int/2addr v0, p1 if-nez v0, :cond_2 .line 2211 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32ThreeBytes(I)V goto :goto_0 :cond_2 const/high16 v0, -0x10000000 and-int/2addr v0, p1 if-nez v0, :cond_3 .line 2213 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32FourBytes(I)V goto :goto_0 .line 2215 :cond_3 invoke-direct {p0, p1}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint32FiveBytes(I)V :goto_0 return-void .end method .method public writeVarint64(J)V .locals 1 .line 2264 invoke-static {p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter;->access$200(J)B move-result v0 packed-switch v0, :pswitch_data_0 goto :goto_0 .line 2293 :pswitch_0 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64TenBytes(J)V goto :goto_0 .line 2290 :pswitch_1 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64NineBytes(J)V goto :goto_0 .line 2287 :pswitch_2 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64EightBytes(J)V goto :goto_0 .line 2284 :pswitch_3 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64SevenBytes(J)V goto :goto_0 .line 2281 :pswitch_4 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64SixBytes(J)V goto :goto_0 .line 2278 :pswitch_5 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64FiveBytes(J)V goto :goto_0 .line 2275 :pswitch_6 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64FourBytes(J)V goto :goto_0 .line 2272 :pswitch_7 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64ThreeBytes(J)V goto :goto_0 .line 2269 :pswitch_8 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64TwoBytes(J)V goto :goto_0 .line 2266 :pswitch_9 invoke-direct {p0, p1, p2}, Landroidx/datastore/preferences/protobuf/BinaryWriter$SafeDirectWriter;->writeVarint64OneByte(J)V :goto_0 return-void :pswitch_data_0 .packed-switch 0x1 :pswitch_9 :pswitch_8 :pswitch_7 :pswitch_6 :pswitch_5 :pswitch_4 :pswitch_3 :pswitch_2 :pswitch_1 :pswitch_0 .end packed-switch .end method