Skip to content

Commit e6c91e1

Browse files
committed
[game_manager_service] treat gamespace apps as games
Change-Id: I0f6dc1467bb059b82e07ec60551d2c9ddd23e810 Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
1 parent db7e240 commit e6c91e1

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

services/core/java/com/android/server/app/GameManagerService.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,12 @@
120120
import java.nio.charset.Charset;
121121
import java.util.ArrayList;
122122
import java.util.Arrays;
123+
import java.util.Collections;
123124
import java.util.HashSet;
124125
import java.util.List;
125126
import java.util.Map;
126127
import java.util.Set;
128+
import java.util.stream.Collectors;
127129

128130
/**
129131
* Service to manage game related features.
@@ -1052,6 +1054,21 @@ private void checkPermission(String permission) throws SecurityException {
10521054
}
10531055

10541056
private boolean isPackageGame(String packageName, @UserIdInt int userId) {
1057+
final String gameList = Settings.System.getStringForUser(
1058+
mContext.getContentResolver(),
1059+
"gamespace_game_list",
1060+
userId);
1061+
1062+
final Set<String> gamePkgs = (gameList == null || gameList.isEmpty())
1063+
? Collections.emptySet()
1064+
: Arrays.stream(gameList.split(";"))
1065+
.map(entry -> entry.split("=")[0])
1066+
.collect(Collectors.toSet());
1067+
1068+
if (gamePkgs.contains(packageName)) {
1069+
return true;
1070+
}
1071+
10551072
try {
10561073
final ApplicationInfo applicationInfo = mPackageManager
10571074
.getApplicationInfoAsUser(packageName, PackageManager.MATCH_ALL, userId);

0 commit comments

Comments
 (0)