@Override
  public OverlayData createOverlayData(ComponentName remoteApp) {
    if (!OS_SUPPORT_FOR_ACCENT) {
      return EMPTY;
    }

    try {
      final ActivityInfo activityInfo =
          mLocalContext
              .getPackageManager()
              .getActivityInfo(remoteApp, PackageManager.GET_META_DATA);
      final Context context =
          mLocalContext.createPackageContext(remoteApp.getPackageName(), CONTEXT_IGNORE_SECURITY);

      context.setTheme(activityInfo.getThemeResource());
      fetchRemoteColors(mCurrentOverlayData, context);

      Logger.d(
          "OverlyDataCreatorForAndroid",
          "For component %s we fetched %s",
          remoteApp,
          mCurrentOverlayData);

      return mCurrentOverlayData;
    } catch (Exception e) {
      Logger.w("OverlyDataCreatorForAndroid", e, "Failed to fetch colors for %s", remoteApp);
      return EMPTY;
    }
  }
@Test
  public void testReturnsInvalidIfAppNotFound() throws Exception {
    Assert.assertFalse(
        mUnderTest.createOverlayData(new ComponentName("com.not.here", "Activity")).isValid());
  }