diff --git a/contacts/README.md b/contacts/README.md index cc44aff..3a2e48f 100644 --- a/contacts/README.md +++ b/contacts/README.md @@ -1,4 +1,40 @@ -# StallHelper -# 排档辅助管理工具 +# Contacts +源码参考自: +https://github.com/aJIEw/PhoneCallApp.git -## LargeStall Stand Auxiliary Management Tool. +#### 介绍 +这是可以根据正则表达式匹配拦截骚扰电话的手机拨号应用。 + +#### 软件架构 +适配安卓应用 [AIDE Pro] 的 Gradle 编译结构。 +也适配安卓应用 [AndroidIDE] 的 Gradle 编译结构。 + + +#### Gradle 编译说明 +调试版编译命令 :gradle assembleBetaDebug +阶段版编译命令 :gradle assembleStageRelease + +#### 使用说明 + +在安卓系统中需要设置两个权限允许。 +1.自启动权限允许。 +2.省电策略-无限制权限允许。 + +#### 参与贡献 + +1. Fork 本仓库 +2. 新建 Feat_xxx 分支 +3. 提交代码 : ZhanGSKen(ZhanGSKen) +4. 新建 Pull Request + + +#### 特技 + +1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md +2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) +3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 +4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 +5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) +6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) + +#### 参考文档 diff --git a/contacts/build.properties b/contacts/build.properties index 985b557..9feb300 100644 --- a/contacts/build.properties +++ b/contacts/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sun May 24 20:43:00 HKT 2026 +#Sun May 24 12:59:46 GMT 2026 stageCount=7 libraryProject= baseVersion=15.20 publishVersion=15.20.6 -buildCount=4 +buildCount=6 baseBetaVersion=15.20.7 diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/activities/AboutActivity.java b/contacts/src/main/java/cc/winboll/studio/contacts/activities/AboutActivity.java index 792d59d..6556747 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/activities/AboutActivity.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/activities/AboutActivity.java @@ -1,38 +1,22 @@ package cc.winboll.studio.contacts.activities; import android.app.Activity; -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.contacts.R; import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity; -import cc.winboll.studio.libaes.models.APPInfo; -import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; -import cc.winboll.studio.libaes.views.AboutView; -import cc.winboll.studio.libappbase.LogUtils; +import cc.winboll.studio.libappbase.models.APPInfo; +import cc.winboll.studio.libappbase.views.AboutView; +import androidx.appcompat.widget.Toolbar; /** - * @Author ZhanGSKen&豆包大模型 - * @Date 2025/03/31 15:15:54 - * @Describe 应用介绍窗口 + * @Author 豆包&ZhanGSKen + * @Date 2026/01/11 12:55 + * @Describe AboutActivity */ public class AboutActivity extends WinBollActivity implements IWinBoLLActivity { - // ====================== 常量定义区 ====================== public static final String TAG = "AboutActivity"; - private static final String BRANCH_NAME = "contacts"; - - // ====================== 成员变量区 ====================== - private Context mContext; - private Toolbar mToolbar; - - // ====================== 接口实现区 ====================== - @Override + @Override public Activity getActivity() { return this; } @@ -41,76 +25,32 @@ public class AboutActivity extends WinBollActivity implements IWinBoLLActivity { public String getTag() { return TAG; } - - // ====================== 生命周期函数区 ====================== @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - LogUtils.d(TAG, "onCreate: 关于页面开始创建"); - - mContext = this; setContentView(R.layout.activity_about); - // 初始化工具栏 - initToolbar(); - // 初始化关于页面视图 - initAboutView(); - // 注册Activity管理 - WinBoLLActivityManager.getInstance().add(this); + Toolbar toolbar = findViewById(R.id.toolbar); + setSupportActionBar(toolbar); - LogUtils.d(TAG, "onCreate: 关于页面初始化完成"); + AboutView aboutView = findViewById(R.id.aboutview); + aboutView.setAPPInfo(genDefaultAppInfo()); } - @Override - protected void onDestroy() { - super.onDestroy(); - LogUtils.d(TAG, "onDestroy: 关于页面开始销毁"); - WinBoLLActivityManager.getInstance().registeRemove(this); - LogUtils.d(TAG, "onDestroy: 关于页面销毁完成"); - } - - // ====================== 控件初始化函数区 ====================== - private void initToolbar() { - LogUtils.d(TAG, "initToolbar: 初始化工具栏"); - // Java7 适配:添加强制类型转换 - mToolbar = (Toolbar) findViewById(R.id.toolbar); - setSupportActionBar(mToolbar); - mToolbar.setSubtitle(TAG); - // 非空判断,避免空指针异常 - if (getSupportActionBar() != null) { - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - } - } - - private void initAboutView() { - LogUtils.d(TAG, "initAboutView: 初始化关于页面内容视图"); - AboutView aboutView = createAboutView(); - LinearLayout layout = (LinearLayout) findViewById(R.id.aboutviewroot_ll); - - ViewGroup.LayoutParams params = new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.MATCH_PARENT - ); - layout.addView(aboutView, params); - LogUtils.d(TAG, "initAboutView: AboutView已添加到布局"); - } - - // ====================== 业务逻辑函数区 ====================== - private AboutView createAboutView() { - LogUtils.d(TAG, "createAboutView: 构建APP信息并创建AboutView"); + private APPInfo genDefaultAppInfo() { + String branchName = "contacts"; APPInfo appInfo = new APPInfo(); appInfo.setAppName("Contacts"); - appInfo.setAppIcon(cc.winboll.studio.libaes.R.drawable.ic_winboll); - appInfo.setAppDescription("这是可以根据正则表达式匹配拦截骚扰电话的手机拨号应用。"); - appInfo.setAppGitName("WinBoLL"); - appInfo.setAppGitOwner("Studio"); - appInfo.setAppGitAPPBranch(BRANCH_NAME); - appInfo.setAppGitAPPSubProjectFolder(BRANCH_NAME); + appInfo.setAppIcon(R.drawable.ic_winboll); + appInfo.setAppDescription(getString(R.string.app_description)); + appInfo.setAppGitName("MyWinBoLL"); + appInfo.setAppGitOwner("ZhanGSKen"); + appInfo.setAppGitAPPBranch(branchName); + appInfo.setAppGitAPPSubProjectFolder(branchName); appInfo.setAppHomePage("https://www.winboll.cc/apks/index.php?project=Contacts"); appInfo.setAppAPKName("Contacts"); appInfo.setAppAPKFolderName("Contacts"); - - return new AboutView(mContext, appInfo); + + return appInfo; } } - diff --git a/contacts/src/main/res/layout/activity_about.xml b/contacts/src/main/res/layout/activity_about.xml index 425769a..6f96753 100644 --- a/contacts/src/main/res/layout/activity_about.xml +++ b/contacts/src/main/res/layout/activity_about.xml @@ -1,21 +1,23 @@ + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="?attr/activityBackgroundColor"> - - + + + + diff --git a/contacts/src/main/res/values/strings.xml b/contacts/src/main/res/values/strings.xml index 8817cbe..d2377cf 100644 --- a/contacts/src/main/res/values/strings.xml +++ b/contacts/src/main/res/values/strings.xml @@ -2,6 +2,7 @@ Contacts + This is a mobile dialer app that can block nuisance calls by matching regular expressions. https://gitea.winboll.cc/Studio/BoBullToon/archive/main.zip