Как реализовать постоянную сессионную готовку ie в приложении Android? - PullRequest
0 голосов
/ 23 апреля 2020

Я попытался сделать следующее, чтобы реализовать сессионный повар ie в Android

    @Provides
    AuthCookieStore getAuthCookieStore() {
        return new AuthCookieStore(getApplicationContext());
    }

    @Singleton
    @Provides
    SharedCookieJar getSharedCookieJar() {
        return new SharedCookieJar(getAuthCookieStore());
    }

Это мой AppModule.

SharedCookieJar выглядит следующим образом.

public class SharedCookieJar implements CookieJar {

    private AuthCookieStore cookieStore;

    @Inject
    public SharedCookieJar(AuthCookieStore cookieStore) {
        this.cookieStore = cookieStore;
    }

    @Override
    public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {

        cookieStore.put(new CookieStoreModel(cookies));
    }

    @Override
    public List<Cookie> loadForRequest(HttpUrl url) {

        List<Cookie> validCookies = new ArrayList<>();

        if (cookieStore.get() != null) {

            for (Cookie cookie : cookieStore.get().getCookies()) {
                if (cookie.expiresAt() < System.currentTimeMillis()) {

                } else {
                    validCookies.add(cookie);
                }
            }
        }
        return validCookies;

    }


}

Вот мой класс RestService


  protected Context context;
    protected EventBus eventBus;
    protected Retrofit retrofit;
    protected TraxSourceRestInterface restInterface;
    protected OkHttpClient.Builder clientBuilder;
    protected ObjectMapper objectMapper;
    private SharedCookieJar sharedCookieJar;


А вот мой клиент и конструктор OkHttp.



        clientBuilder = new OkHttpClient.Builder();
        clientBuilder.connectTimeout(10, TimeUnit.MINUTES);
        clientBuilder.readTimeout(10, TimeUnit.MINUTES);
        clientBuilder.writeTimeout(10, TimeUnit.MINUTES);
        clientBuilder.cookieJar(sharedCookieJar);

Но я получаю нулевой повар ie банка.

java.lang.NullPointerException: cookieJar == null

Может кто-нибудь помочь?

Также есть ли другой способ обработки сеанса повара ie в Android?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...