diff --git a/contacts/build.properties b/contacts/build.properties index 7fb6b16..fb0f2a9 100644 --- a/contacts/build.properties +++ b/contacts/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Fri Dec 12 17:21:18 GMT 2025 +#Sat Dec 13 03:05:50 GMT 2025 stageCount=1 libraryProject= baseVersion=15.12 publishVersion=15.12.0 -buildCount=75 +buildCount=78 baseBetaVersion=15.12.1 diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/MainActivity.java b/contacts/src/main/java/cc/winboll/studio/contacts/MainActivity.java index f2f0f75..cd64583 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/MainActivity.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/MainActivity.java @@ -11,8 +11,6 @@ import android.graphics.Color; import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; import android.telecom.TelecomManager; import android.view.Menu; import android.view.MenuItem; @@ -32,8 +30,6 @@ import cc.winboll.studio.contacts.dun.Rules; import cc.winboll.studio.contacts.fragments.CallLogFragment; import cc.winboll.studio.contacts.fragments.ContactsFragment; import cc.winboll.studio.contacts.fragments.LogFragment; -import cc.winboll.studio.contacts.model.MainServiceBean; -import cc.winboll.studio.contacts.services.MainService; import cc.winboll.studio.contacts.utils.PermissionUtils; import cc.winboll.studio.contacts.views.DunTemperatureView; import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity; @@ -48,7 +44,7 @@ import java.util.List; * @Author ZhanGSKen&豆包大模型 * @Date 2025/08/30 14:32 * @Describe Contacts 主窗口(完全适配 API 30 + Java 7 语法) - * 核心优化:1. 移除电话状态监听 2. 移除通话筛选服务 3. 移除 MainService 绑定 4. 保留原有页面结构 + * 核心优化:1. 移除电话状态监听 2. 移除通话筛选服务 3. 移除 MainService 所有相关逻辑 4. 保留原有页面结构 */ public final class MainActivity extends WinBollActivity implements IWinBoLLActivity, ViewPager.OnPageChangeListener, View.OnClickListener { @@ -86,7 +82,6 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv private LinearLayout linearLayout; // ====================== 5. 业务逻辑成员区 ====================== - private MainServiceBean mMainServiceBean; private int currentPoint = 0; private List fragmentList; private List tabTitleList; @@ -127,13 +122,11 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv mADsBannerView.resumeADs(MainActivity.this); LogUtils.d(TAG, "onResume: 广告栏资源已恢复"); } - // 移除 MainService 绑定逻辑 } @Override protected void onPause() { super.onPause(); - // 移除 MainService 解绑逻辑 } @Override @@ -145,8 +138,6 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv mADsBannerView.releaseAdResources(); LogUtils.d(TAG, "onDestroy: 广告栏资源已释放"); } - // 移除电话状态监听释放逻辑(已删除监听初始化,无需释放) - // 移除 MainService 解绑及状态传递逻辑 LogUtils.d(TAG, "===== onDestroy: 主Activity销毁完成 ====="); } @@ -187,7 +178,6 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv case REQUEST_OVERLAY_PERMISSION: handleOverlayPermissionResult(); break; - // 移除 通话筛选权限回调(REQUEST_CALL_SCREENING_PERMISSION)分支 default: LogUtils.w(TAG, "onActivityResult: 未知requestCode=" + requestCode); break; @@ -200,7 +190,6 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv private void handleOverlayPermissionResult() { if (PermissionUtils.isOverlayPermissionGranted(this)) { LogUtils.d(TAG, "handleOverlayPermissionResult: 悬浮窗权限申请成功"); - // 移除 通话筛选权限检查(直接完成权限流程) LogUtils.d(TAG, "handleOverlayPermissionResult: 所有权限已授予"); initUIAndLogic(null); } else { @@ -210,7 +199,7 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv } /** - * 检查并申请剩余权限(仅保留悬浮窗,移除通话筛选权限) + * 检查并申请剩余权限(仅保留悬浮窗) */ private void checkAndRequestRemainingPermissions() { if (!PermissionUtils.isOverlayPermissionGranted(this)) { @@ -280,12 +269,6 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv mADsBannerView = (ADsBannerView) findViewById(R.id.adsbanner); LogUtils.d(TAG, "initUIAndLogic: 广告栏控件初始化完成"); - // 4. 主服务初始化(保留启动逻辑,移除绑定相关) - initMainService(); - LogUtils.d(TAG, "initUIAndLogic: 主服务初始化完成"); - - // 5. 移除 电话状态监听初始化逻辑(initPhoneStateListener() 调用删除) - // 左边盾值视图初始化(Java7分步写法,禁止链式调用) DunTemperatureView tempViewLeft = (DunTemperatureView) findViewById(R.id.dun_temp_view_left); tempViewLeft.setMaxValue(Rules.getInstance(this).getSettingsModel().getDunTotalCount()); @@ -298,22 +281,16 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv positions[0] = 0.0f; positions[1] = 1.0f; tempViewLeft.setGradientColors(customColors, positions); - // 文本放在温度条右侧(默认,可省略) - tempViewLeft.setTextPosition(true); + // 文本放在温度条右侧(默认,可省略) + tempViewLeft.setTextPosition(true); // 右边盾值视图初始化(Java7分步写法,禁止链式调用) DunTemperatureView tempViewRight = (DunTemperatureView) findViewById(R.id.dun_temp_view_right); tempViewRight.setMaxValue(Rules.getInstance(this).getSettingsModel().getDunTotalCount()); tempViewRight.setCurrentValue(Rules.getInstance(this).getSettingsModel().getDunCurrentCount()); -// int[] customColors = new int[2]; -// customColors[0] = Color.parseColor("#FF3366FF"); -// customColors[1] = Color.parseColor("#FF9900CC"); -// float[] positions = new float[2]; -// positions[0] = 0.0f; -// positions[1] = 1.0f; tempViewRight.setGradientColors(customColors, positions); - // 文本放在温度条左侧 - tempViewRight.setTextPosition(false); + // 文本放在温度条左侧 + tempViewRight.setTextPosition(false); LogUtils.d(TAG, "initUIAndLogic: 盾值视图初始化完成"); LogUtils.d(TAG, "===== initUIAndLogic: 初始化流程全部结束 ====="); } @@ -343,38 +320,7 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv LogUtils.d(TAG, "initViewPagerAndTabs: ViewPager初始化完成,Fragment数量=" + fragmentList.size()); } - /** - * 初始化主服务(保留启动逻辑,移除绑定相关;优化启动方式为静态方法) - */ - private void initMainService() { - LogUtils.d(TAG, "initMainService: 开始初始化主服务配置"); - mMainServiceBean = MainServiceBean.loadBean(this, MainServiceBean.class); - - if (mMainServiceBean == null) { - LogUtils.d(TAG, "initMainService: 服务配置Bean不存在,创建新实例"); - mMainServiceBean = new MainServiceBean(); - MainServiceBean.saveBean(this, mMainServiceBean); - } - - // 检查服务状态并启动(使用静态方法,无绑定依赖) - if (mMainServiceBean.isEnable() && !isServiceRunning(MainService.class)) { - LogUtils.d(TAG, "initMainService: 主服务已启用且未运行,延迟1秒启动"); - new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { - @Override - public void run() { - MainService.startMainServiceAndSaveStatus(MainActivity.this); - LogUtils.d(TAG, "initMainService: 主服务启动任务执行"); - } - }, 1000); - } else { - String status = mMainServiceBean.isEnable() ? "已启用但运行中" : "未启用"; - LogUtils.d(TAG, "initMainService: 主服务" + status + ",跳过启动流程"); - } - } - - // ====================== 10. 移除 MainService 绑定/解绑工具方法(bindMainService/unbindMainService 完全删除) ====================== - - // ====================== 11. 菜单相关函数区 ====================== + // ====================== 10. 菜单相关函数区 ====================== @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.toolbar_main, menu); @@ -392,7 +338,7 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv return super.onOptionsItemSelected(item); } - // ====================== 12. ViewPager页面回调区 ====================== + // ====================== 11. ViewPager页面回调区 ====================== @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} @@ -408,7 +354,7 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv @Override public void onClick(View v) {} - // ====================== 13. 工具函数区 ====================== + // ====================== 12. 工具函数区 ====================== /** * 拨号工具方法(添加空指针防护) */ @@ -472,11 +418,7 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv return false; } - // ====================== 14. 内部类定义区(Java 7 规范,禁止Lambda) ====================== - /** - * 移除 MainServiceConnection 内部类(服务绑定相关,已删除绑定逻辑) - */ - + // ====================== 13. 内部类定义区(Java 7 规范,禁止Lambda) ====================== /** * ViewPager适配器(静态内部类减少内存泄漏风险,Java7泛型完整声明) */ @@ -506,9 +448,5 @@ public final class MainActivity extends WinBollActivity implements IWinBoLLActiv return tabTitleList.get(position); } } - - /** - * 移除 MyPhoneStateListener 内部类(电话状态监听相关,已删除监听逻辑) - */ }