Fix EnterSplitScreenTest app helper
There were 2 app helpers for the same action Fixes: 249027753 Test: atest WMShellFlickerTests Change-Id: Ic7060e9b06e9e502ec477ebaab7e0517755971db
This commit is contained in:
@@ -114,14 +114,14 @@ fun FlickerTestParameter.splitAppLayerBoundsBecomesVisibleByDrag(
|
||||
) {
|
||||
assertLayers {
|
||||
if (isShellTransitionsEnabled) {
|
||||
this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component))
|
||||
this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component), isOptional = true)
|
||||
.then()
|
||||
.isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component))
|
||||
.then()
|
||||
// TODO(b/245472831): Verify the component should snap to divider.
|
||||
.isVisible(component)
|
||||
} else {
|
||||
this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component))
|
||||
this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component), isOptional = true)
|
||||
.then()
|
||||
.isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component))
|
||||
.then()
|
||||
|
||||
@@ -21,8 +21,6 @@ import android.platform.test.annotations.Postsubmit
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.WindowManagerPolicyConstants
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.uiautomator.By
|
||||
import androidx.test.uiautomator.Until
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.FlickerTestParameterFactory
|
||||
@@ -73,12 +71,7 @@ class EnterSplitScreenByDragFromNotification(
|
||||
setup {
|
||||
// Send a notification
|
||||
sendNotificationApp.launchViaIntent(wmHelper)
|
||||
val sendNotification = device.wait(
|
||||
Until.findObject(By.text("Send Notification")),
|
||||
SplitScreenUtils.TIMEOUT_MS
|
||||
)
|
||||
sendNotification?.click() ?: error("Send notification button not found")
|
||||
|
||||
sendNotificationApp.postNotification(wmHelper)
|
||||
tapl.goHome()
|
||||
primaryApp.launchViaIntent(wmHelper)
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ import com.android.server.wm.traces.parser.windowmanager.WindowManagerStateHelpe
|
||||
import com.android.wm.shell.flicker.SYSTEM_UI_PACKAGE_NAME
|
||||
|
||||
internal object SplitScreenUtils {
|
||||
internal const val TIMEOUT_MS = 3_000L
|
||||
private const val TIMEOUT_MS = 3_000L
|
||||
private const val DRAG_DURATION_MS = 1_000L
|
||||
private const val NOTIFICATION_SCROLLER = "notification_stack_scroller"
|
||||
private const val DIVIDER_BAR = "docked_divider_handle"
|
||||
@@ -52,7 +52,7 @@ internal object SplitScreenUtils {
|
||||
private val notificationScrollerSelector: BySelector
|
||||
get() = By.res(SYSTEM_UI_PACKAGE_NAME, NOTIFICATION_SCROLLER)
|
||||
private val notificationContentSelector: BySelector
|
||||
get() = By.text("Notification content")
|
||||
get() = By.text("Flicker Test Notification")
|
||||
private val dividerBarSelector: BySelector
|
||||
get() = By.res(SYSTEM_UI_PACKAGE_NAME, DIVIDER_BAR)
|
||||
|
||||
@@ -140,14 +140,14 @@ internal object SplitScreenUtils {
|
||||
// Pull down the notifications
|
||||
device.swipe(
|
||||
displayBounds.centerX(), 5,
|
||||
displayBounds.centerX(), displayBounds.bottom, 20 /* steps */
|
||||
displayBounds.centerX(), displayBounds.bottom, 50 /* steps */
|
||||
)
|
||||
SystemClock.sleep(TIMEOUT_MS)
|
||||
|
||||
// Find the target notification
|
||||
val notificationScroller = device.wait(
|
||||
Until.findObject(notificationScrollerSelector), TIMEOUT_MS
|
||||
)
|
||||
) ?: error ("Unable to find view $notificationScrollerSelector")
|
||||
var notificationContent = notificationScroller.findObject(notificationContentSelector)
|
||||
|
||||
while (notificationContent == null) {
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2022 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.
|
||||
-->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@android:color/black">
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_send_notification"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:text="Send Notification" />
|
||||
</RelativeLayout>
|
||||
@@ -177,12 +177,6 @@ public class ActivityOptions {
|
||||
}
|
||||
}
|
||||
|
||||
public static class SendNotificationActivity {
|
||||
public static final String LABEL = "SendNotificationActivity";
|
||||
public static final ComponentName COMPONENT = new ComponentName(FLICKER_APP_PACKAGE,
|
||||
FLICKER_APP_PACKAGE + ".SendNotificationActivity");
|
||||
}
|
||||
|
||||
public static class Bubbles {
|
||||
public static class LaunchBubble {
|
||||
public static final String LABEL = "LaunchBubbleActivity";
|
||||
|
||||
@@ -50,12 +50,12 @@ public class NotificationActivity extends Activity {
|
||||
Intent resultIntent = new Intent(this, NotificationActivity.class);
|
||||
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
|
||||
stackBuilder.addNextIntentWithParentStack(resultIntent);
|
||||
PendingIntent resultPendingIntent =
|
||||
stackBuilder.getPendingIntent(0,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
|
||||
PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0,
|
||||
new Intent(this, NotificationActivity.class),
|
||||
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
Notification.Builder builder = new Notification.Builder(this, CHANNEL_ID)
|
||||
.setSmallIcon(R.drawable.ic_notification)
|
||||
.setWhen(System.currentTimeMillis())
|
||||
.setContentTitle("Flicker Test Notification")
|
||||
.setContentText("Flicker Test Notification")
|
||||
// Set the intent that will fire when the user taps the notification
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2022 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.flicker.testapp;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
public class SendNotificationActivity extends Activity {
|
||||
private NotificationManager mNotificationManager;
|
||||
private String mChannelId = "Channel id";
|
||||
private String mChannelName = "Channel name";
|
||||
private NotificationChannel mChannel;
|
||||
private int mNotifyId = 0;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_notification);
|
||||
findViewById(R.id.button_send_notification).setOnClickListener(this::sendNotification);
|
||||
|
||||
mChannel = new NotificationChannel(mChannelId, mChannelName,
|
||||
NotificationManager.IMPORTANCE_DEFAULT);
|
||||
mNotificationManager = getSystemService(NotificationManager.class);
|
||||
mNotificationManager.createNotificationChannel(mChannel);
|
||||
}
|
||||
|
||||
private void sendNotification(View v) {
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
|
||||
new Intent(this, SendNotificationActivity.class),
|
||||
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
Notification notification = new Notification.Builder(this, mChannelId)
|
||||
.setContentTitle("Notification App")
|
||||
.setContentText("Notification content")
|
||||
.setWhen(System.currentTimeMillis())
|
||||
.setSmallIcon(R.drawable.ic_message)
|
||||
.setContentIntent(pendingIntent)
|
||||
.build();
|
||||
|
||||
mNotificationManager.notify(mNotifyId, notification);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user