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 DeviceFeatureTargeting deviceFeatureTargeting( String featureName, int featureVersion) { return DeviceFeatureTargeting.newBuilder() .setRequiredFeature( DeviceFeature.newBuilder() .setFeatureName(featureName) .setFeatureVersion(featureVersion)) .build(); }
public static DeviceFeatureTargeting deviceFeatureTargeting(String featureName) { return DeviceFeatureTargeting.newBuilder() .setRequiredFeature(DeviceFeature.newBuilder().setFeatureName(featureName)) .build(); }