From 9d37de4bfc0a86eebc70e18f5887a9956b4c934e Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Sun, 30 Mar 2025 14:07:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E8=BF=9E=E6=8E=A5=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aes/build.properties | 4 +- libaes/build.properties | 4 +- .../libaes/winboll/WinBollClientService.java | 39 +--- .../WinBollServerConnectionTestThread.java | 149 -------------- .../WinBollServerConnectionThread.java | 106 ++++++++++ .../winboll/WinBollServiceStatusView.java | 194 +++++++++++------- 6 files changed, 238 insertions(+), 258 deletions(-) delete mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionTestThread.java create mode 100644 libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionThread.java diff --git a/aes/build.properties b/aes/build.properties index 2cacd8f..1020120 100644 --- a/aes/build.properties +++ b/aes/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sat Mar 29 20:07:25 GMT 2025 +#Sun Mar 30 06:06:05 GMT 2025 stageCount=2 libraryProject=libaes baseVersion=15.2 publishVersion=15.2.1 -buildCount=71 +buildCount=85 baseBetaVersion=15.2.2 diff --git a/libaes/build.properties b/libaes/build.properties index 2cacd8f..1020120 100644 --- a/libaes/build.properties +++ b/libaes/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sat Mar 29 20:07:25 GMT 2025 +#Sun Mar 30 06:06:05 GMT 2025 stageCount=2 libraryProject=libaes baseVersion=15.2 publishVersion=15.2.1 -buildCount=71 +buildCount=85 baseBetaVersion=15.2.2 diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollClientService.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollClientService.java index 8c189a3..6d2d170 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollClientService.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollClientService.java @@ -156,60 +156,33 @@ public class WinBollClientService extends Service implements IWinBollClientServi class WinBollClientThread extends Thread { @Override public void run() { - //ToastUtils.show("WinBollClientThread"); super.run(); + LogUtils.d(TAG, "run syncWinBollClientThreadStatus"); syncWinBollClientThreadStatus(); if (mIsEnableService) { if (mIsWinBollClientThreadRunning == false) { // 设置运行状态 mIsWinBollClientThreadRunning = true; - LogUtils.d(TAG, "WinBollClientThread run()"); - - // 唤醒守护进程 //wakeupAndBindAssistant(); -// String username = ""; -// String password = ""; -// String targetUrl= ""; -// -// if (GlobalApplication.isDebuging()) { -// username = PrefUtils.getString(WinBollClientService.this, "metDevUserName", ""); -// password = PrefUtils.getString(WinBollClientService.this, "metDevUserPassword", ""); -// } else { -// username = "WinBoll"; -// password = "WinBollPowerByZhanGSKen"; -// } -// targetUrl = "https://" + (GlobalApplication.isDebuging() ?"dev.winboll": "winboll") + ".cc/api/"; // 替换为实际测试的URL -// + while (mIsEnableService) { // 显示运行状态 - //LogUtils.d(TAG, String.format("targetUrl %s", targetUrl)); - -// WinBollServerConnectionTestThread testThread = new WinBollServerConnectionTestThread( -// targetUrl, -// username, -// password, -// 15000, // 连接超时15秒 -// 20000, // 读取超时20秒 -// 3 // 最大重试次数 -// ); -// -// testThread.start(); + WinBollServiceStatusView.startConnection(); try { - Thread.sleep(5 * 1000); + Thread.sleep(10 * 1000); } catch (InterruptedException e) { LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); } + LogUtils.d(TAG, "while syncWinBollClientThreadStatus"); syncWinBollClientThreadStatus(); - //ToastUtils.show("syncServiceThreadStatus OK."); - //ToastUtils.show("mIsExist : " + Boolean.toString(!mIsEnableService)); - //break; } // 服务进程退出, 重置进程运行状态 + WinBollServiceStatusView.stopConnection(); mIsWinBollClientThreadRunning = false; mWinBollClientThread = null; } diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionTestThread.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionTestThread.java deleted file mode 100644 index 65696be..0000000 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionTestThread.java +++ /dev/null @@ -1,149 +0,0 @@ -package cc.winboll.studio.libaes.winboll; - -/** - * @Author ZhanGSKen@AliYun.Com - * @Date 2025/03/29 15:57:28 - * @Describe WinBoll 服务器服务情况测试访问进程。 - */ -import cc.winboll.studio.libappbase.LogUtils; -import java.io.IOException; -import okhttp3.Call; -import okhttp3.Callback; -import okhttp3.Credentials; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; - -public class WinBollServerConnectionTestThread extends Thread { - - public static final String TAG = "WinBollClientService"; - - private final String url; - private final String username; - private final String password; - private final int connectTimeout; - private final int readTimeout; - private final int maxRetries; - private boolean testComplete = false; - - public WinBollServerConnectionTestThread(String url, String username, String password) { - this(url, username, password, 10000, 10000, 5); - } - - public WinBollServerConnectionTestThread(String url, String username, String password, - int connectTimeout, int readTimeout, int maxRetries) { - this.url = url; - this.username = username; - this.password = password; - this.connectTimeout = connectTimeout; - this.readTimeout = readTimeout; - this.maxRetries = maxRetries; - } - - @Override - public void run() { - LogUtils.d(TAG, String.format("run() url %s\nusername %s\npassword %s", url, username, password)); - // 构建包含认证信息的请求 - String credential = Credentials.basic(username, password); - LogUtils.d(TAG, String.format("credential %s", credential)); - - OkHttpClient client = new OkHttpClient(); - Request request = new Request.Builder() - .url(url) - .header("Accept", "text/plain") // 设置正确的Content-Type头 - .header("Authorization", credential) - .build(); - - Call call = client.newCall(request); - call.enqueue(new Callback() { - @Override - public void onFailure(Call call, IOException e) { - // 处理网络请求失败 - LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); - } - - @Override - public void onResponse(Call call, Response response) throws IOException { - if (!response.isSuccessful()) { - LogUtils.d(TAG, "Unexpected code " + response, Thread.currentThread().getStackTrace()); - return; - } - - try { - // 读取响应体作为字符串,注意这里可能需要解码 - String text = response.body().string(); - org.jsoup.nodes.Document doc = org.jsoup.Jsoup.parse(text); - LogUtils.d(TAG, doc.text()); - - // 使用id选择器找到具有特定id的元素 - org.jsoup.nodes.Element elementWithId = doc.select("#LastRelease").first(); // 获取第一个匹配的元素 - - // 提取并打印元素的文本内容 - //mszNewestAppPackageName = elementWithId.text(); - //ToastUtils.delayedShow(text + "\n" + mszNewestAppPackageName, 5000); - - //mHandler.sendMessage(mHandler.obtainMessage(MSG_APPUPDATE_CHECKED)); - } catch (Exception e) { - LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); - } - } - }); - -// int retryCount = 0; -// while (!testComplete && retryCount <= maxRetries) { -// LogUtils.d(TAG, "while (!testComplete && retryCount <= maxRetries) {"); -// try { -// Response response = client.newCall(request).execute(); -// if (response.isSuccessful()) { -// String responseBody = response.body().string(); -// if ("OK".equalsIgnoreCase(responseBody.trim())) { -// LogUtils.d(TAG, "[" + new java.util.Date() + "] 测试成功,服务器返回OK"); -// testComplete = true; -// } else { -// LogUtils.d(TAG, "[" + new java.util.Date() + "] 响应内容不符合预期:" + responseBody); -// } -// } else { -// LogUtils.d(TAG, "[" + new java.util.Date() + "] 请求失败,状态码:" + response.code()); -// } -// } catch (IOException e) { -// LogUtils.d(TAG, "[" + new java.util.Date() + "] 连接异常:" + e.getMessage()); -// } -// -// if (!testComplete) { -// try { -// Thread.sleep(2000); // 等待2秒后重试 -// } catch (InterruptedException e) { -// Thread.currentThread().interrupt(); -// LogUtils.d(TAG, "测试线程被中断"); -// return; -// } -// retryCount++; -// LogUtils.d(TAG, "[" + new java.util.Date() + "] 第" + retryCount + "次重试..."); -// } -// } -// -// if (testComplete) { -// -// } else { -// LogUtils.d(TAG, "[" + new java.util.Date() + "] 达到最大重试次数,测试失败"); -// } - } - -// public static void main(String[] args) { -// String targetUrl = "http://your-protected-server.com"; -// String username = "your_username"; -// String password = "your_password"; -// -// WinBollServerConnectionTestThread testThread = new WinBollServerConnectionTestThread( -// targetUrl, -// username, -// password, -// 15000, // 连接超时15秒 -// 20000, // 读取超时20秒 -// 3 // 最大重试次数 -// ); -// -// testThread.start(); -// } -} - diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionThread.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionThread.java new file mode 100644 index 0000000..25ecd21 --- /dev/null +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionThread.java @@ -0,0 +1,106 @@ +package cc.winboll.studio.libaes.winboll; + +/** + * @Author ZhanGSKen@AliYun.Com + * @Date 2025/03/29 15:57:28 + * @Describe WinBoll 服务器服务情况测试访问进程。 + */ +import cc.winboll.studio.libappbase.LogUtils; +import java.io.IOException; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Credentials; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; + +// 新增自定义回调接口 +interface TextCallback { + void onSuccess(String text); + void onFailure(Exception e); +} + +public class WinBollServerConnectionThread extends Thread { + + public static final String TAG = "WinBollClientService"; + + private final String url; + private final String username; + private final String password; + private final int connectTimeout; + private final int readTimeout; + private final int maxRetries; + private final TextCallback callback; // 新增回调成员变量 + + // 新增带回调的构造函数 + public WinBollServerConnectionThread(String url, String username, String password, TextCallback callback) { + this(url, username, password, 10000, 10000, 5, callback); + } + + // 修改原有构造函数,添加回调参数 + public WinBollServerConnectionThread(String url, String username, String password, + int connectTimeout, int readTimeout, int maxRetries, TextCallback callback) { + this.url = url; + this.username = username; + this.password = password; + this.connectTimeout = connectTimeout; + this.readTimeout = readTimeout; + this.maxRetries = maxRetries; + this.callback = callback; + } + + @Override + public void run() { + LogUtils.d(TAG, String.format("run() url %s\nusername %s\npassword %s", url, username, password)); + String credential = Credentials.basic(username, password); + LogUtils.d(TAG, String.format("credential %s", credential)); + + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder() + .url(url) + .header("Accept", "text/plain") + .header("Authorization", credential) + .build(); + + Call call = client.newCall(request); + call.enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + // 优先调用自定义回调 + if (callback != null) { + callback.onFailure(e); + } else { + LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); + } + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + if (!response.isSuccessful()) { + if (callback != null) { + callback.onFailure(new Exception("Unexpected code " + response)); + } else { + LogUtils.d(TAG, "Unexpected code " + response, Thread.currentThread().getStackTrace()); + } + return; + } + + try { + String text = response.body().string(); + // 优先调用自定义回调 + if (callback != null) { + callback.onSuccess(text); + } else { + LogUtils.d(TAG, text); + } + } catch (Exception e) { + if (callback != null) { + callback.onFailure(e); + } else { + LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); + } + } + } + }); + } +} diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServiceStatusView.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServiceStatusView.java index 39ed338..a25a8e0 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServiceStatusView.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServiceStatusView.java @@ -19,20 +19,12 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import cc.winboll.studio.libaes.winboll.WinBollClientService; +import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libapputils.R; -import com.hjq.toast.ToastUtils; -import java.io.IOException; +import cc.winboll.studio.libapputils.utils.PrefUtils; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import okhttp3.Authenticator; -import okhttp3.Call; -import okhttp3.Callback; -import okhttp3.Credentials; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; -import okhttp3.Route; //import okhttp3.Authenticator; //import okhttp3.Credentials; //import okhttp3.OkHttpClient; @@ -47,9 +39,10 @@ public class WinBollServiceStatusView extends LinearLayout { public static final int MSG_CONNECTION_INFO = 0; public static final int MSG_UPDATE_CONNECTION_STATUS = 1; + static WinBollServiceStatusView _WinBollServiceStatusView; Context mContext; //boolean mIsConnected; - ConnectionThread mConnectionThread; + volatile ConnectionThread mConnectionThread; String mszServerHost; WinBollClientService mWinBollService; @@ -117,6 +110,8 @@ public class WinBollServiceStatusView extends LinearLayout { } void initView() { + _WinBollServiceStatusView = this; + mImageView = new ImageView(mContext); setImageViewByConnection(mImageView, false); mConnectionStatus = getConnectionStatus(); @@ -135,21 +130,10 @@ public class WinBollServiceStatusView extends LinearLayout { WinBollClientServiceBean.saveBean(mContext, bean); Intent intent = new Intent(mContext, WinBollClientService.class); mContext.stopService(intent); - stopConnectionThread(); + //stopConnectionThread(); mTextView.setText(""); setImageViewByConnection(mImageView, false); mConnectionStatus = ConnectionStatus.DISCONNECTED; - //mConnectionStatus = ConnectionStatus.DISCONNECTED; -// - /*//ToastUtils.show("CONNECTED"); - setConnectionStatusView(false); - mWinBollServerHostConnectionStatusViewHandler.postMessageText(""); - if (mConnectionThread != null) { - mConnectionThread.mIsExist = true; - mConnectionThread = null; - mWinBollServerHostConnectionStatus = WinBollServerHostConnectionStatus.DISCONNECTED; - ToastUtils.show("WinBoll Server Disconnected."); - }*/ } else if (mConnectionStatus == ConnectionStatus.DISCONNECTED) { LogUtils.d(TAG, "Click to start service."); WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(mContext); @@ -157,16 +141,8 @@ public class WinBollServiceStatusView extends LinearLayout { WinBollClientServiceBean.saveBean(mContext, bean); Intent intent = new Intent(mContext, WinBollClientService.class); mContext.startService(intent); - startConnectionThread(); + //startConnectionThread(); } - - /*if (isConnected) { - mWebView.loadUrl("https://dev.winboll.cc"); - } else { - mWebView.stopLoading(); - }*/ - //ToastUtils.show(mDevelopHostConnectionStatus); - //LogUtils.d(TAG, "mDevelopHostConnectionStatus : " + mWinBollServerHostConnectionStatus); } }; setOnClickListener(mViewOnClickListener); @@ -212,32 +188,98 @@ public class WinBollServiceStatusView extends LinearLayout { } } - void requestWithBasicAuth(final WinBollServiceViewHandler textViewHandler, String targetUrl, final String username, final String password) { + TextCallback apiTextCallback = new TextCallback() { + @Override + public void onSuccess(String text) { + // 处理成功响应 + LogUtils.d(TAG, text); + } + + @Override + public void onFailure(Exception e) { + // 处理失败情况 + LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); + } + }; + + TextCallback cipTextCallback = new TextCallback() { + @Override + public void onSuccess(String text) { + // 处理成功响应 + LogUtils.d(TAG, text); + LogUtils.d(TAG, "Develop Host Connection IP is : " + text); + mConnectionStatus = ConnectionStatus.CONNECTED; + // 获取当前时间 + LocalDateTime now = LocalDateTime.now(); + // 定义时间格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); + // 按照指定格式格式化时间并输出 + String formattedDateTime = now.format(formatter); + String msg = "ClientIP<" + formattedDateTime + ">: " + text; + mWinBollServiceViewHandler.postMessageText(msg); + mWinBollServiceViewHandler.postMessageConnectionStatus(true); + + } + + @Override + public void onFailure(Exception e) { + // 处理失败情况 + LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); + // 处理网络请求失败 + setImageViewByConnection(mImageView, false); + mWinBollServiceViewHandler.postMessageText(e.getMessage()); + mWinBollServiceViewHandler.postMessageConnectionStatus(false); + } + }; + + public void requestAPIWithBasicAuth() { + String targetUrl = "https://" + (GlobalApplication.isDebuging() ?"dev.winboll": "winboll") + ".cc/api/"; // 替换为实际测试的URL + requestWithBasicAuth(targetUrl, apiTextCallback); + } + + public void requestCIPWithBasicAuth() { + String targetUrl = mszServerHost + "/cip/?simple=true"; + requestWithBasicAuth(targetUrl, cipTextCallback); + } + + public void requestWithBasicAuth(String targetUrl, TextCallback callback) { + String username = ""; + String password = ""; + if (GlobalApplication.isDebuging()) { + username = PrefUtils.getString(mContext, "metDevUserName", ""); + password = PrefUtils.getString(mContext, "metDevUserPassword", ""); + } else { + username = "WinBoll"; + password = "WinBollPowerByZhanGSKen"; + } + LogUtils.d(TAG, String.format("Connection Start. targetUrl %s", targetUrl)); + WinBollServerConnectionThread thread = new WinBollServerConnectionThread( + targetUrl, + username, + password, + cipTextCallback + ); + thread.start(); + } + + /*void requestWithBasicAuth(final WinBollServiceViewHandler textViewHandler, String targetUrl, final String username, final String password) { // 用户名和密码,替换为实际的认证信息 //String username = "your_username"; //String password = "your_password"; LogUtils.d(TAG, "requestWithBasicAuth(...)"); LogUtils.d(TAG, String.format("targetUrl %s", targetUrl)); - OkHttpClient client = new OkHttpClient.Builder() - .authenticator(new Authenticator() { - @Override - public Request authenticate(Route route, Response response) throws IOException { - String credential = Credentials.basic(username, password); - return response.request().newBuilder() - .header("Authorization", credential) - .build(); - } - }) - .build(); + // 构建包含认证信息的请求 + String credential = Credentials.basic(username, password); + LogUtils.d(TAG, String.format("credential %s", credential)); + OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() - .url(targetUrl) // 替换为实际要请求的网页地址 + .url(targetUrl) + .header("Accept", "text/plain") // 设置正确的Content-Type头 + .header("Authorization", credential) .build(); - - //Response response = client.newCall(request).execute(); - Call call = client.newCall(request); call.enqueue(new Callback() { @Override @@ -275,7 +317,7 @@ public class WinBollServiceStatusView extends LinearLayout { String formattedDateTime = now.format(formatter); textViewHandler.postMessageText("ClientIP<" + formattedDateTime + ">: " + text); textViewHandler.postMessageConnectionStatus(true); - + //org.jsoup.nodes.Document doc = org.jsoup.Jsoup.parse(text); //LogUtils.d(TAG, doc.text()); @@ -288,24 +330,24 @@ public class WinBollServiceStatusView extends LinearLayout { //mHandler.sendMessage(mHandler.obtainMessage(MSG_APPUPDATE_CHECKED)); //System.out.println(response.body().string()); -// mConnectionStatus = ConnectionStatus.CONNECTED; -// // 获取当前时间 -// LocalDateTime now = LocalDateTime.now(); -// -// // 定义时间格式 -// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); -// // 按照指定格式格式化时间并输出 -// String formattedDateTime = now.format(formatter); -// //System.out.println(formattedDateTime); -// textViewHandler.postMessageText("ClientIP<" + formattedDateTime + ">: " + response.body().string()); -// textViewHandler.postMessageConnectionStatus(true); + // mConnectionStatus = ConnectionStatus.CONNECTED; + // // 获取当前时间 + // LocalDateTime now = LocalDateTime.now(); + // + // // 定义时间格式 + // DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); + // // 按照指定格式格式化时间并输出 + // String formattedDateTime = now.format(formatter); + // //System.out.println(formattedDateTime); + // textViewHandler.postMessageText("ClientIP<" + formattedDateTime + ">: " + response.body().string()); + // textViewHandler.postMessageConnectionStatus(true); } catch (Exception e) { LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); } } }); - } + }*/ class WinBollServiceViewHandler extends Handler { WinBollServiceStatusView mDevelopHostConnectionStatusView; @@ -340,7 +382,19 @@ public class WinBollServiceStatusView extends LinearLayout { } } - public void startConnectionThread() { + public static void startConnection() { + if (_WinBollServiceStatusView != null) { + _WinBollServiceStatusView.startConnectionThread(); + } + } + + public static void stopConnection() { + if (_WinBollServiceStatusView != null) { + _WinBollServiceStatusView.stopConnectionThread(); + } + } + + void startConnectionThread() { if (mConnectionStatus == ConnectionStatus.DISCONNECTED) { mConnectionStatus = ConnectionStatus.START_CONNECT; LogUtils.d(TAG, "startConnectionThread"); @@ -350,13 +404,13 @@ public class WinBollServiceStatusView extends LinearLayout { mConnectionThread = new ConnectionThread(); mConnectionThread.start(); } else if (mConnectionStatus == ConnectionStatus.CONNECTING) { - LogUtils.d(TAG, "mConnectionStatus == ConnectionStatus.CONNECTING"); + //LogUtils.d(TAG, "mConnectionStatus == ConnectionStatus.CONNECTING"); } else { LogUtils.d(TAG, "Unknow mConnectionStatus, can not start ConnectionThread."); } } - public void stopConnectionThread() { + void stopConnectionThread() { if (mConnectionStatus == ConnectionStatus.CONNECTED) { LogUtils.d(TAG, "stopConnectionThread"); if (mConnectionThread != null) { @@ -368,6 +422,8 @@ public class WinBollServiceStatusView extends LinearLayout { } } + + class ConnectionThread extends Thread { public volatile boolean mIsExist; @@ -387,14 +443,8 @@ public class WinBollServiceStatusView extends LinearLayout { while (mIsExist == false) { if (mConnectionStatus == ConnectionStatus.START_CONNECT) { mConnectionStatus = ConnectionStatus.CONNECTING; - //ToastUtils.show("WinBoll Server Connection Start."); - - //String targetUrl = "https://" + (GlobalApplication.isDebuging() ?"dev.winboll": "winboll") + ".cc/api/"; // 替换为实际测试的URL - //String targetUrl = "https://" + mszServerHost + "/api/"; // 这里替换成你实际要访问的网址 - - String targetUrl = mszServerHost + "/cip/?simple=true"; // 这里替换成你实际要访问的网址 - LogUtils.d(TAG, String.format("Connection Start. targetUrl %s", targetUrl)); - requestWithBasicAuth(mWinBollServiceViewHandler, targetUrl, _mUserName, _mPassword); + //requestAPIWithBasicAuth(); + requestCIPWithBasicAuth(); } else if (mConnectionStatus == ConnectionStatus.CONNECTED || mConnectionStatus == ConnectionStatus.DISCONNECTED) { //ToastUtils.show("mWinBollServerHostConnectionStatus " + mConnectionStatus);