From d2f77cfcd02e5f6fb52cde0b3b7130420ef2d441 Mon Sep 17 00:00:00 2001 From: M M Arif Date: Wed, 1 Apr 2020 20:28:14 +0500 Subject: [PATCH] Fix minor formattings, other improvements --- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 2 +- .../activities/IssueDetailActivity.java | 1 - .../mian/gitnex/activities/MainActivity.java | 1 - .../gitnex/adapters/AdminGetUsersAdapter.java | 1 - .../gitnex/adapters/ClosedIssuesAdapter.java | 1 - .../gitnex/adapters/CollaboratorsAdapter.java | 1 - .../adapters/ExploreRepositoriesAdapter.java | 1 - .../gitnex/adapters/IssueCommentsAdapter.java | 1 - .../mian/gitnex/adapters/IssuesAdapter.java | 1 - .../gitnex/adapters/MembersByOrgAdapter.java | 1 - .../gitnex/adapters/MyReposListAdapter.java | 1 - .../adapters/OrganizationsListAdapter.java | 1 - .../adapters/ProfileFollowersAdapter.java | 1 - .../adapters/ProfileFollowingAdapter.java | 1 - .../gitnex/adapters/PullRequestsAdapter.java | 1 - .../adapters/RepoStargazersAdapter.java | 1 - .../gitnex/adapters/RepoWatchersAdapter.java | 1 - .../gitnex/adapters/ReposListAdapter.java | 1 - .../adapters/RepositoriesByOrgAdapter.java | 1 - .../adapters/StarredReposListAdapter.java | 1 - .../adapters/TeamMembersByOrgAdapter.java | 1 - .../gitnex/adapters/UserSearchAdapter.java | 1 - .../mian/gitnex/clients/IssuesService.java | 12 ++++++++--- .../mian/gitnex/clients/PicassoService.java | 7 +++++-- .../gitnex/clients/PullRequestsService.java | 11 +++++++--- .../mian/gitnex/clients/RetrofitClient.java | 14 ++++++++----- .../fragments/OrganizationInfoFragment.java | 1 - .../gitnex/fragments/ProfileFragment.java | 1 - .../gitnex/helpers/{ => ssl}/MTMDecision.java | 4 +++- .../helpers/{ => ssl}/MemorizingActivity.java | 4 +++- .../{ => ssl}/MemorizingTrustManager.java | 21 ++++++++----------- app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values/strings.xml | 4 ++-- 34 files changed, 50 insertions(+), 55 deletions(-) rename app/src/main/java/org/mian/gitnex/helpers/{ => ssl}/MTMDecision.java (87%) rename app/src/main/java/org/mian/gitnex/helpers/{ => ssl}/MemorizingActivity.java (97%) rename app/src/main/java/org/mian/gitnex/helpers/{ => ssl}/MemorizingTrustManager.java (97%) diff --git a/app/build.gradle b/app/build.gradle index 331206de..7e5e0ae5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -84,5 +84,5 @@ dependencies { implementation "com.mikepenz:fastadapter:$fastadapter" implementation "com.mikepenz:fastadapter-commons:$fastadapter" implementation "com.mikepenz:fastadapter-extensions:$fastadapter" - implementation "org.conscrypt:conscrypt-android:2.2.1" + //implementation "org.conscrypt:conscrypt-android:2.2.1" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4db4c839..36a1c064 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -74,7 +74,7 @@ - + \ No newline at end of file diff --git a/app/src/main/java/org/mian/gitnex/activities/IssueDetailActivity.java b/app/src/main/java/org/mian/gitnex/activities/IssueDetailActivity.java index cc8fd2a5..2bada8f0 100644 --- a/app/src/main/java/org/mian/gitnex/activities/IssueDetailActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/IssueDetailActivity.java @@ -50,7 +50,6 @@ import android.widget.RelativeLayout; import android.widget.ScrollView; import android.widget.TextView; import com.amulyakhare.textdrawable.TextDrawable; -import com.squareup.picasso.Picasso; import com.vdurmont.emoji.EmojiParser; import org.mian.gitnex.R; import org.mian.gitnex.adapters.IssueCommentsAdapter; diff --git a/app/src/main/java/org/mian/gitnex/activities/MainActivity.java b/app/src/main/java/org/mian/gitnex/activities/MainActivity.java index bf8530d1..3347c715 100644 --- a/app/src/main/java/org/mian/gitnex/activities/MainActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/MainActivity.java @@ -22,7 +22,6 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.squareup.picasso.NetworkPolicy; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.clients.RetrofitClient; diff --git a/app/src/main/java/org/mian/gitnex/adapters/AdminGetUsersAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/AdminGetUsersAdapter.java index d4f3af44..bde801c6 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/AdminGetUsersAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/AdminGetUsersAdapter.java @@ -11,7 +11,6 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.amulyakhare.textdrawable.TextDrawable; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.helpers.RoundedTransformation; diff --git a/app/src/main/java/org/mian/gitnex/adapters/ClosedIssuesAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/ClosedIssuesAdapter.java index fedbaf79..98d8aadd 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/ClosedIssuesAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/ClosedIssuesAdapter.java @@ -13,7 +13,6 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.IssueDetailActivity; import org.mian.gitnex.clients.PicassoService; diff --git a/app/src/main/java/org/mian/gitnex/adapters/CollaboratorsAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/CollaboratorsAdapter.java index f83186f3..29111d51 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/CollaboratorsAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/CollaboratorsAdapter.java @@ -8,7 +8,6 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.models.Collaborators; diff --git a/app/src/main/java/org/mian/gitnex/adapters/ExploreRepositoriesAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/ExploreRepositoriesAdapter.java index 20bdb1f8..5720a3dc 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/ExploreRepositoriesAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/ExploreRepositoriesAdapter.java @@ -14,7 +14,6 @@ import androidx.appcompat.widget.PopupMenu; import androidx.recyclerview.widget.RecyclerView; import com.amulyakhare.textdrawable.TextDrawable; import com.amulyakhare.textdrawable.util.ColorGenerator; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.OpenRepoInBrowserActivity; import org.mian.gitnex.activities.RepoDetailActivity; diff --git a/app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java index ee4570b2..173b7eb7 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java @@ -12,7 +12,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import com.vdurmont.emoji.EmojiParser; import org.mian.gitnex.R; import org.mian.gitnex.activities.ReplyToIssueActivity; diff --git a/app/src/main/java/org/mian/gitnex/adapters/IssuesAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/IssuesAdapter.java index 9a05b82d..1bf481a9 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/IssuesAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/IssuesAdapter.java @@ -13,7 +13,6 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.IssueDetailActivity; import org.mian.gitnex.clients.PicassoService; diff --git a/app/src/main/java/org/mian/gitnex/adapters/MembersByOrgAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/MembersByOrgAdapter.java index 3ecc3f94..5428f4aa 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/MembersByOrgAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/MembersByOrgAdapter.java @@ -10,7 +10,6 @@ import android.widget.Filter; import android.widget.Filterable; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.helpers.RoundedTransformation; diff --git a/app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java index 4dd33204..075b47ff 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/MyReposListAdapter.java @@ -13,7 +13,6 @@ import android.widget.ImageView; import android.widget.TextView; import com.amulyakhare.textdrawable.TextDrawable; import com.amulyakhare.textdrawable.util.ColorGenerator; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.OpenRepoInBrowserActivity; import org.mian.gitnex.activities.RepoDetailActivity; diff --git a/app/src/main/java/org/mian/gitnex/adapters/OrganizationsListAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/OrganizationsListAdapter.java index b3deb57d..899bcb65 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/OrganizationsListAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/OrganizationsListAdapter.java @@ -12,7 +12,6 @@ import android.widget.Filter; import android.widget.Filterable; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.OrganizationDetailActivity; import org.mian.gitnex.clients.PicassoService; diff --git a/app/src/main/java/org/mian/gitnex/adapters/ProfileFollowersAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/ProfileFollowersAdapter.java index 0b2c63be..cf20b379 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/ProfileFollowersAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/ProfileFollowersAdapter.java @@ -6,7 +6,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.helpers.RoundedTransformation; diff --git a/app/src/main/java/org/mian/gitnex/adapters/ProfileFollowingAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/ProfileFollowingAdapter.java index e6ecbcc2..ff96c2ff 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/ProfileFollowingAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/ProfileFollowingAdapter.java @@ -6,7 +6,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.helpers.RoundedTransformation; diff --git a/app/src/main/java/org/mian/gitnex/adapters/PullRequestsAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/PullRequestsAdapter.java index 0ee7b421..29c2bcf0 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/PullRequestsAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/PullRequestsAdapter.java @@ -14,7 +14,6 @@ import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.IssueDetailActivity; import org.mian.gitnex.clients.PicassoService; diff --git a/app/src/main/java/org/mian/gitnex/adapters/RepoStargazersAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/RepoStargazersAdapter.java index dbfefd74..9b4d6e72 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/RepoStargazersAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/RepoStargazersAdapter.java @@ -9,7 +9,6 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.helpers.RoundedTransformation; diff --git a/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java index bf98ef2e..0e46e049 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/RepoWatchersAdapter.java @@ -9,7 +9,6 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.helpers.RoundedTransformation; diff --git a/app/src/main/java/org/mian/gitnex/adapters/ReposListAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/ReposListAdapter.java index 7dece23b..00f2bccc 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/ReposListAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/ReposListAdapter.java @@ -16,7 +16,6 @@ import android.widget.ImageView; import android.widget.TextView; import com.amulyakhare.textdrawable.TextDrawable; import com.amulyakhare.textdrawable.util.ColorGenerator; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.OpenRepoInBrowserActivity; import org.mian.gitnex.activities.RepoDetailActivity; diff --git a/app/src/main/java/org/mian/gitnex/adapters/RepositoriesByOrgAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/RepositoriesByOrgAdapter.java index 518fd7c9..6520fc51 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/RepositoriesByOrgAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/RepositoriesByOrgAdapter.java @@ -13,7 +13,6 @@ import android.widget.ImageView; import android.widget.TextView; import com.amulyakhare.textdrawable.TextDrawable; import com.amulyakhare.textdrawable.util.ColorGenerator; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.OpenRepoInBrowserActivity; import org.mian.gitnex.activities.RepoDetailActivity; diff --git a/app/src/main/java/org/mian/gitnex/adapters/StarredReposListAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/StarredReposListAdapter.java index 9e0e689b..651e29a0 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/StarredReposListAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/StarredReposListAdapter.java @@ -13,7 +13,6 @@ import android.widget.ImageView; import android.widget.TextView; import com.amulyakhare.textdrawable.TextDrawable; import com.amulyakhare.textdrawable.util.ColorGenerator; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.OpenRepoInBrowserActivity; import org.mian.gitnex.activities.RepoDetailActivity; diff --git a/app/src/main/java/org/mian/gitnex/adapters/TeamMembersByOrgAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/TeamMembersByOrgAdapter.java index d6139cb1..7e356bff 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/TeamMembersByOrgAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/TeamMembersByOrgAdapter.java @@ -9,7 +9,6 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.helpers.RoundedTransformation; diff --git a/app/src/main/java/org/mian/gitnex/adapters/UserSearchAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/UserSearchAdapter.java index 6be8b38d..daa7bf08 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/UserSearchAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/UserSearchAdapter.java @@ -9,7 +9,6 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.actions.CollaboratorActions; import org.mian.gitnex.clients.PicassoService; diff --git a/app/src/main/java/org/mian/gitnex/clients/IssuesService.java b/app/src/main/java/org/mian/gitnex/clients/IssuesService.java index 5e8d5215..98ccf570 100644 --- a/app/src/main/java/org/mian/gitnex/clients/IssuesService.java +++ b/app/src/main/java/org/mian/gitnex/clients/IssuesService.java @@ -3,7 +3,7 @@ package org.mian.gitnex.clients; import android.content.Context; import android.util.Log; import androidx.annotation.NonNull; -import org.mian.gitnex.helpers.MemorizingTrustManager; +import org.mian.gitnex.helpers.ssl.MemorizingTrustManager; import org.mian.gitnex.util.AppUtil; import java.io.File; import java.io.IOException; @@ -36,7 +36,8 @@ public class IssuesService { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); - try { // try-catch can be problematic here + try { + SSLContext sslContext = SSLContext.getInstance("TLS"); MemorizingTrustManager memorizingTrustManager = new MemorizingTrustManager(ctx); @@ -44,6 +45,7 @@ public class IssuesService { OkHttpClient okHttpClient = new OkHttpClient.Builder() .cache(cache) + //.addInterceptor(logging) .sslSocketFactory(sslContext.getSocketFactory(), memorizingTrustManager) .hostnameVerifier(memorizingTrustManager.wrapHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier())) .addInterceptor(new Interceptor() { @@ -63,10 +65,14 @@ public class IssuesService { } }).build(); - Retrofit.Builder builder = new Retrofit.Builder().baseUrl(instanceURL).client(okHttpClient).addConverterFactory(GsonConverterFactory.create()); + Retrofit.Builder builder = new Retrofit.Builder() + .baseUrl(instanceURL) + .client(okHttpClient) + .addConverterFactory(GsonConverterFactory.create()); Retrofit retrofit = builder.build(); return retrofit.create(serviceClass); + } catch(Exception e) { Log.e("onFailure", e.toString()); diff --git a/app/src/main/java/org/mian/gitnex/clients/PicassoService.java b/app/src/main/java/org/mian/gitnex/clients/PicassoService.java index 7072ca77..aceceb3f 100644 --- a/app/src/main/java/org/mian/gitnex/clients/PicassoService.java +++ b/app/src/main/java/org/mian/gitnex/clients/PicassoService.java @@ -4,7 +4,7 @@ import android.content.Context; import android.util.Log; import com.squareup.picasso.OkHttp3Downloader; import com.squareup.picasso.Picasso; -import org.mian.gitnex.helpers.MemorizingTrustManager; +import org.mian.gitnex.helpers.ssl.MemorizingTrustManager; import java.security.SecureRandom; import java.util.Objects; import javax.net.ssl.HttpsURLConnection; @@ -41,14 +41,17 @@ public class PicassoService { Log.e("PicassoService", Objects.requireNonNull(uri.toString())); // important!! Log.e("PicassoService", exception.toString()); + }); picasso = builder.build(); + } catch(Exception e) { - e.printStackTrace(); + Log.e("PicassoService", e.toString()); } + } public Picasso get() { diff --git a/app/src/main/java/org/mian/gitnex/clients/PullRequestsService.java b/app/src/main/java/org/mian/gitnex/clients/PullRequestsService.java index 5d2493cf..b6bbd632 100644 --- a/app/src/main/java/org/mian/gitnex/clients/PullRequestsService.java +++ b/app/src/main/java/org/mian/gitnex/clients/PullRequestsService.java @@ -3,7 +3,7 @@ package org.mian.gitnex.clients; import android.content.Context; import android.util.Log; import androidx.annotation.NonNull; -import org.mian.gitnex.helpers.MemorizingTrustManager; +import org.mian.gitnex.helpers.ssl.MemorizingTrustManager; import org.mian.gitnex.util.AppUtil; import java.io.File; import java.io.IOException; @@ -36,7 +36,8 @@ public class PullRequestsService { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); - try { // try-catch can be problematic here + try { + SSLContext sslContext = SSLContext.getInstance("TLS"); MemorizingTrustManager memorizingTrustManager = new MemorizingTrustManager(ctx); @@ -44,6 +45,7 @@ public class PullRequestsService { OkHttpClient okHttpClient = new OkHttpClient.Builder() .cache(cache) + //.addInterceptor(logging) .sslSocketFactory(sslContext.getSocketFactory(), memorizingTrustManager) .hostnameVerifier(memorizingTrustManager.wrapHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier())) .addInterceptor(new Interceptor() { @@ -63,7 +65,10 @@ public class PullRequestsService { } }).build(); - Retrofit.Builder builder = new Retrofit.Builder().baseUrl(instanceURL).client(okHttpClient).addConverterFactory(GsonConverterFactory.create()); + Retrofit.Builder builder = new Retrofit.Builder() + .baseUrl(instanceURL) + .client(okHttpClient) + .addConverterFactory(GsonConverterFactory.create()); Retrofit retrofit = builder.build(); return retrofit.create(serviceClass); diff --git a/app/src/main/java/org/mian/gitnex/clients/RetrofitClient.java b/app/src/main/java/org/mian/gitnex/clients/RetrofitClient.java index dcc15c02..0150fb4f 100644 --- a/app/src/main/java/org/mian/gitnex/clients/RetrofitClient.java +++ b/app/src/main/java/org/mian/gitnex/clients/RetrofitClient.java @@ -3,7 +3,7 @@ package org.mian.gitnex.clients; import android.content.Context; import android.util.Log; import org.mian.gitnex.interfaces.ApiInterface; -import org.mian.gitnex.helpers.MemorizingTrustManager; +import org.mian.gitnex.helpers.ssl.MemorizingTrustManager; import org.mian.gitnex.util.AppUtil; import java.io.File; import java.security.SecureRandom; @@ -36,7 +36,8 @@ public class RetrofitClient { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); - try { // try-catch can be problematic here + try { + SSLContext sslContext = SSLContext.getInstance("TLS"); MemorizingTrustManager memorizingTrustManager = new MemorizingTrustManager(ctx); @@ -59,7 +60,11 @@ public class RetrofitClient { return chain.proceed(request); }); - Retrofit.Builder builder = new Retrofit.Builder().baseUrl(instanceUrl).client(okHttpClient.build()).addConverterFactory(ScalarsConverterFactory.create()).addConverterFactory(GsonConverterFactory.create()); + Retrofit.Builder builder = new Retrofit.Builder() + .baseUrl(instanceUrl) + .client(okHttpClient.build()) + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(GsonConverterFactory.create()); retrofit = builder.build(); @@ -67,15 +72,14 @@ public class RetrofitClient { catch(Exception e) { Log.e("onFailure", e.toString()); } + } public static synchronized RetrofitClient getInstance(String instanceUrl, Context ctx) { - return new RetrofitClient(instanceUrl, ctx); } public ApiInterface getApiInterface() { - return retrofit.create(ApiInterface.class); } diff --git a/app/src/main/java/org/mian/gitnex/fragments/OrganizationInfoFragment.java b/app/src/main/java/org/mian/gitnex/fragments/OrganizationInfoFragment.java index 3d6820b6..71cda317 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/OrganizationInfoFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/OrganizationInfoFragment.java @@ -14,7 +14,6 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.clients.PicassoService; import org.mian.gitnex.clients.RetrofitClient; diff --git a/app/src/main/java/org/mian/gitnex/fragments/ProfileFragment.java b/app/src/main/java/org/mian/gitnex/fragments/ProfileFragment.java index e2ea5bd0..f8907a8e 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/ProfileFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/ProfileFragment.java @@ -18,7 +18,6 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.google.android.material.tabs.TabLayout; -import com.squareup.picasso.Picasso; import org.mian.gitnex.R; import org.mian.gitnex.activities.MainActivity; import org.mian.gitnex.clients.PicassoService; diff --git a/app/src/main/java/org/mian/gitnex/helpers/MTMDecision.java b/app/src/main/java/org/mian/gitnex/helpers/ssl/MTMDecision.java similarity index 87% rename from app/src/main/java/org/mian/gitnex/helpers/MTMDecision.java rename to app/src/main/java/org/mian/gitnex/helpers/ssl/MTMDecision.java index 86280426..5fc77e06 100644 --- a/app/src/main/java/org/mian/gitnex/helpers/MTMDecision.java +++ b/app/src/main/java/org/mian/gitnex/helpers/ssl/MTMDecision.java @@ -1,14 +1,16 @@ -package org.mian.gitnex.helpers; +package org.mian.gitnex.helpers.ssl; /** * Author Georg Lukas, modified by anonTree1417 */ class MTMDecision { + final static int DECISION_INVALID = 0; final static int DECISION_ABORT = 1; final static int DECISION_ONCE = 2; final static int DECISION_ALWAYS = 3; int state = DECISION_INVALID; + } diff --git a/app/src/main/java/org/mian/gitnex/helpers/MemorizingActivity.java b/app/src/main/java/org/mian/gitnex/helpers/ssl/MemorizingActivity.java similarity index 97% rename from app/src/main/java/org/mian/gitnex/helpers/MemorizingActivity.java rename to app/src/main/java/org/mian/gitnex/helpers/ssl/MemorizingActivity.java index ee20979e..0003e7fc 100644 --- a/app/src/main/java/org/mian/gitnex/helpers/MemorizingActivity.java +++ b/app/src/main/java/org/mian/gitnex/helpers/ssl/MemorizingActivity.java @@ -1,4 +1,4 @@ -package org.mian.gitnex.helpers; +package org.mian.gitnex.helpers.ssl; import android.app.Activity; import android.app.AlertDialog; @@ -32,12 +32,14 @@ public class MemorizingActivity extends Activity { builder.setOnCancelListener(dialog -> onSendResult(decisionId, MTMDecision.DECISION_ABORT)); builder.create().show(); + } private void onSendResult(int decisionId, int decision) { MemorizingTrustManager.interactResult(decisionId, decision); finish(); + } } \ No newline at end of file diff --git a/app/src/main/java/org/mian/gitnex/helpers/MemorizingTrustManager.java b/app/src/main/java/org/mian/gitnex/helpers/ssl/MemorizingTrustManager.java similarity index 97% rename from app/src/main/java/org/mian/gitnex/helpers/MemorizingTrustManager.java rename to app/src/main/java/org/mian/gitnex/helpers/ssl/MemorizingTrustManager.java index ece64672..292b5379 100644 --- a/app/src/main/java/org/mian/gitnex/helpers/MemorizingTrustManager.java +++ b/app/src/main/java/org/mian/gitnex/helpers/ssl/MemorizingTrustManager.java @@ -1,19 +1,14 @@ -package org.mian.gitnex.helpers; +package org.mian.gitnex.helpers.ssl; -import android.annotation.TargetApi; -import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.net.Uri; +import android.os.Handler; import android.util.Base64; import android.util.SparseArray; -import android.os.Build; -import android.os.Handler; - import androidx.core.app.NotificationCompat; import org.mian.gitnex.R; import java.io.ByteArrayInputStream; @@ -21,20 +16,22 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.security.cert.*; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.Arrays; -import java.util.logging.Level; -import java.util.logging.Logger; +import java.security.cert.CertPathValidatorException; +import java.security.cert.Certificate; +import java.security.cert.CertificateEncodingException; +import java.security.cert.CertificateException; +import java.security.cert.CertificateExpiredException; +import java.security.cert.CertificateParsingException; +import java.security.cert.X509Certificate; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Enumeration; import java.util.List; import java.util.Locale; - import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1d24ad5e..5c9368d8 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -63,7 +63,6 @@ In Gitea anmelden 1- Wähle das richtige Protokoll (https oder http) \ N2- Gebe die Gitea-URL ein, z.B. try.gitea.io \n3- Falls du 2FA aktiviert hast, gib den Code in das OTP-Code Feld ein. \n4- Für HTTP basic auth nutze BENUTZERNAME@DOMAIN.COM im URL Feld Falscher Benutzername/Passwort - Verbindung zum Host fehlgeschlagen. Bitte prüfen Sie Ihre URL und den Port auf etwaige Fehler. Es wird nicht empfohlen, das HTTP-Protokoll zu verwenden, es sei denn, du testest in einem lokalen Netzwerk. Fehlerhaftes JSON erhalten. Serveranfrage war nicht erfolgreich. Instanzen-URL ist erforderlich diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e95e0430..c70314e0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -92,7 +92,7 @@ 1- Choose the correct protocol(https or http). \n2- Enter Gitea url e.g: try.gitea.io. \n3- If you have enabled 2FA for your account, enter the code in the OTP Code field. \n4- For HTTP basic auth use USERNAME@DOMAIN.COM in the URL field. Wrong username/password :// - Could\'nt connect to host. Please check your URL or port for any errors. + Couldn\'t connect to host. Please check your URL or port for any errors. It is not recommended to use HTTP protocol unless you are testing on local network. Malformed JSON was received. Server response was not successful. Instance URL is required @@ -580,7 +580,7 @@ Server could not authenticate as \"%s\". The certificate is only valid for: Do you want to connect anyway? Certificate details: - Always + Trust Once Abort