# app-common 模块结构

## 功能索引
| 功能 | 简述 |
|------|------|
| 基础框架 | BaseApplication、RootActivity、路由导航等公共基础设施 |
| 配网 UI | 自动配网/手动配网/选择配网方式等公共 UI 页面 |
| 调试工具 | 日志文件采集与上传服务 |

## 概述
公共层模块，提供 Demo 应用（app）和各子 Demo（configwifidemo、bandwidthcheckdemo）共用的基础组件：Application 基类、Activity 基类、路由导航、配网相关公共 UI 页面、调试日志服务等。

## 入口文件
- `src/main/java/ezviz/ezopensdkcommon/common/BaseApplication.java` — Application 基类
- `src/main/java/ezviz/ezopensdkcommon/common/RootActivity.java` — Activity 基类

## 目录结构
```
app-common/src/main/java/ezviz/ezopensdkcommon/ (23 文件)
├── common/ (12 文件)
│   ├── BaseApplication.java                       # Application 基类（SDK 初始化）
│   ├── CheckTextButton.java                       # 带选中态文字按钮
│   ├── Config.java                                # Demo 配置
│   ├── EZPermissionUtil.java                      # 权限工具
│   ├── IntentConstants.java                       # Intent 常量
│   ├── LogUtil.java                               # 日志工具
│   ├── RootActivity.java                          # Activity 基类
│   ├── RouteNavigator.java                        # 路由导航器
│   ├── TaskManager.java                           # 任务管理器
│   ├── TitleBar.java                              # 标题栏组件
│   ├── Utils.java                                 # 通用工具
│   └── WaitDialog.java                            # 等待弹窗
├── configwifi/ (9 文件)
│   ├── AutoWifiNetConfigActivity.java             # 自动配网执行页
│   ├── AutoWifiPrepareStepOneActivity.java        # 自动配网准备步骤一
│   ├── AutoWifiResetActivity.java                 # 自动配网重置页
│   ├── ConfigWifiExecutingActivity.java           # 配网执行中页面
│   ├── ConfigWifiExecutingActivityPresenter.java  # 配网执行 Presenter
│   ├── ConfigWifiTypeConstants.java               # 配网类型常量
│   ├── ManualChooseConfigWifiWayActivity.java     # 手动选择配网方式页
│   ├── ManualConnectDeviceHotspotActivity.kt      # 手动连接设备热点页
│   └── ManualInputDeviceHotspotInfoActivity.kt    # 手动输入热点信息页
└── debug/ (2 文件)
    ├── LogFileService.java                        # 日志文件后台服务
    └── LogFileUtil.java                           # 日志文件工具
```

## 架构设计
- **定位**：Demo 层公共抽取，非 SDK 核心代码
- **BaseApplication**：统一 SDK 初始化、全局配置
- **RootActivity**：统一标题栏、权限处理、等待弹窗等 Activity 公共逻辑
- **配网 UI**：提供配网流程中的通用 UI 页面，通过 Presenter 调用 configwifi 模块的配网能力
- **依赖**：compileOnly 依赖 ezviz-sdk（或 configwifi），避免重复打包

<!-- 最后更新: 2025-07-08 -->
