From 251bb3ae19e0f37c5a74a3bc48f79baf46710f83 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Mon, 19 Aug 2019 10:02:30 +0200 Subject: [PATCH 1/3] no need to use owncloudClient Signed-off-by: tobiasKaminsky --- .../client/network/ConnectivityServiceImpl.java | 17 ++++------------- .../nextcloud/client/network/NetworkModule.java | 4 +--- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java b/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java index 23d12f61a907..f2eb54c4aa08 100644 --- a/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java +++ b/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java @@ -21,18 +21,16 @@ package com.nextcloud.client.network; import android.accounts.Account; -import android.accounts.AuthenticatorException; -import android.accounts.OperationCanceledException; import android.net.ConnectivityManager; import android.net.NetworkInfo; import com.evernote.android.job.JobRequest; import com.nextcloud.client.account.UserAccountManager; import com.owncloud.android.lib.common.OwnCloudAccount; -import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.status.OwnCloudVersion; +import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.GetMethod; import org.json.JSONObject; @@ -48,7 +46,6 @@ class ConnectivityServiceImpl implements ConnectivityService { private ConnectivityManager connectivityManager; private UserAccountManager accountManager; - private ClientFactory clientFactory; private GetRequestBuilder requestBuilder; static class GetRequestBuilder implements Function1 { @@ -60,11 +57,9 @@ public GetMethod invoke(String url) { ConnectivityServiceImpl(ConnectivityManager connectivityManager, UserAccountManager accountManager, - ClientFactory clientFactory, GetRequestBuilder requestBuilder) { this.connectivityManager = connectivityManager; this.accountManager = accountManager; - this.clientFactory = clientFactory; this.requestBuilder = requestBuilder; } @@ -73,8 +68,8 @@ public boolean isInternetWalled() { if (isOnlineWithWifi()) { try { Account account = accountManager.getCurrentAccount(); - if (account != null) { - OwnCloudAccount ocAccount = accountManager.getCurrentOwnCloudAccount(); + OwnCloudAccount ocAccount = accountManager.getCurrentOwnCloudAccount(); + if (account != null && ocAccount != null) { OwnCloudVersion serverVersion = accountManager.getServerVersion(account); String url; @@ -85,7 +80,7 @@ public boolean isInternetWalled() { } GetMethod get = requestBuilder.invoke(url); - OwnCloudClient client = clientFactory.create(account); + HttpClient client = new HttpClient(); int status = client.executeMethod(get); @@ -110,10 +105,6 @@ public boolean isInternetWalled() { } } catch (IOException e) { Log_OC.e(TAG, "Error checking internet connection", e); - } catch (com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException e) { - Log_OC.e(TAG, "Account not found", e); - } catch (OperationCanceledException | AuthenticatorException e) { - Log_OC.e(TAG, e.getMessage()); } } else { return getActiveNetworkType() == JobRequest.NetworkType.ANY; diff --git a/src/main/java/com/nextcloud/client/network/NetworkModule.java b/src/main/java/com/nextcloud/client/network/NetworkModule.java index 61634af7a964..e460fb40f9d2 100644 --- a/src/main/java/com/nextcloud/client/network/NetworkModule.java +++ b/src/main/java/com/nextcloud/client/network/NetworkModule.java @@ -35,11 +35,9 @@ public class NetworkModule { @Provides ConnectivityService connectivityService(ConnectivityManager connectivityManager, - UserAccountManager accountManager, - ClientFactory clientFactory) { + UserAccountManager accountManager) { return new ConnectivityServiceImpl(connectivityManager, accountManager, - clientFactory, new ConnectivityServiceImpl.GetRequestBuilder()); } From 8a30677577d09b588dcac1f92eb731caf34ed3ef Mon Sep 17 00:00:00 2001 From: nextcloud-android-bot Date: Tue, 20 Aug 2019 14:59:49 +0000 Subject: [PATCH 2/3] Drone: update FindBugs results to reflect reduced error/warning count [skip ci] Signed-off-by: nextcloud-android-bot --- scripts/analysis/findbugs-results.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/analysis/findbugs-results.txt b/scripts/analysis/findbugs-results.txt index 36352541cc85..8d4011ad25d8 100644 --- a/scripts/analysis/findbugs-results.txt +++ b/scripts/analysis/findbugs-results.txt @@ -1 +1 @@ -413 +412 \ No newline at end of file From 6473e7ed76e679d9ec8ee2880dcd38eaa88d59ad Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Wed, 21 Aug 2019 07:31:10 +0200 Subject: [PATCH 3/3] fix unit tests Signed-off-by: tobiasKaminsky --- .../nextcloud/client/account/UserAccountManagerImpl.java | 3 ++- .../java/com/nextcloud/client/network/ClientFactory.java | 4 ++++ .../com/nextcloud/client/network/ClientFactoryImpl.java | 7 +++++++ .../nextcloud/client/network/ConnectivityServiceImpl.java | 5 ++++- .../java/com/nextcloud/client/network/NetworkModule.java | 4 +++- .../nextcloud/client/network/ConnectivityServiceTest.kt | 6 +++--- 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java b/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java index c9689a6e1ab5..575580f04956 100644 --- a/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java +++ b/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java @@ -145,7 +145,8 @@ public OwnCloudAccount getCurrentOwnCloudAccount() { try { Account currentPlatformAccount = getCurrentAccount(); return new OwnCloudAccount(currentPlatformAccount, context); - } catch (com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException ex) { + } catch (com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException | + IllegalArgumentException ex) { return null; } } diff --git a/src/main/java/com/nextcloud/client/network/ClientFactory.java b/src/main/java/com/nextcloud/client/network/ClientFactory.java index 363cc04ddecf..affbb34c79bc 100644 --- a/src/main/java/com/nextcloud/client/network/ClientFactory.java +++ b/src/main/java/com/nextcloud/client/network/ClientFactory.java @@ -29,6 +29,8 @@ import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.accounts.AccountUtils; +import org.apache.commons.httpclient.HttpClient; + import java.io.IOException; public interface ClientFactory { @@ -46,4 +48,6 @@ OwnCloudClient create(Uri uri, boolean useNextcloudUserAgent); OwnCloudClient create(Uri uri, boolean followRedirects); + + HttpClient createPlainClient(); } diff --git a/src/main/java/com/nextcloud/client/network/ClientFactoryImpl.java b/src/main/java/com/nextcloud/client/network/ClientFactoryImpl.java index e4b7c5da9271..cf24058f1449 100644 --- a/src/main/java/com/nextcloud/client/network/ClientFactoryImpl.java +++ b/src/main/java/com/nextcloud/client/network/ClientFactoryImpl.java @@ -31,6 +31,8 @@ import com.owncloud.android.lib.common.OwnCloudClientFactory; import com.owncloud.android.lib.common.accounts.AccountUtils; +import org.apache.commons.httpclient.HttpClient; + import java.io.IOException; class ClientFactoryImpl implements ClientFactory { @@ -64,4 +66,9 @@ public OwnCloudClient create(Uri uri, boolean followRedirects, boolean useNextcl public OwnCloudClient create(Uri uri, boolean followRedirects) { return OwnCloudClientFactory.createOwnCloudClient(uri, context, followRedirects); } + + @Override + public HttpClient createPlainClient() { + return new HttpClient(); + } } diff --git a/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java b/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java index f2eb54c4aa08..9060b7922ad3 100644 --- a/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java +++ b/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java @@ -46,6 +46,7 @@ class ConnectivityServiceImpl implements ConnectivityService { private ConnectivityManager connectivityManager; private UserAccountManager accountManager; + private ClientFactory clientFactory; private GetRequestBuilder requestBuilder; static class GetRequestBuilder implements Function1 { @@ -57,9 +58,11 @@ public GetMethod invoke(String url) { ConnectivityServiceImpl(ConnectivityManager connectivityManager, UserAccountManager accountManager, + ClientFactory clientFactory, GetRequestBuilder requestBuilder) { this.connectivityManager = connectivityManager; this.accountManager = accountManager; + this.clientFactory = clientFactory; this.requestBuilder = requestBuilder; } @@ -80,7 +83,7 @@ public boolean isInternetWalled() { } GetMethod get = requestBuilder.invoke(url); - HttpClient client = new HttpClient(); + HttpClient client = clientFactory.createPlainClient(); int status = client.executeMethod(get); diff --git a/src/main/java/com/nextcloud/client/network/NetworkModule.java b/src/main/java/com/nextcloud/client/network/NetworkModule.java index e460fb40f9d2..61634af7a964 100644 --- a/src/main/java/com/nextcloud/client/network/NetworkModule.java +++ b/src/main/java/com/nextcloud/client/network/NetworkModule.java @@ -35,9 +35,11 @@ public class NetworkModule { @Provides ConnectivityService connectivityService(ConnectivityManager connectivityManager, - UserAccountManager accountManager) { + UserAccountManager accountManager, + ClientFactory clientFactory) { return new ConnectivityServiceImpl(connectivityManager, accountManager, + clientFactory, new ConnectivityServiceImpl.GetRequestBuilder()); } diff --git a/src/test/java/com/nextcloud/client/network/ConnectivityServiceTest.kt b/src/test/java/com/nextcloud/client/network/ConnectivityServiceTest.kt index 3fbfec5399d5..23933fbfad53 100644 --- a/src/test/java/com/nextcloud/client/network/ConnectivityServiceTest.kt +++ b/src/test/java/com/nextcloud/client/network/ConnectivityServiceTest.kt @@ -29,8 +29,8 @@ import com.nhaarman.mockitokotlin2.mock import com.nhaarman.mockitokotlin2.verify import com.nhaarman.mockitokotlin2.whenever import com.owncloud.android.lib.common.OwnCloudAccount -import com.owncloud.android.lib.common.OwnCloudClient import com.owncloud.android.lib.resources.status.OwnCloudVersion +import org.apache.commons.httpclient.HttpClient import org.apache.commons.httpclient.HttpStatus import org.apache.commons.httpclient.methods.GetMethod import org.junit.Assert.assertFalse @@ -77,7 +77,7 @@ class ConnectivityServiceTest { lateinit var clientFactory: ClientFactory @Mock - lateinit var client: OwnCloudClient + lateinit var client: HttpClient @Mock lateinit var getRequest: GetMethod @@ -107,7 +107,7 @@ class ConnectivityServiceTest { ) whenever(platformConnectivityManager.activeNetworkInfo).thenReturn(networkInfo) whenever(requestBuilder.invoke(any())).thenReturn(getRequest) - whenever(clientFactory.create(any())).thenReturn(client) + whenever(clientFactory.createPlainClient()).thenReturn(client) whenever(accountManager.currentOwnCloudAccount).thenReturn(ownCloudAccount) whenever(accountManager.currentAccount).thenReturn(platformAccount) whenever(baseServerUri.toString()).thenReturn(SERVER_BASE_URL)