chore: remove hardcoded fallback domains
This commit is contained in:
@@ -17,16 +17,6 @@ public class DataInfo implements Serializable {
|
||||
public String tgUrl; // tg分享地址
|
||||
public String wsUrl; //whatsapp分享地址
|
||||
public String linkConfig;
|
||||
public String backupDomains;
|
||||
|
||||
public String getBackupDomains() {
|
||||
return backupDomains;
|
||||
}
|
||||
|
||||
public void setBackupDomains(String backupDomains) {
|
||||
this.backupDomains = backupDomains;
|
||||
}
|
||||
|
||||
public String getLinkConfig() {
|
||||
return linkConfig;
|
||||
}
|
||||
|
||||
@@ -598,17 +598,16 @@ public class MainActivity extends AppCompatActivity {
|
||||
@Override
|
||||
public void onSuccess(Result<DataInfo> o) {
|
||||
|
||||
DataInfo dataInfo = o.data;
|
||||
DataInfo dataInfo = o == null ? null : o.data;
|
||||
if (dataInfo != null) {
|
||||
if (dataInfo.getIsUse() == 0) {
|
||||
MainActivity.this.finish();
|
||||
return;
|
||||
}
|
||||
if (!TextUtils.isEmpty(dataInfo.getUrl())) {
|
||||
saveString(MainActivity.this, "base_url", dataInfo.getUrl());
|
||||
toLoadWebUrl(dataInfo);
|
||||
|
||||
|
||||
} else {
|
||||
showSiteUrlError();
|
||||
}
|
||||
|
||||
String link = dataInfo.getLinkConfig();
|
||||
@@ -686,8 +685,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
activityMain2Binding.layoutOtherapp.setVisibility(View.GONE);
|
||||
}
|
||||
} else {
|
||||
url = getString(MainActivity.this, "base_url", url);
|
||||
activityMain2Binding.webview.loadUrl(url);
|
||||
showSiteUrlError();
|
||||
}
|
||||
|
||||
|
||||
@@ -695,60 +693,25 @@ public class MainActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
public void onError(int code, String msg) {
|
||||
url = getString(MainActivity.this, "base_url", url);
|
||||
activityMain2Binding.webview.loadUrl(url);
|
||||
showSiteUrlError();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError2(Result<DataInfo> o) {
|
||||
url = getString(MainActivity.this, "base_url", url);
|
||||
activityMain2Binding.webview.loadUrl(url);
|
||||
showSiteUrlError();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void toLoadWebUrl(DataInfo dataInfo) {
|
||||
if (TextUtils.isEmpty(dataInfo.getBackupDomains())) {
|
||||
activityMain2Binding.webview.loadUrl(dataInfo.getUrl());
|
||||
} else {
|
||||
//拼接主域名和备用域名的数组
|
||||
urlList = new ArrayList<>();
|
||||
urlList.add(dataInfo.getUrl());
|
||||
String[] urls = dataInfo.getBackupDomains().split(",");
|
||||
if (urls != null && urls.length > 0) {
|
||||
for (int i = 0; i < urls.length; i++) {
|
||||
urlList.add(urls[i]);
|
||||
}
|
||||
}
|
||||
LogUtils.i("地址是啥:" + GsonUtils.beanToJSONString(urlList));
|
||||
checkUrl(0);
|
||||
}
|
||||
url = dataInfo.getUrl();
|
||||
activityMain2Binding.webview.loadUrl(url);
|
||||
}
|
||||
|
||||
private ArrayList<String> urlList = new ArrayList<>();
|
||||
|
||||
int lastCheckIndex = 0;
|
||||
|
||||
private void checkUrl(int index) {
|
||||
lastCheckIndex = index;
|
||||
Uri uri = Uri.parse(urlList.get(lastCheckIndex));
|
||||
new Thread(() -> {
|
||||
String result = PingUtils.ping(uri.getHost());
|
||||
runOnUiThread(() -> {
|
||||
if (TextUtils.isEmpty(result)) {
|
||||
if (lastCheckIndex != urlList.size() - 1) {
|
||||
checkUrl(lastCheckIndex + 1);
|
||||
} else {
|
||||
activityMain2Binding.webview.loadUrl(urlList.get(0));
|
||||
}
|
||||
} else {
|
||||
activityMain2Binding.webview.loadUrl(urlList.get(lastCheckIndex));
|
||||
}
|
||||
});
|
||||
}).start();
|
||||
|
||||
|
||||
private void showSiteUrlError() {
|
||||
activityMain2Binding.progressError.setVisibility(View.GONE);
|
||||
onShowErrorView(getString(R.string.site_url_unavailable));
|
||||
}
|
||||
|
||||
private void checkUpdate(String url) {
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
package com.webclip.base;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
/**
|
||||
* **********************
|
||||
*
|
||||
* @Author bug machine
|
||||
* 创建时间: 2026/1/16 15:30
|
||||
* 用途
|
||||
* **********************
|
||||
*/
|
||||
public class PingUtils {
|
||||
|
||||
/**
|
||||
* 执行 ping 命令
|
||||
* @param address 域名或IP
|
||||
* @return 返回执行结果
|
||||
*/
|
||||
public static String ping(String address) {
|
||||
StringBuilder result = new StringBuilder();
|
||||
try {
|
||||
// -c 4 表示执行4次
|
||||
Process process = Runtime.getRuntime().exec("ping -c 3 " + address);
|
||||
BufferedReader reader = new BufferedReader(
|
||||
new InputStreamReader(process.getInputStream()));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
result.append(line).append("\n");
|
||||
}
|
||||
reader.close();
|
||||
process.destroy();
|
||||
} catch (Exception e) {
|
||||
result.append("Ping失败: ").append(e.getMessage());
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
}
|
||||
@@ -51,10 +51,11 @@
|
||||
<string name="app_toastloading">暂无更多数据</string>
|
||||
<string name="app_notify_title">通知</string>
|
||||
<string name="agentweb_loading">Loading…</string>
|
||||
<string name="site_url_unavailable">无法获取站点地址,请稍后重试</string>
|
||||
<string name="text_title">文本</string>
|
||||
<string name="image_title">图片</string>
|
||||
<string name="link_title">链接</string>
|
||||
|
||||
|
||||
|
||||
</resources>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user