• 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.net.CronetEngine;
10 import org.chromium.net.CronetProvider;
11 import org.chromium.net.ExperimentalCronetEngine;
12 import org.chromium.net.ICronetEngineBuilder;
13 
14 import java.util.Arrays;
15 
16 /**
17  * Implementation of {@link CronetProvider} that creates {@link CronetEngine.Builder}
18  * for building the Java-based implementation of {@link CronetEngine}.
19  */
20 public class JavaCronetProvider extends CronetProvider {
21     /**
22      * Constructor.
23      *
24      * @param context Android context to use.
25      */
JavaCronetProvider(Context context)26     public JavaCronetProvider(Context context) {
27         super(context);
28     }
29 
30     @Override
createBuilder()31     public CronetEngine.Builder createBuilder() {
32         ICronetEngineBuilder impl = new JavaCronetEngineBuilderImpl(mContext);
33         return new ExperimentalCronetEngine.Builder(impl);
34     }
35 
36     @Override
getName()37     public String getName() {
38         return CronetProvider.PROVIDER_NAME_FALLBACK;
39     }
40 
41     @Override
getVersion()42     public String getVersion() {
43         return ImplVersion.getCronetVersion();
44     }
45 
46     @Override
isEnabled()47     public boolean isEnabled() {
48         return true;
49     }
50 
51     @Override
hashCode()52     public int hashCode() {
53         return Arrays.hashCode(new Object[] {JavaCronetProvider.class, mContext});
54     }
55 
56     @Override
equals(Object other)57     public boolean equals(Object other) {
58         return other == this
59                 || (other instanceof JavaCronetProvider
60                         && this.mContext.equals(((JavaCronetProvider) other).mContext));
61     }
62 }
63