@Override
  protected void setUp() throws Exception {
    mPackageManager = new TestPackageManager();
    AppBannerManager.setIsEnabledForTesting(true);
    AppBannerInfoBarDelegateAndroid.setPackageManagerForTesting(mPackageManager);

    super.setUp();

    // Must be set after native has loaded.
    mDetailsDelegate = new MockAppDetailsDelegate();
    ThreadUtils.runOnUiThreadBlocking(
        new Runnable() {
          @Override
          public void run() {
            AppBannerManager.setAppDetailsDelegate(mDetailsDelegate);
          }
        });

    AppBannerManager.disableSecureSchemeCheckForTesting();

    // Navigations in this test are all of type ui::PAGE_TRANSITION_LINK, i.e. indirect.
    // Force indirect navigations to be worth the same as direct for testing.
    AppBannerManager.forceEngagementWeightsForTesting(1, 1);
  }