mirror of
https://codeberg.org/gitnex/GitNex.git
synced 2024-12-16 15:48:13 +08:00
Fix offline mode (#794)
Closes #790 update libs Co-authored-by: M M Arif <mmarif@swatian.com> Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/794 Reviewed-by: 6543 <6543@noreply.codeberg.org> Co-Authored-By: M M Arif <mmarif@noreply.codeberg.org> Co-Committed-By: M M Arif <mmarif@noreply.codeberg.org>
This commit is contained in:
parent
4c4a7376cb
commit
a51ba4f2a8
@ -54,8 +54,8 @@ configurations {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
def lifecycle_version = '2.3.0-beta01'
|
def lifecycle_version = '2.3.0-rc01'
|
||||||
def markwon_version = '4.6.0'
|
def markwon_version = '4.6.1'
|
||||||
def work_version = "2.4.0"
|
def work_version = "2.4.0"
|
||||||
def acra = "5.7.0"
|
def acra = "5.7.0"
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ dependencies {
|
|||||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||||
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
|
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
|
||||||
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
|
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
|
||||||
implementation 'org.ocpsoft.prettytime:prettytime:4.0.6.Final'
|
implementation 'org.ocpsoft.prettytime:prettytime:5.0.0.Final'
|
||||||
implementation "com.pes.materialcolorpicker:library:1.2.5"
|
implementation "com.pes.materialcolorpicker:library:1.2.5"
|
||||||
implementation "io.noties.markwon:core:$markwon_version"
|
implementation "io.noties.markwon:core:$markwon_version"
|
||||||
implementation "io.noties.markwon:ext-latex:$markwon_version"
|
implementation "io.noties.markwon:ext-latex:$markwon_version"
|
||||||
@ -104,8 +104,8 @@ dependencies {
|
|||||||
implementation "ch.acra:acra-mail:$acra"
|
implementation "ch.acra:acra-mail:$acra"
|
||||||
implementation "ch.acra:acra-limiter:$acra"
|
implementation "ch.acra:acra-limiter:$acra"
|
||||||
implementation "ch.acra:acra-notification:$acra"
|
implementation "ch.acra:acra-notification:$acra"
|
||||||
implementation "androidx.room:room-runtime:2.2.5"
|
implementation 'androidx.room:room-runtime:2.2.6'
|
||||||
annotationProcessor "androidx.room:room-compiler:2.2.5"
|
annotationProcessor 'androidx.room:room-compiler:2.2.6'
|
||||||
implementation "androidx.work:work-runtime:$work_version"
|
implementation "androidx.work:work-runtime:$work_version"
|
||||||
implementation "com.eightbitlab:blurview:1.6.4"
|
implementation "com.eightbitlab:blurview:1.6.4"
|
||||||
implementation "io.mikael:urlbuilder:2.0.9"
|
implementation "io.mikael:urlbuilder:2.0.9"
|
||||||
|
@ -2,6 +2,7 @@ package org.mian.gitnex.clients;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import org.mian.gitnex.helpers.AppUtil;
|
||||||
import org.mian.gitnex.helpers.FilesData;
|
import org.mian.gitnex.helpers.FilesData;
|
||||||
import org.mian.gitnex.helpers.TinyDB;
|
import org.mian.gitnex.helpers.TinyDB;
|
||||||
import org.mian.gitnex.helpers.ssl.MemorizingTrustManager;
|
import org.mian.gitnex.helpers.ssl.MemorizingTrustManager;
|
||||||
@ -35,6 +36,8 @@ public class RetrofitClient {
|
|||||||
|
|
||||||
TinyDB tinyDB = TinyDB.getInstance(context);
|
TinyDB tinyDB = TinyDB.getInstance(context);
|
||||||
|
|
||||||
|
final boolean connToInternet = AppUtil.hasNetworkConnection(context);
|
||||||
|
|
||||||
int cacheSize = FilesData.returnOnlyNumber(tinyDB.getString("cacheSizeStr")) * 1024 * 1024;
|
int cacheSize = FilesData.returnOnlyNumber(tinyDB.getString("cacheSizeStr")) * 1024 * 1024;
|
||||||
Cache cache = new Cache(new File(context.getCacheDir(), "responses"), cacheSize);
|
Cache cache = new Cache(new File(context.getCacheDir(), "responses"), cacheSize);
|
||||||
|
|
||||||
@ -54,13 +57,16 @@ public class RetrofitClient {
|
|||||||
.hostnameVerifier(memorizingTrustManager.wrapHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier()))
|
.hostnameVerifier(memorizingTrustManager.wrapHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier()))
|
||||||
.addInterceptor(chain -> {
|
.addInterceptor(chain -> {
|
||||||
|
|
||||||
Request request = chain.request()
|
Request request = chain.request();
|
||||||
.newBuilder()
|
if(connToInternet) {
|
||||||
.header("Cache-Control", "public, max-age=" + 60)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
|
request = request.newBuilder().header("Cache-Control", "public, max-age=" + 60).build();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
request = request.newBuilder().header("Cache-Control", "public, only-if-cached, max-stale=" + 60 * 60 * 24 * 30).build();
|
||||||
|
}
|
||||||
return chain.proceed(request);
|
return chain.proceed(request);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return new Retrofit.Builder()
|
return new Retrofit.Builder()
|
||||||
@ -70,9 +76,10 @@ public class RetrofitClient {
|
|||||||
.addConverterFactory(GsonConverterFactory.create())
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
} catch(Exception e) {
|
}
|
||||||
|
catch(Exception e) {
|
||||||
|
|
||||||
Log.e("onFailure", e.toString());
|
Log.e("onFailureRetrofit", e.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@ -93,29 +100,21 @@ public class RetrofitClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static synchronized ApiInterface getApiInterface(Context context, String url) {
|
public static synchronized ApiInterface getApiInterface(Context context, String url) {
|
||||||
if(!apiInterfaces.containsKey(url)) {
|
|
||||||
|
|
||||||
ApiInterface apiInterface = createRetrofit(context, url)
|
ApiInterface apiInterface = createRetrofit(context, url)
|
||||||
.create(ApiInterface.class);
|
.create(ApiInterface.class);
|
||||||
|
|
||||||
apiInterfaces.put(url, apiInterface);
|
apiInterfaces.put(url, apiInterface);
|
||||||
return apiInterface;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return apiInterfaces.get(url);
|
return apiInterfaces.get(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static synchronized WebInterface getWebInterface(Context context, String url) {
|
public static synchronized WebInterface getWebInterface(Context context, String url) {
|
||||||
if(!webInterfaces.containsKey(url)) {
|
|
||||||
|
|
||||||
WebInterface webInterface = createRetrofit(context, url)
|
WebInterface webInterface = createRetrofit(context, url)
|
||||||
.create(WebInterface.class);
|
.create(WebInterface.class);
|
||||||
|
|
||||||
webInterfaces.put(url, webInterface);
|
webInterfaces.put(url, webInterface);
|
||||||
return webInterface;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return webInterfaces.get(url);
|
return webInterfaces.get(url);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user