Вообщем суть такая выполняется запрос покупки. после чего данные по item очищаются на сервере. Но при этом retrofit их возвращает вместе с новыми. Помогает разве что делать очистку в настройках приложения. Сам retrofit создается таким образом:
@Provides
@Singleton
Cache provideHttpCache(Application application) {
//create cache storage
File httpCacheDirectory = new File(application.getCacheDir(), "responses");
int cacheSize = 10 * 1024 * 1024; // 10 MiB
return new Cache(httpCacheDirectory, cacheSize);
}
@Provides
@Singleton
OkHttpClient provideOkhttpClient(Cache cache) {
return new OkHttpClient.Builder()
.cache(cache)
.addInterceptor(new AddCookiesInterceptor(mApplication))
.addInterceptor(new ReceivedCookiesInterceptor(mApplication))
.build();
}
@Provides
@Singleton
Retrofit provideRetrofit(OkHttpClient okHttpClient) {
return new Retrofit.Builder()
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.baseUrl(mBaseUrl)
.client(okHttpClient)
.build();
}
пробовал чистить сессию таким образом
manifest
<uses-permission android:name="android.permission.CLEAR_APP_CACHE"/>
code
public static void clearCashe(Context context) {
File dir = context.getCacheDir();
if (dir!=null && dir.isDirectory()) {
String[] child = dir.list();
for (String ch : child) {
Log.w("TEST", "delete cashe="+ch);
File file = new File(dir, ch);
file.delete();
}
}
}
кто что может посоветовать как с этим бороться?