Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Text styles
Change appearance
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Diff
Created
6 years ago
Diff never expires
Clear
Export
Share
Explain
69 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
205 lines
Copy
84 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
230 lines
Copy
package com.pubnub.api.managers;
package com.pubnub.api.managers;
Copy
Copied
Copy
Copied
import com.pubnub.api.PNConfiguration;
import com.pubnub.api.PNConfiguration;
import com.pubnub.api.PubNub;
import com.pubnub.api.PubNub;
import com.pubnub.api.endpoints.vendor.AppEngineFactory;
import com.pubnub.api.endpoints.vendor.AppEngineFactory;
import com.pubnub.api.enums.PNLogVerbosity;
import com.pubnub.api.enums.PNLogVerbosity;
import com.pubnub.api.interceptors.SignatureInterceptor;
import com.pubnub.api.interceptors.SignatureInterceptor;
import com.pubnub.api.services.AccessManagerService;
import com.pubnub.api.services.AccessManagerService;
import com.pubnub.api.services.ChannelGroupService;
import com.pubnub.api.services.ChannelGroupService;
import com.pubnub.api.services.HistoryService;
import com.pubnub.api.services.HistoryService;
import com.pubnub.api.services.MemberService;
import com.pubnub.api.services.MemberService;
import com.pubnub.api.services.MembershipService;
import com.pubnub.api.services.MembershipService;
import com.pubnub.api.services.MessageActionService;
import com.pubnub.api.services.MessageActionService;
import com.pubnub.api.services.PresenceService;
import com.pubnub.api.services.PresenceService;
import com.pubnub.api.services.PublishService;
import com.pubnub.api.services.PublishService;
import com.pubnub.api.services.PushService;
import com.pubnub.api.services.PushService;
import com.pubnub.api.services.SignalService;
import com.pubnub.api.services.SignalService;
import com.pubnub.api.services.SpaceService;
import com.pubnub.api.services.SpaceService;
import com.pubnub.api.services.SubscribeService;
import com.pubnub.api.services.SubscribeService;
import com.pubnub.api.services.TimeService;
import com.pubnub.api.services.TimeService;
import com.pubnub.api.services.UserService;
import com.pubnub.api.services.UserService;
Copy
Copied
Copy
Copied
import lombok.Getter;
import okhttp3.OkHttpClient;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.Retrofit;
Copy
Copied
Copy
Copied
import java.util.Collections;
import java.util.Collections;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeUnit;
public class RetrofitManager {
public class RetrofitManager {
Copy
Copied
Copy
Copied
private PubNub pubnub;
private PubNub pubnub;
Copy
Copied
Copy
Copied
private SignatureInterceptor signatureInterceptor;
private SignatureInterceptor signatureInterceptor;
Copy
Copied
Copy
Copied
private OkHttpClient transactionClientInstance;
private OkHttpClient transactionClientInstance;
private OkHttpClient subscriptionClientInstance;
private OkHttpClient subscriptionClientInstance;
Copy
Copied
Copy
Copied
// services
// services
Copy
Copied
Copy
Copied
@Getter
private PresenceService presenceService;
private PresenceService presenceService;
Copy
Copied
Copy
Copied
@Getter
private HistoryService historyService;
private HistoryService historyService;
Copy
Copied
Copy
Copied
@Getter
private PushService pushService;
private PushService pushService;
Copy
Copied
Copy
Copied
@Getter
private AccessManagerService accessManagerService;
private AccessManagerService accessManagerService;
Copy
Copied
Copy
Copied
@Getter
private ChannelGroupService channelGroupService;
private ChannelGroupService channelGroupService;
Copy
Copied
Copy
Copied
@Getter
private TimeService timeService;
private TimeService timeService;
Copy
Copied
Copy
Copied
@Getter
private PublishService publishService;
private PublishService publishService;
Copy
Copied
Copy
Copied
@Getter
private SubscribeService subscribeService;
private SubscribeService subscribeService;
Copy
Copied
Copy
Copied
@Getter
private SignalService signalService;
private SignalService signalService;
Copy
Copied
Copy
Copied
@Getter
private UserService userService;
private UserService userService;
Copy
Copied
Copy
Copied
@Getter
private SpaceService spaceService;
private SpaceService spaceService;
Copy
Copied
Copy
Copied
@Getter
private MembershipService membershipService;
private MembershipService membershipService;
Copy
Copied
Copy
Copied
@Getter
private MemberService memberService;
private MemberService memberService;
Copy
Copied
Copy
Copied
@Getter
private MessageActionService messageActionService;
private MessageActionService messageActionService;
Copy
Copied
Copy
Copied
@Getter
private Retrofit transactionInstance;
private Retrofit transactionInstance;
Copy
Copied
Copy
Copied
@Getter
private Retrofit subscriptionInstance;
private Retrofit subscriptionInstance;
public RetrofitManager(PubNub pubNubInstance) {
public RetrofitManager(PubNub pubNubInstance) {
this.pubnub = pubNubInstance;
this.pubnub = pubNubInstance;
Copy
Copied
Copy
Copied
this.signatureInterceptor = new SignatureInterceptor(pubNubInstance);
this.signatureInterceptor = new SignatureInterceptor(pubNubInstance);
Copy
Copied
Copy
Copied
if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) {
if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) {
Copy
Copied
Copy
Copied
this.transactionClientInstance = createOkHttpClient(
this.transactionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(),
this.subscriptionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getSubscribeTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
this.pubnub.getConfiguration().getConnectTimeout()
);
this.subscriptionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getSubscribeTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
}
}
Copy
Copied
Copy
Copied
this.transactionInstance = createRetrofit(this.transactionClientInstance);
this.transactionInstance = createRetrofit(this.transactionClientInstance);
this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance);
this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance);
Copy
Copied
Copy
Copied
this.presenceService = transactionInstance.create(PresenceService.class);
this.presenceService = transactionInstance.create(PresenceService.class);
this.historyService = transactionInstance.create(HistoryService.class);
this.historyService = transactionInstance.create(HistoryService.class);
this.pushService = transactionInstance.create(PushService.class);
this.pushService = transactionInstance.create(PushService.class);
this.accessManagerService = transactionInstance.create(AccessManagerService.class);
this.accessManagerService = transactionInstance.create(AccessManagerService.class);
this.channelGroupService = transactionInstance.create(ChannelGroupService.class);
this.channelGroupService = transactionInstance.create(ChannelGroupService.class);
this.publishService = transactionInstance.create(PublishService.class);
this.publishService = transactionInstance.create(PublishService.class);
this.subscribeService = subscriptionInstance.create(SubscribeService.class);
this.subscribeService = subscriptionInstance.create(SubscribeService.class);
this.timeService = transactionInstance.create(TimeService.class);
this.timeService = transactionInstance.create(TimeService.class);
this.signalService = transactionInstance.create(SignalService.class);
this.signalService = transactionInstance.create(SignalService.class);
this.userService = transactionInstance.create(UserService.class);
this.userService = transactionInstance.create(UserService.class);
this.spaceService = transactionInstance.create(SpaceService.class);
this.spaceService = transactionInstance.create(SpaceService.class);
this.membershipService = transactionInstance.create(MembershipService.class);
this.membershipService = transactionInstance.create(MembershipService.class);
this.memberService = transactionInstance.create(MemberService.class);
this.memberService = transactionInstance.create(MemberService.class);
this.messageActionService = transactionInstance.create(MessageActionService.class);
this.messageActionService = transactionInstance.create(MessageActionService.class);
}
}
private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) {
private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) {
PNConfiguration pnConfiguration = pubnub.getConfiguration();
PNConfiguration pnConfiguration = pubnub.getConfiguration();
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
Copy
Copied
Copy
Copied
httpClient.retryOnConnectionFailure(
false
);
httpClient.retryOnConnectionFailure(
true
);
httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS);
httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS);
httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS);
httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS);
Copy
Copied
Copy
Copied
if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) {
if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient.addInterceptor(logging);
httpClient.addInterceptor(logging);
}
}
Copy
Copied
Copy
Copied
if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) {
if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) {
httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor());
httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor());
}
}
Copy
Copied
Copy
Copied
if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) {
if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) {
Copy
Copied
Copy
Copied
httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(),
httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(),
pnConfiguration.getX509ExtendedTrustManager());
pnConfiguration.getX509ExtendedTrustManager());
}
}
Copy
Copied
Copy
Copied
if (pnConfiguration.getConnectionSpec() != null) {
if (pnConfiguration.getConnectionSpec() != null) {
httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec()));
httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec()));
}
}
Copy
Copied
Copy
Copied
if (pnConfiguration.getHostnameVerifier() != null) {
if (pnConfiguration.getHostnameVerifier() != null) {
httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier());
httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier());
}
}
Copy
Copied
Copy
Copied
if (pubnub.getConfiguration().getProxy() != null) {
if (pubnub.getConfiguration().getProxy() != null) {
httpClient.proxy(pubnub.getConfiguration().getProxy());
httpClient.proxy(pubnub.getConfiguration().getProxy());
}
}
Copy
Copied
Copy
Copied
if (pubnub.getConfiguration().getProxySelector() != null) {
if (pubnub.getConfiguration().getProxySelector() != null) {
httpClient.proxySelector(pubnub.getConfiguration().getProxySelector());
httpClient.proxySelector(pubnub.getConfiguration().getProxySelector());
}
}
Copy
Copied
Copy
Copied
if (pubnub.getConfiguration().getProxyAuthenticator() != null) {
if (pubnub.getConfiguration().getProxyAuthenticator() != null) {
httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator());
httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator());
}
}
Copy
Copied
Copy
Copied
if (pubnub.getConfiguration().getCertificatePinner() != null) {
if (pubnub.getConfiguration().getCertificatePinner() != null) {
httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner());
httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner());
}
}
Copy
Copied
Copy
Copied
httpClient.addInterceptor(this.signatureInterceptor);
httpClient.addInterceptor(this.signatureInterceptor);
Copy
Copied
Copy
Copied
OkHttpClient constructedClient = httpClient.build();
OkHttpClient constructedClient = httpClient.build();
Copy
Copied
Copy
Copied
if (pubnub.getConfiguration().getMaximumConnections() != null) {
if (pubnub.getConfiguration().getMaximumConnections() != null) {
constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections());
constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections());
}
}
Copy
Copied
Copy
Copied
return constructedClient;
return constructedClient;
}
}
private Retrofit createRetrofit(OkHttpClient client) {
private Retrofit createRetrofit(OkHttpClient client) {
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
Copy
Copied
Copy
Copied
if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub));
retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub));
}
}
Copy
Copied
Copy
Copied
retrofitBuilder = retrofitBuilder
.baseUrl(pubnub.getBaseUrl())
.addConverterFactory(this.pubnub.getMapper().getConverterFactory());
retrofitBuilder = retrofitBuilder
.baseUrl(pubnub.getBaseUrl())
.addConverterFactory(this.pubnub.getMapper().getConverterFactory());
if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
retrofitBuilder = retrofitBuilder.client(client);
retrofitBuilder = retrofitBuilder.client(client);
}
}
Copy
Copied
Copy
Copied
return retrofitBuilder.build();
return retrofitBuilder.build();
}
}
Copy
Copied
Copy
Copied
public void destroy(boolean force) {
public void destroy(boolean force) {
if (this.transactionClientInstance != null) {
if (this.transactionClientInstance != null) {
closeExecutor(this.transactionClientInstance, force);
closeExecutor(this.transactionClientInstance, force);
}
}
if (this.subscriptionClientInstance != null) {
if (this.subscriptionClientInstance != null) {
closeExecutor(this.subscriptionClientInstance, force);
closeExecutor(this.subscriptionClientInstance, force);
}
}
}
}
private void closeExecutor(OkHttpClient client, boolean force) {
private void closeExecutor(OkHttpClient client, boolean force) {
client.dispatcher().cancelAll();
client.dispatcher().cancelAll();
if (force) {
if (force) {
client.connectionPool().evictAll();
client.connectionPool().evictAll();
ExecutorService executorService = client.dispatcher().executorService();
ExecutorService executorService = client.dispatcher().executorService();
executorService.shutdown();
executorService.shutdown();
}
}
}
}
Copy
Copied
Copy
Copied
@java.lang.SuppressWarnings("all")
public PresenceService getPresenceService() {
return this.presenceService;
}
@java.lang.SuppressWarnings("all")
public HistoryService getHistoryService() {
return this.historyService;
}
@java.lang.SuppressWarnings("all")
public PushService getPushService() {
return this.pushService;
}
@java.lang.SuppressWarnings("all")
public AccessManagerService getAccessManagerService() {
return this.accessManagerService;
}
@java.lang.SuppressWarnings("all")
public ChannelGroupService getChannelGroupService() {
return this.channelGroupService;
}
@java.lang.SuppressWarnings("all")
public TimeService getTimeService() {
return this.timeService;
}
@java.lang.SuppressWarnings("all")
public PublishService getPublishService() {
return this.publishService;
}
@java.lang.SuppressWarnings("all")
public SubscribeService getSubscribeService() {
return this.subscribeService;
}
@java.lang.SuppressWarnings("all")
public SignalService getSignalService() {
return this.signalService;
}
@java.lang.SuppressWarnings("all")
public UserService getUserService() {
return this.userService;
}
@java.lang.SuppressWarnings("all")
public SpaceService getSpaceService() {
return this.spaceService;
}
@java.lang.SuppressWarnings("all")
public MembershipService getMembershipService() {
return this.membershipService;
}
@java.lang.SuppressWarnings("all")
public MemberService getMemberService() {
return this.memberService;
}
@java.lang.SuppressWarnings("all")
public MessageActionService getMessageActionService() {
return this.messageActionService;
}
@java.lang.SuppressWarnings("all")
public Retrofit getTransactionInstance() {
return this.transactionInstance;
}
@java.lang.SuppressWarnings("all")
public Retrofit getSubscriptionInstance() {
return this.subscriptionInstance;
}
}
}
Copy
Copied
Copy
Copied
Saved diffs
Original text
Open file
package com.pubnub.api.managers; import com.pubnub.api.PNConfiguration; import com.pubnub.api.PubNub; import com.pubnub.api.endpoints.vendor.AppEngineFactory; import com.pubnub.api.enums.PNLogVerbosity; import com.pubnub.api.interceptors.SignatureInterceptor; import com.pubnub.api.services.AccessManagerService; import com.pubnub.api.services.ChannelGroupService; import com.pubnub.api.services.HistoryService; import com.pubnub.api.services.MemberService; import com.pubnub.api.services.MembershipService; import com.pubnub.api.services.MessageActionService; import com.pubnub.api.services.PresenceService; import com.pubnub.api.services.PublishService; import com.pubnub.api.services.PushService; import com.pubnub.api.services.SignalService; import com.pubnub.api.services.SpaceService; import com.pubnub.api.services.SubscribeService; import com.pubnub.api.services.TimeService; import com.pubnub.api.services.UserService; import lombok.Getter; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import java.util.Collections; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; public class RetrofitManager { private PubNub pubnub; private SignatureInterceptor signatureInterceptor; private OkHttpClient transactionClientInstance; private OkHttpClient subscriptionClientInstance; // services @Getter private PresenceService presenceService; @Getter private HistoryService historyService; @Getter private PushService pushService; @Getter private AccessManagerService accessManagerService; @Getter private ChannelGroupService channelGroupService; @Getter private TimeService timeService; @Getter private PublishService publishService; @Getter private SubscribeService subscribeService; @Getter private SignalService signalService; @Getter private UserService userService; @Getter private SpaceService spaceService; @Getter private MembershipService membershipService; @Getter private MemberService memberService; @Getter private MessageActionService messageActionService; @Getter private Retrofit transactionInstance; @Getter private Retrofit subscriptionInstance; public RetrofitManager(PubNub pubNubInstance) { this.pubnub = pubNubInstance; this.signatureInterceptor = new SignatureInterceptor(pubNubInstance); if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) { this.transactionClientInstance = createOkHttpClient( this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(), this.pubnub.getConfiguration().getConnectTimeout() ); this.subscriptionClientInstance = createOkHttpClient( this.pubnub.getConfiguration().getSubscribeTimeout(), this.pubnub.getConfiguration().getConnectTimeout() ); } this.transactionInstance = createRetrofit(this.transactionClientInstance); this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance); this.presenceService = transactionInstance.create(PresenceService.class); this.historyService = transactionInstance.create(HistoryService.class); this.pushService = transactionInstance.create(PushService.class); this.accessManagerService = transactionInstance.create(AccessManagerService.class); this.channelGroupService = transactionInstance.create(ChannelGroupService.class); this.publishService = transactionInstance.create(PublishService.class); this.subscribeService = subscriptionInstance.create(SubscribeService.class); this.timeService = transactionInstance.create(TimeService.class); this.signalService = transactionInstance.create(SignalService.class); this.userService = transactionInstance.create(UserService.class); this.spaceService = transactionInstance.create(SpaceService.class); this.membershipService = transactionInstance.create(MembershipService.class); this.memberService = transactionInstance.create(MemberService.class); this.messageActionService = transactionInstance.create(MessageActionService.class); } private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) { PNConfiguration pnConfiguration = pubnub.getConfiguration(); OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.retryOnConnectionFailure(false); httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS); httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS); if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(logging); } if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) { httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor()); } if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) { httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(), pnConfiguration.getX509ExtendedTrustManager()); } if (pnConfiguration.getConnectionSpec() != null) { httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec())); } if (pnConfiguration.getHostnameVerifier() != null) { httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier()); } if (pubnub.getConfiguration().getProxy() != null) { httpClient.proxy(pubnub.getConfiguration().getProxy()); } if (pubnub.getConfiguration().getProxySelector() != null) { httpClient.proxySelector(pubnub.getConfiguration().getProxySelector()); } if (pubnub.getConfiguration().getProxyAuthenticator() != null) { httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator()); } if (pubnub.getConfiguration().getCertificatePinner() != null) { httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner()); } httpClient.addInterceptor(this.signatureInterceptor); OkHttpClient constructedClient = httpClient.build(); if (pubnub.getConfiguration().getMaximumConnections() != null) { constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections()); } return constructedClient; } private Retrofit createRetrofit(OkHttpClient client) { Retrofit.Builder retrofitBuilder = new Retrofit.Builder(); if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub)); } retrofitBuilder = retrofitBuilder .baseUrl(pubnub.getBaseUrl()) .addConverterFactory(this.pubnub.getMapper().getConverterFactory()); if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder = retrofitBuilder.client(client); } return retrofitBuilder.build(); } public void destroy(boolean force) { if (this.transactionClientInstance != null) { closeExecutor(this.transactionClientInstance, force); } if (this.subscriptionClientInstance != null) { closeExecutor(this.subscriptionClientInstance, force); } } private void closeExecutor(OkHttpClient client, boolean force) { client.dispatcher().cancelAll(); if (force) { client.connectionPool().evictAll(); ExecutorService executorService = client.dispatcher().executorService(); executorService.shutdown(); } } }
Changed text
Open file
package com.pubnub.api.managers; import com.pubnub.api.PNConfiguration; import com.pubnub.api.PubNub; import com.pubnub.api.endpoints.vendor.AppEngineFactory; import com.pubnub.api.enums.PNLogVerbosity; import com.pubnub.api.interceptors.SignatureInterceptor; import com.pubnub.api.services.AccessManagerService; import com.pubnub.api.services.ChannelGroupService; import com.pubnub.api.services.HistoryService; import com.pubnub.api.services.MemberService; import com.pubnub.api.services.MembershipService; import com.pubnub.api.services.MessageActionService; import com.pubnub.api.services.PresenceService; import com.pubnub.api.services.PublishService; import com.pubnub.api.services.PushService; import com.pubnub.api.services.SignalService; import com.pubnub.api.services.SpaceService; import com.pubnub.api.services.SubscribeService; import com.pubnub.api.services.TimeService; import com.pubnub.api.services.UserService; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import java.util.Collections; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; public class RetrofitManager { private PubNub pubnub; private SignatureInterceptor signatureInterceptor; private OkHttpClient transactionClientInstance; private OkHttpClient subscriptionClientInstance; // services private PresenceService presenceService; private HistoryService historyService; private PushService pushService; private AccessManagerService accessManagerService; private ChannelGroupService channelGroupService; private TimeService timeService; private PublishService publishService; private SubscribeService subscribeService; private SignalService signalService; private UserService userService; private SpaceService spaceService; private MembershipService membershipService; private MemberService memberService; private MessageActionService messageActionService; private Retrofit transactionInstance; private Retrofit subscriptionInstance; public RetrofitManager(PubNub pubNubInstance) { this.pubnub = pubNubInstance; this.signatureInterceptor = new SignatureInterceptor(pubNubInstance); if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) { this.transactionClientInstance = createOkHttpClient(this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(), this.pubnub.getConfiguration().getConnectTimeout()); this.subscriptionClientInstance = createOkHttpClient(this.pubnub.getConfiguration().getSubscribeTimeout(), this.pubnub.getConfiguration().getConnectTimeout()); } this.transactionInstance = createRetrofit(this.transactionClientInstance); this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance); this.presenceService = transactionInstance.create(PresenceService.class); this.historyService = transactionInstance.create(HistoryService.class); this.pushService = transactionInstance.create(PushService.class); this.accessManagerService = transactionInstance.create(AccessManagerService.class); this.channelGroupService = transactionInstance.create(ChannelGroupService.class); this.publishService = transactionInstance.create(PublishService.class); this.subscribeService = subscriptionInstance.create(SubscribeService.class); this.timeService = transactionInstance.create(TimeService.class); this.signalService = transactionInstance.create(SignalService.class); this.userService = transactionInstance.create(UserService.class); this.spaceService = transactionInstance.create(SpaceService.class); this.membershipService = transactionInstance.create(MembershipService.class); this.memberService = transactionInstance.create(MemberService.class); this.messageActionService = transactionInstance.create(MessageActionService.class); } private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) { PNConfiguration pnConfiguration = pubnub.getConfiguration(); OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.retryOnConnectionFailure(true); httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS); httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS); if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(logging); } if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) { httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor()); } if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) { httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(), pnConfiguration.getX509ExtendedTrustManager()); } if (pnConfiguration.getConnectionSpec() != null) { httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec())); } if (pnConfiguration.getHostnameVerifier() != null) { httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier()); } if (pubnub.getConfiguration().getProxy() != null) { httpClient.proxy(pubnub.getConfiguration().getProxy()); } if (pubnub.getConfiguration().getProxySelector() != null) { httpClient.proxySelector(pubnub.getConfiguration().getProxySelector()); } if (pubnub.getConfiguration().getProxyAuthenticator() != null) { httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator()); } if (pubnub.getConfiguration().getCertificatePinner() != null) { httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner()); } httpClient.addInterceptor(this.signatureInterceptor); OkHttpClient constructedClient = httpClient.build(); if (pubnub.getConfiguration().getMaximumConnections() != null) { constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections()); } return constructedClient; } private Retrofit createRetrofit(OkHttpClient client) { Retrofit.Builder retrofitBuilder = new Retrofit.Builder(); if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub)); } retrofitBuilder = retrofitBuilder.baseUrl(pubnub.getBaseUrl()).addConverterFactory(this.pubnub.getMapper().getConverterFactory()); if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder = retrofitBuilder.client(client); } return retrofitBuilder.build(); } public void destroy(boolean force) { if (this.transactionClientInstance != null) { closeExecutor(this.transactionClientInstance, force); } if (this.subscriptionClientInstance != null) { closeExecutor(this.subscriptionClientInstance, force); } } private void closeExecutor(OkHttpClient client, boolean force) { client.dispatcher().cancelAll(); if (force) { client.connectionPool().evictAll(); ExecutorService executorService = client.dispatcher().executorService(); executorService.shutdown(); } } @java.lang.SuppressWarnings("all") public PresenceService getPresenceService() { return this.presenceService; } @java.lang.SuppressWarnings("all") public HistoryService getHistoryService() { return this.historyService; } @java.lang.SuppressWarnings("all") public PushService getPushService() { return this.pushService; } @java.lang.SuppressWarnings("all") public AccessManagerService getAccessManagerService() { return this.accessManagerService; } @java.lang.SuppressWarnings("all") public ChannelGroupService getChannelGroupService() { return this.channelGroupService; } @java.lang.SuppressWarnings("all") public TimeService getTimeService() { return this.timeService; } @java.lang.SuppressWarnings("all") public PublishService getPublishService() { return this.publishService; } @java.lang.SuppressWarnings("all") public SubscribeService getSubscribeService() { return this.subscribeService; } @java.lang.SuppressWarnings("all") public SignalService getSignalService() { return this.signalService; } @java.lang.SuppressWarnings("all") public UserService getUserService() { return this.userService; } @java.lang.SuppressWarnings("all") public SpaceService getSpaceService() { return this.spaceService; } @java.lang.SuppressWarnings("all") public MembershipService getMembershipService() { return this.membershipService; } @java.lang.SuppressWarnings("all") public MemberService getMemberService() { return this.memberService; } @java.lang.SuppressWarnings("all") public MessageActionService getMessageActionService() { return this.messageActionService; } @java.lang.SuppressWarnings("all") public Retrofit getTransactionInstance() { return this.transactionInstance; } @java.lang.SuppressWarnings("all") public Retrofit getSubscriptionInstance() { return this.subscriptionInstance; } }
Find difference