• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2017 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 package org.chromium.net.impl;
6 
7 import android.content.Context;
8 
9 import org.chromium.build.annotations.UsedByReflection;
10 import org.chromium.net.CronetEngine;
11 import org.chromium.net.CronetProvider;
12 import org.chromium.net.ExperimentalCronetEngine;
13 import org.chromium.net.ICronetEngineBuilder;
14 
15 import java.util.Arrays;
16 
17 /**
18  * Implementation of {@link CronetProvider} that creates {@link CronetEngine.Builder}
19  * for building the native implementation of {@link CronetEngine}.
20  */
21 public class NativeCronetProvider extends CronetProvider {
22     /**
23      * Constructor.
24      *
25      * @param context Android context to use.
26      */
27     @UsedByReflection("CronetProvider.java")
NativeCronetProvider(Context context)28     public NativeCronetProvider(Context context) {
29         super(context);
30     }
31 
32     @Override
createBuilder()33     public CronetEngine.Builder createBuilder() {
34         ICronetEngineBuilder impl = new NativeCronetEngineBuilderWithLibraryLoaderImpl(mContext);
35         return new ExperimentalCronetEngine.Builder(impl);
36     }
37 
38     @Override
getName()39     public String getName() {
40         return CronetProvider.PROVIDER_NAME_APP_PACKAGED;
41     }
42 
43     @Override
getVersion()44     public String getVersion() {
45         return ImplVersion.getCronetVersion();
46     }
47 
48     @Override
isEnabled()49     public boolean isEnabled() {
50         return true;
51     }
52 
53     @Override
hashCode()54     public int hashCode() {
55         return Arrays.hashCode(new Object[] {NativeCronetProvider.class, mContext});
56     }
57 
58     @Override
equals(Object other)59     public boolean equals(Object other) {
60         return other == this
61                 || (other instanceof NativeCronetProvider
62                         && this.mContext.equals(((NativeCronetProvider) other).mContext));
63     }
64 }
65