@Test public void testPut_withMultiCodePointsMapping() { final int[] codePoint = new int[]{1, 2, 3, 4}; final TestEmojiMetadata metadata = new TestEmojiMetadata(codePoint); mMetadataRepo.put(metadata); assertSame(metadata, getNode(codePoint)); assertEquals(null, getNode(new int[]{1})); assertEquals(null, getNode(new int[]{1, 2})); assertEquals(null, getNode(new int[]{1, 2, 3})); assertEquals(null, getNode(new int[]{1, 2, 3, 5})); }
@RestrictTo(LIBRARY_GROUP) @VisibleForTesting void put(@NonNull final EmojiMetadata data) { Preconditions.checkNotNull(data, "emoji metadata cannot be null"); Preconditions.checkArgument(data.getCodepointsLength() > 0, "invalid metadata codepoint length"); mRootNode.put(data, 0, data.getCodepointsLength() - 1); }
MetadataRepo { @RestrictTo(LIBRARY_GROUP) @VisibleForTesting void put(@NonNull final EmojiMetadata data) { Preconditions.checkNotNull(data, "emoji metadata cannot be null"); Preconditions.checkArgument(data.getCodepointsLength() > 0, "invalid metadata codepoint length"); mRootNode.put(data, 0, data.getCodepointsLength() - 1); } }
MetadataRepo { @RestrictTo(LIBRARY_GROUP) @VisibleForTesting void put(@NonNull final EmojiMetadata data) { Preconditions.checkNotNull(data, "emoji metadata cannot be null"); Preconditions.checkArgument(data.getCodepointsLength() > 0, "invalid metadata codepoint length"); mRootNode.put(data, 0, data.getCodepointsLength() - 1); } @RestrictTo(LIBRARY_GROUP)  MetadataRepo(); private  MetadataRepo(@NonNull final Typeface typeface,
            @NonNull final MetadataList metadataList); }
MetadataRepo { @RestrictTo(LIBRARY_GROUP) @VisibleForTesting void put(@NonNull final EmojiMetadata data) { Preconditions.checkNotNull(data, "emoji metadata cannot be null"); Preconditions.checkArgument(data.getCodepointsLength() > 0, "invalid metadata codepoint length"); mRootNode.put(data, 0, data.getCodepointsLength() - 1); } @RestrictTo(LIBRARY_GROUP)  MetadataRepo(); private  MetadataRepo(@NonNull final Typeface typeface,
            @NonNull final MetadataList metadataList); static MetadataRepo create(@NonNull final Typeface typeface,
            @NonNull final InputStream inputStream); static MetadataRepo create(@NonNull final Typeface typeface,
            @NonNull final ByteBuffer byteBuffer); static MetadataRepo create(@NonNull final AssetManager assetManager,
            final String assetPath); @RestrictTo(LIBRARY_GROUP) char[] getEmojiCharArray(); @RestrictTo(LIBRARY_GROUP) MetadataList getMetadataList(); }
MetadataRepo { @RestrictTo(LIBRARY_GROUP) @VisibleForTesting void put(@NonNull final EmojiMetadata data) { Preconditions.checkNotNull(data, "emoji metadata cannot be null"); Preconditions.checkArgument(data.getCodepointsLength() > 0, "invalid metadata codepoint length"); mRootNode.put(data, 0, data.getCodepointsLength() - 1); } @RestrictTo(LIBRARY_GROUP)  MetadataRepo(); private  MetadataRepo(@NonNull final Typeface typeface,
            @NonNull final MetadataList metadataList); static MetadataRepo create(@NonNull final Typeface typeface,
            @NonNull final InputStream inputStream); static MetadataRepo create(@NonNull final Typeface typeface,
            @NonNull final ByteBuffer byteBuffer); static MetadataRepo create(@NonNull final AssetManager assetManager,
            final String assetPath); @RestrictTo(LIBRARY_GROUP) char[] getEmojiCharArray(); @RestrictTo(LIBRARY_GROUP) MetadataList getMetadataList();  }