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; } }
尋找差異