From 1a7134711e208e90d9f808310d39ff6d70ca442c Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Tue, 15 Apr 2025 18:22:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=A3=81=E8=B4=B4=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E9=9D=99=E6=80=81=E6=8C=82=E8=BD=BD...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- autoinstaller/build.properties | 4 +-- .../autoinstaller/AppBaseTileService.java | 31 ----------------- .../autoinstaller/services/MainService.java | 33 ++++++++++++++++--- 3 files changed, 31 insertions(+), 37 deletions(-) diff --git a/autoinstaller/build.properties b/autoinstaller/build.properties index 483ebd9..f6dc714 100644 --- a/autoinstaller/build.properties +++ b/autoinstaller/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Tue Apr 15 09:22:19 GMT 2025 +#Tue Apr 15 10:20:33 GMT 2025 stageCount=1 libraryProject= baseVersion=15.2 publishVersion=15.2.0 -buildCount=54 +buildCount=55 baseBetaVersion=15.2.1 diff --git a/autoinstaller/src/main/java/cc/winboll/studio/autoinstaller/AppBaseTileService.java b/autoinstaller/src/main/java/cc/winboll/studio/autoinstaller/AppBaseTileService.java index 5246601..58f636c 100644 --- a/autoinstaller/src/main/java/cc/winboll/studio/autoinstaller/AppBaseTileService.java +++ b/autoinstaller/src/main/java/cc/winboll/studio/autoinstaller/AppBaseTileService.java @@ -9,35 +9,4 @@ import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; import cc.winboll.studio.autoinstaller.models.AppConfigs; -public class AppBaseTileService extends TileService { - public static final String TAG = "AppBaseTileService"; - - @Override - public void onStartListening() { - super.onStartListening(); - Tile tile = getQsTile(); - tile.setIcon(android.graphics.drawable.Icon.createWithResource(this, R.drawable.ic_android)); - // 更新磁贴状态 - tile.setState(AppConfigs.getInstance(getApplicationContext()).isEnableService()?Tile.STATE_ACTIVE: Tile.STATE_INACTIVE); - tile.updateTile(); - } - - @Override - public void onClick() { - super.onClick(); -// Tile tile = getQsTile(); -// -// if (tile.getState() == Tile.STATE_ACTIVE) { -// tile.setState(Tile.STATE_INACTIVE); -// AppConfigs.getInstance(AppBaseTileService.this).setIsEnableService(false); -// AppConfigs.getInstance(AppBaseTileService.this).saveAppConfigs(); -// MainActivity.stopMainService(); -// } else if (tile.getState() == Tile.STATE_INACTIVE) { -// tile.setState(Tile.STATE_ACTIVE); -// AppConfigs.getInstance(AppBaseTileService.this).setIsEnableService(true); -// AppConfigs.getInstance(AppBaseTileService.this).saveAppConfigs(); -// MainActivity.startMainService(); -// } - } -} diff --git a/autoinstaller/src/main/java/cc/winboll/studio/autoinstaller/services/MainService.java b/autoinstaller/src/main/java/cc/winboll/studio/autoinstaller/services/MainService.java index d7bfd3e..2a08f54 100644 --- a/autoinstaller/src/main/java/cc/winboll/studio/autoinstaller/services/MainService.java +++ b/autoinstaller/src/main/java/cc/winboll/studio/autoinstaller/services/MainService.java @@ -10,10 +10,13 @@ import android.os.Build; import android.os.Handler; import android.os.IBinder; import android.os.Message; +import android.service.quicksettings.Tile; +import android.service.quicksettings.TileService; import android.widget.Toast; import androidx.core.content.FileProvider; import cc.winboll.studio.autoinstaller.FileListener; import cc.winboll.studio.autoinstaller.MainActivity; +import cc.winboll.studio.autoinstaller.R; import cc.winboll.studio.autoinstaller.models.APKModel; import cc.winboll.studio.autoinstaller.models.AppConfigs; import cc.winboll.studio.autoinstaller.services.AssistantService; @@ -22,15 +25,15 @@ import cc.winboll.studio.autoinstaller.utils.NotificationUtil; import cc.winboll.studio.autoinstaller.utils.PackageUtil; import cc.winboll.studio.autoinstaller.utils.ServiceUtil; import cc.winboll.studio.libappbase.LogUtils; -import com.hjq.toast.ToastUtils; import java.io.File; import java.lang.ref.WeakReference; import java.util.ArrayList; -import cc.winboll.studio.autoinstaller.models.MainServiceBean; public class MainService extends Service { public static String TAG = "MainService"; + + Context mContext; ArrayList _APKModelList = new ArrayList(); private static boolean _mIsServiceAlive; @@ -51,6 +54,7 @@ public class MainService extends Service { @Override public void onCreate() { super.onCreate(); + mContext = this; LogUtils.d(TAG, "onCreate()"); _mIsServiceAlive = false; mHandler = new MyHandler(MainService.this); @@ -59,6 +63,9 @@ public class MainService extends Service { } run(); + + // 初始化磁贴工具服务 + MainTileService mainTileService = new MainTileService(this); } private void run() { @@ -99,6 +106,7 @@ public class MainService extends Service { } _mIsServiceAlive = false; LogUtils.d(TAG, "onDestroy()"); + mContext = null; } @Override @@ -183,7 +191,7 @@ public class MainService extends Service { private void installAPK(String szAPKFilePath) { String szAPKPackageName = PackageUtil.getPackageNameFromApk(this, szAPKFilePath); saveAPKInfo(szAPKPackageName); - + long nTimeNow = System.currentTimeMillis(); /*SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss", Locale.getDefault()); @@ -220,7 +228,7 @@ public class MainService extends Service { LogUtils.d(TAG, "installAPK2()"); String szAPKPackageName = PackageUtil.getPackageNameFromApk(this, szAPKFilePath); saveAPKInfo(szAPKPackageName); - + Intent intent = new Intent(this, MainActivity.class); intent.setAction(MainActivity.ACTION_NEW_INSTALLTASK); intent.putExtra(MainActivity.EXTRA_INSTALLED_PACKAGENAME, szAPKPackageName); @@ -262,4 +270,21 @@ public class MainService extends Service { super.handleMessage(message); } } + + static class MainTileService extends TileService { + Context mContext; + MainTileService(Context context) { + mContext = context; + } + + @Override + public void onStartListening() { + super.onStartListening(); + Tile tile = getQsTile(); + tile.setIcon(android.graphics.drawable.Icon.createWithResource(this, R.drawable.ic_android)); + // 更新磁贴状态 + tile.setState((mContext == null || mContext.getApplicationContext() == null )?Tile.STATE_INACTIVE: Tile.STATE_ACTIVE); + tile.updateTile(); + } + } }