From 0312ca50d2b40a2215798a0b38a49cb96b3f68bb Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Thu, 20 Feb 2025 11:22:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=91=E5=AE=9A=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E7=9A=84APP=E7=9A=84=E5=94=A4=E9=86=92=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=9C=A8=E9=83=A8=E4=BB=B6=E7=9A=84=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- appbase/build.properties | 4 +- appbase/src/main/AndroidManifest.xml | 2 + .../appbase/receivers/MainReceiver.java | 3 +- .../studio/appbase/services/MainService.java | 6 +++ .../studio/appbase/services/TestService.java | 3 -- .../studio/appbase/widgets/SOSWidget.java | 42 ++++++++++++++++++- libappbase/build.properties | 4 +- 7 files changed, 54 insertions(+), 10 deletions(-) delete mode 100644 appbase/src/main/java/cc/winboll/studio/appbase/services/TestService.java diff --git a/appbase/build.properties b/appbase/build.properties index 30a3e45..a4ffa26 100644 --- a/appbase/build.properties +++ b/appbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed Feb 19 19:57:10 HKT 2025 +#Thu Feb 20 03:19:54 GMT 2025 stageCount=5 libraryProject=libappbase baseVersion=1.5 publishVersion=1.5.4 -buildCount=0 +buildCount=5 baseBetaVersion=1.5.5 diff --git a/appbase/src/main/AndroidManifest.xml b/appbase/src/main/AndroidManifest.xml index f508b74..ed6e233 100644 --- a/appbase/src/main/AndroidManifest.xml +++ b/appbase/src/main/AndroidManifest.xml @@ -64,6 +64,8 @@ android:exported="true"> + + diff --git a/appbase/src/main/java/cc/winboll/studio/appbase/receivers/MainReceiver.java b/appbase/src/main/java/cc/winboll/studio/appbase/receivers/MainReceiver.java index a791fea..36b12ed 100644 --- a/appbase/src/main/java/cc/winboll/studio/appbase/receivers/MainReceiver.java +++ b/appbase/src/main/java/cc/winboll/studio/appbase/receivers/MainReceiver.java @@ -100,8 +100,9 @@ public class MainReceiver extends BroadcastReceiver { sbLine.append("] Power to "); sbLine.append(appName); appSOSReportBean.setSosReport(sbLine.toString()); - + SOSWidget.addAPPSOSReportBean(context, appSOSReportBean); + Intent intentWidget = new Intent(context, SOSWidget.class); intentWidget.setAction(SOSWidget.ACTION_RELOAD_REPORT); context.sendBroadcast(intentWidget); diff --git a/appbase/src/main/java/cc/winboll/studio/appbase/services/MainService.java b/appbase/src/main/java/cc/winboll/studio/appbase/services/MainService.java index 50c2f9d..93e41b7 100644 --- a/appbase/src/main/java/cc/winboll/studio/appbase/services/MainService.java +++ b/appbase/src/main/java/cc/winboll/studio/appbase/services/MainService.java @@ -210,6 +210,12 @@ public class MainService extends Service { intentService.setComponent(new ComponentName(bean.getSosPackage(), bean.getSosClassName())); bindService(intentService, sosConnection, Context.BIND_IMPORTANT); mSOSConnectionList.add(sosConnection); + + Intent intentWidget = new Intent(this, SOSWidget.class); + intentWidget.setAction(SOSWidget.ACTION_WAKEUP_SERVICE); + APPSOSBean appSOSBean = new APPSOSBean(bean.getSosPackage(), bean.getSosClassName()); + intentWidget.putExtra("APPSOSBean", appSOSBean.toString()); + sendBroadcast(intentWidget); } public class SOSConnection implements ServiceConnection { diff --git a/appbase/src/main/java/cc/winboll/studio/appbase/services/TestService.java b/appbase/src/main/java/cc/winboll/studio/appbase/services/TestService.java deleted file mode 100644 index b569aca..0000000 --- a/appbase/src/main/java/cc/winboll/studio/appbase/services/TestService.java +++ /dev/null @@ -1,3 +0,0 @@ -package cc.winboll.studio.appbase.services; - - diff --git a/appbase/src/main/java/cc/winboll/studio/appbase/widgets/SOSWidget.java b/appbase/src/main/java/cc/winboll/studio/appbase/widgets/SOSWidget.java index fef8ad4..b614da9 100644 --- a/appbase/src/main/java/cc/winboll/studio/appbase/widgets/SOSWidget.java +++ b/appbase/src/main/java/cc/winboll/studio/appbase/widgets/SOSWidget.java @@ -24,8 +24,8 @@ import java.util.Date; public class SOSWidget extends AppWidgetProvider { public static final String TAG = "SOSWidget"; - - public static final String ACTION_SOS = "cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_SOS"; + + public static final String ACTION_WAKEUP_SERVICE = "cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_WAKEUP_SERVICE"; public static final String ACTION_RELOAD_REPORT = "cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_RELOAD_REPORT"; @@ -53,6 +53,44 @@ public class SOSWidget extends AppWidgetProvider { for (int appWidgetId : appWidgetIds) { updateAppWidget(context, appWidgetManager, appWidgetId); } + }else if (intent.getAction().equals(ACTION_WAKEUP_SERVICE)) { + LogUtils.d(TAG, "ACTION_WAKEUP_SERVICE"); + String szAPPSOSBean = intent.getStringExtra("APPSOSBean"); + LogUtils.d(TAG, String.format("szAPPSOSBean %s", szAPPSOSBean)); + if (szAPPSOSBean != null && !szAPPSOSBean.equals("")) { + try { + APPSOSBean bean = APPSOSBean.parseStringToBean(szAPPSOSBean, APPSOSBean.class); + if (bean != null) { + String sosPackage = bean.getSosPackage(); + LogUtils.d(TAG, String.format("sosPackage %s", sosPackage)); + String sosClassName = bean.getSosClassName(); + LogUtils.d(TAG, String.format("sosClassName %s", sosClassName)); + + + String appName = AppUtils.getAppNameByPackageName(context, sosPackage); + LogUtils.d(TAG, String.format("appName %s", appName)); + SOSReportBean appSOSReportBean = new SOSReportBean(appName); + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); + String currentTime = sdf.format(new Date()); + StringBuilder sbLine = new StringBuilder(); + sbLine.append("["); + sbLine.append(currentTime); + sbLine.append("] Wake up "); + sbLine.append(appName); + appSOSReportBean.setSosReport(sbLine.toString()); + + addAPPSOSReportBean(context, appSOSReportBean); + + AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, SOSWidget.class)); + for (int appWidgetId : appWidgetIds) { + updateAppWidget(context, appWidgetManager, appWidgetId); + } + } + } catch (IOException e) { + LogUtils.d(TAG, e, Thread.currentThread().getStackTrace()); + } + } } } diff --git a/libappbase/build.properties b/libappbase/build.properties index 3f430d7..a4ffa26 100644 --- a/libappbase/build.properties +++ b/libappbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed Feb 19 19:57:00 HKT 2025 +#Thu Feb 20 03:19:54 GMT 2025 stageCount=5 libraryProject=libappbase baseVersion=1.5 publishVersion=1.5.4 -buildCount=0 +buildCount=5 baseBetaVersion=1.5.5