diff --git a/apputils/build.properties b/apputils/build.properties
index 83d8b3d..ff7f5ca 100644
--- a/apputils/build.properties
+++ b/apputils/build.properties
@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
-#Wed Feb 12 07:19:38 GMT 2025
+#Wed Feb 12 11:47:13 GMT 2025
stageCount=2
libraryProject=libapputils
baseVersion=9.3
publishVersion=9.3.1
-buildCount=18
+buildCount=23
baseBetaVersion=9.3.2
diff --git a/apputils/src/main/java/cc/winboll/studio/apputils/App.java b/apputils/src/main/java/cc/winboll/studio/apputils/App.java
index a3f6d27..165e0e2 100644
--- a/apputils/src/main/java/cc/winboll/studio/apputils/App.java
+++ b/apputils/src/main/java/cc/winboll/studio/apputils/App.java
@@ -7,15 +7,12 @@ package cc.winboll.studio.apputils;
*/
import android.app.Application;
import android.content.Context;
-import android.view.Gravity;
import android.widget.Toast;
import cc.winboll.studio.libappbase.GlobalApplication;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.app.MyActivityLifecycleCallbacks;
import cc.winboll.studio.libapputils.app.WinBollActivityManager;
import cc.winboll.studio.libapputils.bean.DebugBean;
-import cc.winboll.studio.libapputils.log.LogUtils;
-import com.hjq.toast.ToastUtils;
-import com.hjq.toast.style.WhiteToastStyle;
public class App extends GlobalApplication {
@@ -57,15 +54,15 @@ public class App extends GlobalApplication {
// 应用环境初始化, 基本调试环境
//
// 初始化日志模块
- LogUtils.init(this);
+ //LogUtils.init(this);
try {
// 初始化 Toast 框架
- ToastUtils.init(this);
- // 设置 Toast 布局样式
- //ToastUtils.setView(R.layout.view_toast);
- ToastUtils.setStyle(new WhiteToastStyle());
- ToastUtils.setGravity(Gravity.BOTTOM, 0, 200);
+// ToastUtils.init(this);
+// // 设置 Toast 布局样式
+// //ToastUtils.setView(R.layout.view_toast);
+// ToastUtils.setStyle(new WhiteToastStyle());
+// ToastUtils.setGravity(Gravity.BOTTOM, 0, 200);
// 设置应用调试标志
DebugBean debugBean = DebugBean.loadBean(this, DebugBean.class);
if (debugBean == null) {
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 9af7d7b..b46865d 100644
--- a/apputils/src/main/java/cc/winboll/studio/apputils/MainActivity.java
+++ b/apputils/src/main/java/cc/winboll/studio/apputils/MainActivity.java
@@ -13,6 +13,7 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.apputils.R;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.activities.AssetsHtmlActivity;
import cc.winboll.studio.libapputils.activities.QRCodeDecodeActivity;
import cc.winboll.studio.libapputils.app.AboutActivityFactory;
@@ -20,7 +21,6 @@ import cc.winboll.studio.libapputils.app.IWinBollActivity;
import cc.winboll.studio.libapputils.app.WinBollActivityManager;
import cc.winboll.studio.libapputils.bean.APPInfo;
import cc.winboll.studio.libapputils.log.LogActivity;
-import cc.winboll.studio.libapputils.log.LogUtils;
import cc.winboll.studio.libapputils.view.AboutView;
import cc.winboll.studio.libapputils.view.YesNoAlertDialog;
import com.hjq.toast.ToastUtils;
diff --git a/apputils/src/main/res/values/colors.xml b/apputils/src/main/res/values/colors.xml
index 6be8764..bb20e29 100644
--- a/apputils/src/main/res/values/colors.xml
+++ b/apputils/src/main/res/values/colors.xml
@@ -4,7 +4,4 @@
#FF196ABC
#FF002B57
#FF80BFFF
- #FFA9A9A9
- #FF000000
- #FFFFFFFF
diff --git a/libapputils/build.gradle b/libapputils/build.gradle
index b4ca9c2..76d9548 100644
--- a/libapputils/build.gradle
+++ b/libapputils/build.gradle
@@ -38,7 +38,7 @@ dependencies {
api 'androidx.fragment:fragment:1.1.0'
api 'com.google.android.material:material:1.1.0'
- api 'cc.winboll.studio:libappbase:1.4.0'
+ api 'cc.winboll.studio:libappbase:1.4.1'
api fileTree(dir: 'libs', include: ['*.jar'])
}
diff --git a/libapputils/build.properties b/libapputils/build.properties
index 83d8b3d..ff7f5ca 100644
--- a/libapputils/build.properties
+++ b/libapputils/build.properties
@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
-#Wed Feb 12 07:19:38 GMT 2025
+#Wed Feb 12 11:47:13 GMT 2025
stageCount=2
libraryProject=libapputils
baseVersion=9.3
publishVersion=9.3.1
-buildCount=18
+buildCount=23
baseBetaVersion=9.3.2
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/activities/AssetsHtmlActivity.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/activities/AssetsHtmlActivity.java
index 3b8a361..1d2ca37 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/activities/AssetsHtmlActivity.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/activities/AssetsHtmlActivity.java
@@ -11,16 +11,15 @@ import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.R;
import cc.winboll.studio.libapputils.app.IWinBollActivity;
-import cc.winboll.studio.libapputils.log.LogUtils;
+import cc.winboll.studio.libapputils.bean.APPInfo;
import cc.winboll.studio.libapputils.view.SimpleWebView;
import java.io.IOException;
import java.io.InputStream;
-import cc.winboll.studio.libapputils.bean.APPInfo;
public class AssetsHtmlActivity extends AppCompatActivity implements IWinBollActivity {
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/app/AppVersionUtils.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/app/AppVersionUtils.java
index e7f0b67..a00bc54 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/app/AppVersionUtils.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/app/AppVersionUtils.java
@@ -5,7 +5,7 @@ package cc.winboll.studio.libapputils.app;
* @Date 2024/08/12 14:45:35
* @Describe 应用版本工具集
*/
-import cc.winboll.studio.libapputils.log.LogUtils;
+import cc.winboll.studio.libappbase.LogUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/app/MyActivityLifecycleCallbacks.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/app/MyActivityLifecycleCallbacks.java
index 803c968..a45e8e4 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/app/MyActivityLifecycleCallbacks.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/app/MyActivityLifecycleCallbacks.java
@@ -8,9 +8,8 @@ import android.app.Activity;
import android.app.Application;
import android.content.Intent;
import android.os.Bundle;
-import cc.winboll.studio.libapputils.log.LogUtils;
-import com.hjq.toast.ToastUtils;
-import android.content.Context;
+import cc.winboll.studio.libappbase.LogUtils;
+import com.hjq.toast.ToastUtils;
public class MyActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/app/WinBollActivityManager.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/app/WinBollActivityManager.java
index 1df37ac..26b7e33 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/app/WinBollActivityManager.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/app/WinBollActivityManager.java
@@ -12,7 +12,7 @@ import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import androidx.core.app.TaskStackBuilder;
-import cc.winboll.studio.libapputils.log.LogUtils;
+import cc.winboll.studio.libappbase.LogUtils;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/bean/BaseBean.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/bean/BaseBean.java
index e671618..d4ad4cf 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/bean/BaseBean.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/bean/BaseBean.java
@@ -10,7 +10,7 @@ package cc.winboll.studio.libapputils.bean;
import android.content.Context;
import android.util.JsonReader;
import android.util.JsonWriter;
-import cc.winboll.studio.libapputils.log.LogUtils;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.util.FileUtils;
import java.io.File;
import java.io.IOException;
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/git/IAPPFiles.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/git/IAPPFiles.java
index c1e399f..d876739 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/git/IAPPFiles.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/git/IAPPFiles.java
@@ -1,6 +1,6 @@
package cc.winboll.studio.libapputils.git;
import android.content.Context;
-import cc.winboll.studio.libapputils.log.LogUtils;
+import cc.winboll.studio.libappbase.LogUtils;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogActivity.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogActivity.java
index a30c030..82a5ce8 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogActivity.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogActivity.java
@@ -9,6 +9,7 @@ import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libappbase.GlobalApplication;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.R;
import cc.winboll.studio.libapputils.app.IWinBollActivity;
import cc.winboll.studio.libapputils.bean.APPInfo;
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtils.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtils.java
deleted file mode 100644
index 4a70559..0000000
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtils.java
+++ /dev/null
@@ -1,371 +0,0 @@
-package cc.winboll.studio.libapputils.log;
-
-/**
- * @Author ZhanGSKen@QQ.COM
- * @Date 2024/08/12 13:44:06
- * @Describe LogUtils
- * @Describe 应用日志类
- */
-import android.content.Context;
-import cc.winboll.studio.libappbase.GlobalApplication;
-import cc.winboll.studio.libapputils.util.FileUtils;
-import dalvik.system.DexFile;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-
-public class LogUtils {
-
- public static final String TAG = "LogUtils";
-
- public static enum LOG_LEVEL { Off, Error, Warn, Info, Debug, Verbose }
-
- static volatile boolean _IsInited = false;
- static Context _mContext;
- // 日志显示时间格式
- static SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("[yyyyMMdd_HHmmSS]", Locale.getDefault());
- // 应用日志文件夹
- static File _mfLogCacheDir;
- static File _mfLogDataDir;
- // 应用日志文件
- static File _mfLogCatchFile;
- static File _mfLogUtilsBeanFile;
- static LogUtilsBean _mLogUtilsBean;
- public static Map mapTAGList = new HashMap();
-
- //
- // 初始化函数
- //
- public static void init(Context context) {
- _mContext = context;
- init(context, LOG_LEVEL.Off);
- }
-
- //
- // 初始化函数
- //
- public static void init(Context context, LOG_LEVEL logLevel) {
- if (GlobalApplication.isDebuging()) {
- // 初始化日志缓存文件路径
- _mfLogCacheDir = new File(context.getApplicationContext().getExternalCacheDir(), TAG);
- if (!_mfLogCacheDir.exists()) {
- _mfLogCacheDir.mkdirs();
- }
- _mfLogCatchFile = new File(_mfLogCacheDir, "log.txt");
-
- // 初始化日志配置文件路径
- _mfLogDataDir = context.getApplicationContext().getExternalFilesDir(TAG);
- if (!_mfLogDataDir.exists()) {
- _mfLogDataDir.mkdirs();
- }
- _mfLogUtilsBeanFile = new File(_mfLogDataDir, TAG + ".json");
- } else {
- // 初始化日志缓存文件路径
- _mfLogCacheDir = new File(context.getApplicationContext().getCacheDir(), TAG);
- if (!_mfLogCacheDir.exists()) {
- _mfLogCacheDir.mkdirs();
- }
- _mfLogCatchFile = new File(_mfLogCacheDir, "log.txt");
-
- // 初始化日志配置文件路径
- _mfLogDataDir = new File(context.getApplicationContext().getFilesDir(), TAG);
- if (!_mfLogDataDir.exists()) {
- _mfLogDataDir.mkdirs();
- }
- _mfLogUtilsBeanFile = new File(_mfLogDataDir, TAG + ".json");
- }
-
-// Toast.makeText(context,
-// "_mfLogUtilsBeanFile : " + _mfLogUtilsBeanFile
-// + "\n_mfLogCatchFile : " + _mfLogCatchFile,
-// Toast.LENGTH_SHORT).show();
-//
- _mLogUtilsBean = LogUtilsBean.loadBeanFromFile(_mfLogUtilsBeanFile.getPath(), LogUtilsBean.class);
- if (_mLogUtilsBean == null) {
- _mLogUtilsBean = new LogUtilsBean();
- _mLogUtilsBean.saveBeanToFile(_mfLogUtilsBeanFile.getPath(), _mLogUtilsBean);
- }
-
- // 加载当前应用下的所有类的 TAG
- addClassTAGList();
- loadTAGBeanSettings();
- _IsInited = true;
- LogUtils.d(TAG, String.format("mapTAGList : %s", mapTAGList.toString()));
- }
-
- public static Map getMapTAGList() {
- return mapTAGList;
- }
-
- static void loadTAGBeanSettings() {
- ArrayList list = new ArrayList();
- LogUtilsClassTAGBean.loadBeanList(_mContext, list, LogUtilsClassTAGBean.class);
- for (int i = 0; i < list.size(); i++) {
- LogUtilsClassTAGBean beanSetting = list.get(i);
- for (Map.Entry entry : mapTAGList.entrySet()) {
- if (entry.getKey().equals(beanSetting.getTag())) {
- entry.setValue(beanSetting.getEnable());
- }
- }
-
- }
- }
-
- static void saveTAGBeanSettings() {
- ArrayList list = new ArrayList();
- for (Map.Entry entry : mapTAGList.entrySet()) {
- list.add(new LogUtilsClassTAGBean(entry.getKey(), entry.getValue()));
- }
- LogUtilsClassTAGBean.saveBeanList(_mContext, list, LogUtilsClassTAGBean.class);
- }
-
- static void addClassTAGList() {
- //ClassLoader classLoader = getClass().getClassLoader();
- try {
- //String packageName = context.getPackageName();
- String packageNamePrefix = "cc.winboll.studio";
- List classNames = new ArrayList<>();
- String apkPath = _mContext.getPackageCodePath();
- //Log.d("APK_PATH", "The APK path is: " + apkPath);
- LogUtils.d(TAG, String.format("apkPath : %s", apkPath));
- //String apkPath = "/data/app/" + packageName + "-";
-
- //DexFile dexfile = new DexFile(apkPath + "1/base.apk");
- DexFile dexfile = new DexFile(apkPath);
-
- int countTemp = 0;
- Enumeration entries = dexfile.entries();
- while (entries.hasMoreElements()) {
- countTemp++;
- String className = entries.nextElement();
- if (className.startsWith(packageNamePrefix)) {
- classNames.add(className);
- }
- }
-
- LogUtils.d(TAG, String.format("countTemp : %d\nClassNames size : %d", countTemp, classNames.size()));
-
- for (String className : classNames) {
- try {
- Class> clazz = Class.forName(className);
- Field[] fields = clazz.getDeclaredFields();
- for (Field field : fields) {
- if (Modifier.isStatic(field.getModifiers()) && Modifier.isPublic(field.getModifiers()) && field.getType() == String.class && "TAG".equals(field.getName())) {
- String tagValue = (String) field.get(null);
- //Log.d("TAG_INFO", "Class: " + className + ", TAG value: " + tagValue);
- //LogUtils.d(TAG, String.format("Tag Value : %s", tagValue));
- //mapTAGList.put(tagValue, true);
- mapTAGList.put(tagValue, false);
- }
- }
- } catch (NoClassDefFoundError | ClassNotFoundException | IllegalAccessException e) {
- LogUtils.d(TAG, e.getMessage(), Thread.currentThread().getStackTrace());
- //LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
- //Toast.makeText(context, TAG + " : " + e.getMessage(), Toast.LENGTH_SHORT).show();
- }
- }
- } catch (IOException e) {
- LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
- //Toast.makeText(context, TAG + " : " + e.getMessage(), Toast.LENGTH_SHORT).show();
- }
- }
-
- public static void setTAGListEnable(String tag, boolean isEnable) {
- Iterator> iterator = mapTAGList.entrySet().iterator();
- while (iterator.hasNext()) {
- Map.Entry entry = iterator.next();
- if (tag.equals(entry.getKey())) {
- entry.setValue(isEnable);
- //System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
- break;
- }
- }
- saveTAGBeanSettings();
- LogUtils.d(TAG, String.format("mapTAGList : %s", mapTAGList.toString()));
- }
-
- public static void setALlTAGListEnable(boolean isEnable) {
- Iterator> iterator = mapTAGList.entrySet().iterator();
- while (iterator.hasNext()) {
- Map.Entry entry = iterator.next();
- entry.setValue(isEnable);
- //System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
- }
- saveTAGBeanSettings();
- LogUtils.d(TAG, String.format("mapTAGList : %s", mapTAGList.toString()));
- }
-
- public static void setLogLevel(LOG_LEVEL logLevel) {
- LogUtils._mLogUtilsBean.setLogLevel(logLevel);
- _mLogUtilsBean.saveBeanToFile(_mfLogUtilsBeanFile.getPath(), _mLogUtilsBean);
- }
-
- public static LOG_LEVEL getLogLevel() {
- return LogUtils._mLogUtilsBean.getLogLevel();
- }
-
- static boolean isLoggable(String tag, LOG_LEVEL logLevel) {
- return _IsInited && mapTAGList.get(tag) && isInTheLevel(logLevel);
- }
-
- static boolean isInTheLevel(LOG_LEVEL logLevel) {
- return (LogUtils._mLogUtilsBean.getLogLevel().ordinal() == logLevel.ordinal()
- || LogUtils._mLogUtilsBean.getLogLevel().ordinal() > logLevel.ordinal());
- }
-
- //
- // 获取应用日志文件夹
- //
- public static File getLogCacheDir() {
- return _mfLogCacheDir;
- }
-
- //
- // 调试日志写入函数
- //
- public static void e(String szTAG, String szMessage) {
- if (isLoggable(szTAG, LogUtils.LOG_LEVEL.Error)) {
- saveLog(szTAG, LogUtils.LOG_LEVEL.Error, szMessage);
- }
- }
-
- //
- // 调试日志写入函数
- //
- public static void w(String szTAG, String szMessage) {
- if (isLoggable(szTAG, LogUtils.LOG_LEVEL.Warn)) {
- saveLog(szTAG, LogUtils.LOG_LEVEL.Warn, szMessage);
- }
- }
-
- //
- // 调试日志写入函数
- //
- public static void i(String szTAG, String szMessage) {
- if (isLoggable(szTAG, LogUtils.LOG_LEVEL.Info)) {
- saveLog(szTAG, LogUtils.LOG_LEVEL.Info, szMessage);
- }
- }
-
- //
- // 调试日志写入函数
- //
- public static void d(String szTAG, String szMessage) {
- if (isLoggable(szTAG, LogUtils.LOG_LEVEL.Debug)) {
- saveLog(szTAG, LogUtils.LOG_LEVEL.Debug, szMessage);
- }
- }
-
- //
- // 调试日志写入函数
- // 包含线程调试堆栈信息
- //
- public static void d(String szTAG, String szMessage, StackTraceElement[] listStackTrace) {
- if (isLoggable(szTAG, LogUtils.LOG_LEVEL.Debug)) {
- StringBuilder sbMessage = new StringBuilder(szMessage);
- sbMessage.append(" \nAt ");
- sbMessage.append(listStackTrace[2].getMethodName());
- sbMessage.append(" (");
- sbMessage.append(listStackTrace[2].getFileName());
- sbMessage.append(":");
- sbMessage.append(listStackTrace[2].getLineNumber());
- sbMessage.append(")");
- saveLog(szTAG, LogUtils.LOG_LEVEL.Debug, sbMessage.toString());
- }
- }
-
- //
- // 调试日志写入函数
- // 包含异常信息和线程调试堆栈信息
- //
- public static void d(String szTAG, Exception e, StackTraceElement[] listStackTrace) {
- if (isLoggable(szTAG, LogUtils.LOG_LEVEL.Debug)) {
- StringBuilder sbMessage = new StringBuilder(e.getClass().toGenericString());
- sbMessage.append(" : ");
- sbMessage.append(e.getMessage());
- sbMessage.append(" \nAt ");
- sbMessage.append(listStackTrace[2].getMethodName());
- sbMessage.append(" (");
- sbMessage.append(listStackTrace[2].getFileName());
- sbMessage.append(":");
- sbMessage.append(listStackTrace[2].getLineNumber());
- sbMessage.append(")");
- saveLog(szTAG, LogUtils.LOG_LEVEL.Debug, sbMessage.toString());
- }
- }
-
- //
- // 调试日志写入函数
- //
- public static void v(String szTAG, String szMessage) {
- if (isLoggable(szTAG, LogUtils.LOG_LEVEL.Verbose)) {
- saveLog(szTAG, LogUtils.LOG_LEVEL.Verbose, szMessage);
- }
- }
-
- //
- // 日志文件保存函数
- //
- static void saveLog(String szTAG, LogUtils.LOG_LEVEL logLevel, String szMessage) {
- try {
- BufferedWriter out = null;
- out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(_mfLogCatchFile, true), "UTF-8"));
- out.write("[" + logLevel + "] " + mSimpleDateFormat.format(System.currentTimeMillis()) + " [" + szTAG + "]\n" + szMessage + "\n");
- out.close();
- } catch (IOException e) {
- LogUtils.d(TAG, "IOException : " + e.getMessage());
- }
- }
-
- //
- // 历史日志加载函数
- //
- public static String loadLog() {
- if (_mfLogCatchFile.exists()) {
- StringBuffer sb = new StringBuffer();
- try {
- BufferedReader in = null;
- in = new BufferedReader(new InputStreamReader(new FileInputStream(_mfLogCatchFile), "UTF-8"));
- String line = "";
- while ((line = in.readLine()) != null) {
- sb.append(line);
- sb.append("\n");
- }
- } catch (IOException e) {
- LogUtils.d(TAG, "IOException : " + e.getMessage());
- }
- return sb.toString();
- }
- return "";
- }
-
- //
- // 清理日志函数
- //
- public static void cleanLog() {
- if (_mfLogCatchFile.exists()) {
- try {
- FileUtils.writeStringToFile(_mfLogCatchFile.getPath(), "");
- //LogUtils.d(TAG, "cleanLog");
- } catch (IOException e) {
- LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
- }
- }
- }
-}
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtilsBean.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtilsBean.java
deleted file mode 100644
index 7b440ec..0000000
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtilsBean.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package cc.winboll.studio.libapputils.log;
-
-/**
- * @Author ZhanGSKen@QQ.COM
- * @Date 2024/08/23 15:39:07
- * @Describe LogUtils 数据配置类。
- */
-import android.util.JsonReader;
-import android.util.JsonWriter;
-import cc.winboll.studio.libapputils.bean.BaseBean;
-import java.io.IOException;
-public class LogUtilsBean extends BaseBean {
-
- public static final String TAG = "LogUtilsBean";
-
- LogUtils.LOG_LEVEL logLevel;
-
- public LogUtilsBean() {
- this.logLevel = LogUtils.LOG_LEVEL.Off;
- }
-
- public LogUtilsBean(LogUtils.LOG_LEVEL logLevel) {
- this.logLevel = logLevel;
- }
-
- public void setLogLevel(LogUtils.LOG_LEVEL logLevel) {
- this.logLevel = logLevel;
- }
-
- public LogUtils.LOG_LEVEL getLogLevel() {
- return logLevel;
- }
-
- @Override
- public String getName() {
- return LogUtilsBean.class.getName();
- }
-
- @Override
- public void writeThisToJsonWriter(JsonWriter jsonWriter) throws IOException {
- super.writeThisToJsonWriter(jsonWriter);
- LogUtilsBean bean = this;
- jsonWriter.name("logLevel").value(bean.getLogLevel().ordinal());
- }
-
- @Override
- public boolean initObjectsFromJsonReader(JsonReader jsonReader, String name) throws IOException {
- if (super.initObjectsFromJsonReader(jsonReader, name)) { return true; } else {
- if (name.equals("logLevel")) {
- setLogLevel(LogUtils.LOG_LEVEL.values()[jsonReader.nextInt()]);
- } else {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public BaseBean readBeanFromJsonReader(JsonReader jsonReader) throws IOException {
- jsonReader.beginObject();
- while (jsonReader.hasNext()) {
- String name = jsonReader.nextName();
- if (!initObjectsFromJsonReader(jsonReader, name)) {
- jsonReader.skipValue();
- }
- }
- // 结束 JSON 对象
- jsonReader.endObject();
- return this;
- }
-}
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtilsClassTAGBean.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtilsClassTAGBean.java
deleted file mode 100644
index 1e87031..0000000
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogUtilsClassTAGBean.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package cc.winboll.studio.libapputils.log;
-
-/**
- * @Author ZhanGSKen@QQ.COM
- * @Date 2025/01/04 14:17:02
- * @Describe 日志类class TAG 标签数据类
- */
-import android.util.JsonReader;
-import android.util.JsonWriter;
-import cc.winboll.studio.libapputils.bean.BaseBean;
-import java.io.IOException;
-
-public class LogUtilsClassTAGBean extends BaseBean {
-
- public static final String TAG = "LogUtilsClassTAGBean";
-
- // 标签名
- String tag;
- // 是否启用
- Boolean enable;
-
- public LogUtilsClassTAGBean() {
- this.tag = TAG;
- this.enable = true;
- }
-
- public LogUtilsClassTAGBean(String tag, Boolean enable) {
- this.tag = tag;
- this.enable = enable;
- }
-
- public void setTag(String tag) {
- this.tag = tag;
- }
-
- public String getTag() {
- return tag;
- }
-
- public void setEnable(Boolean enable) {
- this.enable = enable;
- }
-
- public Boolean getEnable() {
- return enable;
- }
-
- @Override
- public String getName() {
- return LogUtilsClassTAGBean.class.getName();
- }
-
- @Override
- public void writeThisToJsonWriter(JsonWriter jsonWriter) throws IOException {
- super.writeThisToJsonWriter(jsonWriter);
- LogUtilsClassTAGBean bean = this;
- jsonWriter.name("tag").value(bean.getTag());
- jsonWriter.name("enable").value(bean.getEnable());
- }
-
- @Override
- public boolean initObjectsFromJsonReader(JsonReader jsonReader, String name) throws IOException {
- if (super.initObjectsFromJsonReader(jsonReader, name)) { return true; } else {
- if (name.equals("tag")) {
- setTag(jsonReader.nextString());
- } else if (name.equals("enable")) {
- setEnable(jsonReader.nextBoolean());
- } else {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public BaseBean readBeanFromJsonReader(JsonReader jsonReader) throws IOException {
- jsonReader.beginObject();
- while (jsonReader.hasNext()) {
- String name = jsonReader.nextName();
- if (!initObjectsFromJsonReader(jsonReader, name)) {
- jsonReader.skipValue();
- }
- }
- // 结束 JSON 对象
- jsonReader.endObject();
- return this;
- }
-}
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogView.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogView.java
index d229639..0745f6a 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogView.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogView.java
@@ -24,6 +24,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.R;
import java.text.Collator;
import java.util.ArrayList;
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogViewThread.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogViewThread.java
index b720d18..bbeac94 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogViewThread.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/log/LogViewThread.java
@@ -6,6 +6,7 @@ package cc.winboll.studio.libapputils.log;
* @Describe 日志视图线程类
*/
import android.os.FileObserver;
+import cc.winboll.studio.libappbase.LogUtils;
import java.lang.ref.WeakReference;
public class LogViewThread extends Thread {
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/service/WinBollClientService.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/service/WinBollClientService.java
index fd67429..2b79b70 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/service/WinBollClientService.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/service/WinBollClientService.java
@@ -5,15 +5,11 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.graphics.drawable.Drawable;
import android.os.IBinder;
-import android.os.IInterface;
-import android.os.Parcel;
-import android.os.RemoteException;
-import cc.winboll.studio.libapputils.log.LogUtils;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.util.ServiceUtils;
import com.hjq.toast.ToastUtils;
-import java.io.FileDescriptor;
-import android.graphics.drawable.Drawable;
/**
* @Author ZhanGSKen@QQ.COM
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/util/FileUtils.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/util/FileUtils.java
index 7adc0c7..6e463a5 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/util/FileUtils.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/util/FileUtils.java
@@ -10,7 +10,7 @@ import android.content.Intent;
import android.content.res.AssetManager;
import android.net.Uri;
import androidx.core.content.FileProvider;
-import cc.winboll.studio.libapputils.log.LogUtils;
+import cc.winboll.studio.libappbase.LogUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/util/QRCodeGenerator.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/util/QRCodeGenerator.java
index c4e8596..b4a91ac 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/util/QRCodeGenerator.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/util/QRCodeGenerator.java
@@ -6,18 +6,12 @@ package cc.winboll.studio.libapputils.util;
* @Describe 二维码工具
*/
import android.graphics.Bitmap;
-import android.widget.TextView;
-import cc.winboll.studio.libapputils.R;
-import cc.winboll.studio.libapputils.log.LogUtils;
+import cc.winboll.studio.libappbase.LogUtils;
import com.google.zxing.BarcodeFormat;
-import com.google.zxing.Result;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.journeyapps.barcodescanner.BarcodeEncoder;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
public class QRCodeGenerator {
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/view/AboutView.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/view/AboutView.java
index e752b5b..6f2849b 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/view/AboutView.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/view/AboutView.java
@@ -17,12 +17,12 @@ import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import cc.winboll.studio.libappbase.GlobalApplication;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.R;
import cc.winboll.studio.libapputils.app.AppVersionUtils;
import cc.winboll.studio.libapputils.app.WinBollActivityManager;
import cc.winboll.studio.libapputils.bean.APPInfo;
import cc.winboll.studio.libapputils.bean.DebugBean;
-import cc.winboll.studio.libapputils.log.LogUtils;
import cc.winboll.studio.libapputils.util.PrefUtils;
import com.hjq.toast.ToastUtils;
import java.io.IOException;
diff --git a/libapputils/src/main/java/cc/winboll/studio/libapputils/view/WinBollServiceStatusView.java b/libapputils/src/main/java/cc/winboll/studio/libapputils/view/WinBollServiceStatusView.java
index be9fa8b..d8ca610 100644
--- a/libapputils/src/main/java/cc/winboll/studio/libapputils/view/WinBollServiceStatusView.java
+++ b/libapputils/src/main/java/cc/winboll/studio/libapputils/view/WinBollServiceStatusView.java
@@ -19,8 +19,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.core.content.ContextCompat;
+import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libapputils.R;
-import cc.winboll.studio.libapputils.log.LogUtils;
import cc.winboll.studio.libapputils.service.IWinBollClientServiceBinder;
import cc.winboll.studio.libapputils.service.WinBollClientService;
import cc.winboll.studio.libapputils.service.WinBollClientServiceBean;