diff --git a/README.md b/README.md
index aa915672b8..ac8609c4c6 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
[](https://github.com/afkT)
[](https://github.com/afkT/DevUtils/blob/master/LICENSE)
-[](https://bintray.com/afkt/maven/DevAppX)
+[](https://bintray.com/afkt/maven/DevAppX)
[](https://android-arsenal.com/api?level=14)
[](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/README.md)
@@ -75,10 +75,10 @@
```java
// DevApp Android 工具类库
-implementation 'com.afkt:DevAppX:2.1.5'
+implementation 'com.afkt:DevAppX:2.1.6'
// DevAssist 快捷功能辅助类库
-implementation 'com.afkt:DevAssist:1.0.7'
+implementation 'com.afkt:DevAssist:1.0.8'
// DevBase Base ( Activity、Fragment )、MVP、ViewBinding、ContentLayout 基类库
implementation 'com.afkt:DevBase:1.0.3'
@@ -87,7 +87,7 @@ implementation 'com.afkt:DevBase:1.0.3'
implementation 'com.afkt:DevBaseMVVM:1.0.1'
// DevJava Java 工具类库 ( 不依赖 android api )
-implementation 'com.afkt:DevJava:1.2.6' // 用于纯 Java 开发,如果依赖了 DevApp 则不需要依赖 DevJava
+implementation 'com.afkt:DevJava:1.2.7' // 用于纯 Java 开发,如果依赖了 DevApp 则不需要依赖 DevJava
// DevWidget 自定义 View UI 库
implementation 'com.afkt:DevWidgetX:1.0.7'
diff --git a/lib/DevApp/CHANGELOG.md b/lib/DevApp/CHANGELOG.md
index 3e6fd77606..d73f8d8211 100644
--- a/lib/DevApp/CHANGELOG.md
+++ b/lib/DevApp/CHANGELOG.md
@@ -1,6 +1,15 @@
Change Log
==========
+Version 2.1.6 *(2021-02-08)*
+----------------------------
+
+* `[Add]` ColorUtils#getRandomColorString 方法
+
+* `[Add]` DevFinal 新增部分常量
+
+* `[Add]` 新增 DevicePolicyUtils 设备管理工具类
+
Version 2.1.5 *(2021-01-24)*
----------------------------
diff --git a/lib/DevApp/README.md.REMOVED.git-id b/lib/DevApp/README.md.REMOVED.git-id
index f3c944d94d..0862a97432 100644
--- a/lib/DevApp/README.md.REMOVED.git-id
+++ b/lib/DevApp/README.md.REMOVED.git-id
@@ -1 +1 @@
-66c4b127f8430b70d8e5915e77753b5698e9f5e4
\ No newline at end of file
+fe08c3ce4cc6456f3b33b3850ae51521ffccdb27
\ No newline at end of file
diff --git a/lib/DevAssist/CHANGELOG.md b/lib/DevAssist/CHANGELOG.md
index 1b78fb223f..9fe73e420e 100644
--- a/lib/DevAssist/CHANGELOG.md
+++ b/lib/DevAssist/CHANGELOG.md
@@ -1,6 +1,11 @@
Change Log
==========
+Version 1.0.8 *(2021-02-08)*
+----------------------------
+
+* `[Feat]` 重新调整包名、类名以及重新部分代码
+
Version 1.0.7 *(2020-12-28)*
----------------------------
diff --git a/lib/DevAssist/README.md b/lib/DevAssist/README.md
index d971141d87..e6672c07cd 100644
--- a/lib/DevAssist/README.md
+++ b/lib/DevAssist/README.md
@@ -2,7 +2,7 @@
## Gradle
```java
-implementation 'com.afkt:DevAssist:1.0.7'
+implementation 'com.afkt:DevAssist:1.0.8'
```
## 目录结构
@@ -10,14 +10,13 @@ implementation 'com.afkt:DevAssist:1.0.7'
```
- dev | 根目录
- assist | 快捷功能辅助类
- - adapter | Adapter 相关
- - multiselect | 多选模块
- - edit | 多选编辑方法
- - base | 基类相关
- - callback | 回调相关
- - click | 点击回调
- - common | 通用回调
- - result | 操作结果回调
+ - base | 实体类基类相关
+ - data | 数据操作
+ - entry | KeyValue 实体类
+ - expand | 实体类拓展
+ - multiselect | 多选编辑操作
+ - number | 数值操作
+ - callback | 接口回调相关
- engine | 兼容 Engine
- http | Http Engine
- image | Image Engine
@@ -37,14 +36,13 @@ implementation 'com.afkt:DevAssist:1.0.7'
- dev | 根目录
- [assist](#devassist) | 快捷功能辅助类
- - [adapter](#devassistadapter) | Adapter 相关
- - [multiselect](#devassistmultiselect) | 多选模块
- - [edit](#devassistmultiselectedit) | 多选编辑方法
- - [base](#devbase) | 基类相关
- - [callback](#devcallback) | 回调相关
- - [click](#devcallbackclick) | 点击回调
- - [common](#devcallbackcommon) | 通用回调
- - [result](#devcallbackresult) | 操作结果回调
+ - [base](#devbase) | 实体类基类相关
+ - [data](#devbasedata) | 数据操作
+ - [entry](#devbaseentry) | KeyValue 实体类
+ - [expand](#devbaseexpand) | 实体类拓展
+ - [multiselect](#devbasemultiselect) | 多选编辑操作
+ - [number](#devbasenumber) | 数值操作
+ - [callback](#devcallback) | 接口回调相关
- [engine](#devengine) | 兼容 Engine
- [http](#devenginehttp) | Http Engine
- [image](#devengineimage) | Image Engine
@@ -70,6 +68,46 @@ implementation 'com.afkt:DevAssist:1.0.7'
## **`dev.assist`**
+* **数据辅助类 ->** [DataAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/DataAssist.java)
+
+| 方法 | 注释 |
+| :- | :- |
+| setDataChanged | 设置数据改变通知 |
+| getDataSource | 获取 DataSource Object |
+| getDataList | 获取 List Data |
+| getDataArrayList | 获取 ArrayList Data |
+| getDataSize | 获取 List Size |
+| getDataItem | 获取 List Position Data |
+| getDataItemPosition | 获取 Value Position |
+| getFirstData | 获取 First Data |
+| getLastData | 获取 Last Data |
+| getLastPosition | 获取 Last Position |
+| isDataEmpty | 判断 List Size 是否为 0 |
+| isDataNotEmpty | 判断 List Size 是否大于 0 |
+| isFirstPosition | 判断是否 First Position |
+| isLastPosition | 判断是否 Last Position |
+| equalsFirstData | 判断 First Value 是否一致 |
+| equalsLastData | 判断 Last Value 是否一致 |
+| equalsPositionData | 判断 Position Value 是否一致 |
+| addData | 添加数据 |
+| addDataAt | 添加数据 |
+| addDatas | 添加数据集 |
+| addDatasAt | 添加数据集 |
+| addDatasChecked | 添加数据集 ( 进行校验 ) |
+| addDatasCheckedAt | 添加数据集 ( 进行校验 ) |
+| removeData | 移除数据 |
+| removeDataAt | 移除数据 |
+| removeDatas | 移除数据集 |
+| replaceData | 替换数据 |
+| replaceDataAt | 替换数据 |
+| swipePosition | 数据中两个索引 Data 互换位置 |
+| contains | 是否存在 Data |
+| clearDataList | 清空全部数据 |
+| setDataList | 设置 List Data |
+| notifyDataChanged | 通知数据改变 |
+| notifyElementChanged | 通知某个数据改变 |
+
+
* **EditText 搜索辅助类 ->** [EditTextSearchAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/EditTextSearchAssist.java)
| 方法 | 注释 |
@@ -93,14 +131,13 @@ implementation 'com.afkt:DevAssist:1.0.7'
| 方法 | 注释 |
| :- | :- |
+| getNumber | 获取 DevNumber Object |
| isMinNumber | 判断当前数量, 是否等于最小值 |
| isLessThanMinNumber | 判断数量, 是否小于最小值 |
| isGreaterThanMinNumber | 判断数量, 是否大于最小值 |
| isMaxNumber | 判断当前数量, 是否等于最大值 |
| isLessThanMaxNumber | 判断数量, 是否小于最大值 |
| isGreaterThanMaxNumber | 判断数量, 是否大于最大值 |
-| getObject | 获取 Object |
-| setObject | 设置 Object |
| getMinNumber | 获取最小值 |
| setMinNumber | 设置最小值 |
| getMaxNumber | 获取最大值 |
@@ -119,162 +156,274 @@ implementation 'com.afkt:DevAssist:1.0.7'
| setNumberListener | 设置数量监听事件接口 |
-* **Page 页数辅助类 ->** [PageAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/PageAssist.java)
+* **Page 辅助类 ->** [PageAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/PageAssist.java)
| 方法 | 注释 |
| :- | :- |
| initPageConfig | 初始化全局分页配置 |
-| getPageNum | 获取当前请求页数 |
-| setPageNum | 设置当前请求页数 |
+| reset | 重置操作 |
+| getPage | 获取当前页数 |
+| setPage | 设置当前页数 |
+| equalsPage | 判断当前页数是否一致 |
| getPageSize | 获取每页请求条数 |
-| setPageSize | 设置每页请求条数 |
-| getTotalRow | 获取数据总条数 |
-| setTotalRow | 设置数据总条数 |
+| equalsPageSize | 判断每页请求条数是否一致 |
| isLastPage | 判断是否最后一页 |
| setLastPage | 设置是否最后一页 |
+| calculateLastPage | 计算是否最后一页 ( 并同步更新 ) |
| isFirstPage | 判断是否第一页 |
-| isAllowNextPage | 判断是否允许请求下一页 |
+| canNextPage | 判断是否允许请求下一页 |
| getNextPage | 获取下一页页数 |
-| nextPage | 设置下一页页数 |
+| nextPage | 累加当前页数 ( 下一页 ) |
| isLessThanPageSize | 判断是否小于每页请求条数 |
-| reset | 重置操作 |
-* **请求状态辅助类 ->** [RequestStateAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/RequestStateAssist.java)
+## **`dev.base`**
+
+
+* **数据源操作实体类 ->** [DevDataSource.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevDataSource.java)
| 方法 | 注释 |
| :- | :- |
-| getRequestType | 获取请求类型 |
-| setRequestType | 设置请求类型 |
-| equalsRequestType | 判断请求类型是否一致 |
-| getRequestHashCode | 获取请求 HashCode |
-| getRequestHashCodeRandom | 获取请求 HashCode ( 随机生成并赋值 ) |
-| equalsHashCode | 判断 HashCode 是否一致 |
-| getRequestState | 获取请求状态 |
-| setRequestState | 设置请求状态 |
-| isRequestNormal | 判断是否默认状态 ( 暂未进行操作 ) |
-| isRequestNever | 判断是否未请求过 |
-| isRequestIng | 判断是否请求中 |
-| isRequestSuccess | 判断是否请求成功 |
-| isRequestFail | 判断是否请求失败 |
-| isRequestError | 判断是否请求异常 |
-| setRequestNormal | 设置状态为默认状态 ( 暂未进行操作 ) |
-| setRequestNever | 设置状态为未请求过 |
-| setRequestIng | 设置状态为请求中 |
-| setRequestSuccess | 设置状态为请求成功 |
-| setRequestFail | 设置状态为请求失败 |
-| setRequestError | 设置状态为请求异常 |
+| getDataList | 获取 List Data |
+| getDataArrayList | 获取 ArrayList Data |
+| getDataSize | 获取 List Size |
+| getDataItem | 获取 List Position Data |
+| getDataItemPosition | 获取 Value Position |
+| getFirstData | 获取 First Data |
+| getLastData | 获取 Last Data |
+| getLastPosition | 获取 Last Position |
+| isDataEmpty | 判断 List Size 是否为 0 |
+| isDataNotEmpty | 判断 List Size 是否大于 0 |
+| isFirstPosition | 判断是否 First Position |
+| isLastPosition | 判断是否 Last Position |
+| equalsFirstData | 判断 First Value 是否一致 |
+| equalsLastData | 判断 Last Value 是否一致 |
+| equalsPositionData | 判断 Position Value 是否一致 |
+| addData | 添加数据 |
+| addDataAt | 添加数据 |
+| addDatas | 添加数据集 |
+| addDatasAt | 添加数据集 |
+| addDatasChecked | 添加数据集 ( 进行校验 ) |
+| addDatasCheckedAt | 添加数据集 ( 进行校验 ) |
+| removeData | 移除数据 |
+| removeDataAt | 移除数据 |
+| removeDatas | 移除数据集 |
+| replaceData | 替换数据 |
+| replaceDataAt | 替换数据 |
+| swipePosition | 数据中两个索引 Data 互换位置 |
+| contains | 是否存在 Data |
+| clearDataList | 清空全部数据 |
+| setDataList | 设置 List Data |
-* **变量辅助类 ->** [VariableAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/VariableAssist.java)
+* **Key-Value Entry ->** [DevEntry.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevEntry.java)
| 方法 | 注释 |
| :- | :- |
-| getBooleanVariable | 获取 Boolean 变量存储对象 |
-| getObjectVariable | 获取 Object 变量存储对象 |
+| getKey | 获取 Key |
+| setKey | 设置 Key |
+| getValue | 获取 Value |
+| setValue | 设置 Value |
+| equalsKey | 判断 Key 是否一致 |
+| equalsValue | 判断 Value 是否一致 |
-## **`dev.assist.adapter`**
+* **数量实体类 ->** [DevNumber.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevNumber.java)
+| 方法 | 注释 |
+| :- | :- |
+| isMinNumber | 判断当前数量, 是否等于最小值 |
+| isLessThanMinNumber | 判断数量, 是否小于最小值 |
+| isGreaterThanMinNumber | 判断数量, 是否大于最小值 |
+| isMaxNumber | 判断当前数量, 是否等于最大值 |
+| isLessThanMaxNumber | 判断数量, 是否小于最大值 |
+| isGreaterThanMaxNumber | 判断数量, 是否大于最大值 |
+| getMinNumber | 获取最小值 |
+| setMinNumber | 设置最小值 |
+| getMaxNumber | 获取最大值 |
+| setMaxNumber | 设置最大值 |
+| setMinMaxNumber | 设置最小值、最大值 |
+| getCurrentNumber | 获取当前数量 |
+| setCurrentNumber | 设置当前数量 |
+| getResetNumber | 获取重置数量 |
+| setResetNumber | 设置重置数量 |
+| isAllowNegative | 获取是否允许设置为负数 |
+| setAllowNegative | 设置是否允许设置为负数 |
+| numberChange | 数量改变通知 |
+| addNumber | 添加数量 ( 默认累加 1 ) |
+| subtractionNumber | 减少数量 ( 默认累减 1 ) |
+| getNumberListener | 获取数量监听事件接口 |
+| setNumberListener | 设置数量监听事件接口 |
-* **Adapter 数据辅助类 ->** [AdapterDataAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/adapter/AdapterDataAssist.java)
+
+* **通用 Object ->** [DevObject.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevObject.java)
| 方法 | 注释 |
| :- | :- |
-| setAdapterNotify | 设置 Adapter Notify |
-| getDataList | 获取 List Data |
-| getDataArrayList | 获取 ArrayList Data |
-| getDataCount | 获取 List Count |
-| getDataItem | 获取 List Position Item |
-| getDataItemPosition | 获取 Value Position |
-| getDataFirstItem | 获取 First Item Data |
-| getDataLastItem | 获取 Last Item Data |
-| isFirstItem | 判断是否 First Item Data |
-| isLastItem | 判断是否 Last Item Data |
-| clearDataList | 清空全部数据 |
-| addData | 添加数据 |
-| addAllData | 添加数据 |
-| removeData | 移除数据 |
-| setDataList | 设置 List Data |
-| adapterNotifyDataSetChanged | 通知 Adapter 数据改变 |
+| getUUID | 获取 UUID |
+| getObject | 获取 Object |
+| setObject | 设置 Object |
+| getTag | 获取标记 Tag |
+| convertTag | 转换标记 Tag |
+| setTag | 设置标记 Tag |
+| getModelId | 获取 Model id |
+| setModelId | 设置 Model id |
+| getCode | 获取 Code |
+| setCode | 设置 Code |
+| getType | 获取 Type |
+| setType | 设置 Type |
+| getState | 获取 State |
+| setState | 设置 State |
+| getTokenUUID | 获取 Token UUID |
+| setTokenUUID | 设置 Token UUID |
+| randomTokenUUID | 重置随机 Token UUID |
+| equalsObject | 判断 Object 是否一致 |
+| equalsTag | 判断 Tag 是否一致 |
+| equalsModelId | 判断 Model id 是否一致 |
+| equalsCode | 判断 Code 是否一致 |
+| equalsType | 判断 Type 是否一致 |
+| equalsState | 判断 State 是否一致 |
+| equalsTokenUUID | 判断 Token UUID 是否一致 |
+| isCorrect | 校验数据正确性 |
-* **Adapter 数据操作接口 ->** [IAdapterData.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/adapter/IAdapterData.java)
+* **Page 实体类 ->** [DevPage.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevPage.java)
| 方法 | 注释 |
| :- | :- |
-| getDataList | 获取 List Data |
-| getDataArrayList | 获取 ArrayList Data |
-| getDataCount | 获取 List Count |
-| getDataItem | 获取 List Position Item |
-| getDataItemPosition | 获取 Value Position |
-| getDataFirstItem | 获取 First Item Data |
-| getDataLastItem | 获取 Last Item Data |
-| isFirstItem | 判断是否 First Item Data |
-| isLastItem | 判断是否 Last Item Data |
-| clearDataList | 清空全部数据 |
-| addData | 添加数据 |
-| addAllData | 添加数据 |
-| removeData | 移除数据 |
-| setDataList | 设置 List Data |
+| reset | 重置操作 |
+| getPage | 获取当前页数 |
+| setPage | 设置当前页数 |
+| equalsPage | 判断当前页数是否一致 |
+| getPageSize | 获取每页请求条数 |
+| equalsPageSize | 判断每页请求条数是否一致 |
+| isLastPage | 判断是否最后一页 |
+| setLastPage | 设置是否最后一页 |
+| calculateLastPage | 计算是否最后一页 ( 并同步更新 ) |
+| isFirstPage | 判断是否第一页 |
+| canNextPage | 判断是否允许请求下一页 |
+| getNextPage | 获取下一页页数 |
+| nextPage | 累加当前页数 ( 下一页 ) |
+| isLessThanPageSize | 判断是否小于每页请求条数 |
-* **Adapter 通知接口 ->** [IAdapterNotify.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/adapter/IAdapterNotify.java)
+* **资源路径通用类 ->** [DevSource.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevSource.java)
| 方法 | 注释 |
| :- | :- |
-| adapterNotifyDataSetChanged | 通知 Adapter 数据改变 |
+| create | create |
+| createWithPath | createWithPath |
-## **`dev.assist.multiselect`**
+* **变量基类 ( 方便判断处理 ) ->** [DevVariable.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevVariable.java)
+
+| 方法 | 注释 |
+| :- | :- |
+| getVariables | 获取全部变量数据 |
+| clearVariables | 清空全部变量数据 |
+| putVariables | 保存变量数据集合 |
+| getVariablesSize | 获取变量总数 |
+| isVariables | 判断是否存在变量数据 |
+| isVariableValue | 判断是否存在变量 ( 通过 value 判断 ) |
+| removeVariableValue | 删除指定变量数据 |
+| removeVariableValueAll | 删除指定变量数据 ( 符合条件的全部 value ) |
+| isVariable | 判断是否存在变量 ( 通过 key 判断 ) |
+| putVariable | 保存变量数据 |
+| removeVariable | 移除指定变量数据 ( 通过 key 判断 ) |
+| toggle | 切换变量数据存储状态 |
+| getVariableValue | 通过 key 获取 value |
+| getVariableValueConvert | 通过 key 获取 value |
+| getVariableValues | 获取变量数据 value list |
+| getVariableValuesToReverse | 获取变量数据 value list( 倒序 ) |
+| getVariableKey | 通过 value 获取 key |
+| getVariableKeys | 获取变量数据 key list |
+| getVariableKeysToReverse | 获取变量数据 key list( 倒序 ) |
-* **多选操作接口 ( 基类 ) ->** [IBaseMultiSelect.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/multiselect/IBaseMultiSelect.java)
+## **`dev.base.data`**
+
+
+* **数据改变通知 ->** [DataChanged.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/data/DataChanged.java)
| 方法 | 注释 |
| :- | :- |
-| clearSelects | 清空全部选中数据 |
-| getSelectSize | 获取选中的数据条数 |
-| getSelects | 获取选中的数据集合 |
-| putSelects | 通过集合添加选中数据 |
-| isSelect | 判断是否存在选中的数据 |
-| isSelectValue | 判断是否选中 ( 通过 value 判断 ) |
-| unselectValue | 设置非选中 |
-| unselectValueAll | 设置非选中 ( 符合条件的全部 value ) |
+| notifyDataChanged | 通知数据改变 |
+| notifyElementChanged | 通知某个数据改变 |
-* **多选操作接口 ( List ) ->** [IMultiSelectToList.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/multiselect/IMultiSelectToList.java)
+* **数据管理接口 ->** [DataManager.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/data/DataManager.java)
| 方法 | 注释 |
| :- | :- |
-| isSelect | 判断是否选中 ( 通过 value 判断 ) |
-| select | 设置选中操作 |
-| unselect | 设置非选中操作 |
-| toggle | 切换选中状态 |
-| getSelectValues | 获取选中的数据集合 |
-| getSelectValuesToReverse | 获取选中的数据集合 ( 倒序 ) |
-| getSelectValue | 获取选中的数据 |
-| getSelectValueToPosition | 获取选中的数据所在的索引 |
+| getDataList | 获取 List Data |
+| getDataArrayList | 获取 ArrayList Data |
+| getDataSize | 获取 List Size |
+| getDataItem | 获取 List Position Data |
+| getDataItemPosition | 获取 Value Position |
+| getFirstData | 获取 First Data |
+| getLastData | 获取 Last Data |
+| getLastPosition | 获取 Last Position |
+| isDataEmpty | 判断 List Size 是否为 0 |
+| isDataNotEmpty | 判断 List Size 是否大于 0 |
+| isFirstPosition | 判断是否 First Position |
+| isLastPosition | 判断是否 Last Position |
+| equalsFirstData | 判断 First Value 是否一致 |
+| equalsLastData | 判断 Last Value 是否一致 |
+| equalsPositionData | 判断 Position Value 是否一致 |
+| addData | 添加数据 |
+| addDataAt | 添加数据 |
+| addDatas | 添加数据集 |
+| addDatasAt | 添加数据集 |
+| addDatasChecked | 添加数据集 ( 进行校验 ) |
+| addDatasCheckedAt | 添加数据集 ( 进行校验 ) |
+| removeData | 移除数据 |
+| removeDataAt | 移除数据 |
+| removeDatas | 移除数据集 |
+| replaceData | 替换数据 |
+| replaceDataAt | 替换数据 |
+| swipePosition | 数据中两个索引 Data 互换位置 |
+| contains | 是否存在 Data |
+| clearDataList | 清空全部数据 |
+| setDataList | 设置 List Data |
+
+## **`dev.base.entry`**
-* **多选操作接口 ( Map ) ->** [IMultiSelectToMap.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/multiselect/IMultiSelectToMap.java)
+
+## **`dev.base.expand`**
+
+
+* **请求状态类 ->** [RequestState.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/expand/RequestState.java)
| 方法 | 注释 |
| :- | :- |
-| isSelect | 判断是否选中 ( 如果未选中, 则设置为选中 ) |
-| isSelectKey | 判断是否选中 ( 通过 key 判断 ) |
-| select | 设置选中操作 |
-| unselect | 设置非选中操作 |
-| toggle | 切换选中状态 |
-| getSelectValue | 通过 key 获取 value |
-| getSelectValues | 获取选中的数据集合 |
-| getSelectValuesToReverse | 获取选中的数据集合 ( 倒序 ) |
-| getSelectKey | 通过 value 获取 key |
-| getSelectKeys | 获取选中的数据集合 |
-| getSelectKeysToReverse | 获取选中的数据集合 ( 倒序 ) |
+| getType | 获取请求类型 |
+| setType | 设置请求类型 |
+| equalsType | 判断请求类型是否一致 |
+| getRequestUUID | 获取请求 UUID |
+| randomRequestUUID | 获取请求 UUID ( 随机生成并赋值 ) |
+| equalsRequestUUID | 判断 UUID 是否一致 |
+| getState | 获取 State |
+| setState | 设置 State |
+| equalsState | 判断 State 是否一致 |
+| isRequestNormal | 判断是否默认状态 |
+| isRequestNever | 判断是否未请求过 |
+| isRequestIng | 判断是否请求中 |
+| isRequestSuccess | 判断是否请求成功 |
+| isRequestFail | 判断是否请求失败 |
+| isRequestError | 判断是否请求异常 |
+| setRequestNormal | 设置状态为默认状态 |
+| setRequestNever | 设置状态为未请求过 |
+| setRequestIng | 设置状态为请求中 |
+| setRequestSuccess | 设置状态为请求成功 |
+| setRequestFail | 设置状态为请求失败 |
+| setRequestError | 设置状态为请求异常 |
+
+
+## **`dev.base.multiselect`**
-* **List 多选辅助类 ->** [MultiSelectListAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/multiselect/MultiSelectListAssist.java)
+* **List 多选实体类 ->** [DevMultiSelectList.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/multiselect/DevMultiSelectList.java)
| 方法 | 注释 |
| :- | :- |
@@ -295,7 +444,7 @@ implementation 'com.afkt:DevAssist:1.0.7'
| getSelectValueToPosition | 获取选中的数据所在的索引 |
-* **Map 多选辅助类 ->** [MultiSelectMapAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/multiselect/MultiSelectMapAssist.java)
+* **Map 多选实体类 ->** [DevMultiSelectMap.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/multiselect/DevMultiSelectMap.java)
| 方法 | 注释 |
| :- | :- |
@@ -319,10 +468,21 @@ implementation 'com.afkt:DevAssist:1.0.7'
| getSelectKeysToReverse | 获取选中的数据集合 ( 倒序 ) |
-## **`dev.assist.multiselect.edit`**
+* **多选操作接口 ( 基类 ) ->** [IMultiSelect.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/multiselect/IMultiSelect.java)
+| 方法 | 注释 |
+| :- | :- |
+| clearSelects | 清空全部选中数据 |
+| getSelectSize | 获取选中的数据条数 |
+| getSelects | 获取选中的数据集合 |
+| putSelects | 通过集合添加选中数据 |
+| isSelect | 判断是否存在选中的数据 |
+| isSelectValue | 判断是否选中 ( 通过 value 判断 ) |
+| unselectValue | 设置非选中 |
+| unselectValueAll | 设置非选中 ( 符合条件的全部 value ) |
-* **多选编辑接口 ->** [IMultiSelectEdit.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/assist/multiselect/edit/IMultiSelectEdit.java)
+
+* **多选编辑接口 ->** [IMultiSelectEdit.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/multiselect/IMultiSelectEdit.java)
| 方法 | 注释 |
| :- | :- |
@@ -339,101 +499,90 @@ implementation 'com.afkt:DevAssist:1.0.7'
| getDataCount | 获取数据总数 |
-## **`dev.base`**
-
-
-* **Key-Value Entry ->** [DevBaseEntry.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevBaseEntry.java)
+* **多选操作接口 ( List ) ->** [IMultiSelectToList.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/multiselect/IMultiSelectToList.java)
| 方法 | 注释 |
| :- | :- |
-| getEntryKey | 获取 Entry Key |
-| setEntryKey | 设置 Entry Key |
-| getEntryValue | 获取 Entry Value |
-| setEntryValue | 设置 Entry Value |
-| isCorrect | 校验数据正确性 |
+| isSelect | 判断是否选中 ( 通过 value 判断 ) |
+| select | 设置选中操作 |
+| unselect | 设置非选中操作 |
+| toggle | 切换选中状态 |
+| getSelectValues | 获取选中的数据集合 |
+| getSelectValuesToReverse | 获取选中的数据集合 ( 倒序 ) |
+| getSelectValue | 获取选中的数据 |
+| getSelectValueToPosition | 获取选中的数据所在的索引 |
-* **Event 基类 ->** [DevBaseEvent.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevBaseEvent.java)
+* **多选操作接口 ( Map ) ->** [IMultiSelectToMap.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/multiselect/IMultiSelectToMap.java)
| 方法 | 注释 |
| :- | :- |
-| getCode | 获取 Code |
-| setCode | 设置 Code |
-| getCodeStr | 获取 Code String |
-| setCodeStr | 设置 Code String |
-| getValue | 获取 Value |
-| setValue | 设置 Value |
-| getObject | 获取 Object |
-| setObject | 设置 Object |
-| equalsCode | 判断 Code 是否一致 |
-| equalsValue | 判断 Value 是否一致 |
-| equalsObject | 判断 Object 是否一致 |
+| isSelect | 判断是否选中 ( 如果未选中, 则设置为选中 ) |
+| isSelectKey | 判断是否选中 ( 通过 key 判断 ) |
+| select | 设置选中操作 |
+| unselect | 设置非选中操作 |
+| toggle | 切换选中状态 |
+| getSelectValue | 通过 key 获取 value |
+| getSelectValues | 获取选中的数据集合 |
+| getSelectValuesToReverse | 获取选中的数据集合 ( 倒序 ) |
+| getSelectKey | 通过 value 获取 key |
+| getSelectKeys | 获取选中的数据集合 |
+| getSelectKeysToReverse | 获取选中的数据集合 ( 倒序 ) |
+
+## **`dev.base.number`**
-* **Model 基类 ->** [DevBaseModel.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevBaseModel.java)
+
+* **数量监听事件接口 ->** [INumberListener.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/number/INumberListener.java)
| 方法 | 注释 |
| :- | :- |
-| getUuid | 获取 UUID |
-| getModelId | 获取 Model id |
-| setModelId | 设置 Model id |
-| isCorrect | 校验数据正确性 |
+| onPrepareChanged | 数量准备变化通知 |
+| onNumberChanged | 数量变化通知 |
-* **变量基类 ( 方便判断处理 ) ->** [DevBaseVariable.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/DevBaseVariable.java)
+* **数量操作接口 ->** [INumberOperate.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/base/number/INumberOperate.java)
| 方法 | 注释 |
| :- | :- |
-| getVariables | 获取全部变量数据 |
-| clearVariables | 清空全部变量数据 |
-| putVariables | 保存变量数据集合 |
-| getVariablesSize | 获取变量总数 |
-| isVariables | 判断是否存在变量数据 |
-| isVariableValue | 判断是否存在变量 ( 通过 value 判断 ) |
-| removeVariableValue | 删除指定变量数据 |
-| removeVariableValueAll | 删除指定变量数据 ( 符合条件的全部 value ) |
-| isVariable | 判断是否存在变量 ( 通过 key 判断 ) |
-| putVariable | 保存变量数据 |
-| removeVariable | 移除指定变量数据 ( 通过 key 判断 ) |
-| toggle | 切换变量数据存储状态 |
-| getVariableValue | 通过 key 获取 value |
-| getVariableValueConvert | 通过 key 获取 value |
-| getVariableValues | 获取变量数据 value list |
-| getVariableValuesToReverse | 获取变量数据 value list( 倒序 ) |
-| getVariableKey | 通过 value 获取 key |
-| getVariableKeys | 获取变量数据 key list |
-| getVariableKeysToReverse | 获取变量数据 key list( 倒序 ) |
+| isMinNumber | 判断当前数量是否等于最小值 |
+| isLessThanMinNumber | 判断数量是否小于最小值 |
+| isGreaterThanMinNumber | 判断数量是否大于最小值 |
+| isMaxNumber | 判断当前数量是否等于最大值 |
+| isLessThanMaxNumber | 判断数量是否小于最大值 |
+| isGreaterThanMaxNumber | 判断数量是否大于最大值 |
+| getMinNumber | 获取最小值 |
+| setMinNumber | 设置最小值 |
+| getMaxNumber | 获取最大值 |
+| setMaxNumber | 设置最大值 |
+| setMinMaxNumber | 设置最小值、最大值 |
+| getCurrentNumber | 获取当前数量 |
+| setCurrentNumber | 设置当前数量 |
+| getResetNumber | 获取重置数量 |
+| setResetNumber | 设置重置数量 |
+| isAllowNegative | 获取是否允许设置为负数 |
+| setAllowNegative | 设置是否允许设置为负数 |
+| numberChange | 数量改变通知 |
+| addNumber | 添加数量 ( 默认累加 1 ) |
+| subtractionNumber | 减少数量 ( 默认累减 1 ) |
+| getNumberListener | 获取数量监听事件接口 |
+| setNumberListener | 设置数量监听事件接口 |
## **`dev.callback`**
-* **抽象回调 ( 基类 ) ->** [AbstractCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/AbstractCallback.java)
+* **Dev 通用回调 ->** [DevCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/DevCallback.java)
| 方法 | 注释 |
| :- | :- |
-| getUUID | 获取 UUID |
-| getTag | 获取标记 Tag |
-| setTag | 设置标记 Tag |
-| getValue | 获取 Value |
-| setValue | 设置 Value |
-| getObject | 获取 Object |
-| setObject | 设置 Object |
-
-
-* **通用抽象回调 ( 基类 ) ->** [AbstractCommonCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/AbstractCommonCallback.java)
-
-| 方法 | 注释 |
-| :- | :- |
-| onResult | 结果回调通知 |
-| onError | 异常回调通知 |
-| onFailure | 失败回调通知 |
-
-
-## **`dev.callback.click`**
+| callback | 回调方法 |
+| filter | 过滤处理 |
+| isFilter | 判断是否过滤 |
+| compare | 对比判断 |
-* **通用 Click 回调 ->** [DevClickCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/click/DevClickCallback.java)
+* **通用 Click 回调 ->** [DevClickCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/DevClickCallback.java)
| 方法 | 注释 |
| :- | :- |
@@ -441,7 +590,7 @@ implementation 'com.afkt:DevAssist:1.0.7'
| onLongClick | 长按回调 |
-* **通用 Dialog 回调 ->** [DevDialogCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/click/DevDialogCallback.java)
+* **通用 Dialog 回调 ->** [DevDialogCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/DevDialogCallback.java)
| 方法 | 注释 |
| :- | :- |
@@ -455,7 +604,7 @@ implementation 'com.afkt:DevAssist:1.0.7'
| onDialogDestroy | destroy 通知 |
-* **通用 Item Click 回调 ->** [DevItemClickCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/click/DevItemClickCallback.java)
+* **通用 Item Click 回调 ->** [DevItemClickCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/DevItemClickCallback.java)
| 方法 | 注释 |
| :- | :- |
@@ -463,44 +612,13 @@ implementation 'com.afkt:DevAssist:1.0.7'
| onItemLongClick | 长按 Item 回调 |
-## **`dev.callback.common`**
-
-
-* **Dev 回调基类 ->** [DevCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/common/DevCallback.java)
-
-| 方法 | 注释 |
-| :- | :- |
-| callback | 回调方法 |
-
-
-* **过滤处理回调类 ->** [DevFilterCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/common/DevFilterCallback.java)
-
-| 方法 | 注释 |
-| :- | :- |
-| filter | 过滤处理 |
-| isFilter | 判断是否过滤 |
-| compare | 对比过滤处理 |
-
-
-## **`dev.callback.result`**
-
-
-* **通用结果回调类 ( 针对 DevResultCallback 进行扩展 ) ->** [DevExResultCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/result/DevExResultCallback.java)
+* **通用结果回调类 ->** [DevResultCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/DevResultCallback.java)
| 方法 | 注释 |
| :- | :- |
| onResult | 结果回调通知 |
| onError | 异常回调通知 |
| onFailure | 失败回调通知 |
-| getExpandResult | 获取实体类 |
-| setExpandResult | 设置实体类 |
-
-
-* **通用结果回调类 ->** [DevResultCallback.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/callback/result/DevResultCallback.java)
-
-| 方法 | 注释 |
-| :- | :- |
-| onResult | 结果回调通知 |
## **`dev.engine`**
@@ -513,12 +631,8 @@ implementation 'com.afkt:DevAssist:1.0.7'
| 方法 | 注释 |
| :- | :- |
-| initEngine | 初始化 Engine |
-| newCall | 获取 Request Call Object |
-| cancelAll | 取消请求 ( 全部 ) |
-| cancelCall | 取消请求 |
-| cancelUrl | 取消请求 |
-| cancelTag | 取消请求 |
+| getEngine | 获取 HttpEngine |
+| setEngine | 设置 HttpEngine |
* **Http Engine 接口 ->** [IHttpEngine.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/engine/http/IHttpEngine.java)
@@ -552,22 +666,33 @@ implementation 'com.afkt:DevAssist:1.0.7'
| 方法 | 注释 |
| :- | :- |
-| initEngine | 初始化 Engine |
-| displayImage | 图片显示 |
-| loadImage | 图片加载 |
-| clearDiskCache | 清除磁盘缓存 |
-| clearMemoryCache | 清除内存缓存 |
+| getEngine | 获取 ImageEngine |
+| setEngine | 设置 ImageEngine |
* **Image Engine 接口 ->** [IImageEngine.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/engine/image/IImageEngine.java)
| 方法 | 注释 |
| :- | :- |
-| displayImage | 图片显示 |
-| loadImage | 图片加载 |
-| clearDiskCache | 清除磁盘缓存 |
-| clearMemoryCache | 清除内存缓存 |
+| pause | pause |
+| resume | resume |
+| preload | preload |
+| clear | clear |
+| clearDiskCache | clearDiskCache |
+| clearMemoryCache | clearMemoryCache |
+| clearAllCache | clearAllCache |
+| display | display |
+| loadImage | loadImage |
+| loadBitmap | loadBitmap |
+| loadDrawable | loadDrawable |
+
+
+* **图片加载事件 ->** [LoadListener.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/engine/image/LoadListener.java)
+
+| 方法 | 注释 |
+| :- | :- |
| getTranscodeType | 获取转码类型 |
+| onStart | 开始加载 |
| onResponse | 响应回调 |
| onFailure | 失败回调 |
@@ -579,13 +704,8 @@ implementation 'com.afkt:DevAssist:1.0.7'
| 方法 | 注释 |
| :- | :- |
-| initEngine | 初始化 Engine |
-| toJson | 将对象转换为 JSON String |
-| fromJson | 将 JSON String 映射为指定类型对象 |
-| isJSON | 判断字符串是否 JSON 格式 |
-| isJSONObject | 判断字符串是否 JSON Object 格式 |
-| isJSONArray | 判断字符串是否 JSON Array 格式 |
-| toJsonIndent | JSON String 缩进处理 |
+| getEngine | 获取 JSONEngine |
+| setEngine | 设置 JSONEngine |
* **JSON Engine 接口 ->** [IJSONEngine.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/engine/json/IJSONEngine.java)
@@ -607,24 +727,8 @@ implementation 'com.afkt:DevAssist:1.0.7'
| 方法 | 注释 |
| :- | :- |
-| initEngine | 初始化 Engine |
-| isPrintLog | 判断是否打印日志 |
-| d | 打印 Log.DEBUG |
-| e | 打印 Log.ERROR |
-| w | 打印 Log.WARN |
-| i | 打印 Log.INFO |
-| v | 打印 Log.VERBOSE |
-| wtf | 打印 Log.ASSERT |
-| json | 格式化 JSON 格式数据, 并打印 |
-| xml | 格式化 XML 格式数据, 并打印 |
-| dTag | 打印 Log.DEBUG |
-| eTag | 打印 Log.ERROR |
-| wTag | 打印 Log.WARN |
-| iTag | 打印 Log.INFO |
-| vTag | 打印 Log.VERBOSE |
-| wtfTag | 打印 Log.ASSERT |
-| jsonTag | 格式化 JSON 格式数据, 并打印 |
-| xmlTag | 格式化 XML 格式数据, 并打印 |
+| getEngine | 获取 LogEngine |
+| setEngine | 设置 LogEngine |
* **Log Engine 接口 ->** [ILogEngine.java](https://github.com/afkT/DevUtils/blob/master/lib/DevAssist/src/main/java/dev/engine/log/ILogEngine.java)
diff --git a/lib/DevJava/CHANGELOG.md b/lib/DevJava/CHANGELOG.md
index 97e98a5940..8be0c98ac7 100644
--- a/lib/DevJava/CHANGELOG.md
+++ b/lib/DevJava/CHANGELOG.md
@@ -1,6 +1,13 @@
Change Log
==========
+Version 1.2.7 *(2021-02-08)*
+----------------------------
+
+* `[Add]` ColorUtils#getRandomColorString 方法
+
+* `[Add]` DevFinal 新增部分常量
+
Version 1.2.6 *(2021-01-24)*
----------------------------
diff --git a/lib/DevJava/README.md b/lib/DevJava/README.md
index 603c7bfc0a..c543fa08cc 100644
--- a/lib/DevJava/README.md
+++ b/lib/DevJava/README.md
@@ -2,7 +2,7 @@
## Gradle
```java
-implementation 'com.afkt:DevJava:1.2.6'
+implementation 'com.afkt:DevJava:1.2.7'
```
## 目录结构
@@ -290,6 +290,7 @@ JCLogUtils.setPrint(new JCLogUtils.Print() {});
| intToRgbString | 颜色值 转换 RGB 颜色字符串 |
| intToArgbString | 颜色值 转换 ARGB 颜色字符串 |
| getRandomColor | 获取随机颜色值 |
+| getRandomColorString | 获取随机颜色值字符串 |
| judgeColorString | 判断是否为 ARGB 格式的十六进制颜色, 例如: FF990587 |
| setDark | 颜色加深 ( 单独修改 RGB 值, 不变动透明度 ) |
| setLight | 颜色变浅, 变亮 ( 单独修改 RGB 值, 不变动透明度 ) |