// Signature format: 4.0
package androidx.car.app.testing {

  public class FakeHost {
    method public void performNotificationActionClick(android.app.PendingIntent);
  }

  public class ScreenController {
    method public androidx.car.app.testing.ScreenController create();
    method public androidx.car.app.testing.ScreenController destroy();
    method public androidx.car.app.Screen get();
    method public java.util.List<androidx.car.app.model.Template!> getTemplatesReturned();
    method public static androidx.car.app.testing.ScreenController of(androidx.car.app.testing.TestCarContext, androidx.car.app.Screen);
    method public androidx.car.app.testing.ScreenController pause();
    method public void reset();
    method public androidx.car.app.testing.ScreenController resume();
    method public androidx.car.app.testing.ScreenController start();
    method public androidx.car.app.testing.ScreenController stop();
  }

  public class SessionController {
    method public androidx.car.app.testing.SessionController create();
    method public androidx.car.app.testing.SessionController destroy();
    method public androidx.car.app.Session get();
    method public static androidx.car.app.testing.SessionController of(androidx.car.app.Session, androidx.car.app.testing.TestCarContext);
    method public androidx.car.app.testing.SessionController pause();
    method public androidx.car.app.testing.SessionController resume();
    method public androidx.car.app.testing.SessionController start();
    method public androidx.car.app.testing.SessionController stop();
  }

  public class TestAppManager extends androidx.car.app.AppManager {
    method public androidx.car.app.SurfaceCallback? getSurfaceCallback();
    method public java.util.List<android.util.Pair<androidx.car.app.Screen!,androidx.car.app.model.Template!>!> getTemplatesReturned();
    method public java.util.List<java.lang.CharSequence!> getToastsShown();
    method public void reset();
  }

  public class TestCarContext extends androidx.car.app.CarContext {
    method public static androidx.car.app.testing.TestCarContext createCarContext(android.content.Context);
    method public androidx.car.app.testing.FakeHost getFakeHost();
    method public java.util.List<android.content.Intent!> getStartCarAppIntents();
    method public boolean hasCalledFinishCarApp();
    method public void reset();
  }

  public class TestScreenManager extends androidx.car.app.ScreenManager {
    method public java.util.List<androidx.car.app.Screen!> getScreensPushed();
    method public java.util.List<androidx.car.app.Screen!> getScreensRemoved();
    method public boolean hasScreens();
    method public void reset();
  }

}

package androidx.car.app.testing.navigation {

  public class TestNavigationManager extends androidx.car.app.navigation.NavigationManager {
    ctor public TestNavigationManager(androidx.car.app.testing.TestCarContext, androidx.car.app.HostDispatcher);
    method public int getNavigationEndedCount();
    method public androidx.car.app.navigation.NavigationManagerCallback? getNavigationManagerCallback();
    method public int getNavigationStartedCount();
    method public java.util.List<androidx.car.app.navigation.model.Trip!> getTripsSent();
    method public void reset();
  }

}

