调试网站状态图标调试完成
This commit is contained in:
parent
d474eb6158
commit
d51ebbd550
@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Sat Mar 29 17:35:04 GMT 2025
|
||||
#Sat Mar 29 19:57:40 GMT 2025
|
||||
stageCount=2
|
||||
libraryProject=libaes
|
||||
baseVersion=15.2
|
||||
publishVersion=15.2.1
|
||||
buildCount=38
|
||||
buildCount=63
|
||||
baseBetaVersion=15.2.2
|
||||
|
@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Sat Mar 29 17:35:04 GMT 2025
|
||||
#Sat Mar 29 19:57:40 GMT 2025
|
||||
stageCount=2
|
||||
libraryProject=libaes
|
||||
baseVersion=15.2
|
||||
publishVersion=15.2.1
|
||||
buildCount=38
|
||||
buildCount=63
|
||||
baseBetaVersion=15.2.2
|
||||
|
@ -68,7 +68,7 @@ public class WinBollClientService extends Service implements IWinBollClientServi
|
||||
|
||||
@Override
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
ToastUtils.show("onStartCommand");
|
||||
//ToastUtils.show("onStartCommand");
|
||||
// 由应用 Intent 启动时,应用可以通过下面函数实例化实际服务进程。
|
||||
runMainThread();
|
||||
|
||||
@ -82,7 +82,7 @@ public class WinBollClientService extends Service implements IWinBollClientServi
|
||||
|
||||
synchronized void runMainThread() {
|
||||
if (mWinBollClientThread == null) {
|
||||
ToastUtils.show("runMainThread()");
|
||||
//ToastUtils.show("runMainThread()");
|
||||
mWinBollClientThread = new WinBollClientThread();
|
||||
mWinBollClientThread.start();
|
||||
}
|
||||
@ -91,6 +91,7 @@ public class WinBollClientService extends Service implements IWinBollClientServi
|
||||
void syncWinBollClientThreadStatus() {
|
||||
mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this);
|
||||
mIsEnableService = mWinBollClientServiceBean.isEnable();
|
||||
LogUtils.d(TAG, String.format("mIsEnableService %s", mIsEnableService));
|
||||
}
|
||||
|
||||
|
||||
@ -155,7 +156,7 @@ public class WinBollClientService extends Service implements IWinBollClientServi
|
||||
class WinBollClientThread extends Thread {
|
||||
@Override
|
||||
public void run() {
|
||||
//ToastUtils.show("WinBollClientThread");
|
||||
ToastUtils.show("WinBollClientThread");
|
||||
super.run();
|
||||
syncWinBollClientThreadStatus();
|
||||
if (mIsEnableService) {
|
||||
@ -165,38 +166,40 @@ public class WinBollClientService extends Service implements IWinBollClientServi
|
||||
|
||||
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
|
||||
|
||||
// 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));
|
||||
//LogUtils.d(TAG, String.format("targetUrl %s", targetUrl));
|
||||
|
||||
WinBollServerConnectionTestThread testThread = new WinBollServerConnectionTestThread(
|
||||
targetUrl,
|
||||
username,
|
||||
password,
|
||||
15000, // 连接超时15秒
|
||||
20000, // 读取超时20秒
|
||||
3 // 最大重试次数
|
||||
);
|
||||
|
||||
testThread.start();
|
||||
// WinBollServerConnectionTestThread testThread = new WinBollServerConnectionTestThread(
|
||||
// targetUrl,
|
||||
// username,
|
||||
// password,
|
||||
// 15000, // 连接超时15秒
|
||||
// 20000, // 读取超时20秒
|
||||
// 3 // 最大重试次数
|
||||
// );
|
||||
//
|
||||
// testThread.start();
|
||||
|
||||
try {
|
||||
Thread.sleep(60 * 1000);
|
||||
Thread.sleep(5 * 1000);
|
||||
} catch (InterruptedException e) {
|
||||
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
||||
}
|
||||
|
@ -18,9 +18,21 @@ import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import cc.winboll.studio.libaes.winboll.WinBollClientService;
|
||||
import cc.winboll.studio.libappbase.LogUtils;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import cc.winboll.studio.libapputils.R;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import java.io.IOException;
|
||||
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;
|
||||
@ -110,22 +122,24 @@ public class WinBollServiceStatusView extends LinearLayout {
|
||||
mConnectionStatus = getConnectionStatus();
|
||||
//mIsConnected = false;
|
||||
//mWinBollServerHostConnectionStatus = WinBollServerHostConnectionStatus.DISCONNECTED;
|
||||
//ToastUtils.show("initView()");
|
||||
ToastUtils.show("initView()");
|
||||
|
||||
mViewOnClickListener = new View.OnClickListener(){
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
//ToastUtils.show("onClick()");
|
||||
//ToastUtils.show("mWinBollServerHostConnectionStatus : " + mWinBollServerHostConnectionStatus);
|
||||
//isConnected = !isConnected;
|
||||
LogUtils.d(TAG, "onClick()");
|
||||
if (mConnectionStatus == ConnectionStatus.CONNECTED) {
|
||||
ToastUtils.show("Click to stop service.");
|
||||
LogUtils.d(TAG, "Click to stop service.");
|
||||
WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(mContext);
|
||||
bean.setIsEnable(false);
|
||||
WinBollClientServiceBean.saveBean(mContext, bean);
|
||||
Intent intent = new Intent(mContext, WinBollClientService.class);
|
||||
mContext.stopService(intent);
|
||||
stopConnectionThread();
|
||||
mTextView.setText("");
|
||||
setImageViewByConnection(mImageView, false);
|
||||
mConnectionStatus = ConnectionStatus.DISCONNECTED;
|
||||
//mConnectionStatus = ConnectionStatus.DISCONNECTED;
|
||||
//
|
||||
/*//ToastUtils.show("CONNECTED");
|
||||
setConnectionStatusView(false);
|
||||
@ -137,25 +151,13 @@ public class WinBollServiceStatusView extends LinearLayout {
|
||||
ToastUtils.show("WinBoll Server Disconnected.");
|
||||
}*/
|
||||
} else if (mConnectionStatus == ConnectionStatus.DISCONNECTED) {
|
||||
ToastUtils.show("Click to start service.");
|
||||
LogUtils.d(TAG, "Click to start service.");
|
||||
WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(mContext);
|
||||
bean.setIsEnable(true);
|
||||
WinBollClientServiceBean.saveBean(mContext, bean);
|
||||
Intent intent = new Intent(mContext, WinBollClientService.class);
|
||||
mContext.startService(intent);
|
||||
mConnectionStatus = ConnectionStatus.CONNECTED;
|
||||
ToastUtils.show("startService");
|
||||
/*//ToastUtils.show("DISCONNECTED");
|
||||
setConnectionStatusView(true);
|
||||
|
||||
if (mConnectionThread == null) {
|
||||
ToastUtils.show("mConnectionThread == null");
|
||||
mConnectionThread = new ConnectionThread();
|
||||
mWinBollServerHostConnectionStatus = WinBollServerHostConnectionStatus.START_CONNECT;
|
||||
mConnectionThread.start();
|
||||
}*/
|
||||
} else {
|
||||
ToastUtils.show("Other Click condition.");
|
||||
startConnectionThread();
|
||||
}
|
||||
|
||||
/*if (isConnected) {
|
||||
@ -210,54 +212,99 @@ public class WinBollServiceStatusView extends LinearLayout {
|
||||
}
|
||||
}
|
||||
|
||||
void requestWithBasicAuth(WinBollServiceViewHandler textViewHandler, String targetUrl, final String username, final String password) {
|
||||
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();
|
||||
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();
|
||||
|
||||
Request request = new Request.Builder()
|
||||
.url(targetUrl) // 替换为实际要请求的网页地址
|
||||
.build();
|
||||
|
||||
|
||||
//Response response = client.newCall(request).execute();
|
||||
|
||||
Call call = client.newCall(request);
|
||||
call.enqueue(new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
// 处理网络请求失败
|
||||
setImageViewByConnection(mImageView, false);
|
||||
textViewHandler.postMessageText(e.getMessage());
|
||||
textViewHandler.postMessageConnectionStatus(false);
|
||||
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
||||
//String sz = "请求失败,状态码: " + response.code();
|
||||
//setImageViewByConnection(mImageView, false);
|
||||
//LogUtils.d(TAG, sz);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
if (!response.isSuccessful()) {
|
||||
setImageViewByConnection(mImageView, false);
|
||||
textViewHandler.postMessageText("Unexpected code " + response);
|
||||
textViewHandler.postMessageConnectionStatus(false);
|
||||
LogUtils.d(TAG, "Unexpected code " + response, Thread.currentThread().getStackTrace());
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// 读取响应体作为字符串,注意这里可能需要解码
|
||||
String text = response.body().string();
|
||||
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);
|
||||
textViewHandler.postMessageText("ClientIP<" + formattedDateTime + ">: " + text);
|
||||
textViewHandler.postMessageConnectionStatus(true);
|
||||
|
||||
//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));
|
||||
//System.out.println(response.body().string());
|
||||
// mConnectionStatus = ConnectionStatus.CONNECTED;
|
||||
// // 获取当前时间
|
||||
// LocalDateTime now = LocalDateTime.now();
|
||||
//
|
||||
// Request request = new Request.Builder()
|
||||
// .url(targetUrl) // 替换为实际要请求的网页地址
|
||||
// .build();
|
||||
//
|
||||
// try {
|
||||
// Response response = client.newCall(request).execute();
|
||||
// if (response.isSuccessful()) {
|
||||
// //System.out.println(response.body().string());
|
||||
// //ToastUtils.show("Develop Host Connection IP is : " + response.body().string());
|
||||
// // 获取当前时间
|
||||
// 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);
|
||||
// } else {
|
||||
// String sz = "请求失败,状态码: " + response.code();
|
||||
// setImageViewByConnection(mImageView, false);
|
||||
// textViewHandler.postMessageText(sz);
|
||||
// textViewHandler.postMessageConnectionStatus(false);
|
||||
// LogUtils.d(TAG, sz);
|
||||
// }
|
||||
// } catch (IOException e) {
|
||||
// textViewHandler.postMessageText(e.getMessage());
|
||||
// textViewHandler.postMessageConnectionStatus(false);
|
||||
// LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
||||
// }
|
||||
// // 定义时间格式
|
||||
// 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 {
|
||||
@ -293,6 +340,34 @@ public class WinBollServiceStatusView extends LinearLayout {
|
||||
}
|
||||
}
|
||||
|
||||
public void startConnectionThread() {
|
||||
if (mConnectionStatus == ConnectionStatus.DISCONNECTED) {
|
||||
mConnectionStatus = ConnectionStatus.START_CONNECT;
|
||||
LogUtils.d(TAG, "startConnectionThread");
|
||||
if (mConnectionThread != null) {
|
||||
mConnectionThread.mIsExist = true;
|
||||
}
|
||||
mConnectionThread = new ConnectionThread();
|
||||
mConnectionThread.start();
|
||||
} else if (mConnectionStatus == ConnectionStatus.CONNECTING) {
|
||||
LogUtils.d(TAG, "mConnectionStatus == ConnectionStatus.CONNECTING");
|
||||
} else {
|
||||
LogUtils.d(TAG, "Unknow mConnectionStatus, can not start ConnectionThread.");
|
||||
}
|
||||
}
|
||||
|
||||
public void stopConnectionThread() {
|
||||
if (mConnectionStatus == ConnectionStatus.CONNECTED) {
|
||||
LogUtils.d(TAG, "stopConnectionThread");
|
||||
if (mConnectionThread != null) {
|
||||
mConnectionThread.mIsExist = true;
|
||||
mConnectionThread = null;
|
||||
}
|
||||
} else {
|
||||
LogUtils.d(TAG, "Unknow mConnectionStatus, can not start ConnectionThread.");
|
||||
}
|
||||
}
|
||||
|
||||
class ConnectionThread extends Thread {
|
||||
|
||||
public volatile boolean mIsExist;
|
||||
@ -312,13 +387,20 @@ public class WinBollServiceStatusView extends LinearLayout {
|
||||
while (mIsExist == false) {
|
||||
if (mConnectionStatus == ConnectionStatus.START_CONNECT) {
|
||||
mConnectionStatus = ConnectionStatus.CONNECTING;
|
||||
ToastUtils.show("WinBoll Server Connection Start.");
|
||||
//LogUtils.d(TAG, "Develop Host Connection Start.");
|
||||
String targetUrl = "https://" + mszServerHost + "/cip/?simple=true"; // 这里替换成你实际要访问的网址
|
||||
//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);
|
||||
} else if (mConnectionStatus == ConnectionStatus.CONNECTED
|
||||
&& mConnectionStatus == ConnectionStatus.DISCONNECTED) {
|
||||
ToastUtils.show("mWinBollServerHostConnectionStatus " + mConnectionStatus);
|
||||
|| mConnectionStatus == ConnectionStatus.DISCONNECTED) {
|
||||
//ToastUtils.show("mWinBollServerHostConnectionStatus " + mConnectionStatus);
|
||||
LogUtils.d(TAG, String.format("mConnectionStatus done %s", mConnectionStatus));
|
||||
} else {
|
||||
LogUtils.d(TAG, String.format("mConnectionStatus unknow %s", mConnectionStatus));
|
||||
}
|
||||
|
||||
try {
|
||||
|
Loading…
x
Reference in New Issue
Block a user