Compare commits

...

9 Commits

7 changed files with 38 additions and 33 deletions

View File

@@ -26,6 +26,7 @@ buildscript {
//mavenLocal()
}
dependencies {
// 适配MIUI12
classpath 'com.android.tools.build:gradle:7.2.1' // 对应 compileSdkVersion 32
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Thu Jan 08 17:10:43 HKT 2026
stageCount=5
#Fri Jan 09 20:22:05 HKT 2026
stageCount=7
libraryProject=
baseVersion=15.14
publishVersion=15.14.4
publishVersion=15.14.6
buildCount=0
baseBetaVersion=15.14.5
baseBetaVersion=15.14.7

View File

@@ -18,10 +18,9 @@
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
# 核心修改保留 cc.winboll.studio 包下所有内容不被混淆
# 保留 WinBoLL 核心包及子类(合并简化规则)
-keep class cc.winboll.studio.** { *; }
-keep interface cc.winboll.studio.** { *; }
-keep enum cc.winboll.studio.** { *; }
-keepclassmembers class cc.winboll.studio.** { *; }
# 保留所有类中的 public static final String TAG 字段(便于日志定位)
-keepclassmembers class * {

View File

@@ -44,12 +44,19 @@
<!-- API 30+ 通话筛选服务权限(替代 PROCESS_OUTGOING_CALLS -->
<uses-permission android:name="android.permission.BIND_CALL_SCREENING_SERVICE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<application
android:name=".App"
android:allowBackup="true"
android:icon="@drawable/ic_winboll"
android:label="@string/app_name"
android:theme="@style/MyAppTheme"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:networkSecurityConfig="@xml/network_security_config">

View File

@@ -32,7 +32,7 @@ public class NotificationManagerUtils {
public static final String TAG = "NotificationManagerUtils";
// ********** 新增:通知版本管理常量 **********
/** 通知版本标识(源码标记版本,变更时会清理旧渠道) */
public static final String NOTIFICATION_VERSION = "v1.0.0";
public static final String NOTIFICATION_VERSION = "v1.0.3";
/** SP存储键已保存的通知版本 */
private static final String SP_KEY_NOTIFICATION_VERSION = "sp_key_notification_version";
/** SP文件名 */
@@ -156,10 +156,10 @@ public class NotificationManagerUtils {
* 初始化通知渠道:前台服务渠道(无铃声+无振动)、临时提醒渠道(系统默认铃声+无振动)
*/
private void initNotificationChannels() {
LogUtils.d(TAG, "initNotificationChannels() 方法调用");
LogUtils.d(TAG, "initNotificationChannels() 执行通知渠道初始化");
// API<26 无渠道机制,直接返回
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
LogUtils.d(TAG, "initNotificationChannels() API<26无需创建渠道,直接返回");
LogUtils.d(TAG, "initNotificationChannels() API<26无需创建渠道");
return;
}
// 通知服务为空,避免空指针
@@ -168,38 +168,38 @@ public class NotificationManagerUtils {
return;
}
// 1. 前台服务渠道(低优先级,后台保活无打扰)
// 1. 拨号前台服务渠道(低优先级,后台保活无打扰)
NotificationChannel foregroundChannel = new NotificationChannel(
CHANNEL_ID_FOREGROUND,
"拨号服务保活",
"拨号前台服务",
NotificationManager.IMPORTANCE_LOW
);
foregroundChannel.setDescription("拨号服务后台运行,无声音、无振动");
foregroundChannel.setDescription("拨号前台服务后台运行,无声音、无振动");
foregroundChannel.enableLights(false);
foregroundChannel.enableVibration(false);
foregroundChannel.setSound(null, null);
foregroundChannel.setSound(null, null); // 强制无铃声
foregroundChannel.setShowBadge(false);
foregroundChannel.setLockscreenVisibility(Notification.VISIBILITY_SECRET);
LogUtils.d(TAG, "initNotificationChannels() 前台服务渠道配置完成");
LogUtils.d(TAG, "initNotificationChannels() 拨号前台服务渠道配置完成");
// 2. 临时提醒渠道(中优先级,系统默认铃声,无振动)
// 2. 其他临时通知渠道(中优先级,系统默认铃声,无振动)
NotificationChannel temporaryChannel = new NotificationChannel(
CHANNEL_ID_TEMPORARY,
"临时通知提醒",
"临时通知",
NotificationManager.IMPORTANCE_DEFAULT
);
temporaryChannel.setDescription("拨号服务临时通知,系统默认铃声,无振动");
temporaryChannel.setDescription("其他临时通知,系统默认铃声,无振动");
temporaryChannel.enableLights(true);
temporaryChannel.enableVibration(false);
temporaryChannel.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION), Notification.AUDIO_ATTRIBUTES_DEFAULT);
temporaryChannel.setShowBadge(false);
temporaryChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
LogUtils.d(TAG, "initNotificationChannels() 临时提醒渠道配置完成");
LogUtils.d(TAG, "initNotificationChannels() 其他临时通知渠道配置完成");
// 注册渠道到系统
mNotificationManager.createNotificationChannel(foregroundChannel);
mNotificationManager.createNotificationChannel(temporaryChannel);
LogUtils.d(TAG, "initNotificationChannels() 成功:创建前台服务+临时提醒渠道");
LogUtils.d(TAG, "initNotificationChannels() 成功:创建前台服务+其他临时通知渠道");
}
// ================================== 对外核心方法(前台服务通知:启动/更新/取消)=================================

View File

@@ -18,16 +18,14 @@ def genVersionName(def versionName){
}
android {
// 适配MIUI12
compileSdkVersion 30
buildToolsVersion "30.0.3"
// 关键:改为你已安装的 SDK 32≥ targetSdkVersion 30兼容已安装环境
compileSdkVersion 32
// 直接使用已安装的构建工具 33.0.3(无需修改)
buildToolsVersion "33.0.3"
defaultConfig {
applicationId "cc.winboll.studio.winboll"
minSdkVersion 23
minSdkVersion 23
// 适配MIUI12
targetSdkVersion 30
versionCode 1
// versionName 更新后需要手动设置
@@ -92,12 +90,12 @@ dependencies {
//annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
// WinBoLL库 nexus.winboll.cc 地址
//api 'cc.winboll.studio:libaes:15.12.0'
//api 'cc.winboll.studio:libappbase:15.12.2'
api 'cc.winboll.studio:libaes:15.12.13'
api 'cc.winboll.studio:libappbase:15.14.2'
// WinBoLL备用库 jitpack.io 地址
api 'com.github.ZhanGSKen:AES:aes-v15.12.1'
api 'com.github.ZhanGSKen:APPBase:appbase-v15.12.2'
//api 'com.github.ZhanGSKen:AES:aes-v15.12.9'
//api 'com.github.ZhanGSKen:APPBase:appbase-v15.14.1'
api fileTree(dir: 'libs', include: ['*.jar'])
}

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Tue Jan 06 06:07:46 GMT 2026
#Sat Jan 10 02:54:10 GMT 2026
stageCount=9
libraryProject=
baseVersion=15.11
publishVersion=15.11.8
buildCount=10
buildCount=13
baseBetaVersion=15.11.9