summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerFactory.java
blob: 3eae410f994335d44c7c4589489c938462fee82e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package se.leap.bitmaskclient.providersetup;

import android.content.res.Resources;

import se.leap.bitmaskclient.base.models.Provider;
import se.leap.bitmaskclient.providersetup.connectivity.OkHttpClientGenerator;

public class ProviderApiManagerFactory {
    private final Resources resources;
    private final ProviderApiManagerBase.ProviderApiServiceCallback callback;
    private static final String TAG = ProviderApiManagerFactory.class.getSimpleName();

    public ProviderApiManagerFactory(Resources resources, ProviderApiManagerBase.ProviderApiServiceCallback callback) {
        this.resources = resources;
        this.callback = callback;
    }

    public IProviderApiManager getProviderApiManager(Provider provider) throws IllegalArgumentException {
        if (provider.getApiVersion() >= 5) {
            return new ProviderApiManagerV5(resources, callback);
        }
        OkHttpClientGenerator clientGenerator = new OkHttpClientGenerator(resources);
        return new ProviderApiManagerV3(resources, clientGenerator, callback);
    }
}