mirror of
https://github.com/nextcloud/android.git
synced 2024-11-26 23:28:42 +03:00
Connectivity check: no need to use owncloudClient (#4344)
Connectivity check: no need to use owncloudClient
This commit is contained in:
commit
66a889825e
6 changed files with 21 additions and 15 deletions
|
@ -1 +1 @@
|
||||||
413
|
412
|
|
@ -145,7 +145,8 @@ public class UserAccountManagerImpl implements UserAccountManager {
|
||||||
try {
|
try {
|
||||||
Account currentPlatformAccount = getCurrentAccount();
|
Account currentPlatformAccount = getCurrentAccount();
|
||||||
return new OwnCloudAccount(currentPlatformAccount, context);
|
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;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,8 @@ import android.net.Uri;
|
||||||
import com.owncloud.android.lib.common.OwnCloudClient;
|
import com.owncloud.android.lib.common.OwnCloudClient;
|
||||||
import com.owncloud.android.lib.common.accounts.AccountUtils;
|
import com.owncloud.android.lib.common.accounts.AccountUtils;
|
||||||
|
|
||||||
|
import org.apache.commons.httpclient.HttpClient;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public interface ClientFactory {
|
public interface ClientFactory {
|
||||||
|
@ -46,4 +48,6 @@ public interface ClientFactory {
|
||||||
boolean useNextcloudUserAgent);
|
boolean useNextcloudUserAgent);
|
||||||
|
|
||||||
OwnCloudClient create(Uri uri, boolean followRedirects);
|
OwnCloudClient create(Uri uri, boolean followRedirects);
|
||||||
|
|
||||||
|
HttpClient createPlainClient();
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,8 @@ import com.owncloud.android.lib.common.OwnCloudClient;
|
||||||
import com.owncloud.android.lib.common.OwnCloudClientFactory;
|
import com.owncloud.android.lib.common.OwnCloudClientFactory;
|
||||||
import com.owncloud.android.lib.common.accounts.AccountUtils;
|
import com.owncloud.android.lib.common.accounts.AccountUtils;
|
||||||
|
|
||||||
|
import org.apache.commons.httpclient.HttpClient;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
class ClientFactoryImpl implements ClientFactory {
|
class ClientFactoryImpl implements ClientFactory {
|
||||||
|
@ -64,4 +66,9 @@ class ClientFactoryImpl implements ClientFactory {
|
||||||
public OwnCloudClient create(Uri uri, boolean followRedirects) {
|
public OwnCloudClient create(Uri uri, boolean followRedirects) {
|
||||||
return OwnCloudClientFactory.createOwnCloudClient(uri, context, followRedirects);
|
return OwnCloudClientFactory.createOwnCloudClient(uri, context, followRedirects);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HttpClient createPlainClient() {
|
||||||
|
return new HttpClient();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,18 +21,16 @@
|
||||||
package com.nextcloud.client.network;
|
package com.nextcloud.client.network;
|
||||||
|
|
||||||
import android.accounts.Account;
|
import android.accounts.Account;
|
||||||
import android.accounts.AuthenticatorException;
|
|
||||||
import android.accounts.OperationCanceledException;
|
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
|
|
||||||
import com.evernote.android.job.JobRequest;
|
import com.evernote.android.job.JobRequest;
|
||||||
import com.nextcloud.client.account.UserAccountManager;
|
import com.nextcloud.client.account.UserAccountManager;
|
||||||
import com.owncloud.android.lib.common.OwnCloudAccount;
|
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.common.utils.Log_OC;
|
||||||
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
|
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.HttpStatus;
|
||||||
import org.apache.commons.httpclient.methods.GetMethod;
|
import org.apache.commons.httpclient.methods.GetMethod;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -73,8 +71,8 @@ class ConnectivityServiceImpl implements ConnectivityService {
|
||||||
if (isOnlineWithWifi()) {
|
if (isOnlineWithWifi()) {
|
||||||
try {
|
try {
|
||||||
Account account = accountManager.getCurrentAccount();
|
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);
|
OwnCloudVersion serverVersion = accountManager.getServerVersion(account);
|
||||||
|
|
||||||
String url;
|
String url;
|
||||||
|
@ -85,7 +83,7 @@ class ConnectivityServiceImpl implements ConnectivityService {
|
||||||
}
|
}
|
||||||
|
|
||||||
GetMethod get = requestBuilder.invoke(url);
|
GetMethod get = requestBuilder.invoke(url);
|
||||||
OwnCloudClient client = clientFactory.create(account);
|
HttpClient client = clientFactory.createPlainClient();
|
||||||
|
|
||||||
int status = client.executeMethod(get);
|
int status = client.executeMethod(get);
|
||||||
|
|
||||||
|
@ -110,10 +108,6 @@ class ConnectivityServiceImpl implements ConnectivityService {
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log_OC.e(TAG, "Error checking internet connection", 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 {
|
} else {
|
||||||
return getActiveNetworkType() == JobRequest.NetworkType.ANY;
|
return getActiveNetworkType() == JobRequest.NetworkType.ANY;
|
||||||
|
|
|
@ -29,8 +29,8 @@ import com.nhaarman.mockitokotlin2.mock
|
||||||
import com.nhaarman.mockitokotlin2.verify
|
import com.nhaarman.mockitokotlin2.verify
|
||||||
import com.nhaarman.mockitokotlin2.whenever
|
import com.nhaarman.mockitokotlin2.whenever
|
||||||
import com.owncloud.android.lib.common.OwnCloudAccount
|
import com.owncloud.android.lib.common.OwnCloudAccount
|
||||||
import com.owncloud.android.lib.common.OwnCloudClient
|
|
||||||
import com.owncloud.android.lib.resources.status.OwnCloudVersion
|
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.HttpStatus
|
||||||
import org.apache.commons.httpclient.methods.GetMethod
|
import org.apache.commons.httpclient.methods.GetMethod
|
||||||
import org.junit.Assert.assertFalse
|
import org.junit.Assert.assertFalse
|
||||||
|
@ -77,7 +77,7 @@ class ConnectivityServiceTest {
|
||||||
lateinit var clientFactory: ClientFactory
|
lateinit var clientFactory: ClientFactory
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
lateinit var client: OwnCloudClient
|
lateinit var client: HttpClient
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
lateinit var getRequest: GetMethod
|
lateinit var getRequest: GetMethod
|
||||||
|
@ -107,7 +107,7 @@ class ConnectivityServiceTest {
|
||||||
)
|
)
|
||||||
whenever(platformConnectivityManager.activeNetworkInfo).thenReturn(networkInfo)
|
whenever(platformConnectivityManager.activeNetworkInfo).thenReturn(networkInfo)
|
||||||
whenever(requestBuilder.invoke(any())).thenReturn(getRequest)
|
whenever(requestBuilder.invoke(any())).thenReturn(getRequest)
|
||||||
whenever(clientFactory.create(any())).thenReturn(client)
|
whenever(clientFactory.createPlainClient()).thenReturn(client)
|
||||||
whenever(accountManager.currentOwnCloudAccount).thenReturn(ownCloudAccount)
|
whenever(accountManager.currentOwnCloudAccount).thenReturn(ownCloudAccount)
|
||||||
whenever(accountManager.currentAccount).thenReturn(platformAccount)
|
whenever(accountManager.currentAccount).thenReturn(platformAccount)
|
||||||
whenever(baseServerUri.toString()).thenReturn(SERVER_BASE_URL)
|
whenever(baseServerUri.toString()).thenReturn(SERVER_BASE_URL)
|
||||||
|
|
Loading…
Reference in a new issue