From 3d9d98467ac63efa980ef0592455fc6c10abfc27 Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Fri, 21 Feb 2020 17:50:49 +0800 Subject: Fix post card has empty space under vote buttons once again by upgrading google's material library. Add an Okhttp3 interceptor for debug usage. --- .../infinityforreddit/AppModule.java | 1 + .../infinityforreddit/Okhttp3DebugInterceptor.java | 40 ++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 app/src/main/java/ml/docilealligator/infinityforreddit/Okhttp3DebugInterceptor.java (limited to 'app/src/main/java/ml') diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java index a3792492..8bdf0d5d 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java @@ -79,6 +79,7 @@ class AppModule { OkHttpClient provideOkHttpClient(@Named("no_oauth") Retrofit retrofit, RedditDataRoomDatabase accountRoomDatabase) { OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient.Builder(); okHttpClientBuilder.authenticator(new AccessTokenAuthenticator(retrofit, accountRoomDatabase)); + //.addInterceptor(new Okhttp3DebugInterceptor(mApplication)); return okHttpClientBuilder.build(); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Okhttp3DebugInterceptor.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Okhttp3DebugInterceptor.java new file mode 100644 index 00000000..3443fdc6 --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Okhttp3DebugInterceptor.java @@ -0,0 +1,40 @@ +package ml.docilealligator.infinityforreddit; + +import android.app.Application; + +import androidx.annotation.NonNull; +import androidx.core.app.NotificationCompat; +import androidx.core.app.NotificationManagerCompat; + +import java.io.IOException; + +import okhttp3.Interceptor; +import okhttp3.Response; + +public class Okhttp3DebugInterceptor implements Interceptor { + private Application context; + + public Okhttp3DebugInterceptor(Application context) { + this.context = context; + } + + @NonNull + @Override + public Response intercept(Chain chain) throws IOException { + Response response = chain.proceed(chain.request()); + if (!response.isSuccessful()) { + String message = "No body"; + if (response.body() != null) { + message = response.body().string(); + } + NotificationManagerCompat notificationManager = NotificationUtils.getNotificationManager(context); + NotificationCompat.Builder builder = NotificationUtils.buildNotification(notificationManager, + context, "debug", message, Integer.toString(response.code()), + NotificationUtils.CHANNEL_ID_NEW_MESSAGES, + NotificationUtils.CHANNEL_NEW_MESSAGES, + NotificationUtils.getAccountGroupName("Debug")); + notificationManager.notify(9765, builder.build()); + } + return response; + } +} -- cgit v1.2.3