@Test public void notPossibleToTargetMultipleDimensions() { String fakeAssetPath = "testModule/assets/secret.txt"; ModuleSplit.Builder builder = ModuleSplit.builder() .setModuleName(BundleModuleName.create("testModule")) .setEntries(ImmutableList.of(InMemoryModuleEntry.ofFile(fakeAssetPath, DUMMY_CONTENT))) .setVariantTargeting(lPlusVariantTargeting()) .setApkTargeting( ApkTargeting.newBuilder() .setAbiTargeting( AbiTargeting.newBuilder().addValue(Abi.newBuilder().setAlias(AbiAlias.X86))) .setScreenDensityTargeting( ScreenDensityTargeting.newBuilder() .addValue( ScreenDensity.newBuilder().setDensityAlias(DensityAlias.HDPI))) .build()); assertThrows(IllegalStateException.class, () -> builder.build()); }
findModuleSplitWithScreenDensityTargeting( densitySplits, ScreenDensity.newBuilder().setDensityAlias(DensityAlias.XXXHDPI).build()); assertThat(xxxhdpiSplit.getResourceTable()).isPresent(); ResourceTable xxxHdpiResourceTable = xxxhdpiSplit.getResourceTable().get(); densitySplits, ScreenDensity.newBuilder().setDensityAlias(DensityAlias.XXHDPI).build()); Truth8.assertThat(xxhdpiSplit.getResourceTable()).isPresent(); ResourceTable xxHdpiResourceTable = xxhdpiSplit.getResourceTable().get();
findModuleSplitWithScreenDensityTargeting( densitySplits, ScreenDensity.newBuilder().setDensityAlias(DensityAlias.XXXHDPI).build()); assertThat(xxxhdpiSplit.getResourceTable()).isPresent(); ResourceTable resourceTable = xxxhdpiSplit.getResourceTable().get();
public static ScreenDensity toScreenDensity(int densityDpi) { return ScreenDensity.newBuilder().setDensityDpi(densityDpi).build(); }
public static ScreenDensity toScreenDensity(DensityAlias densityAlias) { return ScreenDensity.newBuilder().setDensityAlias(densityAlias).build(); }
private static ScreenDensity toScreenDensity(DensityAlias alias) { return ScreenDensity.newBuilder().setDensityAlias(alias).build(); }
private static ModuleSplit findModuleSplitWithScreenDensityTargeting( ImmutableCollection<ModuleSplit> moduleSplits, DensityAlias densityAlias) { return findModuleSplitWithScreenDensityTargeting( moduleSplits, ScreenDensity.newBuilder().setDensityAlias(densityAlias).build()); }