Skip to content

Commit cefadbe

Browse files
committed
[VXP]: only wake wechat's push process for BOOT_COMPLETE.
1 parent c949089 commit cefadbe

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

VirtualApp/lib/src/main/java/com/lody/virtual/client/env/Constants.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ public class Constants {
3434
public static String META_KEY_IDENTITY = "X-Identity";
3535
public static String META_VALUE_STUB = "Stub-User";
3636

37+
public static final String WECHAT_PACKAGE = EncodeUtils.decode("Y29tLnRlbmNlbnQubW0="); // wechat
3738
public static final List<String> PRIVILEGE_APP = Arrays.asList(
38-
EncodeUtils.decode("Y29tLnRlbmNlbnQubW0="), // wechat
39+
WECHAT_PACKAGE,
3940
EncodeUtils.decode("Y29tLnRlbmNlbnQubW9iaWxlcXE=")); // qq
4041

4142
/**

VirtualApp/lib/src/main/java/com/lody/virtual/server/am/VActivityManagerService.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1089,7 +1089,7 @@ private void handleStaticBroadcastAsUser(int vuid, ActivityInfo info, Intent int
10891089
PendingResultData result) {
10901090
synchronized (this) {
10911091
ProcessRecord r = findProcessLocked(info.processName, vuid);
1092-
if ((BROADCAST_NOT_STARTED_PKG || (info.packageName != null && (Constants.PRIVILEGE_APP.contains(info.packageName))))
1092+
if ((BROADCAST_NOT_STARTED_PKG || isStartProcessForBroadcast(info.processName, info.packageName))
10931093
&& r == null) {
10941094
r = startProcessIfNeedLocked(info.processName, getUserId(vuid), info.packageName);
10951095
}
@@ -1100,6 +1100,15 @@ private void handleStaticBroadcastAsUser(int vuid, ActivityInfo info, Intent int
11001100
}
11011101
}
11021102

1103+
private static boolean isStartProcessForBroadcast(String processName, String packageName) {
1104+
if (Constants.WECHAT_PACKAGE.equals(packageName)) {
1105+
// only send to push process.
1106+
return processName.endsWith(":push");
1107+
}
1108+
1109+
return Constants.PRIVILEGE_APP.contains(packageName);
1110+
}
1111+
11031112
private void performScheduleReceiver(IVClient client, int vuid, ActivityInfo info, Intent intent,
11041113
PendingResultData result) {
11051114

0 commit comments

Comments
 (0)