diff --git a/apputils/build.properties b/apputils/build.properties index c877c00..5f958b3 100644 --- a/apputils/build.properties +++ b/apputils/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Mon Mar 24 14:42:21 HKT 2025 +#Mon Mar 24 09:04:58 GMT 2025 stageCount=13 libraryProject=libapputils baseVersion=15.0 publishVersion=15.0.12 -buildCount=0 +buildCount=8 baseBetaVersion=15.0.13 diff --git a/apputils/src/main/java/cc/winboll/studio/apputils/MainActivity.java b/apputils/src/main/java/cc/winboll/studio/apputils/MainActivity.java index 9facabb..6e7518c 100644 --- a/apputils/src/main/java/cc/winboll/studio/apputils/MainActivity.java +++ b/apputils/src/main/java/cc/winboll/studio/apputils/MainActivity.java @@ -1,6 +1,5 @@ package cc.winboll.studio.apputils; -import cc.winboll.studio.apputils.R; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; @@ -13,15 +12,13 @@ import android.view.MenuItem; import android.view.View; import android.widget.Toast; import android.widget.Toolbar; +import cc.winboll.studio.apputils.R; import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogView; import cc.winboll.studio.libappbase.utils.ToastUtils; import cc.winboll.studio.libapputils.activities.AssetsHtmlActivity; import cc.winboll.studio.libapputils.activities.LogActivity; import cc.winboll.studio.libapputils.activities.QRCodeDecodeActivity; -import cc.winboll.studio.libapputils.app.AboutActivityFactory; -import cc.winboll.studio.libapputils.bean.APPInfo; -import cc.winboll.studio.libapputils.view.AboutView; import cc.winboll.studio.libapputils.view.YesNoAlertDialog; import java.util.List; import java.util.Set; @@ -40,25 +37,7 @@ final public class MainActivity extends Activity { // return this; // } -// @Override -// public APPInfo getAppInfo() { -// String szBranchName = "apputils"; -// -// APPInfo appInfo = AboutActivityFactory.buildDefaultAPPInfo(); -// appInfo.setAppName("APPUtils"); -// appInfo.setAppIcon(cc.winboll.studio.libapputils.R.drawable.ic_winboll); -// appInfo.setAppDescription("APPUtils Description"); -// appInfo.setAppGitName("APP"); -// appInfo.setAppGitOwner("Studio"); -// appInfo.setAppGitAPPBranch(szBranchName); -// appInfo.setAppGitAPPSubProjectFolder(szBranchName); -// appInfo.setAppHomePage("https://www.winboll.cc/studio/details.php?app=APP"); -// appInfo.setAppAPKName("APPUtils"); -// appInfo.setAppAPKFolderName("APPUtils"); -// return appInfo; -// //return null; -// } - + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -242,9 +221,6 @@ final public class MainActivity extends Activity { if (item.getItemId() == R.id.item_exit) { exit(); return true; -// } else if (item.getItemId() == R.id.item_about) { -// AboutActivityFactory.showAboutActivity(this, getAppInfo()); -// return true; } else if (item.getItemId() == R.id.item_teststringtoqrcodeview) { Intent intent = new Intent(this, TestStringToQRCodeViewActivity.class); startActivityForResult(intent, REQUEST_QRCODEDECODE_ACTIVITY); @@ -270,12 +246,6 @@ final public class MainActivity extends Activity { return super.onOptionsItemSelected(item); } - void about() { -// Intent intent = new Intent(this, AboutActivity.class); -// intent.putExtra(AboutActivity.EXTRA_APPINFO, AboutActivityFactory.buildAPPBranchInfo(this)); -// WinBollActivityManager.getInstance(this).startWinBollActivity(this, intent, AboutActivity.class); - } - void exit() { YesNoAlertDialog.OnDialogResultListener listener = new YesNoAlertDialog.OnDialogResultListener(){ @@ -302,10 +272,7 @@ final public class MainActivity extends Activity { // } } - public void onTestAboutActivity(View view) { - about(); - } - + public void onTestAssetsHtmlActivity(View view) { Intent intent = new Intent(this, AssetsHtmlActivity.class); intent.putExtra(AssetsHtmlActivity.EXTRA_HTMLFILENAME, "javascript_test.html"); diff --git a/libapputils/build.gradle b/libapputils/build.gradle index 06d763f..4c4dcec 100644 --- a/libapputils/build.gradle +++ b/libapputils/build.gradle @@ -27,16 +27,13 @@ dependencies { api 'com.journeyapps:zxing-android-embedded:3.6.0' // 网络连接类库 - //api 'com.squareup.okhttp3:okhttp:4.4.1' + api 'com.squareup.okhttp3:okhttp:4.4.1' // Html 解析 - //api 'org.jsoup:jsoup:1.13.1' + api 'org.jsoup:jsoup:1.13.1' // SSH //api 'com.jcraft:jsch:0.1.55' - // 应用介绍页类库 - //api 'io.github.medyo:android-about-page:2.0.0' - api 'cc.winboll.studio:libappbase:15.0.5' } diff --git a/libapputils/build.properties b/libapputils/build.properties index 9784f08..5f958b3 100644 --- a/libapputils/build.properties +++ b/libapputils/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Mon Mar 24 14:42:07 HKT 2025 +#Mon Mar 24 09:04:58 GMT 2025 stageCount=13 libraryProject=libapputils baseVersion=15.0 publishVersion=15.0.12 -buildCount=0 +buildCount=8 baseBetaVersion=15.0.13 diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/activities/AboutActivity.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/activities/AboutActivity.java deleted file mode 100644 index 492d6d2..0000000 --- a/libapputils/src/main/java/cc/winboll/studio/libapputils/activities/AboutActivity.java +++ /dev/null @@ -1,64 +0,0 @@ -package cc.winboll.studio.libapputils.activities; - -/** - * @Author ZhanGSKen@QQ.COM - * @Date 2024/07/14 13:20:33 - * @Describe 应用介绍页 - */ -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.view.Menu; -import android.view.MenuItem; -import android.widget.LinearLayout; -import cc.winboll.studio.libapputils.R; -import cc.winboll.studio.libapputils.bean.APPInfo; -import cc.winboll.studio.libapputils.view.AboutView; - -final public class AboutActivity extends Activity { - - public static final String TAG = "AboutActivity"; - - public static final String EXTRA_APPINFO = "EXTRA_APPINFO"; - - APPInfo mAPPInfo; - - @Override - public Context getApplicationContext() { - return this; - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_about); - Intent intent = getIntent(); - if (intent != null) { - mAPPInfo = (APPInfo)intent.getSerializableExtra(EXTRA_APPINFO); - } - if (mAPPInfo == null) { - mAPPInfo = new APPInfo(); - } - - AboutView aboutView = new AboutView(this, mAPPInfo); - LinearLayout llMain = findViewById(R.id.activityaboutLinearLayout1); - llMain.addView(aboutView); - - //ToastUtils.show(TAG); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.toolbar_winboll_shared_about, menu); - return super.onCreateOptionsMenu(menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { -// if (item.getItemId() == R.id.item_help) { -// WinBollActivityManager.getInstance(this).startWinBollActivity(this, AssetsHtmlActivity.class); -// } - return super.onOptionsItemSelected(item); - } -} diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/app/AboutActivityFactory.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/app/AboutActivityFactory.java deleted file mode 100644 index 8ef141e..0000000 --- a/libapputils/src/main/java/cc/winboll/studio/libapputils/app/AboutActivityFactory.java +++ /dev/null @@ -1,54 +0,0 @@ -package cc.winboll.studio.libapputils.app; - -/** - * @Author ZhanGSKen@QQ.COM - * @Date 2025/02/06 08:45:23 - * @Describe 关于活动窗口的介绍窗口工厂 - */ -import android.content.Context; -import android.content.Intent; -import cc.winboll.studio.libapputils.activities.AboutActivity; -import cc.winboll.studio.libapputils.app.AboutActivityFactory; -import cc.winboll.studio.libapputils.bean.APPInfo; - -public class AboutActivityFactory { - - public static final String TAG = "AboutActivityFactory"; - - public static APPInfo buildDefaultAPPInfo() { - String szBranchName = ""; - - APPInfo appInfo = new APPInfo(); - appInfo.setAppName("APP"); - appInfo.setAppIcon(cc.winboll.studio.libapputils.R.drawable.ic_winboll); - appInfo.setAppDescription("APP Description"); - appInfo.setAppGitName("APP"); - appInfo.setAppGitOwner("Studio"); - appInfo.setAppGitAPPBranch(szBranchName); - appInfo.setAppGitAPPSubProjectFolder(szBranchName); - appInfo.setAppHomePage("https://www.winboll.cc/studio/details.php?app=APP"); - appInfo.setAppAPKName("APP"); - appInfo.setAppAPKFolderName("APP"); - return appInfo; - } - - public static void showAboutActivity(Context context, APPInfo appInfo) { - /*String szPN = ((IWinBollActivity)context).getActivityPackageName(); - //String szPN = context.getPackageName(); - String szBranchName = ""; - if (szPN != null) { - //String szPN = "cc.winboll.studio.apputils.beta"; - String regex = "cc\\.winboll\\.studio\\.([^.]+)\\.*"; - Pattern pattern = Pattern.compile(regex); - Matcher matcher = pattern.matcher(szPN); - if (matcher.find()) { - szBranchName = matcher.group(1); - } - }*/ - //ToastUtils.show(szPN); - - Intent intent = new Intent(context, AboutActivity.class); - intent.putExtra(AboutActivity.EXTRA_APPINFO, (appInfo == null) ? AboutActivityFactory.buildDefaultAPPInfo():appInfo); - //WinBollActivityManager.getInstance(context).startWinBollActivity(context, intent, AboutActivity.class); - } -} diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/view/AboutView.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/view/AboutView.java deleted file mode 100644 index f9e0d1f..0000000 --- a/libapputils/src/main/java/cc/winboll/studio/libapputils/view/AboutView.java +++ /dev/null @@ -1,388 +0,0 @@ -package cc.winboll.studio.libapputils.view; - -/** - * @Author ZhanGSKen@QQ.COM - * @Date 2024/08/12 14:38:03 - * @Describe AboutView - */ -import cc.winboll.studio.libapputils.R; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.res.TypedArray; -import android.net.Uri; -import android.os.Message; -import android.util.AttributeSet; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.EditText; -import android.widget.LinearLayout; -import cc.winboll.studio.libappbase.GlobalApplication; -import cc.winboll.studio.libappbase.LogUtils; -import cc.winboll.studio.libappbase.utils.ToastUtils; -import cc.winboll.studio.libapputils.app.AppVersionUtils; -import cc.winboll.studio.libapputils.bean.APPInfo; -import cc.winboll.studio.libapputils.bean.DebugBean; -import cc.winboll.studio.libapputils.util.PrefUtils; -import java.io.IOException; -//import okhttp3.Call; -//import okhttp3.Callback; -//import okhttp3.Credentials; -//import okhttp3.OkHttpClient; -//import okhttp3.Request; -//import okhttp3.Response; - -public class AboutView extends LinearLayout { - - public static final String TAG = "AboutView"; - - public static final int MSG_APPUPDATE_CHECKED = 0; - - Context mContext; - APPInfo mAPPInfo; - - WinBollServiceStatusView mWinBollServiceStatusView; - //OnRequestDevUserInfoAutofillListener mOnRequestDevUserInfoAutofillListener; - String mszAppName = ""; - String mszAppAPKFolderName = ""; - String mszAppAPKName = ""; - String mszAppGitName = ""; - String mszAppVersionName = ""; - String mszCurrentAppPackageName = ""; - volatile String mszNewestAppPackageName = ""; - String mszAppDescription = ""; - String mszHomePage = ""; - String mszGitea = ""; - int mnAppIcon = 0; - String mszWinBollServerHost; - //String mszReleaseAPKName; - EditText metDevUserName; - EditText metDevUserPassword; - - public AboutView(Context context, APPInfo appInfo) { - super(context); - mContext = context; - - setAPPInfo(appInfo); - initView(context); - } - - public AboutView(Context context, AttributeSet attrs) { - super(context, attrs); - mContext = context; - - initView(context, attrs); - } - - public void setAPPInfo(APPInfo appInfo) { - mAPPInfo = appInfo; - } - - APPInfo createAppInfo(Context context, AttributeSet attrs) { - APPInfo appInfo = new APPInfo(); - TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.AboutView); - appInfo.setAppName(typedArray.getString(R.styleable.AboutView_app_name)); - appInfo.setAppAPKFolderName(typedArray.getString(R.styleable.AboutView_app_apkfoldername)); - appInfo.setAppAPKName(typedArray.getString(R.styleable.AboutView_app_apkname)); - appInfo.setAppGitName(typedArray.getString(R.styleable.AboutView_app_gitname)); - appInfo.setAppGitOwner(typedArray.getString(R.styleable.AboutView_app_gitowner)); - appInfo.setAppGitAPPBranch(typedArray.getString(R.styleable.AboutView_app_gitappbranch)); - appInfo.setAppGitAPPSubProjectFolder(typedArray.getString(R.styleable.AboutView_app_gitappsubprojectfolder)); - appInfo.setAppDescription(typedArray.getString(R.styleable.AboutView_appdescription)); - appInfo.setAppIcon(typedArray.getResourceId(R.styleable.AboutView_appicon, R.drawable.ic_winboll)); - // 返回一个绑定资源结束的信号给资源 - typedArray.recycle(); - return appInfo; - } - void initView(Context context) {} - -// void initView(Context context) { -// mszAppName = mAPPInfo.getAppName(); -// mszAppAPKFolderName = mAPPInfo.getAppAPKFolderName(); -// mszAppAPKName = mAPPInfo.getAppAPKName(); -// mszAppGitName = mAPPInfo.getAppGitName(); -// mszAppDescription = mAPPInfo.getAppDescription(); -// mnAppIcon = mAPPInfo.getAppIcon(); -// -// mszWinBollServerHost = GlobalApplication.isDebuging() ? "https://dev.winboll.cc": "https://www.winboll.cc"; -// -// try { -// mszAppVersionName = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionName; -// } catch (PackageManager.NameNotFoundException e) { -// LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); -// } -// mszCurrentAppPackageName = mszAppAPKName + "_" + mszAppVersionName + ".apk"; -// mszHomePage = mszWinBollServerHost + "/studio/details.php?app=" + mszAppAPKFolderName; -// if(mAPPInfo.getAppGitAPPBranch().equals("")) { -// mszGitea = "https://gitea.winboll.cc/" + mAPPInfo.getAppGitOwner() + "/" + mszAppGitName; -// } else { -// mszGitea = "https://gitea.winboll.cc/" + mAPPInfo.getAppGitOwner() + "/" + mszAppGitName + "/src/branch/" + mAPPInfo.getAppGitAPPBranch() + "/" + mAPPInfo.getAppGitAPPSubProjectFolder(); -//} -// -// if (GlobalApplication.isDebuging()) { -// LayoutInflater inflater = LayoutInflater.from(mContext); -// View addedView = inflater.inflate(R.layout.view_about_dev, this, false); -// LinearLayout llMain = addedView.findViewById(R.id.viewaboutdevLinearLayout1); -// metDevUserName = addedView.findViewById(R.id.viewaboutdevEditText1); -// metDevUserPassword = addedView.findViewById(R.id.viewaboutdevEditText2); -// metDevUserName.setText(PrefUtils.getString(mContext, "metDevUserName", "")); -// metDevUserPassword.setText(PrefUtils.getString(mContext, "metDevUserPassword", "")); -// //mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context); -// mWinBollServiceStatusView = addedView.findViewById(R.id.viewaboutdevWinBollServiceStatusView1); -// mWinBollServiceStatusView.setServerHost(mszWinBollServerHost); -// mWinBollServiceStatusView.setAuthInfo(metDevUserName.getText().toString(), metDevUserPassword.getText().toString()); -// //llMain.addView(mDevelopHostConnectionStatusView); -// llMain.addView(createAboutPage()); -// addView(addedView); -// } else { -// LayoutInflater inflater = LayoutInflater.from(mContext); -// View addedView = inflater.inflate(R.layout.view_about_www, this, false); -// LinearLayout llMain = addedView.findViewById(R.id.viewaboutwwwLinearLayout1); -// //mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context); -// mWinBollServiceStatusView = addedView.findViewById(R.id.viewaboutwwwWinBollServiceStatusView1); -// mWinBollServiceStatusView.setServerHost(mszWinBollServerHost); -// mWinBollServiceStatusView.setAuthInfo("", ""); -// //llMain.addView(mDevelopHostConnectionStatusView); -// llMain.addView(createAboutPage()); -// addView(addedView); -// } - - // 初始化标题栏 - //setSubtitle(getContext().getString(R.string.text_about)); - //LinearLayout llMain = findViewById(R.id.viewaboutLinearLayout1); - //llMain.addView(createAboutPage()); - - // 就读取正式版应用包版本号,设置 Release 应用包文件名 -// String szReleaseAppVersionName = ""; -// try { -// //LogUtils.d(TAG, String.format("mContext.getPackageName() %s", mContext.getPackageName())); -// String szSubBetaSuffix = subBetaSuffix(mContext.getPackageName()); -// //LogUtils.d(TAG, String.format("szSubBetaSuffix : %s", szSubBetaSuffix)); -// szReleaseAppVersionName = mContext.getPackageManager().getPackageInfo(szSubBetaSuffix, 0).versionName; -// } catch (PackageManager.NameNotFoundException e) { -// LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); -// } -// mszReleaseAPKName = mszAppAPKName + "_" + szReleaseAppVersionName + ".apk"; - - // } - - void initView(Context context, AttributeSet attrs) { - mAPPInfo = createAppInfo(context, attrs); - initView(context); - } - -// public static String subBetaSuffix(String input) { -// if (input.endsWith(".beta")) { -// return input.substring(0, input.length() - ".beta".length()); -// } -// return input; -// } -// -// android.os.Handler mHandler = new android.os.Handler() { -// @Override -// public void handleMessage(Message msg) { -// super.handleMessage(msg); -// switch (msg.what) { -// case MSG_APPUPDATE_CHECKED : { -// /*//检查当前应用包文件名是否是测试版,如果是就忽略检查 -// if(mszCurrentAppPackageName.matches(".*_\\d+\\.\\d+\\.\\d+-beta.*\\.apk")) { -// ToastUtils.show("APP is the beta Version. Version check ignore."); -// return; -// }*/ -// -//// if (!AppVersionUtils.isHasNewStageReleaseVersion(mszReleaseAPKName, mszNewestAppPackageName)) { -//// ToastUtils.delayedShow("Current app is the newest.", 5000); -//// } -// if (!AppVersionUtils.isHasNewVersion2(mszCurrentAppPackageName, mszNewestAppPackageName)) { -// ToastUtils.show("Current app is the newest."); -// } else { -// String szMsg = "Current app is :\n[ " + mszCurrentAppPackageName -// + " ]\nThe last app is :\n[ " + mszNewestAppPackageName -// + " ]\nIs download the last app?"; -// YesNoAlertDialog.show(mContext, "Application Update Prompt", szMsg, mIsDownlaodUpdateListener); -// } -// break; -// } -// } -// } -// }; - -// protected View createAboutPage() { -// // 定义应用调试按钮 -// // -// Element elementAppMode; -// if (GlobalApplication.isDebuging()) { -// elementAppMode = new Element(mContext.getString(R.string.app_normal), R.drawable.ic_winboll); -// elementAppMode.setOnClickListener(mAppNormalOnClickListener); -// } else { -// elementAppMode = new Element(mContext.getString(R.string.app_debug), R.drawable.ic_winboll); -// elementAppMode.setOnClickListener(mAppDebugOnClickListener); -// } -// // 定义 GitWeb 按钮 -// // -// Element elementGitWeb = new Element(mContext.getString(R.string.gitea_home), R.drawable.ic_winboll); -// elementGitWeb.setOnClickListener(mGitWebOnClickListener); -// // 定义检查更新按钮 -// // -// Element elementAppUpdate = new Element(mContext.getString(R.string.app_update), R.drawable.ic_winboll); -// elementAppUpdate.setOnClickListener(mAppUpdateOnClickListener); -// -// String szAppInfo = ""; -// try { -// szAppInfo = mszAppName + " " -// + mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionName -// + "\n" + mszAppDescription; -// } catch (PackageManager.NameNotFoundException e) { -// LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); -// } -// View aboutPage = new AboutPage(mContext) -// .setDescription(szAppInfo) -// //.isRTL(false) -// //.setCustomFont(String) // or Typeface -// .setImage(mnAppIcon) -// //.addItem(versionElement) -// //.addItem(adsElement) -// //.addGroup("Connect with us") -// .addEmail("ZhanGSKen@AliYun.Com") -// .addWebsite(mszHomePage) -// .addItem(elementAppMode) -// .addItem(elementGitWeb) -// .addItem(elementAppUpdate) -// //.addFacebook("the.medy") -// //.addTwitter("medyo80") -// //.addYoutube("UCdPQtdWIsg7_pi4mrRu46vA") -// //.addPlayStore("com.ideashower.readitlater.pro") -// //.addGitHub("medyo") -// //.addInstagram("medyo80") -// .create(); -// return aboutPage; -// } - -// View.OnClickListener mAppDebugOnClickListener = new View.OnClickListener(){ -// @Override -// public void onClick(View view) { -// setApp2DebugMode(mContext); -// } -// }; -// -// View.OnClickListener mAppNormalOnClickListener = new View.OnClickListener(){ -// @Override -// public void onClick(View view) { -// setApp2NormalMode(mContext); -// } -// }; -// -// public static void setApp2DebugMode(Context context) { -// Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); -// if (intent != null) { -// intent.setAction(cc.winboll.studio.libapputils.intent.action.DEBUGVIEW); -// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -// GlobalApplication.setIsDebuging(context, true); -// DebugBean.saveBean(context, new DebugBean(true)); -// -// WinBollActivityManager.getInstance(context).finishAll(); -// context.startActivity(intent); -// } -// } -// -// public static void setApp2NormalMode(Context context) { -// Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); -// if (intent != null) { -// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -// GlobalApplication.setIsDebuging(context, false); -// DebugBean.saveBean(context, new DebugBean(false)); -// -// WinBollActivityManager.getInstance(context).finishAll(); -// context.startActivity(intent); -// } -// } -// -// View.OnClickListener mGitWebOnClickListener = new View.OnClickListener(){ -// @Override -// public void onClick(View view) { -// Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(mszGitea)); -// mContext.startActivity(browserIntent); -// } -// }; -// -// View.OnClickListener mAppUpdateOnClickListener = new View.OnClickListener(){ -// @Override -// public void onClick(View view) { -// ToastUtils.show("Start app update checking."); -// new Thread(new Runnable() { -// @Override -// public void run() { -// String szUrl = mszWinBollServerHost + "/studio/details.php?app=" + mszAppAPKFolderName; -// // 构建包含认证信息的请求 -// String credential = ""; -// if (GlobalApplication.isDebuging()) { -// credential = Credentials.basic(metDevUserName.getText().toString(), metDevUserPassword.getText().toString()); -// PrefUtils.saveString(mContext, "metDevUserName", metDevUserName.getText().toString()); -// PrefUtils.saveString(mContext, "metDevUserPassword", metDevUserPassword.getText().toString()); -// } -// OkHttpClient client = new OkHttpClient(); -// Request request = new Request.Builder() -// .url(szUrl) -// .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.v(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()); -// } -// } -// }); -// } -// }).start(); -// } -// }; -// -// YesNoAlertDialog.OnDialogResultListener mIsDownlaodUpdateListener = new YesNoAlertDialog.OnDialogResultListener() { -// @Override -// public void onYes() { -// String szUrl = mszWinBollServerHost + "/studio/download.php?appname=" + mszAppAPKFolderName + "&apkname=" + mszNewestAppPackageName; -// Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(szUrl)); -// mContext.startActivity(browserIntent); -// } -// -// @Override -// public void onNo() { -// } -// }; -// -// public interface OnRequestDevUserInfoAutofillListener { -// void requestAutofill(EditText etDevUserName, EditText etDevUserPassword); -// } -// -// public void setOnRequestDevUserInfoAutofillListener(OnRequestDevUserInfoAutofillListener l) { -// mOnRequestDevUserInfoAutofillListener = l; -// } -}