Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
隐藏空白更改
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
文本样式
更改外观
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Diff
创建于
6年前
差异永不过期
清除
导出
分享
解释
69 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
205 行
全部复制
84 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
230 行
全部复制
package com.pubnub.api.managers;
package com.pubnub.api.managers;
复制
已复制
复制
已复制
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;
复制
已复制
复制
已复制
import lombok.Getter;
import okhttp3.OkHttpClient;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.Retrofit;
复制
已复制
复制
已复制
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 {
复制
已复制
复制
已复制
private PubNub pubnub;
private PubNub pubnub;
复制
已复制
复制
已复制
private SignatureInterceptor signatureInterceptor;
private SignatureInterceptor signatureInterceptor;
复制
已复制
复制
已复制
private OkHttpClient transactionClientInstance;
private OkHttpClient transactionClientInstance;
private OkHttpClient subscriptionClientInstance;
private OkHttpClient subscriptionClientInstance;
复制
已复制
复制
已复制
// services
// services
复制
已复制
复制
已复制
@Getter
private PresenceService presenceService;
private PresenceService presenceService;
复制
已复制
复制
已复制
@Getter
private HistoryService historyService;
private HistoryService historyService;
复制
已复制
复制
已复制
@Getter
private PushService pushService;
private PushService pushService;
复制
已复制
复制
已复制
@Getter
private AccessManagerService accessManagerService;
private AccessManagerService accessManagerService;
复制
已复制
复制
已复制
@Getter
private ChannelGroupService channelGroupService;
private ChannelGroupService channelGroupService;
复制
已复制
复制
已复制
@Getter
private TimeService timeService;
private TimeService timeService;
复制
已复制
复制
已复制
@Getter
private PublishService publishService;
private PublishService publishService;
复制
已复制
复制
已复制
@Getter
private SubscribeService subscribeService;
private SubscribeService subscribeService;
复制
已复制
复制
已复制
@Getter
private SignalService signalService;
private SignalService signalService;
复制
已复制
复制
已复制
@Getter
private UserService userService;
private UserService userService;
复制
已复制
复制
已复制
@Getter
private SpaceService spaceService;
private SpaceService spaceService;
复制
已复制
复制
已复制
@Getter
private MembershipService membershipService;
private MembershipService membershipService;
复制
已复制
复制
已复制
@Getter
private MemberService memberService;
private MemberService memberService;
复制
已复制
复制
已复制
@Getter
private MessageActionService messageActionService;
private MessageActionService messageActionService;
复制
已复制
复制
已复制
@Getter
private Retrofit transactionInstance;
private Retrofit transactionInstance;
复制
已复制
复制
已复制
@Getter
private Retrofit subscriptionInstance;
private Retrofit subscriptionInstance;
public RetrofitManager(PubNub pubNubInstance) {
public RetrofitManager(PubNub pubNubInstance) {
this.pubnub = pubNubInstance;
this.pubnub = pubNubInstance;
复制
已复制
复制
已复制
this.signatureInterceptor = new SignatureInterceptor(pubNubInstance);
this.signatureInterceptor = new SignatureInterceptor(pubNubInstance);
复制
已复制
复制
已复制
if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) {
if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) {
复制
已复制
复制
已复制
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()
);
}
}
复制
已复制
复制
已复制
this.transactionInstance = createRetrofit(this.transactionClientInstance);
this.transactionInstance = createRetrofit(this.transactionClientInstance);
this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance);
this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance);
复制
已复制
复制
已复制
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();
复制
已复制
复制
已复制
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);
复制
已复制
复制
已复制
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);
}
}
复制
已复制
复制
已复制
if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) {
if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) {
httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor());
httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor());
}
}
复制
已复制
复制
已复制
if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) {
if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) {
复制
已复制
复制
已复制
httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(),
httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(),
pnConfiguration.getX509ExtendedTrustManager());
pnConfiguration.getX509ExtendedTrustManager());
}
}
复制
已复制
复制
已复制
if (pnConfiguration.getConnectionSpec() != null) {
if (pnConfiguration.getConnectionSpec() != null) {
httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec()));
httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec()));
}
}
复制
已复制
复制
已复制
if (pnConfiguration.getHostnameVerifier() != null) {
if (pnConfiguration.getHostnameVerifier() != null) {
httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier());
httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier());
}
}
复制
已复制
复制
已复制
if (pubnub.getConfiguration().getProxy() != null) {
if (pubnub.getConfiguration().getProxy() != null) {
httpClient.proxy(pubnub.getConfiguration().getProxy());
httpClient.proxy(pubnub.getConfiguration().getProxy());
}
}
复制
已复制
复制
已复制
if (pubnub.getConfiguration().getProxySelector() != null) {
if (pubnub.getConfiguration().getProxySelector() != null) {
httpClient.proxySelector(pubnub.getConfiguration().getProxySelector());
httpClient.proxySelector(pubnub.getConfiguration().getProxySelector());
}
}
复制
已复制
复制
已复制
if (pubnub.getConfiguration().getProxyAuthenticator() != null) {
if (pubnub.getConfiguration().getProxyAuthenticator() != null) {
httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator());
httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator());
}
}
复制
已复制
复制
已复制
if (pubnub.getConfiguration().getCertificatePinner() != null) {
if (pubnub.getConfiguration().getCertificatePinner() != null) {
httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner());
httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner());
}
}
复制
已复制
复制
已复制
httpClient.addInterceptor(this.signatureInterceptor);
httpClient.addInterceptor(this.signatureInterceptor);
复制
已复制
复制
已复制
OkHttpClient constructedClient = httpClient.build();
OkHttpClient constructedClient = httpClient.build();
复制
已复制
复制
已复制
if (pubnub.getConfiguration().getMaximumConnections() != null) {
if (pubnub.getConfiguration().getMaximumConnections() != null) {
constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections());
constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections());
}
}
复制
已复制
复制
已复制
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();
复制
已复制
复制
已复制
if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub));
retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub));
}
}
复制
已复制
复制
已复制
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);
}
}
复制
已复制
复制
已复制
return retrofitBuilder.build();
return retrofitBuilder.build();
}
}
复制
已复制
复制
已复制
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();
}
}
}
}
复制
已复制
复制
已复制
@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;
}
}
}
复制
已复制
复制
已复制
已保存差异
原始文本
打开文件
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(); } } }
更改后文本
打开文件
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; } }
查找差异