public ModuleTargeting toTargeting() { ModuleTargeting.Builder moduleTargeting = ModuleTargeting.newBuilder(); for (DeviceFeatureCondition condition : getDeviceFeatureConditions()) { DeviceFeature.Builder feature = DeviceFeature.newBuilder().setFeatureName(condition.getFeatureName()); condition.getFeatureVersion().ifPresent(feature::setFeatureVersion); moduleTargeting.addDeviceFeatureTargeting( DeviceFeatureTargeting.newBuilder().setRequiredFeature(feature)); } if (getMinSdkVersion().isPresent()) { moduleTargeting.setSdkVersionTargeting( sdkVersionTargeting(sdkVersionFrom(getMinSdkVersion().get()))); } if (getUserCountriesCondition().isPresent()) { UserCountriesCondition condition = getUserCountriesCondition().get(); moduleTargeting.setUserCountriesTargeting( UserCountriesTargeting.newBuilder() .addAllCountryCodes(condition.getCountries()) .setExclude(condition.getExclude()) .build()); } return moduleTargeting.build(); }
public static ModuleTargeting moduleCountriesTargeting(boolean exclude, String... countries) { return ModuleTargeting.newBuilder() .setUserCountriesTargeting( UserCountriesTargeting.newBuilder() .addAllCountryCodes(Arrays.asList(countries)) .setExclude(exclude)) .build(); }
public static ModuleTargeting moduleFeatureTargeting(String featureName) { return ModuleTargeting.newBuilder() .addDeviceFeatureTargeting(deviceFeatureTargeting(featureName)) .build(); }
public static ModuleTargeting moduleFeatureTargeting(String featureName, int featureVersion) { return ModuleTargeting.newBuilder() .addDeviceFeatureTargeting(deviceFeatureTargeting(featureName, featureVersion)) .build(); }
public static ModuleTargeting moduleMinSdkVersionTargeting(int minSdkVersion) { return ModuleTargeting.newBuilder() .setSdkVersionTargeting(sdkVersionTargeting(sdkVersionFrom(minSdkVersion))) .build(); }