// This file is auto-generated. DO NOT MODIFY. // Args: com.android.systemfeatures.RoFeatures \ // --readonly=true \ // --feature=WATCH:1 \ // --feature=WIFI:0 \ // --feature=VULKAN:UNAVAILABLE \ // --feature=AUTO: \ // --feature-apis=WATCH,PC package com.android.systemfeatures; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.content.pm.FeatureInfo; import android.content.pm.PackageManager; import android.util.ArrayMap; import com.android.aconfig.annotations.AssumeFalseForR8; import com.android.aconfig.annotations.AssumeTrueForR8; /** * @hide */ public final class RoFeatures { /** * Check for FEATURE_WATCH. * * @hide */ @AssumeTrueForR8 public static boolean hasFeatureWatch(Context context) { return true; } /** * Check for FEATURE_PC. * * @hide */ public static boolean hasFeaturePc(Context context) { return hasFeatureFallback(context, PackageManager.FEATURE_PC); } /** * Check for FEATURE_WIFI. * * @hide */ @AssumeTrueForR8 public static boolean hasFeatureWifi(Context context) { return true; } /** * Check for FEATURE_VULKAN. * * @hide */ @AssumeFalseForR8 public static boolean hasFeatureVulkan(Context context) { return false; } /** * Check for FEATURE_AUTO. * * @hide */ public static boolean hasFeatureAuto(Context context) { return hasFeatureFallback(context, PackageManager.FEATURE_AUTO); } private static boolean hasFeatureFallback(Context context, String featureName) { return context.getPackageManager().hasSystemFeature(featureName, 0); } /** * @hide */ @Nullable public static Boolean maybeHasFeature(String featureName, int version) { switch (featureName) { case PackageManager.FEATURE_WATCH: return 1 >= version; case PackageManager.FEATURE_WIFI: return 0 >= version; case PackageManager.FEATURE_VULKAN: return false; default: break; } return null; } /** * Gets features marked as available at compile-time, keyed by name. * * @hide */ @NonNull public static ArrayMap getReadOnlySystemEnabledFeatures() { ArrayMap features = new ArrayMap<>(2); FeatureInfo fi = new FeatureInfo(); fi.name = PackageManager.FEATURE_WATCH; fi.version = 1; features.put(fi.name, new FeatureInfo(fi)); fi.name = PackageManager.FEATURE_WIFI; fi.version = 0; features.put(fi.name, new FeatureInfo(fi)); return features; } }