diff --git a/.winboll/Readme.txt b/.winboll/Readme.txt index 56949ff..f618520 100644 --- a/.winboll/Readme.txt +++ b/.winboll/Readme.txt @@ -1,4 +1,4 @@ -## WinBoll 主机编译事项提醒 +## WinBoLL 主机编译事项提醒 ## 类库类型源码发布 # 类库发布使用以下面命令 diff --git a/.winboll/bashCommitLibReleaseBuildFlagInfo.sh b/.winboll/bashCommitLibReleaseBuildFlagInfo.sh index d424a3a..d92f320 100644 --- a/.winboll/bashCommitLibReleaseBuildFlagInfo.sh +++ b/.winboll/bashCommitLibReleaseBuildFlagInfo.sh @@ -37,7 +37,7 @@ fi # 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值 PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}') echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >" -## 设新的 WinBoll 标签 +## 设新的 WinBoLL 标签 # 脚本调试时使用 #tag="v7.6.4-test1" # 正式设置标签时使用 diff --git a/.winboll/bashPublishAPKAddTag.sh b/.winboll/bashPublishAPKAddTag.sh index ebdd056..0a51077 100644 --- a/.winboll/bashPublishAPKAddTag.sh +++ b/.winboll/bashPublishAPKAddTag.sh @@ -38,24 +38,24 @@ function askAddWorkflowsTag { fi } -function addWinBollTag { +function addWinBoLLTag { # 就读取脚本 .winboll/winboll_app_build.gradle 生成的 publishVersion。 # 如果文件中有 publishVersion 这一项, # 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值 PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}') echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >" - ## 设新的 WinBoll 标签 + ## 设新的 WinBoLL 标签 # 脚本调试时使用 #tag="projectname-v7.6.4-test1" # 正式设置标签时使用 tag=$1"-v"${PUBLISH_VERSION} - echo "< WinBoll Tag To: $tag >"; - # 检查是否已经添加了 WinBoll Tag + echo "< WinBoLL Tag To: $tag >"; + # 检查是否已经添加了 WinBoLL Tag if [ "$(git tag -l ${tag})" == "${tag}" ]; then - echo -e "< WinBoll Tag ${tag} exist! >" - return 1 # WinBoll标签重复 + echo -e "< WinBoLL Tag ${tag} exist! >" + return 1 # WinBoLL标签重复 fi - # 添加WinBoll标签 + # 添加WinBoLL标签 git tag -a ${tag} -F $1/app_update_description.txt return 0 } @@ -119,22 +119,22 @@ if [[ $? -eq 0 ]]; then echo $result # 发布应用 - echo "Publishing WinBoll APK ..." + echo "Publishing WinBoLL APK ..." # 脚本调试时使用 #bash gradlew :$1:assembleBetaDebug # 正式发布 bash gradlew :$1:assembleStageRelease - echo "Publishing WinBoll APK OK." + echo "Publishing WinBoLL APK OK." - # 添加 WinBoll 标签 - result=$(addWinBollTag $1) + # 添加 WinBoLL 标签 + result=$(addWinBoLLTag $1) echo $result if [[ $? -eq 0 ]]; then echo $result - # WinBoll 标签添加成功 + # WinBoLL 标签添加成功 else - echo -e "${0}: addWinBollTag $1\n${result}\nAdd WinBoll tag cancel." - exit 1 # addWinBollTag 异常 + echo -e "${0}: addWinBoLLTag $1\n${result}\nAdd WinBoLL tag cancel." + exit 1 # addWinBoLLTag 异常 fi # 添加 GitHub 工作流标签 diff --git a/.winboll/bashPublishDebugAPKAddTag.sh b/.winboll/bashPublishDebugAPKAddTag.sh index 4c66313..0deb526 100644 --- a/.winboll/bashPublishDebugAPKAddTag.sh +++ b/.winboll/bashPublishDebugAPKAddTag.sh @@ -38,24 +38,24 @@ function askAddWorkflowsTag { fi } -function addWinBollTag { +function addWinBoLLTag { # 就读取脚本 .winboll/winboll_app_build.gradle 生成的 publishVersion。 # 如果文件中有 publishVersion 这一项, # 使用grep找到包含"publishVersion="的那一行,然后用awk提取其后的值 PUBLISH_VERSION=$(grep -o "publishVersion=.*" $1/build.properties | awk -F '=' '{print $2}') echo "< $1/build.properties publishVersion : ${PUBLISH_VERSION} >" - ## 设新的 WinBoll 标签 + ## 设新的 WinBoLL 标签 # 脚本调试时使用 #tag="v7.6.4-test1" # 正式调试版设置标签时使用 tag=$1"-v"${PUBLISH_VERSION}"-debug" - echo "< WinBoll Tag To: $tag >"; - # 检查是否已经添加了 WinBoll Tag + echo "< WinBoLL Tag To: $tag >"; + # 检查是否已经添加了 WinBoLL Tag if [ "$(git tag -l ${tag})" == "${tag}" ]; then - echo -e "< WinBoll Tag ${tag} exist! >" - return 1 # WinBoll标签重复 + echo -e "< WinBoLL Tag ${tag} exist! >" + return 1 # WinBoLL标签重复 fi - # 添加WinBoll标签 + # 添加WinBoLL标签 git tag -a ${tag} -F $1/app_update_description.txt return 0 } @@ -119,22 +119,22 @@ if [[ $? -eq 0 ]]; then echo $result # 发布应用 - echo "Publishing WinBoll Debug APK ..." + echo "Publishing WinBoLL Debug APK ..." # 脚本调试时使用 #bash gradlew :$1:assembleBetaDebug # 正式发布调试版 bash gradlew :$1:assembleStageDebug - echo "Publishing WinBoll Debug APK OK." + echo "Publishing WinBoLL Debug APK OK." - # 添加 WinBoll 标签 - result=$(addWinBollTag $1) + # 添加 WinBoLL 标签 + result=$(addWinBoLLTag $1) echo $result if [[ $? -eq 0 ]]; then echo $result - # WinBoll 标签添加成功 + # WinBoLL 标签添加成功 else - echo -e "${0}: addWinBollTag $1\n${result}\nAdd WinBoll tag cancel." - exit 1 # addWinBollTag 异常 + echo -e "${0}: addWinBoLLTag $1\n${result}\nAdd WinBoLL tag cancel." + exit 1 # addWinBoLLTag 异常 fi # 添加 GitHub 工作流标签 diff --git a/.winboll/bashPublishLIBAddTag.sh b/.winboll/bashPublishLIBAddTag.sh index 035c2b4..7ab6a3a 100644 --- a/.winboll/bashPublishLIBAddTag.sh +++ b/.winboll/bashPublishLIBAddTag.sh @@ -8,7 +8,7 @@ if [ -z "$1" ]; then fi ## 正式发布使用 -git pull && bash gradlew :$1:publishReleasePublicationToWinBollReleaseRepository && bash .winboll/bashCommitLibReleaseBuildFlagInfo.sh $1 +git pull && bash gradlew :$1:publishReleasePublicationToWinBoLLReleaseRepository && bash .winboll/bashCommitLibReleaseBuildFlagInfo.sh $1 ## 调试使用 -#bash gradlew :$1:publishSnapshotWinBollPublicationToWinBollSnapshotRepository && bash .winboll/bashCommitLibReleaseBuildFlagInfo.sh $1 +#bash gradlew :$1:publishSnapshotWinBoLLPublicationToWinBoLLSnapshotRepository && bash .winboll/bashCommitLibReleaseBuildFlagInfo.sh $1 diff --git a/.winboll/winboll_app_build.gradle b/.winboll/winboll_app_build.gradle index eacc876..cea3c1f 100644 --- a/.winboll/winboll_app_build.gradle +++ b/.winboll/winboll_app_build.gradle @@ -1,4 +1,4 @@ -// WinBoll 应用签名配置 +// WinBoLL 应用签名配置 // android { @@ -31,18 +31,18 @@ android { } } - flavorDimensions "WinBollApp" + flavorDimensions "WinBoLLApp" productFlavors { beta { // 检查编译标志位配置 assert (winbollBuildProps['buildCount'] != null) - dimension "WinBollApp" + dimension "WinBoLLApp" applicationIdSuffix ".beta" LocalDateTime localDateTimeNow = LocalDateTime.now(ZoneId.of("Asia/Shanghai")); versionNameSuffix "-beta" + winbollBuildProps['buildCount'] + "_" + localDateTimeNow.format('mmss') } stage { - dimension "WinBollApp" + dimension "WinBoLLApp" } } @@ -61,7 +61,7 @@ android { } // - // WinBoll 应用包输出配置 + // WinBoLL 应用包输出配置 // 1. 配置 Stage Release 版应用包输出 // 2. 配置 Beta Debug 版应用包输出 // @@ -74,13 +74,13 @@ android { //def outputFileName="${rootProject.name}_${versionName}.apk" def outputFileName=project.rootDir.name + "_${versionName}.apk" - // 创建 WinBoll Studio 发布接口文件夹 - File fWinBollStudioDir = file("/sdcard/WinBollStudio/APKs"); - if(!fWinBollStudioDir.exists()) { - //fWinBollStudioDir.mkdirs(); + // 创建 WinBoLL Studio 发布接口文件夹 + File fWinBoLLStudioDir = file("/sdcard/WinBoLLStudio/APKs"); + if(!fWinBoLLStudioDir.exists()) { + //fWinBoLLStudioDir.mkdirs(); // 如果没有发布接口文件就不用进行APK发布和源码管理操作 - // 当前编译环境不是 WinBoll 主机, 以下将忽略APK发布和源码管理操作。 - println 'The current compilation environment is not in WinBoll host, and the following APK publishing and source management operations will be ignore.' + // 当前编译环境不是 WinBoLL 主机, 以下将忽略APK发布和源码管理操作。 + println 'The current compilation environment is not in WinBoLL host, and the following APK publishing and source management operations will be ignore.' } else { /// WINBOLL 主机的 APK 发布和源码管理操作 /// variant.getAssembleProvider().get().doFirst { @@ -91,15 +91,15 @@ android { // variant.getAssembleProvider().get().doLast { variant.outputs.forEach{ file-> - // 如果正在调试,就拷贝到 WinBoll 备份管理文件夹 + // 如果正在调试,就拷贝到 WinBoLL 备份管理文件夹 // if(variant.flavorName == "beta"&&variant.buildType.name == "debug"){ - //File outBuildBckDir = new File(fWinBollStudioDir, "/${rootProject.name}/${variant.buildType.name}") - File outBuildBckDir = new File(fWinBollStudioDir, "/" + project.rootDir.name + "/${variant.buildType.name}") + //File outBuildBckDir = new File(fWinBoLLStudioDir, "/${rootProject.name}/${variant.buildType.name}") + File outBuildBckDir = new File(fWinBoLLStudioDir, "/" + project.rootDir.name + "/${variant.buildType.name}") // 创建目标路径目录 if(!outBuildBckDir.exists()) { outBuildBckDir.mkdirs(); - println "Output Folder Created.(WinBollStudio) : " + outBuildBckDir.getAbsolutePath() + println "Output Folder Created.(WinBoLLStudio) : " + outBuildBckDir.getAbsolutePath() } if(outBuildBckDir.exists()) { copy{ @@ -108,7 +108,7 @@ android { rename { String fileName -> "${outputFileName}" } - println "Output APK (WinBollStudio): " + outBuildBckDir.getAbsolutePath() + "/${outputFileName}" + println "Output APK (WinBoLLStudio): " + outBuildBckDir.getAbsolutePath() + "/${outputFileName}" } // 检查编译标志位配置 assert (winbollBuildProps['buildCount'] != null) @@ -137,7 +137,7 @@ android { } } - // 如果正在发布,就拷贝到 WinBoll 标签管理文件夹 + // 如果正在发布,就拷贝到 WinBoLL 标签管理文件夹 // if((variant.flavorName == "stage"&&variant.buildType.name == "debug") || (variant.flavorName == "stage"&&variant.buildType.name == "release")){ @@ -151,8 +151,8 @@ android { String szCommonTagAPKName = project.rootDir.name + "_" + szShortVersionName + ".apk" println "CommonTagAPKName is : " + szCommonTagAPKName - //File outTagDir = new File(fWinBollStudioDir, "/${rootProject.name}/tag/") - File outTagDir = new File(fWinBollStudioDir, "/" + project.rootDir.name + "/tag/") + //File outTagDir = new File(fWinBoLLStudioDir, "/${rootProject.name}/tag/") + File outTagDir = new File(fWinBoLLStudioDir, "/" + project.rootDir.name + "/tag/") // 创建目标路径目录 if(!outTagDir.exists()) { outTagDir.mkdirs(); diff --git a/.winboll/winboll_lib_build.gradle b/.winboll/winboll_lib_build.gradle index 0f19949..f63aa52 100644 --- a/.winboll/winboll_lib_build.gradle +++ b/.winboll/winboll_lib_build.gradle @@ -1,4 +1,4 @@ -// 本机和 WinBoll Maven 仓库传输配置。 +// 本机和 WinBoLL Maven 仓库传输配置。 // def getDefaultVersion(){ @@ -9,12 +9,12 @@ def getDefaultVersion(){ } def siteUrl = 'https://winboll.cc/?page=studio/details.php&app=${rootProject.name}' // 项目主页 -def gitUrl = 'https://gitea.winboll.cc/WinBoll/${rootProject.name}' // 项目的git地址 +def gitUrl = 'https://gitea.winboll.cc/WinBoLL/${rootProject.name}' // 项目的git地址 def DefaultGroupId = 'cc.winboll.studio' // 类库所有者groupId def DefaultVersion = getDefaultVersion() // 版本号 def DeveloperId='zhangsken' // 开发者账号 def DeveloperName='ZhanGSKen' // 开发者名称 -def DeveloperEMail='ZhanGSKen@QQ.COM' // 开发者邮箱地址 +def DeveloperEMail='zhangsken@188.com' // 开发者邮箱地址 def LicenseName='The Apache Software License, Version 2.0' def LicenseUrl='http://www.apache.org/licenses/LICENSE-2.0.txt' @@ -27,10 +27,10 @@ afterEvaluate { properties.load(file("${RootProjectDir}/${winbollFilePath}").newDataInputStream()) def NexusUserName = properties.getProperty("Nexus.name") def NexusPassword = properties.getProperty("Nexus.password") - // WinBoll Release 仓库 + // WinBoLL Release 仓库 maven{ //仓库的名字和地址 - name = "WinBollRelease" + name = "WinBoLLRelease" url="https://nexus.winboll.cc/repository/maven-releases/" // 仓库用户名密码 credentials { @@ -38,10 +38,10 @@ afterEvaluate { password = NexusPassword } } - // WinBoll Snapshot 仓库 + // WinBoLL Snapshot 仓库 maven{ //仓库的名字和地址 - name = "WinBollSnapshot" + name = "WinBoLLSnapshot" url="https://nexus.winboll.cc/repository/maven-snapshots/" // 仓库用户名密码 credentials { @@ -101,9 +101,9 @@ afterEvaluate { } } - // WinBoll Maven Release 仓库传输任务 + // WinBoLL Maven Release 仓库传输任务 // - releaseWinBoll(MavenPublication) { + releaseWinBoLL(MavenPublication) { // 需要使用的变体,假设有free和pay两个变体,可以选择一个 //from components.free @@ -154,9 +154,9 @@ afterEvaluate { } // 创建名为 release 的任务结束 - // WinBoll Maven Snapshot 仓库传输任务 + // WinBoLL Maven Snapshot 仓库传输任务 // - snapshotWinBoll(MavenPublication) { + snapshotWinBoLL(MavenPublication) { // 需要使用的变体,假设有free和pay两个变体,可以选择一个 //from components.free diff --git a/README.md b/README.md index 207e65c..b3319e1 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,23 @@ -# ☁ ☁ ☁ WinBoll APP ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ -# ☁ ☁ 这是 WinBoll 系列 APP 汇总项目。☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ -# ☁ ☁ ☁ WinBoll 网站地址 https://www.winboll.cc/studio/app/ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ +# ☁ ☁ ☁ WinBoLL APP ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ +# ☁ ☁ WinBoLL Studio Android 应用开源项目。☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ +# ☁ ☁ ☁ WinBoLL 网站地址 https://www.winboll.cc/ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ -## WinBoll 提问 +## WinBoLL 提问 同样是 /sdcard 目录,在开发 Android 应用时, 能否实现手机编译与电脑编译的源码同步。 -☁因而 WinBoll 项目组诞生了。 +☁因而 WinBoLL 项目组诞生了。 -## WinBoll 项目组研发计划 -致力于把 WinBoll-APP 应用在手机端 Android 项目开发。 -也在探索 https://gitea.winboll.cc//APP.git 应用于 WinBoll-APP APK 分发。 -更想进阶 https://github.com//APP.git 应用于 WinBoll-APP Beta APK 分发。 +## WinBoLL 项目组研发计划 +致力于把 WinBoLL-APP 应用在手机端 Android 项目开发。 +也在探索 https://gitea.winboll.cc//APP.git 应用于 WinBoLL-APP APK 分发。 +更想进阶 https://github.com//APP.git 应用于 WinBoLL-APP Beta APK 分发。 -## WinBoll-APP 汗下... +## WinBoLL-APP 汗下... #### ☁应用何置如此呢。且观用户云云。 #### ☁ 正当下 ☁ ### -#### ☁ 且容傻家叙说 ☁ WinBoll-APP 应用场景 -### ☁ WinBoll 设备资源概述 +#### ☁ 且容傻家叙说 ☁ WinBoLL-APP 应用场景 +### ☁ WinBoLL 设备资源概述 #### ☁ 1. Raid Disk. 概述:这是一个矩阵存储类设备。 优点:该设备具有数据容错存储功能, @@ -40,74 +40,79 @@ 设备位于操作系统内部文件系统。 数据持久性与操作系统挂钩。 -#### ☁ 4. WinBoll 用户资源概述。 -1> /home/<用户名> 位于 WinBoll 操作系统目录下。 +#### ☁ 4. WinBoLL 用户资源概述。 +1> /home/<用户名> 位于 WinBoLL 操作系统目录下。 2> /rdisk/<用户名> 挂载用户 Raid Disk. 3> /data/<用户名> 挂载用户 Data Disk. 4> /sdcard/<用户名> 挂载用户 SSD Disk. -#### ☁ 5. WinBoll-APP 用户资源概述。 +#### ☁ 5. WinBoLL-APP 用户资源概述。 1> /sdcard 挂载用户手机 SD 存储/storage/emulated/0 ### ☁ 稍稍歇 ☁ ### -### ☁ 急急停 ☁ WinBoll 应用前置条件 -☁ WinBoll 主机建立 1Panel MySQL 应用。 -☁ WinBoll 主机建立 1Panel Gitea 应用。 -☁ WinBoll 主机设置 WinBoll 应用为非登录状态。 -☁ WinBoll 主机建立 WinBoll 账户与 WinBoll 用户组。 -☁ WinBoll 账户 User ID 为: J。 -☁ WinBoll 用户组 Group ID 为: Studio。 -☁ WinBoll 主机 WinBoll 1Panel Gitea 建立 WinBoll 工作组。 -☁ WinBoll 主机 WinBoll 1Panel Gitea 用户项目 APK 编译输出目录为 /sdcard/WinBollStudio/<用户名>/APKs/ -☁ WinBoll 项目配置文件示例为 "/.winboll/winboll.properties-demo"(WinBoll 项目已设置) -☁ WinBoll 项目配置文件为 "/.winboll/winboll.properties" -☁ WinBoll 项目配置文件设定为源码提交时忽略。(WinBoll 项目已设置) -☁ Gradle 项目配置文件示例为 "/.winboll/local.properties-demo"(WinBoll 项目已设置) -☁ Gradle 项目配置文件为 "/local.properties"(WinBoll 项目已设置) -☁ Gradle 项目配置文件设定为源码提交时忽略。(WinBoll 项目已设置) +### ☁ 急急停 ☁ WinBoLL 应用前置条件 +☁ WinBoLL 主机建立 1Panel MySQL 应用。 +☁ WinBoLL 主机建立 1Panel Gitea 应用。 +☁ WinBoLL 主机设置 WinBoLL 应用为非登录状态。 +☁ WinBoLL 主机建立 WinBoLL 账户与 WinBoLL 用户组。 +☁ WinBoLL 账户 User ID 为: J。 +☁ WinBoLL 用户组 Group ID 为: Studio。 +☁ WinBoLL 主机 WinBoLL 1Panel Gitea 建立 WinBoLL 工作组。 +☁ WinBoLL 主机 WinBoLL 1Panel Gitea 用户项目 APK 编译输出目录为 /sdcard/WinBoLLStudio/<用户名>/APKs/ +☁ WinBoLL 项目配置文件示例为 "/.winboll/winboll.properties-demo"(WinBoLL 项目已设置) +☁ WinBoLL 项目配置文件为 "/.winboll/winboll.properties" +☁ WinBoLL 项目配置文件设定为源码提交时忽略。(WinBoLL 项目已设置) +☁ Gradle 项目配置文件示例为 "/.winboll/local.properties-demo"(WinBoLL 项目已设置) +☁ Gradle 项目配置文件为 "/local.properties"(WinBoLL 项目已设置) +☁ Gradle 项目配置文件设定为源码提交时忽略。(WinBoLL 项目已设置) -### ☁ 登高处 ☁ WinBoll 应用需求规划 -☁ WinBoll 主机建立 WinBoll 客户端用户数据库为 MySQL winbollclient 数据库。 -☁ WinBoll 主机设置 WinBoll 客户端用户信息存储在 winbollclient 数据库中。 +### ☁ 登高处 ☁ WinBoLL 应用需求规划 +☁ WinBoLL 主机建立 WinBoLL 客户端用户数据库为 MySQL winbollclient 数据库。 +☁ WinBoLL 主机设置 WinBoLL 客户端用户信息存储在 winbollclient 数据库中。 ☁ MySQL winbollclient 数据库中 - WinBoll 客户端用户信息设定为: + WinBoLL 客户端用户信息设定为: <用户名, 验证密码, 验证邮箱, 验证手机, 唯一存储令牌Token, 备用验证邮箱>。 -☁ WinBoll 项目源码仓库托管在 WinBoll 1Panel Gitea 目录 /opt/1panel/apps/gitea/gitea/data/git/repositories/studio/app.git中。 -☁ WinBoll 主机提供 WinBoll 1Panel Gitea 应用的 WinBoll 项目源码仓库存取功能。(Gitea 应用已提供) -☁ WinBoll 主机提供 WinBoll Gitea 项目仓库存档功能。(Gitea 应用已提供) -☁ 提供 WinBoll 客户端用户登录功能。(Gitea 应用已提供) +☁ WinBoLL 项目源码仓库托管在 WinBoLL 1Panel Gitea 目录 /opt/1panel/apps/gitea/gitea/data/git/repositories/studio/app.git中。 +☁ WinBoLL 主机提供 WinBoLL 1Panel Gitea 应用的 WinBoLL 项目源码仓库存取功能。(Gitea 应用已提供) +☁ WinBoLL 主机提供 WinBoLL Gitea 项目仓库存档功能。(Gitea 应用已提供) +☁ 提供 WinBoLL 客户端用户登录功能。(Gitea 应用已提供) ### ☁ 看远方 ☁ ### -### ☁ 心忧虑 ☁ WinBoll-APP 应用前置需求 -☁ WinBoll-APP WinBoll 项目根目录设定为手机的 /sdcard/WinBollStudio/Sources 目录。(需要用户手动建立文件夹) -☁ WinBoll-APP 具有手机 /sdcard/WinBoll 目录的存储权限。(需要手机操作系统授权) -☁ WinBoll-APP WinBoll 项目仓库源码存储路径为 /sdcard/WinBollStudio/Sources/APP.git(需要用户手动建立文件夹) -☁ WinBoll-APP 项目 APK 编译输出目录为 /sdcard/WinBollStudio/APKs/ -☁ WinBoll-APP 应用签名验证可定制化。(WinBoll 项目已提供) -☁ WinBoll-APP 与系列衍生 APP 应用共享 cc.winboll.studio 命名空间资源。(WinBoll 项目已提供) -☁ WinBoll-APP 用户客户端信息存储在命名空间为 WinBoll APP MySQLLite 应用的 winbollappclient 数据库中。 -☁ WinBoll-APP MySQLLite 应用的 winbollappclient 数据库中, - WinBoll 用户客户端信息设定为: +### ☁ 心忧虑 ☁ WinBoLL-APP 应用前置需求 +☁ WinBoLL-APP WinBoLL 项目根目录设定为手机的 /sdcard/WinBoLLStudio/Sources 目录。(需要用户手动建立文件夹) +☁ WinBoLL-APP 具有手机 /sdcard/WinBoLL 目录的存储权限。(需要手机操作系统授权) +☁ WinBoLL-APP WinBoLL 项目仓库源码存储路径为 /sdcard/WinBoLLStudio/Sources/APP.git(需要用户手动建立文件夹) +☁ WinBoLL-APP 项目 APK 编译输出目录为 /sdcard/WinBoLLStudio/APKs/ +☁ WinBoLL-APP 应用签名验证可定制化。(WinBoLL 项目已提供) +☁ WinBoLL-APP 与系列衍生 APP 应用共享 cc.winboll.studio 命名空间资源。(WinBoLL 项目已提供) +☁ WinBoLL-APP 用户客户端信息存储在命名空间为 WinBoLL APP MySQLLite 应用的 winbollappclient 数据库中。 +☁ WinBoLL-APP MySQLLite 应用的 winbollappclient 数据库中, + WinBoLL 用户客户端信息设定为: <用户名, 唯一存储令牌Token>。 ### ☁ 云游四方 ☁ ### -### ☁ 呔! ☁ WinBoll-APP 应用需求规划 -☁ WinBoll-APP 提供手机目录 /sdcard/WinBollStudio/Sources 的 WinBoll 项目源码管理功能。 +### ☁ 呔! ☁ WinBoLL-APP 应用需求规划 +☁ 如要使用 WinBoLL Android 项目的 Gradle 编译功能,则需要设置以下两个文件夹。 +☁ 1. 则需要建立数据存储目录 /sdcard/WinBoLLStudio/APKs。 + WinBoLL 项目源码编译出来的安装包会拷贝一份到 /sdcard/WinBoLLStudio/APKs 目录下。 +☁ 2. 则需要建立数据存储目录 /sdcard/AppProjects。 + WinBoLL 项目源码编译出来的安装包会拷贝一份并命名 "app.apk" 的安装文件为到 /sdcard/AppProjects 目录下。 -### ☁ 吁! ☁ WinBoll-APP 共享计划前景 -☁ WinBoll-APP 将会实现 https://winboll.cc/api 访问功能。 -☁ WinBoll-APP 将会实现手机端 Android 应用的开发与管理功能。 -## ☁ WinBoll ☁ WinBoll 主机忧虑 -☁ WinBoll 将会提供 gitea.winboll.cc 域名用户注册登录功能。 -☁ WinBoll 将会提供 WinBoll-APP 及其衍生应用的 Gitea 仓库管理服务。 -☁ WinBoll 将会提供 winboll.cc 域名 WinBoll 项目组注册登录功能。 +### ☁ 吁! ☁ WinBoLL-APP 共享计划前景 +☁ WinBoLL-APP 将会实现 https://winboll.cc/api 访问功能。 +☁ WinBoLL-APP 将会实现手机端 Android 应用的开发与管理功能。 + +## ☁ WinBoLL ☁ WinBoLL 主机忧虑 +☁ WinBoLL 将会提供 gitea.winboll.cc 域名用户注册登录功能。 +☁ WinBoLL 将会提供 WinBoLL-APP 及其衍生应用的 Gitea 仓库管理服务。 +☁ WinBoLL 将会提供 winboll.cc 域名 WinBoLL 项目组注册登录功能。 # 本项目要实际运用需要注意以下几个步骤: # 在项目根目录下: ## 1. 项目模块编译环境设置(必须),settings.gradle-demo 要复制为 settings.gradle,并取消相应项目模块的注释。 ## 2. 项目 Android SDK 编译环境设置(可选),local.properties-demo 要复制为 local.properties,并按需要设置 Android SDK 目录。 -## 3. 类库型模块编译环境设置(可选),winboll.properties-demo 要复制为 winboll.properties,并按需要设置 WinBoll Maven 库登录用户信息。 +## 3. 类库型模块编译环境设置(可选),winboll.properties-demo 要复制为 winboll.properties,并按需要设置 WinBoLL Maven 库登录用户信息。 # ☆类库型项目编译方法 @@ -116,12 +121,12 @@ 设置属性 libraryProject=<类库项目模块文件夹名称> ### 再编译测试项目 $ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称> -#### 测试项目编译后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBollStudio/APKs/<项目根目录名称>/tag/" 文件夹。 +#### 测试项目编译后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。 ### 最后编译类库项目 $ bash .winboll/bashPublishLIBAddTag.sh <类库项目模块文件夹名称> -#### 类库模块编译命令执行后,编译器会发布到 WinBoll Nexus Maven 库:Maven 库地址可以参阅根项目目录配置 build.gradle 文件。 +#### 类库模块编译命令执行后,编译器会发布到 WinBoLL Nexus Maven 库:Maven 库地址可以参阅根项目目录配置 build.gradle 文件。 # ☆应用型项目编译方法 ## 直接调用以下命令编译应用型项目 $ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称> -#### 应用模块编译命令执行后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBollStudio/APKs/<项目根目录名称>/tag/" 文件夹。 +#### 应用模块编译命令执行后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。 diff --git a/aes/build.gradle b/aes/build.gradle index 13025d9..40db0a1 100644 --- a/aes/build.gradle +++ b/aes/build.gradle @@ -24,12 +24,12 @@ android { defaultConfig { applicationId "cc.winboll.studio.aes" minSdkVersion 24 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 1 // versionName 更新后需要手动设置 // 项目模块目录的 build.gradle 文件的 stageCount=0 // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0" - versionName "15.2" + versionName "15.6" if(true) { versionName = genVersionName("${versionName}") } diff --git a/aes/build.properties b/aes/build.properties index 6c6ad79..ec4f107 100644 --- a/aes/build.properties +++ b/aes/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Thu Apr 03 11:14:05 HKT 2025 -stageCount=7 +#Tue Apr 29 15:14:41 HKT 2025 +stageCount=1 libraryProject=libaes -baseVersion=15.2 -publishVersion=15.2.6 +baseVersion=15.6 +publishVersion=15.6.0 buildCount=0 -baseBetaVersion=15.2.7 +baseBetaVersion=15.6.1 diff --git a/aes/src/main/java/cc/winboll/studio/aes/AboutActivity.java b/aes/src/main/java/cc/winboll/studio/aes/AboutActivity.java index bc1ff3b..228cd19 100644 --- a/aes/src/main/java/cc/winboll/studio/aes/AboutActivity.java +++ b/aes/src/main/java/cc/winboll/studio/aes/AboutActivity.java @@ -10,14 +10,13 @@ import android.content.Context; import android.os.Bundle; import android.view.ViewGroup; import android.widget.LinearLayout; -import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import cc.winboll.studio.libaes.winboll.APPInfo; import cc.winboll.studio.libaes.winboll.AboutView; import cc.winboll.studio.libappbase.GlobalApplication; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; -public class AboutActivity extends WinBollActivity implements IWinBollActivity { +public class AboutActivity extends WinBoLLActivity implements IWinBoLLActivity { public static final String TAG = "AboutActivity"; @@ -64,13 +63,13 @@ public class AboutActivity extends WinBollActivity implements IWinBollActivity { ); layout.addView(aboutView, params); - GlobalApplication.getWinBollActivityManager().add(this); + GlobalApplication.getWinBoLLActivityManager().add(this); } @Override protected void onDestroy() { super.onDestroy(); - GlobalApplication.getWinBollActivityManager().registeRemove(this); + GlobalApplication.getWinBoLLActivityManager().registeRemove(this); } public AboutView CreateAboutView() { diff --git a/aes/src/main/java/cc/winboll/studio/aes/App.java b/aes/src/main/java/cc/winboll/studio/aes/App.java index 2dc8e06..b656adb 100644 --- a/aes/src/main/java/cc/winboll/studio/aes/App.java +++ b/aes/src/main/java/cc/winboll/studio/aes/App.java @@ -8,6 +8,7 @@ package cc.winboll.studio.aes; import android.view.Gravity; import cc.winboll.studio.libappbase.GlobalApplication; import com.hjq.toast.ToastUtils; +import com.hjq.toast.style.WhiteToastStyle; public class App extends GlobalApplication { @@ -21,8 +22,8 @@ public class App extends GlobalApplication { // 初始化 Toast 框架 ToastUtils.init(this); // 设置 Toast 布局样式 - ToastUtils.setView(R.layout.view_toast); - //ToastUtils.setStyle(new WhiteToastStyle()); + //ToastUtils.setView(R.layout.view_toast); + ToastUtils.setStyle(new WhiteToastStyle()); ToastUtils.setGravity(Gravity.BOTTOM, 0, 200); } diff --git a/aes/src/main/java/cc/winboll/studio/aes/MainActivity.java b/aes/src/main/java/cc/winboll/studio/aes/MainActivity.java index 7d76e83..73fcd02 100644 --- a/aes/src/main/java/cc/winboll/studio/aes/MainActivity.java +++ b/aes/src/main/java/cc/winboll/studio/aes/MainActivity.java @@ -25,12 +25,12 @@ import cc.winboll.studio.libaes.unittests.TestAToolbarActivity; import cc.winboll.studio.libaes.unittests.TestDrawerFragmentActivity; import cc.winboll.studio.libaes.unittests.TestViewPageFragment; import cc.winboll.studio.libappbase.LogUtils; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; import com.a4455jkjh.colorpicker.ColorPickerDialog; import com.hjq.toast.ToastUtils; import java.util.ArrayList; -public class MainActivity extends DrawerFragmentActivity implements IWinBollActivity { +public class MainActivity extends DrawerFragmentActivity implements IWinBoLLActivity { public static final String TAG = "MainActivity"; @@ -123,7 +123,7 @@ public class MainActivity extends DrawerFragmentActivity implements IWinBollActi public boolean onOptionsItemSelected(MenuItem item) { int nItemId = item.getItemId(); // if (item.getItemId() == R.id.item_log) { -// WinBollActivityManager.getInstance(this).startWinBollActivity(getApplicationContext(), LogActivity.class); +// WinBoLLActivityManager.getInstance(this).startWinBoLLActivity(getApplicationContext(), LogActivity.class); // } else if (nItemId == R.id.item_atoast) { Toast.makeText(getApplication(), "item_testatoast", Toast.LENGTH_SHORT).show(); diff --git a/aes/src/main/java/cc/winboll/studio/aes/WinBollActivity.java b/aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java similarity index 86% rename from aes/src/main/java/cc/winboll/studio/aes/WinBollActivity.java rename to aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java index a15318d..af25247 100644 --- a/aes/src/main/java/cc/winboll/studio/aes/WinBollActivity.java +++ b/aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java @@ -5,17 +5,17 @@ import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import cc.winboll.studio.libaes.beans.AESThemeBean; import cc.winboll.studio.libaes.utils.AESThemeUtil; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; import android.view.MenuItem; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/30 00:34:02 - * @Describe WinBoll 活动窗口通用基类 + * @Describe WinBoLL 活动窗口通用基类 */ -public class WinBollActivity extends AppCompatActivity implements IWinBollActivity { +public class WinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity { - public static final String TAG = "WinBollActivity"; + public static final String TAG = "WinBoLLActivity"; protected volatile AESThemeBean.ThemeType mThemeType; diff --git a/appbase/build.gradle b/appbase/build.gradle index 727c7be..66b0085 100644 --- a/appbase/build.gradle +++ b/appbase/build.gradle @@ -25,12 +25,12 @@ android { defaultConfig { applicationId "cc.winboll.studio.appbase" minSdkVersion 24 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 1 // versionName 更新后需要手动设置 // .winboll/winbollBuildProps.properties 文件的 stageCount=0 // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0" - versionName "15.2" + versionName "15.7" if(true) { versionName = genVersionName("${versionName}") } diff --git a/appbase/build.properties b/appbase/build.properties index 04487f9..3cb59e8 100644 --- a/appbase/build.properties +++ b/appbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sat Apr 12 15:06:52 HKT 2025 -stageCount=6 +#Tue Apr 29 14:47:34 HKT 2025 +stageCount=7 libraryProject=libappbase -baseVersion=15.2 -publishVersion=15.2.5 +baseVersion=15.7 +publishVersion=15.7.6 buildCount=0 -baseBetaVersion=15.2.6 +baseBetaVersion=15.7.7 diff --git a/appbase/src/main/AndroidManifest.xml b/appbase/src/main/AndroidManifest.xml index 3ff9087..e8a8bdb 100644 --- a/appbase/src/main/AndroidManifest.xml +++ b/appbase/src/main/AndroidManifest.xml @@ -5,7 +5,7 @@ _WinBollNewsBeanList; + volatile static ArrayList _WinBoLLNewsBeanList; final static int _MAX_PAGES = 10; final static int _OnePageLinesCount = 5; volatile static int _CurrentPageIndex = 0; @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { - initWinBollNewsBeanList(context); + initWinBoLLNewsBeanList(context); for (int appWidgetId : appWidgetIds) { updateAppWidget(context, appWidgetManager, appWidgetId); } @@ -47,7 +47,7 @@ public class APPNewsWidget extends AppWidgetProvider { @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); - initWinBollNewsBeanList(context); + initWinBoLLNewsBeanList(context); if (intent.getAction().equals(ACTION_RELOAD_REPORT)) { LogUtils.d(TAG, "ACTION_RELOAD_REPORT"); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); @@ -57,7 +57,7 @@ public class APPNewsWidget extends AppWidgetProvider { } }else if (intent.getAction().equals(ACTION_WAKEUP_SERVICE)) { LogUtils.d(TAG, "ACTION_WAKEUP_SERVICE"); - String szAPPModel = intent.getStringExtra(WinBoll.EXTRA_APPMODEL); + String szAPPModel = intent.getStringExtra(WinBoLL.EXTRA_APPMODEL); LogUtils.d(TAG, String.format("szAPPModel %s", szAPPModel)); if (szAPPModel != null && !szAPPModel.equals("")) { try { @@ -71,7 +71,7 @@ public class APPNewsWidget extends AppWidgetProvider { String appName = AppUtils.getAppNameByPackageName(context, szAppPackageName); LogUtils.d(TAG, String.format("appName %s", appName)); - WinBollNewsBean winBollNewsBean = new WinBollNewsBean(appName); + WinBoLLNewsBean winBollNewsBean = new WinBoLLNewsBean(appName); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); String currentTime = sdf.format(new Date()); StringBuilder sbLine = new StringBuilder(); @@ -81,7 +81,7 @@ public class APPNewsWidget extends AppWidgetProvider { sbLine.append(appName); winBollNewsBean.setMessage(sbLine.toString()); - addWinBollNewsBean(context, winBollNewsBean); + addWinBoLLNewsBean(context, winBollNewsBean); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, APPNewsWidget.class)); @@ -99,24 +99,24 @@ public class APPNewsWidget extends AppWidgetProvider { // // 加入新报告信息 // - public synchronized static void addWinBollNewsBean(Context context, WinBollNewsBean bean) { - initWinBollNewsBeanList(context); - _WinBollNewsBeanList.add(0, bean); + public synchronized static void addWinBoLLNewsBean(Context context, WinBoLLNewsBean bean) { + initWinBoLLNewsBeanList(context); + _WinBoLLNewsBeanList.add(0, bean); // 控制记录总数 - while (_WinBollNewsBeanList.size() > _MAX_PAGES * _OnePageLinesCount) { - _WinBollNewsBeanList.remove(_WinBollNewsBeanList.size() - 1); + while (_WinBoLLNewsBeanList.size() > _MAX_PAGES * _OnePageLinesCount) { + _WinBoLLNewsBeanList.remove(_WinBoLLNewsBeanList.size() - 1); } - WinBollNewsBean.saveBeanList(context, _WinBollNewsBeanList, WinBollNewsBean.class); + WinBoLLNewsBean.saveBeanList(context, _WinBoLLNewsBeanList, WinBoLLNewsBean.class); } - synchronized static void initWinBollNewsBeanList(Context context) { - if (_WinBollNewsBeanList == null) { - _WinBollNewsBeanList = new ArrayList(); - WinBollNewsBean.loadBeanList(context, _WinBollNewsBeanList, WinBollNewsBean.class); + synchronized static void initWinBoLLNewsBeanList(Context context) { + if (_WinBoLLNewsBeanList == null) { + _WinBoLLNewsBeanList = new ArrayList(); + WinBoLLNewsBean.loadBeanList(context, _WinBoLLNewsBeanList, WinBoLLNewsBean.class); } - if (_WinBollNewsBeanList == null) { - _WinBollNewsBeanList = new ArrayList(); - WinBollNewsBean.saveBeanList(context, _WinBollNewsBeanList, WinBollNewsBean.class); + if (_WinBoLLNewsBeanList == null) { + _WinBoLLNewsBeanList = new ArrayList(); + WinBoLLNewsBean.saveBeanList(context, _WinBoLLNewsBeanList, WinBoLLNewsBean.class); } } @@ -141,11 +141,11 @@ public class APPNewsWidget extends AppWidgetProvider { public static String getMessage() { ArrayList msgTemp = new ArrayList(); - if (_WinBollNewsBeanList != null) { + if (_WinBoLLNewsBeanList != null) { int start = _OnePageLinesCount * _CurrentPageIndex; - start = _WinBollNewsBeanList.size() > start ? start : _WinBollNewsBeanList.size() - 1; - for (int i = start, j = 0; i < _WinBollNewsBeanList.size() && j < _OnePageLinesCount && start > -1; i++, j++) { - msgTemp.add(_WinBollNewsBeanList.get(i).getMessage()); + start = _WinBoLLNewsBeanList.size() > start ? start : _WinBoLLNewsBeanList.size() - 1; + for (int i = start, j = 0; i < _WinBoLLNewsBeanList.size() && j < _OnePageLinesCount && start > -1; i++, j++) { + msgTemp.add(_WinBoLLNewsBeanList.get(i).getMessage()); } String message = String.join("\n", msgTemp); return message; @@ -154,7 +154,7 @@ public class APPNewsWidget extends AppWidgetProvider { } public static void prePage(Context context) { - if (_WinBollNewsBeanList != null) { + if (_WinBoLLNewsBeanList != null) { if (_CurrentPageIndex > 0) { _CurrentPageIndex = _CurrentPageIndex - 1; } @@ -165,8 +165,8 @@ public class APPNewsWidget extends AppWidgetProvider { } public static void nextPage(Context context) { - if (_WinBollNewsBeanList != null) { - if ((_CurrentPageIndex + 1) * _OnePageLinesCount < _WinBollNewsBeanList.size()) { + if (_WinBoLLNewsBeanList != null) { + if ((_CurrentPageIndex + 1) * _OnePageLinesCount < _WinBoLLNewsBeanList.size()) { _CurrentPageIndex = _CurrentPageIndex + 1; } Intent intentWidget = new Intent(context, APPNewsWidget.class); @@ -176,11 +176,11 @@ public class APPNewsWidget extends AppWidgetProvider { } String getPageInfo() { - if (_WinBollNewsBeanList == null) { + if (_WinBoLLNewsBeanList == null) { return "0/0"; } - int leftCount = _WinBollNewsBeanList.size() % _OnePageLinesCount; - int currentPageCount = _WinBollNewsBeanList.size() / _OnePageLinesCount + (leftCount == 0 ?0: 1); + int leftCount = _WinBoLLNewsBeanList.size() % _OnePageLinesCount; + int currentPageCount = _WinBoLLNewsBeanList.size() / _OnePageLinesCount + (leftCount == 0 ?0: 1); return String.format("%d/%d", _CurrentPageIndex + 1, currentPageCount); } } diff --git a/appbase/src/main/res/layout/activity_main.xml b/appbase/src/main/res/layout/activity_main.xml index 193d0cc..a0e011f 100644 --- a/appbase/src/main/res/layout/activity_main.xml +++ b/appbase/src/main/res/layout/activity_main.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - @@ -32,7 +32,7 @@ + android:text="Hello, WinBoLL!"/> - diff --git a/appbase/src/main/res/layout/activity_new2.xml b/appbase/src/main/res/layout/activity_new2.xml index 38b5906..697e613 100644 --- a/appbase/src/main/res/layout/activity_new2.xml +++ b/appbase/src/main/res/layout/activity_new2.xml @@ -6,7 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - diff --git a/appbase/src/main/res/layout/widget_news.xml b/appbase/src/main/res/layout/widget_news.xml index f5741ae..e85e3d2 100644 --- a/appbase/src/main/res/layout/widget_news.xml +++ b/appbase/src/main/res/layout/widget_news.xml @@ -18,7 +18,7 @@ android:layout_height="wrap_content" android:id="@+id/tv_title" android:layout_weight="1.0" - android:text="WinBollNews" + android:text="WinBoLLNews" android:textStyle="bold" android:textSize="16sp"/> diff --git a/appbase/src/main/res/values/strings.xml b/appbase/src/main/res/values/strings.xml index eb33ef7..fdd16ce 100644 --- a/appbase/src/main/res/values/strings.xml +++ b/appbase/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ AppBase - WinBoll + WinBoLL diff --git a/apputils/build.gradle b/apputils/build.gradle index ce30b57..dfbe547 100644 --- a/apputils/build.gradle +++ b/apputils/build.gradle @@ -24,12 +24,12 @@ android { defaultConfig { applicationId "cc.winboll.studio.apputils" minSdkVersion 26 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 1 // versionName 更新后需要手动设置 // 项目模块目录的 build.gradle 文件的 stageCount=0 // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0" - versionName "15.2" + versionName "15.3" if(true) { versionName = genVersionName("${versionName}") } diff --git a/apputils/build.properties b/apputils/build.properties index 4fad09f..89f1c90 100644 --- a/apputils/build.properties +++ b/apputils/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sat Mar 29 12:14:55 HKT 2025 -stageCount=2 +#Tue Apr 29 15:04:17 HKT 2025 +stageCount=5 libraryProject=libapputils -baseVersion=15.2 -publishVersion=15.2.1 +baseVersion=15.3 +publishVersion=15.3.4 buildCount=0 -baseBetaVersion=15.2.2 +baseBetaVersion=15.3.5 diff --git a/apputils/src/main/java/cc/winboll/studio/apputils/AssetsHtmlActivity.java b/apputils/src/main/java/cc/winboll/studio/apputils/AssetsHtmlActivity.java index 432d5be..b504503 100644 --- a/apputils/src/main/java/cc/winboll/studio/apputils/AssetsHtmlActivity.java +++ b/apputils/src/main/java/cc/winboll/studio/apputils/AssetsHtmlActivity.java @@ -15,12 +15,12 @@ import android.view.MenuItem; import android.widget.Toolbar; import cc.winboll.studio.apputils.R; import cc.winboll.studio.libappbase.LogUtils; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; import cc.winboll.studio.libapputils.views.SimpleWebView; import java.io.IOException; import java.io.InputStream; -public class AssetsHtmlActivity extends WinBollActivityBase implements IWinBollActivity { +public class AssetsHtmlActivity extends WinBoLLActivityBase implements IWinBoLLActivity { @Override public Activity getActivity() { @@ -57,7 +57,7 @@ public class AssetsHtmlActivity extends WinBollActivityBase implements IWinBollA @Override public boolean onOptionsItemSelected(MenuItem item) { // if (item.getItemId() == android.R.id.home) { -// WinBollActivityManager.getInstance(this).finish(this); +// WinBoLLActivityManager.getInstance(this).finish(this); // } return super.onOptionsItemSelected(item); } 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 afe1708..34de3b5 100644 --- a/apputils/src/main/java/cc/winboll/studio/apputils/MainActivity.java +++ b/apputils/src/main/java/cc/winboll/studio/apputils/MainActivity.java @@ -60,9 +60,9 @@ final public class MainActivity extends Activity { //if (prosessIntents(getIntent())) return; // 以下正常创建主窗口 -// // 设置 WinBoll 应用 UI 类型 -// WinBollApplication.setWinBollUI_TYPE(WinBollApplication.WinBollUI_TYPE.Aplication); -// //ToastUtils.show("WinBollUI_TYPE " + WinBollApplication.getWinBollUI_TYPE()); +// // 设置 WinBoLL 应用 UI 类型 +// WinBoLLApplication.setWinBoLLUI_TYPE(WinBoLLApplication.WinBoLLUI_TYPE.Aplication); +// //ToastUtils.show("WinBoLLUI_TYPE " + WinBoLLApplication.getWinBoLLUI_TYPE()); // LogUtils.d(TAG, "BuildConfig.DEBUG : " + Boolean.toString(BuildConfig.DEBUG)); } @@ -77,7 +77,7 @@ final public class MainActivity extends Activity { if (intent.getAction() != null) { // if (intent.getAction().equals(cc.winboll.studio.libapputils.intent.action.DEBUGVIEW)) { // App.setIsDebug(true); -// //ToastUtils.show!("WinBollApplication.setIsDebug(true) by action : " + intent.getAction()); +// //ToastUtils.show!("WinBoLLApplication.setIsDebug(true) by action : " + intent.getAction()); // // } } @@ -130,12 +130,12 @@ final public class MainActivity extends Activity { protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); // 缓存当前 activity - //WinBollActivityManager.getInstance(this).add(this); + //WinBoLLActivityManager.getInstance(this).add(this); } @Override public void onDestroy() { - //WinBollActivityManager.getInstance(this).registeRemove(this); + //WinBoLLActivityManager.getInstance(this).registeRemove(this); super.onDestroy(); } @@ -150,8 +150,8 @@ final public class MainActivity extends Activity { // intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); // startActivity(intent); - //WinBollActivityManager.getInstance().printAvtivityListInfo(); - //WinBollActivityManager.getInstance(this).startWinBollActivity(this, LogActivity.class); + //WinBoLLActivityManager.getInstance().printAvtivityListInfo(); + //WinBoLLActivityManager.getInstance(this).startWinBoLLActivity(this, LogActivity.class); } // @@ -165,7 +165,7 @@ final public class MainActivity extends Activity { // if (intent.getAction().equals(StringToQrCodeView.ACTION_UNITTEST_QRCODE)) { // try { -// WinBollActivity clazzActivity = UnitTestActivity.class.newInstance(); +// WinBoLLActivity clazzActivity = UnitTestActivity.class.newInstance(); // String tag = clazzActivity.getTag(); // LogUtils.d(TAG, "String tag = clazzActivity.getTag(); tag " + tag); // Intent subIntent = new Intent(this, UnitTestActivity.class); @@ -183,8 +183,8 @@ final public class MainActivity extends Activity { // } // // Files.copy(Paths.get(szSrcPath), Paths.get(file.getPath())); -// //startWinBollActivity(subIntent, tag); -// WinBollActivityManager.getInstance(this).startWinBollActivity(this, subIntent, UnitTestActivity.class); +// //startWinBoLLActivity(subIntent, tag); +// WinBoLLActivityManager.getInstance(this).startWinBoLLActivity(this, subIntent, UnitTestActivity.class); // } catch (IllegalAccessException | InstantiationException | IOException e) { // LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); // // 函数处理异常返回失败 @@ -201,8 +201,8 @@ final public class MainActivity extends Activity { public boolean onCreateOptionsMenu(Menu menu) { //ToastUtils.show("onCreateOptionsMenu"); getMenuInflater().inflate(R.menu.toolbar_main, menu); -// if (isAddWinBollToolBar()) { -// //ToastUtils.show("mIWinBoll.isAddWinBollToolBar()"); +// if (isAddWinBoLLToolBar()) { +// //ToastUtils.show("mIWinBoLL.isAddWinBoLLToolBar()"); // getMenuInflater().inflate(R.menu.toolbar_winboll_shared_main, menu); // } if (App.isDebuging()) { @@ -220,7 +220,7 @@ final public class MainActivity extends Activity { } else if (item.getItemId() == R.id.item_teststringtoqrcodeview) { Intent intent = new Intent(this, TestStringToQRCodeViewActivity.class); startActivityForResult(intent, REQUEST_QRCODEDECODE_ACTIVITY); - //WinBollActivityManager.getInstance(this).startWinBollActivity(this, TestStringToQrCodeViewActivity.class); + //WinBoLLActivityManager.getInstance(this).startWinBoLLActivity(this, TestStringToQrCodeViewActivity.class); } else if (item.getItemId() == R.id.item_testqrcodedecodeactivity) { Intent intent = new Intent(this, QRCodeDecodeActivity.class); startActivityForResult(intent, REQUEST_QRCODEDECODE_ACTIVITY); @@ -230,13 +230,13 @@ final public class MainActivity extends Activity { } return true; } else if (item.getItemId() == R.id.item_log) { - //WinBollActivityManager.getInstance(this).startWinBollActivity(this, LogActivity.class); + //WinBoLLActivityManager.getInstance(this).startWinBoLLActivity(this, LogActivity.class); return true; } else if (item.getItemId() == R.id.item_exitdebug) { //AboutView.setApp2NormalMode(this); return true; } else if (item.getItemId() == android.R.id.home) { - //WinBollActivityManager.getInstance(this).finish(this); + //WinBoLLActivityManager.getInstance(this).finish(this); return true; } return super.onOptionsItemSelected(item); @@ -247,7 +247,7 @@ final public class MainActivity extends Activity { // // @Override // public void onYes() { -// //WinBollActivityManager.getInstance(getApplicationContext()).finishAll(); +// //WinBoLLActivityManager.getInstance(getApplicationContext()).finishAll(); // } // // @Override @@ -260,10 +260,10 @@ final public class MainActivity extends Activity { @Override public void onBackPressed() { -// if (WinBollActivityManager.getInstance(getApplicationContext()).isFirstIWinBollActivity(this)) { +// if (WinBoLLActivityManager.getInstance(getApplicationContext()).isFirstIWinBoLLActivity(this)) { // exit(); // } else { -// WinBollActivityManager.getInstance(this).finish(this); +// WinBoLLActivityManager.getInstance(this).finish(this); // super.onBackPressed(); // } } @@ -275,7 +275,7 @@ final public class MainActivity extends Activity { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT); intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); startActivity(intent); - //WinBollActivityManager.getInstance(this).startWinBollActivity(this, intent, AssetsHtmlActivity.class); + //WinBoLLActivityManager.getInstance(this).startWinBoLLActivity(this, intent, AssetsHtmlActivity.class); } @Override diff --git a/apputils/src/main/java/cc/winboll/studio/apputils/WinBollActivityBase.java b/apputils/src/main/java/cc/winboll/studio/apputils/WinBoLLActivityBase.java similarity index 60% rename from apputils/src/main/java/cc/winboll/studio/apputils/WinBollActivityBase.java rename to apputils/src/main/java/cc/winboll/studio/apputils/WinBoLLActivityBase.java index 1e2e8cf..91c285e 100644 --- a/apputils/src/main/java/cc/winboll/studio/apputils/WinBollActivityBase.java +++ b/apputils/src/main/java/cc/winboll/studio/apputils/WinBoLLActivityBase.java @@ -8,14 +8,13 @@ package cc.winboll.studio.apputils; import android.app.Activity; import android.os.Bundle; import android.os.PersistableBundle; -import android.support.v7.app.AppCompatActivity; import cc.winboll.studio.libappbase.GlobalApplication; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; -import cc.winboll.studio.libappbase.winboll.WinBollActivityManager; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; +import cc.winboll.studio.libappbase.winboll.WinBoLLActivityManager; -public class WinBollActivityBase extends AppCompatActivity implements IWinBollActivity { +public class WinBoLLActivityBase extends Activity implements IWinBoLLActivity { - public static final String TAG = "WinBollActivityBase"; + public static final String TAG = "WinBoLLActivityBase"; @Override public Activity getActivity() { @@ -27,14 +26,14 @@ public class WinBollActivityBase extends AppCompatActivity implements IWinBollAc return TAG; } - WinBollActivityManager getWinBollActivityManager() { - return WinBollActivityManager.getInstance(GlobalApplication.getInstance()); + WinBoLLActivityManager getWinBoLLActivityManager() { + return WinBoLLActivityManager.getInstance(GlobalApplication.getInstance()); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - getWinBollActivityManager().add(this); + getWinBoLLActivityManager().add(this); } @Override @@ -47,6 +46,6 @@ public class WinBollActivityBase extends AppCompatActivity implements IWinBollAc @Override protected void onDestroy() { super.onDestroy(); - getWinBollActivityManager().registeRemove(this); + getWinBoLLActivityManager().registeRemove(this); } } diff --git a/apputils/src/main/res/values/colors.xml b/apputils/src/main/res/values/colors.xml index bb20e29..60c561c 100644 --- a/apputils/src/main/res/values/colors.xml +++ b/apputils/src/main/res/values/colors.xml @@ -1,6 +1,6 @@ - + #FF196ABC #FF002B57 #FF80BFFF diff --git a/build.gradle b/build.gradle index 16e116d..ab63fe7 100644 --- a/build.gradle +++ b/build.gradle @@ -7,9 +7,9 @@ buildscript { maven { url "file:///sdcard/.m2/repository" } // Nexus Maven 库地址 - // "WinBoll Release" + // "WinBoLL Release" maven { url "https://nexus.winboll.cc/repository/maven-public/" } - // "WinBoll Snapshot" + // "WinBoLL Snapshot" maven { url "https://nexus.winboll.cc/repository/maven-snapshots/" } maven { url 'https://maven.aliyun.com/repository/public/' } @@ -32,9 +32,9 @@ buildscript { allprojects { repositories { // Nexus Maven 库地址 - // "WinBoll Release" + // "WinBoLL Release" maven { url "https://nexus.winboll.cc/repository/maven-public/" } - // "WinBoll Snapshot" + // "WinBoLL Snapshot" maven { url "https://nexus.winboll.cc/repository/maven-snapshots/" } maven { url 'https://maven.aliyun.com/repository/public/' } @@ -56,7 +56,7 @@ allprojects { bashCommitAppPublishBuildFlagInfoFilePath = ".winboll/bashCommitAppPublishBuildFlagInfo.sh" winbollFilePath = "winboll.properties" - keyPropsFilePath = "winboll-x/current.keystore" + keyPropsFilePath = "current.keystore" // 定义 lint 输出文件 lintXmlReportFilePath = "build/reports/lint-results.xml" lintHTMLReportFilePath = "build/reports/lint-results.html" diff --git a/current.keystore-demo b/current.keystore-demo new file mode 100644 index 0000000..2152608 --- /dev/null +++ b/current.keystore-demo @@ -0,0 +1,4 @@ +keyAlias=WinBoLL.CC +keyPassword=androiddebugkey +storeFile=../WinBoLL.CC.jks +storePassword=androiddebugkey diff --git a/libaes/build.gradle b/libaes/build.gradle index 6056965..84124b2 100644 --- a/libaes/build.gradle +++ b/libaes/build.gradle @@ -9,7 +9,7 @@ android { defaultConfig { minSdkVersion 24 - targetSdkVersion 29 + targetSdkVersion 30 } buildTypes { release { @@ -45,12 +45,12 @@ dependencies { api 'com.squareup.okhttp3:okhttp:4.4.1' // AndroidX 类库 api 'androidx.appcompat:appcompat:1.1.0' - api 'com.google.android.material:material:1.4.0' + //api 'com.google.android.material:material:1.4.0' //api 'androidx.viewpager:viewpager:1.0.0' //api 'androidx.vectordrawable:vectordrawable:1.1.0' //api 'androidx.vectordrawable:vectordrawable-animated:1.1.0' //api 'androidx.fragment:fragment:1.1.0' - api 'cc.winboll.studio:libapputils:15.2.2' - api 'cc.winboll.studio:libappbase:15.2.2' + api 'cc.winboll.studio:libapputils:15.3.4' + api 'cc.winboll.studio:libappbase:15.7.6' } diff --git a/libaes/build.properties b/libaes/build.properties index 740a6cf..83303dd 100644 --- a/libaes/build.properties +++ b/libaes/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Thu Apr 03 11:13:53 HKT 2025 -stageCount=7 +#Tue Apr 29 15:14:21 HKT 2025 +stageCount=1 libraryProject=libaes -baseVersion=15.2 -publishVersion=15.2.6 +baseVersion=15.6 +publishVersion=15.6.0 buildCount=0 -baseBetaVersion=15.2.7 +baseBetaVersion=15.6.1 diff --git a/libaes/src/main/AndroidManifest.xml b/libaes/src/main/AndroidManifest.xml index 33e8010..d8cbd79 100644 --- a/libaes/src/main/AndroidManifest.xml +++ b/libaes/src/main/AndroidManifest.xml @@ -17,13 +17,13 @@ - - diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java b/libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java index b353823..9698899 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java @@ -29,11 +29,11 @@ import cc.winboll.studio.libaes.utils.AESThemeUtil; import cc.winboll.studio.libaes.views.ADrawerMenuListView; import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.LogUtils; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; import com.baoyz.widget.PullRefreshLayout; import java.util.ArrayList; -public abstract class DrawerFragmentActivity extends AppCompatActivity implements IWinBollActivity,AdapterView.OnItemClickListener { +public abstract class DrawerFragmentActivity extends AppCompatActivity implements IWinBoLLActivity,AdapterView.OnItemClickListener { public static final String TAG = "DrawerFragmentActivity"; @@ -177,7 +177,7 @@ public abstract class DrawerFragmentActivity extends AppCompatActivity implement getString(i); } } else if (R.id.item_log == item.getItemId()) { - GlobalApplication.getWinBollActivityManager().startLogActivity(this); + GlobalApplication.getWinBoLLActivityManager().startLogActivity(this); } else if (R.id.item_about == item.getItemId()) { LogUtils.d(TAG, "onAbout"); } else if (android.R.id.home == item.getItemId()) { diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java index 42cdef8..664a07d 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java @@ -7,14 +7,14 @@ import android.view.MenuItem; import android.widget.Toast; import cc.winboll.studio.libaes.R; import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; /** * @Author ZhanGSKen@QQ.COM * @Date 2024/06/15 00:58:10 * @Describe 第二级窗口 */ -public class SecondaryLibraryActivity extends DrawerFragmentActivity implements IWinBollActivity { +public class SecondaryLibraryActivity extends DrawerFragmentActivity implements IWinBoLLActivity { public static final String TAG = "SecondaryLibraryActivity"; diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestASupportToolbarActivity.java b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestASupportToolbarActivity.java index 1ba071d..5fcfa97 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestASupportToolbarActivity.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestASupportToolbarActivity.java @@ -11,9 +11,9 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import cc.winboll.studio.libaes.R; import cc.winboll.studio.libaes.utils.AESThemeUtil; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; -public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBollActivity { +public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBoLLActivity { public static final String TAG = "TestASupportToolbarActivity"; diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestAToolbarActivity.java b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestAToolbarActivity.java index 2aa4f4d..02af7f9 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestAToolbarActivity.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestAToolbarActivity.java @@ -10,9 +10,9 @@ import android.os.Bundle; import android.widget.Toolbar; import cc.winboll.studio.libaes.R; import cc.winboll.studio.libaes.utils.AESThemeUtil; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; -public class TestAToolbarActivity extends Activity implements IWinBollActivity { +public class TestAToolbarActivity extends Activity implements IWinBoLLActivity { public static final String TAG = "TestAToolbarActivity"; diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestDrawerFragmentActivity.java b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestDrawerFragmentActivity.java index 2646e1c..bbfecd2 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestDrawerFragmentActivity.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestDrawerFragmentActivity.java @@ -11,16 +11,15 @@ import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.Toast; -import android.widget.Toolbar; import androidx.fragment.app.Fragment; import cc.winboll.studio.libaes.R; import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity; import cc.winboll.studio.libaes.beans.DrawerMenuBean; import cc.winboll.studio.libappbase.LogUtils; -import cc.winboll.studio.libappbase.winboll.IWinBollActivity; +import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; import java.util.ArrayList; -public class TestDrawerFragmentActivity extends DrawerFragmentActivity implements IWinBollActivity { +public class TestDrawerFragmentActivity extends DrawerFragmentActivity implements IWinBoLLActivity { @Override public Activity getActivity() { diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/utils/AESThemeUtil.java b/libaes/src/main/java/cc/winboll/studio/libaes/utils/AESThemeUtil.java index 1ed8022..5caab19 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/utils/AESThemeUtil.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/utils/AESThemeUtil.java @@ -41,7 +41,7 @@ public class AESThemeUtil { activity.setTheme(getThemeTypeID(activity)); } - /*public static void applyWinBollTheme(T activity) { + /*public static void applyWinBoLLTheme(T activity) { activity.setTheme(getThemeTypeID(activity.getApplicationContext())); }*/ @@ -53,7 +53,7 @@ public class AESThemeUtil { activity.setTheme(AESThemeBean.getThemeStyleID(themeType)); } - /*public static void applyWinBollTheme(Activity activity, AESThemeBean.ThemeType themeType) { + /*public static void applyWinBoLLTheme(Activity activity, AESThemeBean.ThemeType themeType) { activity.setTheme(AESThemeBean.getThemeStyleID(themeType)); }*/ @@ -65,7 +65,7 @@ public class AESThemeUtil { activity.getMenuInflater().inflate(R.menu.toolbar_apptheme, menu); } - /*public static void inflateWinBollMenu(T activity, Menu menu) { + /*public static void inflateWinBoLLMenu(T activity, Menu menu) { activity.getMenuInflater().inflate(R.menu.toolbar_apptheme, menu); }*/ @@ -131,7 +131,7 @@ public class AESThemeUtil { return false; } - public static boolean onWinBollThemeItemSelected(T activity, MenuItem item) { + public static boolean onWinBoLLThemeItemSelected(T activity, MenuItem item) { int nThemeStyleID; if (R.id.item_depththeme == item.getItemId()) { nThemeStyleID = AESThemeBean.getThemeStyleID(AESThemeBean.ThemeType.DEPTH); @@ -162,7 +162,7 @@ public class AESThemeUtil { return false; } - public static boolean onWinBollThemeItemSelected(T activity, MenuItem item) { + public static boolean onWinBoLLThemeItemSelected(T activity, MenuItem item) { int nThemeStyleID; if (R.id.item_depththeme == item.getItemId()) { nThemeStyleID = AESThemeBean.getThemeStyleID(AESThemeBean.ThemeType.DEPTH); diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/AboutView.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/AboutView.java index 991b8ef..1765310 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/AboutView.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/AboutView.java @@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/24 15:08:52 - * @Describe WinBoll应用介绍视图 + * @Describe WinBoLL应用介绍视图 */ import android.content.Context; import android.content.Intent; @@ -43,7 +43,7 @@ public class AboutView extends LinearLayout { Context mContext; APPInfo mAPPInfo; - WinBollServiceStatusView mWinBollServiceStatusView; + WinBoLLServiceStatusView mWinBoLLServiceStatusView; OnRequestDevUserInfoAutofillListener mOnRequestDevUserInfoAutofillListener; String mszAppName = ""; String mszAppAPKFolderName = ""; @@ -57,7 +57,7 @@ public class AboutView extends LinearLayout { String mszHomePage = ""; String mszGitea = ""; int mnAppIcon = 0; - String mszWinBollServerHost; + String mszWinBoLLServerHost; String mszReleaseAPKName; EditText metDevUserName; EditText metDevUserPassword; @@ -107,7 +107,7 @@ public class AboutView extends LinearLayout { mszAppDescription = mAPPInfo.getAppDescription(); mnAppIcon = mAPPInfo.getAppIcon(); - mszWinBollServerHost = GlobalApplication.isDebuging() ? "https://dev.winboll.cc": "https://www.winboll.cc"; + mszWinBoLLServerHost = GlobalApplication.isDebuging() ? "https://dev.winboll.cc": "https://www.winboll.cc"; try { mszAppVersionName = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionName; @@ -115,7 +115,7 @@ public class AboutView extends LinearLayout { LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); } mszCurrentAppPackageName = mszAppAPKName + "_" + mszAppVersionName + ".apk"; - mszHomePage = mszWinBollServerHost + "/studio/details.php?app=" + mszAppAPKFolderName; + mszHomePage = mszWinBoLLServerHost + "/studio/details.php?app=" + mszAppAPKFolderName; if (mAPPInfo.getAppGitAPPBranch().equals("")) { mszGitea = "https://gitea.winboll.cc/" + mAPPInfo.getAppGitOwner() + "/" + mszAppGitName; } else { @@ -132,9 +132,9 @@ public class AboutView extends LinearLayout { 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()); + 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); @@ -143,9 +143,9 @@ public class AboutView extends LinearLayout { 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("", ""); + mWinBoLLServiceStatusView = addedView.findViewById(R.id.viewaboutwwwWinBoLLServiceStatusView1); + mWinBoLLServiceStatusView.setServerHost(mszWinBoLLServerHost); + mWinBoLLServiceStatusView.setAuthInfo("", ""); //llMain.addView(mDevelopHostConnectionStatusView); llMain.addView(createAboutPage()); addView(addedView); @@ -291,7 +291,7 @@ public class AboutView extends LinearLayout { GlobalApplication.setIsDebuging(true); GlobalApplication.saveDebugStatus(); - GlobalApplication.getWinBollActivityManager().finishAll(); + GlobalApplication.getWinBoLLActivityManager().finishAll(); context.startActivity(intent); } } @@ -303,7 +303,7 @@ public class AboutView extends LinearLayout { GlobalApplication.setIsDebuging(false); GlobalApplication.saveDebugStatus(); - GlobalApplication.getWinBollActivityManager().finishAll(); + GlobalApplication.getWinBoLLActivityManager().finishAll(); context.startActivity(intent); } } @@ -323,7 +323,7 @@ public class AboutView extends LinearLayout { new Thread(new Runnable() { @Override public void run() { - String szUrl = mszWinBollServerHost + "/studio/details.php?app=" + mszAppAPKFolderName; + String szUrl = mszWinBoLLServerHost + "/studio/details.php?app=" + mszAppAPKFolderName; // 构建包含认证信息的请求 String credential = ""; if (GlobalApplication.isDebuging()) { @@ -331,8 +331,8 @@ public class AboutView extends LinearLayout { PrefUtils.saveString(mContext, "metDevUserName", metDevUserName.getText().toString()); PrefUtils.saveString(mContext, "metDevUserPassword", metDevUserPassword.getText().toString()); } else { - String username = "WinBoll"; - String password = "WinBollPowerByZhanGSKen"; + String username = "WinBoLL"; + String password = "WinBoLLPowerByZhanGSKen"; credential = Credentials.basic(username, password); } @@ -384,7 +384,7 @@ public class AboutView extends LinearLayout { YesNoAlertDialog.OnDialogResultListener mIsDownlaodUpdateListener = new YesNoAlertDialog.OnDialogResultListener() { @Override public void onYes() { - String szUrl = mszWinBollServerHost + "/studio/download.php?appname=" + mszAppAPKFolderName + "&apkname=" + mszNewestAppPackageName; + String szUrl = mszWinBoLLServerHost + "/studio/download.php?appname=" + mszAppAPKFolderName + "&apkname=" + mszNewestAppPackageName; Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(szUrl)); mContext.startActivity(browserIntent); } diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/AssistantService.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/AssistantService.java index 9f1e48a..f2f8028 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/AssistantService.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/AssistantService.java @@ -11,14 +11,14 @@ import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.IBinder; -import cc.winboll.studio.libaes.winboll.WinBollClientService; +import cc.winboll.studio.libaes.winboll.WinBoLLClientService; import cc.winboll.studio.libappbase.utils.ServiceUtils; public class AssistantService extends Service { public final static String TAG = "AssistantService"; - WinBollClientServiceBean mWinBollServiceBean; + WinBoLLClientServiceBean mWinBoLLServiceBean; MyServiceConnection mMyServiceConnection; volatile boolean mIsServiceRunning; @@ -30,7 +30,7 @@ public class AssistantService extends Service { @Override public void onCreate() { super.onCreate(); - mWinBollServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this); + mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this); if (mMyServiceConnection == null) { mMyServiceConnection = new MyServiceConnection(); } @@ -55,8 +55,8 @@ public class AssistantService extends Service { // 运行服务内容 // void run() { - mWinBollServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this); - if (mWinBollServiceBean.isEnable()) { + mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this); + if (mWinBoLLServiceBean.isEnable()) { if (mIsServiceRunning == false) { // 设置运行状态 mIsServiceRunning = true; @@ -70,11 +70,11 @@ public class AssistantService extends Service { // 唤醒和绑定主进程 // void wakeupAndBindMain() { - if (ServiceUtils.isServiceRunning(getApplicationContext(), WinBollClientService.class.getName()) == false) { - startForegroundService(new Intent(AssistantService.this, WinBollClientService.class)); + if (ServiceUtils.isServiceRunning(getApplicationContext(), WinBoLLClientService.class.getName()) == false) { + startForegroundService(new Intent(AssistantService.this, WinBoLLClientService.class)); } - bindService(new Intent(AssistantService.this, WinBollClientService.class), mMyServiceConnection, Context.BIND_IMPORTANT); + bindService(new Intent(AssistantService.this, WinBoLLClientService.class), mMyServiceConnection, Context.BIND_IMPORTANT); } // @@ -87,8 +87,8 @@ public class AssistantService extends Service { @Override public void onServiceDisconnected(ComponentName name) { - mWinBollServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(AssistantService.this); - if (mWinBollServiceBean.isEnable()) { + mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(AssistantService.this); + if (mWinBoLLServiceBean.isEnable()) { wakeupAndBindMain(); } } diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/EWUIStatusIconDrawable.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/EWUIStatusIconDrawable.java index 3d66468..33e511e 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/EWUIStatusIconDrawable.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/EWUIStatusIconDrawable.java @@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/28 19:11:27 - * @Describe WinBoll UI 状态图标枚举 + * @Describe WinBoLL UI 状态图标枚举 */ import cc.winboll.studio.libaes.R; diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/IWinBollClientServiceBinder.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/IWinBoLLClientServiceBinder.java similarity index 51% rename from libaes/src/main/java/cc/winboll/studio/libaes/winboll/IWinBollClientServiceBinder.java rename to libaes/src/main/java/cc/winboll/studio/libaes/winboll/IWinBoLLClientServiceBinder.java index eaf40d5..65087ad 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/IWinBollClientServiceBinder.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/IWinBoLLClientServiceBinder.java @@ -3,15 +3,15 @@ package cc.winboll.studio.libaes.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/28 19:08:45 - * @Describe WinBollService 服务 Binder。 + * @Describe WinBoLLService 服务 Binder。 */ import android.graphics.drawable.Drawable; -public interface IWinBollClientServiceBinder { +public interface IWinBoLLClientServiceBinder { - public static final String TAG = "IWinBollClientServiceBinder"; + public static final String TAG = "IWinBoLLClientServiceBinder"; - public WinBollClientService getService(); + public WinBoLLClientService getService(); public Drawable getCurrentStatusIconDrawable(); } 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 similarity index 64% rename from libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollClientService.java rename to libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLClientService.java index 756e885..12fcd43 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 @@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/28 19:06:54 - * @Describe WinBoll 客户端服务 + * @Describe WinBoLL 客户端服务 */ import android.app.Service; import android.content.ComponentName; @@ -19,28 +19,28 @@ import cc.winboll.studio.libappbase.utils.ServiceUtils; import cc.winboll.studio.libapputils.utils.PrefUtils; import com.hjq.toast.ToastUtils; -public class WinBollClientService extends Service implements IWinBollClientServiceBinder { +public class WinBoLLClientService extends Service implements IWinBoLLClientServiceBinder { - public static final String TAG = "WinBollClientService"; + public static final String TAG = "WinBoLLClientService"; - WinBollClientServiceBean mWinBollClientServiceBean; + WinBoLLClientServiceBean mWinBoLLClientServiceBean; MyServiceConnection mMyServiceConnection; - volatile boolean mIsWinBollClientThreadRunning; + volatile boolean mIsWinBoLLClientThreadRunning; volatile boolean mIsEnableService; - volatile WinBollClientThread mWinBollClientThread; + volatile WinBoLLClientThread mWinBoLLClientThread; - public boolean isWinBollClientThreadRunning() { - return mIsWinBollClientThreadRunning; + public boolean isWinBoLLClientThreadRunning() { + return mIsWinBoLLClientThreadRunning; } @Override - public WinBollClientService getService() { - return WinBollClientService.this; + public WinBoLLClientService getService() { + return WinBoLLClientService.this; } @Override public Drawable getCurrentStatusIconDrawable() { - return mIsWinBollClientThreadRunning ? + return mIsWinBoLLClientThreadRunning ? getDrawable(EWUIStatusIconDrawable.getIconDrawableId(EWUIStatusIconDrawable.NORMAL)) : getDrawable(EWUIStatusIconDrawable.getIconDrawableId(EWUIStatusIconDrawable.NEWS)); } @@ -54,9 +54,9 @@ public class WinBollClientService extends Service implements IWinBollClientServi public void onCreate() { //ToastUtils.show("onCreate"); super.onCreate(); - mWinBollClientThread = null; - mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this); - mIsEnableService = mWinBollClientServiceBean.isEnable(); + mWinBoLLClientThread = null; + mWinBoLLClientServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this); + mIsEnableService = mWinBoLLClientServiceBean.isEnable(); if (mMyServiceConnection == null) { mMyServiceConnection = new MyServiceConnection(); @@ -74,23 +74,23 @@ public class WinBollClientService extends Service implements IWinBollClientServi // 返回运行参数持久化存储后,服务状态控制参数 // 无论 Intent 传入如何,服务状态一直以持久化存储后的参数控制, - // PS: 另外当然可以通过 Intent 传入的指标来修改 mWinBollServiceBean, + // PS: 另外当然可以通过 Intent 传入的指标来修改 mWinBoLLServiceBean, // 不过本服务的应用方向会变得繁琐, - // 现阶段只要满足手机端启动与停止本服务,WinBoll 客户端实例运行在手机端就可以了。 + // 现阶段只要满足手机端启动与停止本服务,WinBoLL 客户端实例运行在手机端就可以了。 return mIsEnableService ? Service.START_STICKY: super.onStartCommand(intent, flags, startId); } synchronized void runMainThread() { - if (mWinBollClientThread == null) { + if (mWinBoLLClientThread == null) { //ToastUtils.show("runMainThread()"); - mWinBollClientThread = new WinBollClientThread(); - mWinBollClientThread.start(); + mWinBoLLClientThread = new WinBoLLClientThread(); + mWinBoLLClientThread.start(); } } - void syncWinBollClientThreadStatus() { - mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this); - mIsEnableService = mWinBollClientServiceBean.isEnable(); + void syncWinBoLLClientThreadStatus() { + mWinBoLLClientServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this); + mIsEnableService = mWinBoLLClientServiceBean.isEnable(); LogUtils.d(TAG, String.format("mIsEnableService %s", mIsEnableService)); } @@ -99,9 +99,9 @@ public class WinBollClientService extends Service implements IWinBollClientServi // void wakeupAndBindAssistant() { if (ServiceUtils.isServiceRunning(getApplicationContext(), AssistantService.class.getName()) == false) { - startService(new Intent(WinBollClientService.this, AssistantService.class)); + startService(new Intent(WinBoLLClientService.this, AssistantService.class)); //LogUtils.d(TAG, "call wakeupAndBindAssistant() : Binding... AssistantService"); - bindService(new Intent(WinBollClientService.this, AssistantService.class), mMyServiceConnection, Context.BIND_IMPORTANT); + bindService(new Intent(WinBoLLClientService.this, AssistantService.class), mMyServiceConnection, Context.BIND_IMPORTANT); } } @@ -115,8 +115,8 @@ public class WinBollClientService extends Service implements IWinBollClientServi @Override public void onServiceDisconnected(ComponentName name) { - mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(WinBollClientService.this); - if (mWinBollClientServiceBean.isEnable()) { + mWinBoLLClientServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(WinBoLLClientService.this); + if (mWinBoLLClientServiceBean.isEnable()) { // 唤醒守护进程 wakeupAndBindAssistant(); } @@ -134,15 +134,15 @@ public class WinBollClientService extends Service implements IWinBollClientServi super.onStart(intent, startId); } - void setWinBollServiceEnableStatus(boolean isEnable) { - WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(this); + void setWinBoLLServiceEnableStatus(boolean isEnable) { + WinBoLLClientServiceBean bean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this); bean.setIsEnable(isEnable); - WinBollClientServiceBean.saveWinBollServiceBean(this, bean); + WinBoLLClientServiceBean.saveWinBoLLServiceBean(this, bean); } - boolean getWinBollServiceEnableStatus(Context context) { - mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(context); - return mWinBollClientServiceBean.isEnable(); + boolean getWinBoLLServiceEnableStatus(Context context) { + mWinBoLLClientServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(context); + return mWinBoLLClientServiceBean.isEnable(); } /*public interface OnServiceStatusChangeListener { @@ -153,24 +153,24 @@ public class WinBollClientService extends Service implements IWinBollClientServi mOnServerStatusChangeListener = l; }*/ - class WinBollClientThread extends Thread { + class WinBoLLClientThread extends Thread { @Override public void run() { super.run(); - LogUtils.d(TAG, "run syncWinBollClientThreadStatus"); - syncWinBollClientThreadStatus(); + LogUtils.d(TAG, "run syncWinBoLLClientThreadStatus"); + syncWinBoLLClientThreadStatus(); if (mIsEnableService) { - if (mIsWinBollClientThreadRunning == false) { + if (mIsWinBoLLClientThreadRunning == false) { // 设置运行状态 - mIsWinBollClientThreadRunning = true; - LogUtils.d(TAG, "WinBollClientThread run()"); + mIsWinBoLLClientThreadRunning = true; + LogUtils.d(TAG, "WinBoLLClientThread run()"); // 唤醒守护进程 //wakeupAndBindAssistant(); while (mIsEnableService) { // 显示运行状态 - WinBollServiceStatusView.startConnection(); + WinBoLLServiceStatusView.startConnection(); LogUtils.d(TAG, String.format("while mIsEnableService is %s", mIsEnableService)); try { @@ -178,13 +178,13 @@ public class WinBollClientService extends Service implements IWinBollClientServi } catch (InterruptedException e) { LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); } - syncWinBollClientThreadStatus(); + syncWinBoLLClientThreadStatus(); } // 服务进程退出, 重置进程运行状态 - WinBollServiceStatusView.stopConnection(); - mIsWinBollClientThreadRunning = false; - mWinBollClientThread = null; + WinBoLLServiceStatusView.stopConnection(); + mIsWinBoLLClientThreadRunning = false; + mWinBoLLClientThread = null; } } } diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollClientServiceBean.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLClientServiceBean.java similarity index 69% rename from libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollClientServiceBean.java rename to libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLClientServiceBean.java index 271f1e0..000b5db 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollClientServiceBean.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLClientServiceBean.java @@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/28 19:05:15 - * @Describe WinBollService 运行参数配置 + * @Describe WinBoLLService 运行参数配置 */ import android.content.Context; import android.util.JsonReader; @@ -11,13 +11,13 @@ import android.util.JsonWriter; import cc.winboll.studio.libappbase.BaseBean; import java.io.IOException; -public class WinBollClientServiceBean extends BaseBean { +public class WinBoLLClientServiceBean extends BaseBean { - public static final String TAG = "WinBollClientServiceBean"; + public static final String TAG = "WinBoLLClientServiceBean"; volatile boolean isEnable; - public WinBollClientServiceBean() { + public WinBoLLClientServiceBean() { isEnable = false; } @@ -31,13 +31,13 @@ public class WinBollClientServiceBean extends BaseBean { @Override public String getName() { - return WinBollClientServiceBean.class.getName(); + return WinBoLLClientServiceBean.class.getName(); } @Override public void writeThisToJsonWriter(JsonWriter jsonWriter) throws IOException { super.writeThisToJsonWriter(jsonWriter); - WinBollClientServiceBean bean = this; + WinBoLLClientServiceBean bean = this; jsonWriter.name("isEnable").value(bean.isEnable()); } @@ -67,12 +67,12 @@ public class WinBollClientServiceBean extends BaseBean { return this; } - public static WinBollClientServiceBean loadWinBollClientServiceBean(Context context) { - WinBollClientServiceBean bean = WinBollClientServiceBean.loadBean(context, WinBollClientServiceBean.class); - return bean == null ? new WinBollClientServiceBean() : bean; + public static WinBoLLClientServiceBean loadWinBoLLClientServiceBean(Context context) { + WinBoLLClientServiceBean bean = WinBoLLClientServiceBean.loadBean(context, WinBoLLClientServiceBean.class); + return bean == null ? new WinBoLLClientServiceBean() : bean; } - public static boolean saveWinBollServiceBean(WinBollClientService service, WinBollClientServiceBean bean) { - return WinBollClientServiceBean.saveBean(service, bean); + public static boolean saveWinBoLLServiceBean(WinBoLLClientService service, WinBoLLClientServiceBean bean) { + return WinBoLLClientServiceBean.saveBean(service, bean); } } diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollMail.java b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLMail.java similarity index 69% rename from libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollMail.java rename to libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLMail.java index 3806106..6f49c90 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollMail.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLMail.java @@ -3,15 +3,15 @@ package cc.winboll.studio.libaes.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/28 19:13:20 - * @Describe WinBoll 邮件服务 + * @Describe WinBoLL 邮件服务 */ import android.app.Service; import android.content.Intent; import android.os.IBinder; -public class WinBollMail extends Service { +public class WinBoLLMail extends Service { - public static final String TAG = "WinBollMail"; + public static final String TAG = "WinBoLLMail"; @Override public IBinder onBind(Intent intent) { 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 similarity index 92% rename from libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionThread.java rename to libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLServerConnectionThread.java index 25ecd21..5e3e833 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServerConnectionThread.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLServerConnectionThread.java @@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/29 15:57:28 - * @Describe WinBoll 服务器服务情况测试访问进程。 + * @Describe WinBoLL 服务器服务情况测试访问进程。 */ import cc.winboll.studio.libappbase.LogUtils; import java.io.IOException; @@ -20,9 +20,9 @@ interface TextCallback { void onFailure(Exception e); } -public class WinBollServerConnectionThread extends Thread { +public class WinBoLLServerConnectionThread extends Thread { - public static final String TAG = "WinBollClientService"; + public static final String TAG = "WinBoLLClientService"; private final String url; private final String username; @@ -33,12 +33,12 @@ public class WinBollServerConnectionThread extends Thread { private final TextCallback callback; // 新增回调成员变量 // 新增带回调的构造函数 - public WinBollServerConnectionThread(String url, String username, String password, 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, + public WinBoLLServerConnectionThread(String url, String username, String password, int connectTimeout, int readTimeout, int maxRetries, TextCallback callback) { this.url = url; this.username = username; 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 similarity index 84% rename from libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBollServiceStatusView.java rename to libaes/src/main/java/cc/winboll/studio/libaes/winboll/WinBoLLServiceStatusView.java index 694779b..f91acc9 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 @@ -3,8 +3,9 @@ package cc.winboll.studio.libaes.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/28 17:41:55 - * @Describe WinBoll 服务主机连接状态视图 + * @Describe WinBoLL 服务主机连接状态视图 */ +import cc.winboll.studio.libaes.R; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -18,10 +19,9 @@ 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.libaes.winboll.WinBoLLClientService; import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.LogUtils; -import cc.winboll.studio.libapputils.R; import cc.winboll.studio.libapputils.utils.PrefUtils; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -32,23 +32,23 @@ import java.time.format.DateTimeFormatter; //import okhttp3.Response; //import okhttp3.Route; -public class WinBollServiceStatusView extends LinearLayout { +public class WinBoLLServiceStatusView extends LinearLayout { - public static final String TAG = "WinBollServiceStatusView"; + public static final String TAG = "WinBoLLServiceStatusView"; public static final int MSG_CONNECTION_INFO = 0; public static final int MSG_UPDATE_CONNECTION_STATUS = 1; - static WinBollServiceStatusView _WinBollServiceStatusView; + static WinBoLLServiceStatusView _WinBoLLServiceStatusView; Context mContext; //boolean mIsConnected; volatile ConnectionThread mConnectionThread; String mszServerHost; - WinBollClientService mWinBollService; + WinBoLLClientService mWinBoLLService; ImageView mImageView; TextView mTextView; - WinBollServiceViewHandler mWinBollServiceViewHandler; + WinBoLLServiceViewHandler mWinBoLLServiceViewHandler; //WebView mWebView; static volatile ConnectionStatus mConnectionStatus; View.OnClickListener mViewOnClickListener; @@ -66,11 +66,11 @@ public class WinBollServiceStatusView extends LinearLayout { ServiceConnection connection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { - IWinBollClientServiceBinder binder = (IWinBollClientServiceBinder) service; - mWinBollService = binder.getService(); + IWinBoLLClientServiceBinder binder = (IWinBoLLClientServiceBinder) service; + mWinBoLLService = binder.getService(); isBound = true; // 可以在这里调用Service的方法进行通信,比如获取数据 - mImageView.setBackgroundDrawable(mWinBollService.getCurrentStatusIconDrawable()); + mImageView.setBackgroundDrawable(mWinBoLLService.getCurrentStatusIconDrawable()); } @Override @@ -79,25 +79,25 @@ public class WinBollServiceStatusView extends LinearLayout { } }; - public WinBollServiceStatusView(Context context) { + public WinBoLLServiceStatusView(Context context) { super(context); mContext = context; initView(); } - public WinBollServiceStatusView(Context context, AttributeSet attrs) { + public WinBoLLServiceStatusView(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; initView(); } - public WinBollServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr) { + public WinBoLLServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mContext = context; initView(); } - public WinBollServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + public WinBoLLServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); mContext = context; initView(); @@ -110,13 +110,13 @@ public class WinBollServiceStatusView extends LinearLayout { } void initView() { - _WinBollServiceStatusView = this; + _WinBoLLServiceStatusView = this; mImageView = new ImageView(mContext); setImageViewByConnection(mImageView, false); mConnectionStatus = getConnectionStatus(); //mIsConnected = false; - //mWinBollServerHostConnectionStatus = WinBollServerHostConnectionStatus.DISCONNECTED; + //mWinBoLLServerHostConnectionStatus = WinBoLLServerHostConnectionStatus.DISCONNECTED; //ToastUtils.show("initView()"); mViewOnClickListener = new View.OnClickListener(){ @@ -125,10 +125,10 @@ public class WinBollServiceStatusView extends LinearLayout { LogUtils.d(TAG, "onClick()"); if (mConnectionStatus == ConnectionStatus.CONNECTED) { LogUtils.d(TAG, "Click to stop service."); - WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(mContext); + WinBoLLClientServiceBean bean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(mContext); bean.setIsEnable(false); - WinBollClientServiceBean.saveBean(mContext, bean); - Intent intent = new Intent(mContext, WinBollClientService.class); + WinBoLLClientServiceBean.saveBean(mContext, bean); + Intent intent = new Intent(mContext, WinBoLLClientService.class); mContext.stopService(intent); //stopConnectionThread(); mTextView.setText(""); @@ -136,10 +136,10 @@ public class WinBollServiceStatusView extends LinearLayout { mConnectionStatus = ConnectionStatus.DISCONNECTED; } else if (mConnectionStatus == ConnectionStatus.DISCONNECTED) { LogUtils.d(TAG, "Click to start service."); - WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(mContext); + WinBoLLClientServiceBean bean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(mContext); bean.setIsEnable(true); - WinBollClientServiceBean.saveBean(mContext, bean); - Intent intent = new Intent(mContext, WinBollClientService.class); + WinBoLLClientServiceBean.saveBean(mContext, bean); + Intent intent = new Intent(mContext, WinBoLLClientService.class); mContext.startService(intent); //startConnectionThread(); } @@ -148,7 +148,7 @@ public class WinBollServiceStatusView extends LinearLayout { setOnClickListener(mViewOnClickListener); addView(mImageView); mTextView = new TextView(mContext); - mWinBollServiceViewHandler = new WinBollServiceViewHandler(this); + mWinBoLLServiceViewHandler = new WinBoLLServiceViewHandler(this); addView(mTextView); /*mWebView = new WebView(mContext); mWebView.setWebViewClient(new WebViewClient() { @@ -161,8 +161,8 @@ public class WinBollServiceStatusView extends LinearLayout { addView(mWebView);*/ } - void checkWinBollServerStatusAndUpdateCurrentView() { - LogUtils.d(TAG, "checkWinBollServerStatusAndUpdateCurrentView()"); + void checkWinBoLLServerStatusAndUpdateCurrentView() { + LogUtils.d(TAG, "checkWinBoLLServerStatusAndUpdateCurrentView()"); /*if (getConnectionStatus() == ConnectionStatus.CONNECTED) { mConnectionStatus = ConnectionStatus.CONNECTED; } else { @@ -170,8 +170,8 @@ public class WinBollServiceStatusView extends LinearLayout { }*/ } - public void setServerHost(String szWinBollServerHost) { - mszServerHost = szWinBollServerHost; + public void setServerHost(String szWinBoLLServerHost) { + mszServerHost = szWinBoLLServerHost; } public void setAuthInfo(String username, String password) { @@ -216,8 +216,8 @@ public class WinBollServiceStatusView extends LinearLayout { // 按照指定格式格式化时间并输出 String formattedDateTime = now.format(formatter); String msg = "ClientIP<" + formattedDateTime + ">: " + text; - mWinBollServiceViewHandler.postMessageText(msg); - mWinBollServiceViewHandler.postMessageConnectionStatus(true); + mWinBoLLServiceViewHandler.postMessageText(msg); + mWinBoLLServiceViewHandler.postMessageConnectionStatus(true); } @@ -227,8 +227,8 @@ public class WinBollServiceStatusView extends LinearLayout { LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); // 处理网络请求失败 setImageViewByConnection(mImageView, false); - mWinBollServiceViewHandler.postMessageText(e.getMessage()); - mWinBollServiceViewHandler.postMessageConnectionStatus(false); + mWinBoLLServiceViewHandler.postMessageText(e.getMessage()); + mWinBoLLServiceViewHandler.postMessageConnectionStatus(false); } }; @@ -249,12 +249,12 @@ public class WinBollServiceStatusView extends LinearLayout { username = PrefUtils.getString(mContext, "metDevUserName", ""); password = PrefUtils.getString(mContext, "metDevUserPassword", ""); } else { - username = "WinBoll"; - password = "WinBollPowerByZhanGSKen"; + username = "WinBoLL"; + password = "WinBoLLPowerByZhanGSKen"; } LogUtils.d(TAG, String.format("Connection Start. targetUrl %s", targetUrl)); - WinBollServerConnectionThread thread = new WinBollServerConnectionThread( + WinBoLLServerConnectionThread thread = new WinBoLLServerConnectionThread( targetUrl, username, password, @@ -263,7 +263,7 @@ public class WinBollServiceStatusView extends LinearLayout { thread.start(); } - /*void requestWithBasicAuth(final 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"; @@ -350,10 +350,10 @@ public class WinBollServiceStatusView extends LinearLayout { }*/ - class WinBollServiceViewHandler extends Handler { - WinBollServiceStatusView mDevelopHostConnectionStatusView; + class WinBoLLServiceViewHandler extends Handler { + WinBoLLServiceStatusView mDevelopHostConnectionStatusView; - public WinBollServiceViewHandler(WinBollServiceStatusView view) { + public WinBoLLServiceViewHandler(WinBoLLServiceStatusView view) { mDevelopHostConnectionStatusView = view; } @@ -384,14 +384,14 @@ public class WinBollServiceStatusView extends LinearLayout { } public static void startConnection() { - if (_WinBollServiceStatusView != null) { - _WinBollServiceStatusView.startConnectionThread(); + if (_WinBoLLServiceStatusView != null) { + _WinBoLLServiceStatusView.startConnectionThread(); } } public static void stopConnection() { - if (_WinBollServiceStatusView != null) { - _WinBollServiceStatusView.stopConnectionThread(); + if (_WinBoLLServiceStatusView != null) { + _WinBoLLServiceStatusView.stopConnectionThread(); } } @@ -448,7 +448,7 @@ public class WinBollServiceStatusView extends LinearLayout { requestCIPWithBasicAuth(); } else if (mConnectionStatus == ConnectionStatus.CONNECTED || mConnectionStatus == ConnectionStatus.DISCONNECTED) { - //ToastUtils.show("mWinBollServerHostConnectionStatus " + mConnectionStatus); + //ToastUtils.show("mWinBoLLServerHostConnectionStatus " + mConnectionStatus); LogUtils.d(TAG, String.format("mConnectionStatus done %s", mConnectionStatus)); } else { LogUtils.d(TAG, String.format("mConnectionStatus unknow %s", mConnectionStatus)); @@ -465,7 +465,7 @@ public class WinBollServiceStatusView extends LinearLayout { } } - /*WinBollService.OnServiceStatusChangeListener mOnServerStatusChangeListener = new WinBollService.OnServiceStatusChangeListener(){ + /*WinBoLLService.OnServiceStatusChangeListener mOnServerStatusChangeListener = new WinBoLLService.OnServiceStatusChangeListener(){ @Override public void onServerStatusChange(boolean isServiceAlive) { } diff --git a/libaes/src/main/res/layout/view_about_dev.xml b/libaes/src/main/res/layout/view_about_dev.xml index 629585f..1443e19 100644 --- a/libaes/src/main/res/layout/view_about_dev.xml +++ b/libaes/src/main/res/layout/view_about_dev.xml @@ -53,10 +53,10 @@ android:layout_height="wrap_content" android:gravity="center_horizontal"> - + android:id="@+id/viewaboutdevWinBoLLServiceStatusView1"/> diff --git a/libaes/src/main/res/layout/view_about_www.xml b/libaes/src/main/res/layout/view_about_www.xml index 6cd4e5c..8cbe538 100644 --- a/libaes/src/main/res/layout/view_about_www.xml +++ b/libaes/src/main/res/layout/view_about_www.xml @@ -12,10 +12,10 @@ android:layout_height="wrap_content" android:gravity="center_horizontal"> - + android:id="@+id/viewaboutwwwWinBoLLServiceStatusView1"/> diff --git a/libaes/src/main/res/layout/view_toast.xml b/libaes/src/main/res/layout/view_toast.xml deleted file mode 100644 index c4a65fc..0000000 --- a/libaes/src/main/res/layout/view_toast.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/libaes/src/main/res/values-zh/string.xml b/libaes/src/main/res/values-zh/string.xml index 2f9f8fb..8ea6345 100644 --- a/libaes/src/main/res/values-zh/string.xml +++ b/libaes/src/main/res/values-zh/string.xml @@ -2,7 +2,7 @@ libaes - 云宝APP应用安卓元素类库示例。源码仅供调试参考,请勿直接引用。(WinBoll APP application Android element class library example. The source is just for demo debug test, Do not quote directly.) + 云宝APP应用安卓元素类库示例。源码仅供调试参考,请勿直接引用。(WinBoLL APP application Android element class library example. The source is just for demo debug test, Do not quote directly.) https://winboll.cc/aes 关于 应用主题 diff --git a/libaes/src/main/res/values/strings.xml b/libaes/src/main/res/values/strings.xml index 8cbd248..5f94d4c 100644 --- a/libaes/src/main/res/values/strings.xml +++ b/libaes/src/main/res/values/strings.xml @@ -2,7 +2,7 @@ libaes - 云宝APP应用安卓元素类库示例。源码仅供调试参考,请勿直接引用。(WinBoll APP application Android element class library example. The source is just for demo debug test, Do not quote directly.) + 云宝APP应用安卓元素类库示例。源码仅供调试参考,请勿直接引用。(WinBoLL APP application Android element class library example. The source is just for demo debug test, Do not quote directly.) https://winboll.cc/libaes About AppTheme diff --git a/libappbase/build.gradle b/libappbase/build.gradle index 2071132..39bd64b 100644 --- a/libappbase/build.gradle +++ b/libappbase/build.gradle @@ -10,7 +10,7 @@ android { defaultConfig { minSdkVersion 24 - targetSdkVersion 29 + targetSdkVersion 30 } buildTypes { release { @@ -22,25 +22,4 @@ android { dependencies { api fileTree(dir: 'libs', include: ['*.jar']) - - // Android 类库 - //api 'com.android.support:appcompat-v7:28.0.0' - api('com.android.support:appcompat-v7:28.0.0'){ - //exclude group: "com.android.support", module: "support-vector-drawable" - exclude group: "com.android.support:animated-vector-drawable:28.0.0" - } - // https://mvnrepository.com/artifact/com.android.support/support-compat - //api 'com.android.support:support-compat:28.0.0' // 保留原有依赖(可选) - // https://mvnrepository.com/artifact/com.android.support/support-v4 - api 'com.android.support:support-v4:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/support-media-compat - api 'com.android.support:support-media-compat:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/support-core-utils - api 'com.android.support:support-core-utils:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/support-core-ui - api 'com.android.support:support-core-ui:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/support-fragment - api 'com.android.support:support-fragment:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/recyclerview-v7 - api 'com.android.support:recyclerview-v7:28.0.0' } diff --git a/libappbase/build.properties b/libappbase/build.properties index 04487f9..faa715a 100644 --- a/libappbase/build.properties +++ b/libappbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sat Apr 12 15:06:52 HKT 2025 -stageCount=6 +#Tue Apr 29 14:47:16 HKT 2025 +stageCount=7 libraryProject=libappbase -baseVersion=15.2 -publishVersion=15.2.5 +baseVersion=15.7 +publishVersion=15.7.6 buildCount=0 -baseBetaVersion=15.2.6 +baseBetaVersion=15.7.7 diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java index 9cff4a1..f00b139 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java @@ -12,7 +12,7 @@ import android.content.pm.PackageManager; import android.os.Handler; import android.os.Looper; import cc.winboll.studio.libappbase.utils.ToastUtils; -import cc.winboll.studio.libappbase.winboll.WinBollActivityManager; +import cc.winboll.studio.libappbase.winboll.WinBoLLActivityManager; import cc.winboll.studio.libappbase.winboll.MyActivityLifecycleCallbacks; public class GlobalApplication extends Application { @@ -46,8 +46,8 @@ public class GlobalApplication extends Application { return isDebuging; } - public static WinBollActivityManager getWinBollActivityManager() { - return WinBollActivityManager.getInstance(_GlobalApplication); + public static WinBoLLActivityManager getWinBoLLActivityManager() { + return WinBoLLActivityManager.getInstance(_GlobalApplication); } @Override @@ -77,7 +77,7 @@ public class GlobalApplication extends Application { setIsDebuging(appBaseModel.isDebuging()); } - getWinBollActivityManager().setWinBollUI_TYPE(WinBollActivityManager.WinBollUI_TYPE.Service); + getWinBoLLActivityManager().setWinBoLLUI_TYPE(WinBoLLActivityManager.WinBoLLUI_TYPE.Service); // 注册窗口回调监听 mMyActivityLifecycleCallbacks = new MyActivityLifecycleCallbacks(); registerActivityLifecycleCallbacks(mMyActivityLifecycleCallbacks); diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalCrashActivity.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalCrashActivity.java index dbf8c8a..0509ac9 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalCrashActivity.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalCrashActivity.java @@ -4,20 +4,19 @@ package cc.winboll.studio.libappbase; * @Author ZhanGSKen@AliYun.Com * @Date 2025/02/11 00:14:05 */ +import android.app.Activity; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; -import android.net.Uri; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import cc.winboll.studio.libappbase.R; -public final class GlobalCrashActivity extends AppCompatActivity implements MenuItem.OnMenuItemClickListener { +public final class GlobalCrashActivity extends Activity implements MenuItem.OnMenuItemClickListener { private static final int MENUITEM_COPY = 0; private static final int MENUITEM_RESTART = 1; @@ -39,10 +38,10 @@ public final class GlobalCrashActivity extends AppCompatActivity implements Menu setContentView(R.layout.activity_globalcrash); mGlobalCrashReportView = findViewById(R.id.activityglobalcrashGlobalCrashReportView1); mGlobalCrashReportView.setReport(mLog); - setSupportActionBar(mGlobalCrashReportView.getToolbar()); + setActionBar(mGlobalCrashReportView.getToolbar()); - getSupportActionBar().setTitle(CrashHandler.TITTLE); - getSupportActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext())); + getActionBar().setTitle(CrashHandler.TITTLE); + getActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext())); } @Override diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalCrashReportView.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalCrashReportView.java index 533e5da..5ae634f 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalCrashReportView.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalCrashReportView.java @@ -8,7 +8,6 @@ package cc.winboll.studio.libappbase; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Color; -import android.support.v7.widget.Toolbar; import android.text.SpannableString; import android.text.style.ForegroundColorSpan; import android.util.AttributeSet; @@ -16,6 +15,7 @@ import android.view.Menu; import android.view.MenuItem; import android.widget.LinearLayout; import android.widget.TextView; +import android.widget.Toolbar; import cc.winboll.studio.libappbase.R; public class GlobalCrashReportView extends LinearLayout { diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/WinBoll.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/WinBoll.java deleted file mode 100644 index bfd8d0a..0000000 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/WinBoll.java +++ /dev/null @@ -1,3 +0,0 @@ -package cc.winboll.studio.libappbase; - - diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/sos/SOS.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/sos/SOS.java index fc48a28..b6b8852 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/sos/SOS.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/sos/SOS.java @@ -3,7 +3,7 @@ package cc.winboll.studio.libappbase.sos; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/02 09:36:29 - * @Describe WinBoll 应用 SOS 机理保护类 + * @Describe WinBoLL 应用 SOS 机理保护类 */ import android.content.Context; import android.content.Intent; diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/sos/WinBoll.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/sos/WinBoLL.java similarity index 87% rename from libappbase/src/main/java/cc/winboll/studio/libappbase/sos/WinBoll.java rename to libappbase/src/main/java/cc/winboll/studio/libappbase/sos/WinBoLL.java index f826b7b..080c7e0 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/sos/WinBoll.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/sos/WinBoLL.java @@ -3,17 +3,17 @@ package cc.winboll.studio.libappbase.sos; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/02 09:54:28 - * @Describe WinBoll 系列应用通用管理类 + * @Describe WinBoLL 系列应用通用管理类 */ import android.content.Context; import android.content.Intent; import cc.winboll.studio.libappbase.LogUtils; -public class WinBoll { +public class WinBoLL { - public static final String TAG = "WinBoll"; + public static final String TAG = "WinBoLL"; - public static final String ACTION_BIND = WinBoll.class.getName() + ".ACTION_BIND"; + public static final String ACTION_BIND = WinBoLL.class.getName() + ".ACTION_BIND"; public static final String EXTRA_APPMODEL = "EXTRA_APPMODEL"; public static void bindToAPPBase(Context context, String appMainService) { diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/IWinBollActivity.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/IWinBoLLActivity.java similarity index 67% rename from libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/IWinBollActivity.java rename to libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/IWinBoLLActivity.java index 47c8b59..4bed92a 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/IWinBollActivity.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/IWinBoLLActivity.java @@ -3,14 +3,14 @@ package cc.winboll.studio.libappbase.winboll; /** * @Author ZhanGSKen@AliYun.Com * @Date 2025/03/24 08:23:40 - * @Describe WinBoll 活动窗口通用接口 + * @Describe WinBoLL 活动窗口通用接口 */ import android.app.Activity; import android.widget.Toolbar; -public interface IWinBollActivity { +public interface IWinBoLLActivity { - public static final String TAG = "IWinBollActivity"; + public static final String TAG = "IWinBoLLActivity"; // 获取活动窗口 abstract public Activity getActivity(); diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/LogActivity.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/LogActivity.java index c739743..09d5407 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/LogActivity.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/LogActivity.java @@ -13,7 +13,7 @@ import cc.winboll.studio.libappbase.LogView; import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.utils.ToastUtils; -public class LogActivity extends Activity implements IWinBollActivity { +public class LogActivity extends Activity implements IWinBoLLActivity { public static final String TAG = "LogActivity"; diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/WinBollActivityManager.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/WinBoLLActivityManager.java similarity index 64% rename from libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/WinBollActivityManager.java rename to libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/WinBoLLActivityManager.java index e6c3255..013ee8f 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/WinBollActivityManager.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/winboll/WinBoLLActivityManager.java @@ -19,70 +19,70 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; -public class WinBollActivityManager { +public class WinBoLLActivityManager { - public static final String TAG = "WinBollActivityManager"; + public static final String TAG = "WinBoLLActivityManager"; public static final String EXTRA_TAG = "EXTRA_TAG"; - public static enum WinBollUI_TYPE { + public static enum WinBoLLUI_TYPE { Aplication, // 退出应用后,保持最近任务栏任务记录主窗口 Service // 退出应用后,清理所有最近任务栏任务记录窗口 }; // 应用类型标志 - static volatile WinBollUI_TYPE _mWinBollUI_TYPE = WinBollUI_TYPE.Service; + static volatile WinBoLLUI_TYPE _mWinBoLLUI_TYPE = WinBoLLUI_TYPE.Service; GlobalApplication mGlobalApplication; - static volatile WinBollActivityManager _Instance; - static volatile Map _mapIWinBollList; - volatile IWinBollActivity mFirstIWinBollActivity; + static volatile WinBoLLActivityManager _Instance; + static volatile Map _mapIWinBoLLList; + volatile IWinBoLLActivity mFirstIWinBoLLActivity; - WinBollActivityManager(GlobalApplication application) { + WinBoLLActivityManager(GlobalApplication application) { mGlobalApplication = application; - _mapIWinBollList = new HashMap(); + _mapIWinBoLLList = new HashMap(); } - public static synchronized WinBollActivityManager getInstance(GlobalApplication application) { + public static synchronized WinBoLLActivityManager getInstance(GlobalApplication application) { LogUtils.d(TAG, "getInstance"); if (_Instance == null) { LogUtils.d(TAG, "_Instance == null"); - _Instance = new WinBollActivityManager(application); + _Instance = new WinBoLLActivityManager(application); } return _Instance; } // - // 设置 WinBoll 应用 UI 类型 + // 设置 WinBoLL 应用 UI 类型 // - public synchronized static void setWinBollUI_TYPE(WinBollUI_TYPE mWinBollUI_TYPE) { - _mWinBollUI_TYPE = mWinBollUI_TYPE; + public synchronized static void setWinBoLLUI_TYPE(WinBoLLUI_TYPE mWinBoLLUI_TYPE) { + _mWinBoLLUI_TYPE = mWinBoLLUI_TYPE; } // - // 获取 WinBoll 应用 UI 类型 + // 获取 WinBoLL 应用 UI 类型 // - public synchronized static WinBollUI_TYPE getWinBollUI_TYPE() { - return _mWinBollUI_TYPE; + public synchronized static WinBoLLUI_TYPE getWinBoLLUI_TYPE() { + return _mWinBoLLUI_TYPE; } // // 把Activity添加到管理中 // - public void add(T iWinBoll) { - String tag = ((IWinBollActivity)iWinBoll).getTag(); - LogUtils.d(TAG, String.format("add(T iWinBoll) tag is %s", tag)); + public void add(T iWinBoLL) { + String tag = ((IWinBoLLActivity)iWinBoLL).getTag(); + LogUtils.d(TAG, String.format("add(T iWinBoLL) tag is %s", tag)); if (isActive(tag)) { LogUtils.d(TAG, String.format("isActive(tag) is true, tag : %s.", tag)); } else { // 设置起始活动窗口,以便最后退出时提问 - if (mFirstIWinBollActivity == null && _mapIWinBollList.size() == 0) { - LogUtils.d(TAG, "Set firstIWinBollActivity, iWinBoll.getTag() is %s" + iWinBoll.getTag()); - mFirstIWinBollActivity = iWinBoll; + if (mFirstIWinBoLLActivity == null && _mapIWinBoLLList.size() == 0) { + LogUtils.d(TAG, "Set firstIWinBoLLActivity, iWinBoLL.getTag() is %s" + iWinBoLL.getTag()); + mFirstIWinBoLLActivity = iWinBoLL; } // 添加到活动窗口列表 - _mapIWinBollList.put(iWinBoll.getTag(), iWinBoll); - LogUtils.d(TAG, String.format("Add activity : %s\n_mapActivityList.size() : %d", iWinBoll.getTag(), _mapIWinBollList.size())); + _mapIWinBoLLList.put(iWinBoLL.getTag(), iWinBoLL); + LogUtils.d(TAG, String.format("Add activity : %s\n_mapActivityList.size() : %d", iWinBoLL.getTag(), _mapIWinBoLLList.size())); } } @@ -93,16 +93,16 @@ public class WinBollActivityManager { // activity: 不为 null 时, // intent.putExtra 函数 "tag" 参数为 activity.getTag() // - public void startWinBollActivity(Context context, Class clazz) { + public void startWinBoLLActivity(Context context, Class clazz) { try { // 如果窗口已存在就重启窗口 - String tag = ((IWinBollActivity)clazz.newInstance()).getTag(); - LogUtils.d(TAG, String.format("startWinBollActivity(Context context, Class clazz) tag is %s", tag)); + String tag = ((IWinBoLLActivity)clazz.newInstance()).getTag(); + LogUtils.d(TAG, String.format("startWinBoLLActivity(Context context, Class clazz) tag is %s", tag)); if (isActive(tag)) { resumeActivity(context, tag); return; } - //ToastUtils.show("startWinBollActivity(Context context, Class clazz)"); + //ToastUtils.show("startWinBoLLActivity(Context context, Class clazz)"); // 新建一个任务窗口 Intent intent = new Intent(context, clazz); @@ -117,11 +117,11 @@ public class WinBollActivityManager { } } - public void startWinBollActivity(Context context, Intent intent, Class clazz) { + public void startWinBoLLActivity(Context context, Intent intent, Class clazz) { try { // 如果窗口已存在就重启窗口 - String tag = ((IWinBollActivity)clazz.newInstance()).getTag(); - LogUtils.d(TAG, String.format("startWinBollActivity(Context context, Intent intent, Class clazz) tag is %s", tag)); + String tag = ((IWinBoLLActivity)clazz.newInstance()).getTag(); + LogUtils.d(TAG, String.format("startWinBoLLActivity(Context context, Intent intent, Class clazz) tag is %s", tag)); if (isActive(tag)) { resumeActivity(context, tag); return; @@ -140,7 +140,7 @@ public class WinBollActivityManager { } } - public void startLogActivity(Context context) { + public void startLogActivity(Context context) { // 如果窗口已存在就重启窗口 String tag = LogActivity.TAG; if (isActive(tag)) { @@ -167,8 +167,8 @@ public class WinBollActivityManager { context.startActivity(intent); } - public boolean isFirstIWinBollActivity(IWinBollActivity iWinBollActivity) { - return mFirstIWinBollActivity != null && mFirstIWinBollActivity == iWinBollActivity; + public boolean isFirstIWinBoLLActivity(IWinBoLLActivity iWinBoLLActivity) { + return mFirstIWinBoLLActivity != null && mFirstIWinBoLLActivity == iWinBoLLActivity; } // @@ -176,15 +176,15 @@ public class WinBollActivityManager { // public boolean isActive(String tag) { LogUtils.d(TAG, String.format("isActive(String tag) tag is %s", tag)); - //printIWinBollListInfo(); - IWinBollActivity iWinBoll = getIWinBoll(tag); - if (iWinBoll != null) { + //printIWinBoLLListInfo(); + IWinBoLLActivity iWinBoLL = getIWinBoLL(tag); + if (iWinBoLL != null) { //LogUtils.d(TAG, "isActive(...) activity != null tag " + tag); //ToastUtils.show("activity != null tag " + tag); //判断是否为 BaseActivity,如果已经销毁,则移除 - if (iWinBoll.getActivity().isFinishing() || iWinBoll.getActivity().isDestroyed()) { - _mapIWinBollList.remove(iWinBoll.getTag()); - //_mWinBollActivityList.remove(activity); + if (iWinBoLL.getActivity().isFinishing() || iWinBoLL.getActivity().isDestroyed()) { + _mapIWinBoLLList.remove(iWinBoLL.getTag()); + //_mWinBoLLActivityList.remove(activity); LogUtils.d(TAG, String.format("isActive(...) remove activity.\ntag : %s", tag)); return false; } else { @@ -192,44 +192,44 @@ public class WinBollActivityManager { return true; } } else { - LogUtils.d(TAG, String.format("isActive(...) iWinBoll is null tag by %s", tag)); + LogUtils.d(TAG, String.format("isActive(...) iWinBoLL is null tag by %s", tag)); return false; } } - static IWinBollActivity getIWinBoll(String tag) { - LogUtils.d(TAG, String.format("getIWinBoll(String tag) %s", tag)); - return _mapIWinBollList.get(tag); + static IWinBoLLActivity getIWinBoLL(String tag) { + LogUtils.d(TAG, String.format("getIWinBoLL(String tag) %s", tag)); + return _mapIWinBoLLList.get(tag); } // // 找到tag 绑定的 BaseActivity ,通过 getTaskId() 移动到前台 // - public void resumeActivity(Context context, String tag) { + public void resumeActivity(Context context, String tag) { LogUtils.d(TAG, "resumeActivity(Context context, String tag)"); - T iWinBoll = (T)getIWinBoll(tag); - LogUtils.d(TAG, String.format("iWinBoll.getTag() %s", iWinBoll.getTag())); + T iWinBoLL = (T)getIWinBoLL(tag); + LogUtils.d(TAG, String.format("iWinBoLL.getTag() %s", iWinBoLL.getTag())); //LogUtils.d(TAG, "activity " + activity.getTag()); - if (iWinBoll != null && !iWinBoll.getActivity().isFinishing() && !iWinBoll.getActivity().isDestroyed()) { - resumeActivity(context, iWinBoll); + if (iWinBoLL != null && !iWinBoLL.getActivity().isFinishing() && !iWinBoLL.getActivity().isDestroyed()) { + resumeActivity(context, iWinBoLL); } } // // 找到tag 绑定的 BaseActivity ,通过 getTaskId() 移动到前台 // - public void resumeActivity(Context context, T iWinBoll) { - LogUtils.d(TAG, "resumeActivity(Context context, T iWinBoll)"); + public void resumeActivity(Context context, T iWinBoLL) { + LogUtils.d(TAG, "resumeActivity(Context context, T iWinBoLL)"); ActivityManager am = (ActivityManager) mGlobalApplication.getSystemService(Context.ACTIVITY_SERVICE); //返回启动它的根任务(home 或者 MainActivity) - Intent intent = new Intent(mGlobalApplication, iWinBoll.getClass()); + Intent intent = new Intent(mGlobalApplication, iWinBoLL.getClass()); TaskStackBuilder stackBuilder = TaskStackBuilder.create(mGlobalApplication); stackBuilder.addNextIntentWithParentStack(intent); stackBuilder.startActivities(); //moveTaskToFront(YourTaskId, 0); //ToastUtils.show("resumeActivity am.moveTaskToFront"); - LogUtils.d(TAG, String.format("iWinBoll.getActivity().getTaskId() %d", iWinBoll.getActivity().getTaskId())); - am.moveTaskToFront(iWinBoll.getActivity().getTaskId(), ActivityManager.MOVE_TASK_NO_USER_ACTION); + LogUtils.d(TAG, String.format("iWinBoLL.getActivity().getTaskId() %d", iWinBoLL.getActivity().getTaskId())); + am.moveTaskToFront(iWinBoLL.getActivity().getTaskId(), ActivityManager.MOVE_TASK_NO_USER_ACTION); LogUtils.d(TAG, "am.moveTaskToFront"); } @@ -239,23 +239,23 @@ public class WinBollActivityManager { // public void finishAll() { try { - for (String key : _mapIWinBollList.keySet()) { + for (String key : _mapIWinBoLLList.keySet()) { //System.out.println("Key: " + key + ", Value: " + _mapActivityList.get(key)); - IWinBollActivity iWinBoll = _mapIWinBollList.get(key); + IWinBoLLActivity iWinBoLL = _mapIWinBoLLList.get(key); //ToastUtils.show("finishAll() activity"); - if (iWinBoll != null && !iWinBoll.getActivity().isFinishing() && !iWinBoll.getActivity().isDestroyed()) { + if (iWinBoLL != null && !iWinBoLL.getActivity().isFinishing() && !iWinBoLL.getActivity().isDestroyed()) { //ToastUtils.show("activity != null ..."); - if (getWinBollUI_TYPE() == WinBollUI_TYPE.Service) { + if (getWinBoLLUI_TYPE() == WinBoLLUI_TYPE.Service) { // 结束窗口和最近任务栏, 建议前台服务类应用使用,可以方便用户再次调用 UI 操作。 - iWinBoll.getActivity().finishAndRemoveTask(); + iWinBoLL.getActivity().finishAndRemoveTask(); //ToastUtils.show("finishAll() activity.finishAndRemoveTask();"); - } else if (getWinBollUI_TYPE() == WinBollUI_TYPE.Aplication) { + } else if (getWinBoLLUI_TYPE() == WinBoLLUI_TYPE.Aplication) { // 结束窗口保留最近任务栏,建议前台服务类应用使用,可以保持应用的系统自觉性。 - iWinBoll.getActivity().finish(); + iWinBoLL.getActivity().finish(); //ToastUtils.show("finishAll() activity.finish();"); } else { - LogUtils.d(TAG, "WinBollApplication.WinBollUI_TYPE error."); - //ToastUtils.show("WinBollApplication.WinBollUI_TYPE error."); + LogUtils.d(TAG, "WinBoLLApplication.WinBoLLUI_TYPE error."); + //ToastUtils.show("WinBoLLApplication.WinBoLLUI_TYPE error."); } } } @@ -267,14 +267,14 @@ public class WinBollActivityManager { // // 结束指定Activity // - public void finish(T iWinBoll) { + public void finish(T iWinBoLL) { try { - if (iWinBoll != null && !iWinBoll.getActivity().isFinishing() && !iWinBoll.getActivity().isDestroyed()) { + if (iWinBoLL != null && !iWinBoLL.getActivity().isFinishing() && !iWinBoLL.getActivity().isDestroyed()) { //根据tag 移除 MyActivity //String tag= activity.getTag(); - //_mWinBollActivityList.remove(tag); + //_mWinBoLLActivityList.remove(tag); //ToastUtils.show("remove"); - //ToastUtils.show("_mWinBollActivityArrayMap.size() " + Integer.toString(_mWinBollActivityArrayMap.size())); + //ToastUtils.show("_mWinBoLLActivityArrayMap.size() " + Integer.toString(_mWinBoLLActivityArrayMap.size())); // 窗口回调规则: // [] 当前窗口位置 >> 调度出的窗口位置 @@ -284,10 +284,10 @@ public class WinBollActivityManager { // ★:0 1 2 3 [4] >> 3 // ★:[0] >> 直接关闭当前窗口 //LogUtils.d(TAG, "finish no yet."); - IWinBollActivity preIWinBoll = getPreIWinBoll(iWinBoll); - iWinBoll.getActivity().finish(); - if (preIWinBoll != null) { - resumeActivity(mGlobalApplication, preIWinBoll); + IWinBoLLActivity preIWinBoLL = getPreIWinBoLL(iWinBoLL); + iWinBoLL.getActivity().finish(); + if (preIWinBoLL != null) { + resumeActivity(mGlobalApplication, preIWinBoLL); } } @@ -299,21 +299,21 @@ public class WinBollActivityManager { // // 获取窗口队列中的前一个窗口 // - IWinBollActivity getPreIWinBoll(IWinBollActivity iWinBoll) { + IWinBoLLActivity getPreIWinBoLL(IWinBoLLActivity iWinBoLL) { try { boolean bingo = false; - IWinBollActivity preIWinBoll = null; - for (Map.Entry entity : _mapIWinBollList.entrySet()) { - if (entity.getKey().equals(iWinBoll.getTag())) { + IWinBoLLActivity preIWinBoLL = null; + for (Map.Entry entity : _mapIWinBoLLList.entrySet()) { + if (entity.getKey().equals(iWinBoLL.getTag())) { bingo = true; //LogUtils.d(TAG, "bingo"); break; } - preIWinBoll = entity.getValue(); + preIWinBoLL = entity.getValue(); } if (bingo) { - return preIWinBoll; + return preIWinBoLL; } } catch (Exception e) { LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); @@ -325,10 +325,10 @@ public class WinBollActivityManager { // // 从管理列表中移除管理项 // - public boolean registeRemove(T activity) { - IWinBollActivity iWinBollTest = _mapIWinBollList.get(activity.getTag()); - if (iWinBollTest != null) { - _mapIWinBollList.remove(activity.getTag()); + public boolean registeRemove(T activity) { + IWinBoLLActivity iWinBoLLTest = _mapIWinBoLLList.get(activity.getTag()); + if (iWinBoLLTest != null) { + _mapIWinBoLLList.remove(activity.getTag()); return true; } return false; @@ -337,13 +337,13 @@ public class WinBollActivityManager { // // 打印管理列表项列表里的信息 // - public static void printIWinBollListInfo() { + public static void printIWinBoLLListInfo() { //LogUtils.d(TAG, "printAvtivityListInfo"); - if (!_mapIWinBollList.isEmpty()) { - StringBuilder sb = new StringBuilder("Map entries : " + Integer.toString(_mapIWinBollList.size())); - Iterator> iterator = _mapIWinBollList.entrySet().iterator(); + if (!_mapIWinBoLLList.isEmpty()) { + StringBuilder sb = new StringBuilder("Map entries : " + Integer.toString(_mapIWinBoLLList.size())); + Iterator> iterator = _mapIWinBoLLList.entrySet().iterator(); while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); + Map.Entry entry = iterator.next(); sb.append("\nKey: " + entry.getKey() + ", \nValue: " + entry.getValue().getTag()); //ToastUtils.show("\nKey: " + entry.getKey() + ", Value: " + entry.getValue().getTag()); } diff --git a/libappbase/src/main/res/drawable/ic_miapp.png b/libappbase/src/main/res/drawable/ic_miapp.png new file mode 100644 index 0000000..8d0939b Binary files /dev/null and b/libappbase/src/main/res/drawable/ic_miapp.png differ diff --git a/libappbase/src/main/res/layout/view_globalcrashreport.xml b/libappbase/src/main/res/layout/view_globalcrashreport.xml index cda2c96..65c05a7 100644 --- a/libappbase/src/main/res/layout/view_globalcrashreport.xml +++ b/libappbase/src/main/res/layout/view_globalcrashreport.xml @@ -7,7 +7,7 @@ android:layout_height="match_parent" android:id="@+id/viewglobalcrashreportLinearLayout1"> - diff --git a/libappbase/src/main/res/menu/toolbar_appbase.xml b/libappbase/src/main/res/menu/toolbar_appbase.xml index b6236e8..90e72ef 100644 --- a/libappbase/src/main/res/menu/toolbar_appbase.xml +++ b/libappbase/src/main/res/menu/toolbar_appbase.xml @@ -1,25 +1,20 @@ - + + android:icon="@drawable/ic_winboll_point"/> + android:icon="@drawable/ic_winboll_logo"/> + android:icon="@drawable/ic_winboll_help"/> + android:icon="@drawable/ic_winboll_log"/> diff --git a/libappbase/src/main/res/values/styles.xml b/libappbase/src/main/res/values/styles.xml index 13f26cd..0dd004f 100644 --- a/libappbase/src/main/res/values/styles.xml +++ b/libappbase/src/main/res/values/styles.xml @@ -1,7 +1,7 @@ - diff --git a/libapputils/build.gradle b/libapputils/build.gradle index 2cfc4fb..925f384 100644 --- a/libapputils/build.gradle +++ b/libapputils/build.gradle @@ -9,7 +9,7 @@ android { defaultConfig { minSdkVersion 24 - targetSdkVersion 29 + targetSdkVersion 30 } buildTypes { release { @@ -21,28 +21,7 @@ android { dependencies { api fileTree(dir: 'libs', include: ['*.jar']) - // Android 类库 - //api 'com.android.support:appcompat-v7:28.0.0' - api('com.android.support:appcompat-v7:28.0.0'){ - //exclude group: "com.android.support", module: "support-vector-drawable" - exclude group: "com.android.support:animated-vector-drawable:28.0.0" - } - // https://mvnrepository.com/artifact/com.android.support/support-compat - //api 'com.android.support:support-compat:28.0.0' // 保留原有依赖(可选) - // https://mvnrepository.com/artifact/com.android.support/support-v4 - api 'com.android.support:support-v4:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/support-media-compat - api 'com.android.support:support-media-compat:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/support-core-utils - api 'com.android.support:support-core-utils:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/support-core-ui - api 'com.android.support:support-core-ui:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/support-fragment - api 'com.android.support:support-fragment:28.0.0' - // https://mvnrepository.com/artifact/com.android.support/recyclerview-v7 - api 'com.android.support:recyclerview-v7:28.0.0' - - api 'cc.winboll.studio:libappbase:15.2.0' + api 'cc.winboll.studio:libappbase:15.7.6' // 二维码类库 api 'com.google.zxing:core:3.4.1' diff --git a/libapputils/build.properties b/libapputils/build.properties index 231733d..f9b7b9f 100644 --- a/libapputils/build.properties +++ b/libapputils/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sat Mar 29 12:14:39 HKT 2025 -stageCount=2 +#Tue Apr 29 15:03:54 HKT 2025 +stageCount=5 libraryProject=libapputils -baseVersion=15.2 -publishVersion=15.2.1 +baseVersion=15.3 +publishVersion=15.3.4 buildCount=0 -baseBetaVersion=15.2.2 +baseBetaVersion=15.3.5 diff --git a/libapputils/src/main/assets/winboll/studio/html/index.html b/libapputils/src/main/assets/winboll/studio/html/index.html index 4ea1b38..b95d385 100644 --- a/libapputils/src/main/assets/winboll/studio/html/index.html +++ b/libapputils/src/main/assets/winboll/studio/html/index.html @@ -3,10 +3,10 @@ - WinBoll-APP + WinBoLL-APP -

访问 WWW.WinBoll.CC

+

访问 WWW.WinBoLL.CC

diff --git a/libapputils/src/main/assets/winboll/studio/html/javascript_test.html b/libapputils/src/main/assets/winboll/studio/html/javascript_test.html index 6604456..49f5ec9 100644 --- a/libapputils/src/main/assets/winboll/studio/html/javascript_test.html +++ b/libapputils/src/main/assets/winboll/studio/html/javascript_test.html @@ -7,10 +7,10 @@ - WinBoll + WinBoLL - WinBoll Studio + WinBoLL Studio