Add unit tests to ActivityInterceptorCallback
Adding unit test to ActivityInterceptorCallback.ActivityInterceptResult
and ActivityInterceptorCallback.ActivityInterceptorInfo.
Bug: 264468632
Bug: 264468233
Bug: 264468636
Test: atest com.android.server.wm.ActivityInterceptorCallbackTest
Change-Id: I57d6cad6ffaea59bd1db8469498e02a138412e44
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityInterceptorCallbackTest.java b/services/tests/wmtests/src/com/android/server/wm/ActivityInterceptorCallbackTest.java
new file mode 100644
index 0000000..ff0591b
--- /dev/null
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityInterceptorCallbackTest.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.wm;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.ActivityOptions;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ResolveInfo;
+import android.platform.test.annotations.Presubmit;
+
+import androidx.test.filters.MediumTest;
+
+import org.junit.Test;
+
+@Presubmit
+@MediumTest
+public class ActivityInterceptorCallbackTest {
+
+ @Test
+ public void testBuildActivityInterceptorCallback() {
+ int callingUid = 10;
+ int callingPid = 100;
+ int realCallingUid = 20;
+ int realCallingPid = 200;
+ int userId = 1;
+ Intent intent = new Intent();
+ ResolveInfo resolveInfo = new ResolveInfo();
+ ActivityInfo activityInfo = new ActivityInfo();
+ String resolveType = "resolveType";
+ String callingPackage = "callingPackage";
+ String callingFeatureId = "callingFeatureId";
+ ActivityOptions activityOptions = ActivityOptions.makeBasic();
+ Runnable clearOptionsAnimation = () -> {};
+
+ ActivityInterceptorCallback.ActivityInterceptorInfo activityInterceptorInfo =
+ new ActivityInterceptorCallback.ActivityInterceptorInfo.Builder(callingUid,
+ callingPid, realCallingUid, realCallingPid, userId, intent, resolveInfo,
+ activityInfo)
+ .setResolvedType(resolveType)
+ .setCallingPackage(callingPackage)
+ .setCallingFeatureId(callingFeatureId)
+ .setCheckedOptions(activityOptions)
+ .setClearOptionsAnimationRunnable(clearOptionsAnimation)
+ .build();
+
+ assertThat(activityInterceptorInfo.getCallingUid()).isEqualTo(callingUid);
+ assertThat(activityInterceptorInfo.getCallingPid()).isEqualTo(callingPid);
+ assertThat(activityInterceptorInfo.getRealCallingUid()).isEqualTo(realCallingUid);
+ assertThat(activityInterceptorInfo.getRealCallingPid()).isEqualTo(realCallingPid);
+ assertThat(activityInterceptorInfo.getUserId()).isEqualTo(userId);
+ assertThat(activityInterceptorInfo.getIntent()).isEqualTo(intent);
+ assertThat(activityInterceptorInfo.getResolveInfo()).isEqualTo(resolveInfo);
+ assertThat(activityInterceptorInfo.getActivityInfo()).isEqualTo(activityInfo);
+ assertThat(activityInterceptorInfo.getResolvedType()).isEqualTo(resolveType);
+ assertThat(activityInterceptorInfo.getCallingPackage()).isEqualTo(callingPackage);
+ assertThat(activityInterceptorInfo.getCallingFeatureId()).isEqualTo(callingFeatureId);
+ assertThat(activityInterceptorInfo.getCheckedOptions()).isEqualTo(activityOptions);
+ assertThat(activityInterceptorInfo.getClearOptionsAnimationRunnable())
+ .isEqualTo(clearOptionsAnimation);
+ }
+
+ @Test
+ public void testActivityInterceptResult() {
+ Intent intent = new Intent();
+ ActivityOptions activityOptions = ActivityOptions.makeBasic();
+ boolean isActivityResolved = true;
+
+ ActivityInterceptorCallback.ActivityInterceptResult result =
+ new ActivityInterceptorCallback.ActivityInterceptResult(intent, activityOptions);
+ assertThat(result.getIntent()).isEqualTo(intent);
+ assertThat(result.getActivityOptions()).isEqualTo(activityOptions);
+ assertThat(result.isActivityResolved()).isFalse();
+
+ result = new ActivityInterceptorCallback.ActivityInterceptResult(
+ intent, activityOptions, isActivityResolved);
+ assertThat(result.getIntent()).isEqualTo(intent);
+ assertThat(result.getActivityOptions()).isEqualTo(activityOptions);
+ assertThat(result.isActivityResolved()).isTrue();
+ }
+}