Migrate game service to @EnforcePermission
Transition to AIDL annotations which automatically generate the required permission checks. Test: atest CtsGameServiceTestCases Bug: 220214993 Change-Id: I61cbb7f67c9a194b289bc34024def82c05aef447
This commit is contained in:
@@ -23,7 +23,12 @@ import android.service.games.IGameServiceController;
|
||||
* @hide
|
||||
*/
|
||||
oneway interface IGameService {
|
||||
@RequiresNoPermission
|
||||
void connected(in IGameServiceController gameServiceController);
|
||||
|
||||
@RequiresNoPermission
|
||||
void disconnected();
|
||||
|
||||
@RequiresNoPermission
|
||||
void gameStarted(in GameStartedEvent gameStartedEvent);
|
||||
}
|
||||
|
||||
@@ -20,5 +20,6 @@ package android.service.games;
|
||||
* @hide
|
||||
*/
|
||||
oneway interface IGameServiceController {
|
||||
@EnforcePermission("MANAGE_GAME_ACTIVITY")
|
||||
void createGameSession(int taskId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,12 @@ package android.service.games;
|
||||
* @hide
|
||||
*/
|
||||
oneway interface IGameSession {
|
||||
@RequiresNoPermission
|
||||
void onDestroyed();
|
||||
|
||||
@RequiresNoPermission
|
||||
void onTransientSystemBarVisibilityFromRevealGestureChanged(boolean visibleDueToGesture);
|
||||
|
||||
@RequiresNoPermission
|
||||
void onTaskFocusChanged(boolean focused);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,9 @@ import com.android.internal.infra.AndroidFuture;
|
||||
* @hide
|
||||
*/
|
||||
oneway interface IGameSessionController {
|
||||
@EnforcePermission("MANAGE_GAME_ACTIVITY")
|
||||
void takeScreenshot(int taskId, in AndroidFuture gameScreenshotResultFuture);
|
||||
@JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY)")
|
||||
|
||||
@EnforcePermission("MANAGE_GAME_ACTIVITY")
|
||||
void restartGame(in int taskId);
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.android.internal.infra.AndroidFuture;
|
||||
* @hide
|
||||
*/
|
||||
oneway interface IGameSessionService {
|
||||
@RequiresNoPermission
|
||||
void create(
|
||||
in IGameSessionController gameSessionController,
|
||||
in CreateGameSessionRequest createGameSessionRequest,
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
|
||||
package com.android.server.app;
|
||||
|
||||
import android.Manifest;
|
||||
import static android.Manifest.permission.MANAGE_GAME_ACTIVITY;
|
||||
|
||||
import android.annotation.EnforcePermission;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.app.ActivityManagerInternal;
|
||||
import android.app.ActivityTaskManager;
|
||||
@@ -181,10 +182,8 @@ final class GameServiceProviderInstanceImpl implements GameServiceProviderInstan
|
||||
private final IGameServiceController mGameServiceController =
|
||||
new IGameServiceController.Stub() {
|
||||
@Override
|
||||
@RequiresPermission(Manifest.permission.MANAGE_GAME_ACTIVITY)
|
||||
@EnforcePermission(MANAGE_GAME_ACTIVITY)
|
||||
public void createGameSession(int taskId) {
|
||||
mContext.enforceCallingPermission(Manifest.permission.MANAGE_GAME_ACTIVITY,
|
||||
"createGameSession()");
|
||||
mBackgroundExecutor.execute(() -> {
|
||||
GameServiceProviderInstanceImpl.this.createGameSession(taskId);
|
||||
});
|
||||
@@ -194,11 +193,9 @@ final class GameServiceProviderInstanceImpl implements GameServiceProviderInstan
|
||||
private final IGameSessionController mGameSessionController =
|
||||
new IGameSessionController.Stub() {
|
||||
@Override
|
||||
@RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY)
|
||||
@EnforcePermission(MANAGE_GAME_ACTIVITY)
|
||||
public void takeScreenshot(int taskId,
|
||||
@NonNull AndroidFuture gameScreenshotResultFuture) {
|
||||
mContext.enforceCallingPermission(Manifest.permission.MANAGE_GAME_ACTIVITY,
|
||||
"takeScreenshot()");
|
||||
mBackgroundExecutor.execute(() -> {
|
||||
GameServiceProviderInstanceImpl.this.takeScreenshot(taskId,
|
||||
gameScreenshotResultFuture);
|
||||
@@ -206,10 +203,8 @@ final class GameServiceProviderInstanceImpl implements GameServiceProviderInstan
|
||||
}
|
||||
|
||||
@Override
|
||||
@RequiresPermission(Manifest.permission.MANAGE_GAME_ACTIVITY)
|
||||
@EnforcePermission(MANAGE_GAME_ACTIVITY)
|
||||
public void restartGame(int taskId) {
|
||||
mContext.enforceCallingPermission(Manifest.permission.MANAGE_GAME_ACTIVITY,
|
||||
"restartGame()");
|
||||
mBackgroundExecutor.execute(() -> {
|
||||
GameServiceProviderInstanceImpl.this.restartGame(taskId);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user