Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdde6f55 authored by Noelle Scobie's avatar Noelle Scobie Committed by Android (Google) Code Review
Browse files

Merge "Allow read/write aconfig flags to be read before boot complete" into main

parents a499d441 887598b9
Loading
Loading
Loading
Loading
+133 −144
Original line number Original line Diff line number Diff line
@@ -89,9 +89,9 @@ void FlagManager::setUnitTestMode() {
    mBootCompleted = true;
    mBootCompleted = true;
}
}


void FlagManager::dumpFlag(std::string& result, bool readonly, const char* name,
void FlagManager::dumpFlag(std::string& result, bool aconfig, const char* name,
                           std::function<bool()> getter) const {
                           std::function<bool()> getter) const {
    if (readonly || mBootCompleted) {
    if (aconfig || mBootCompleted) {
        base::StringAppendF(&result, "%s: %s\n", name, getter() ? "true" : "false");
        base::StringAppendF(&result, "%s: %s\n", name, getter() ? "true" : "false");
    } else {
    } else {
        base::StringAppendF(&result, "%s: in progress (still booting)\n", name);
        base::StringAppendF(&result, "%s: in progress (still booting)\n", name);
@@ -99,72 +99,72 @@ void FlagManager::dumpFlag(std::string& result, bool readonly, const char* name,
}
}


void FlagManager::dump(std::string& result) const {
void FlagManager::dump(std::string& result) const {
#define DUMP_FLAG_INTERVAL(name, readonly) \
#define DUMP_FLAG_INTERNAL(name, aconfig) \
    dumpFlag(result, (readonly), #name, std::bind(&FlagManager::name, this))
    dumpFlag(result, (aconfig), #name, std::bind(&FlagManager::name, this))
#define DUMP_SERVER_FLAG(name) DUMP_FLAG_INTERVAL(name, false)
#define DUMP_LEGACY_SERVER_FLAG(name) DUMP_FLAG_INTERNAL(name, false)
#define DUMP_READ_ONLY_FLAG(name) DUMP_FLAG_INTERVAL(name, true)
#define DUMP_ACONFIG_FLAG(name) DUMP_FLAG_INTERNAL(name, true)


    base::StringAppendF(&result, "FlagManager values: \n");
    base::StringAppendF(&result, "FlagManager values: \n");


    /// Legacy server flags ///
    /// Legacy server flags ///
    DUMP_SERVER_FLAG(use_adpf_cpu_hint);
    DUMP_LEGACY_SERVER_FLAG(use_adpf_cpu_hint);
    DUMP_SERVER_FLAG(use_skia_tracing);
    DUMP_LEGACY_SERVER_FLAG(use_skia_tracing);


    /// Trunk stable server flags ///
    /// Trunk stable server (R/W) flags ///
    DUMP_SERVER_FLAG(refresh_rate_overlay_on_external_display);
    DUMP_ACONFIG_FLAG(refresh_rate_overlay_on_external_display);
    DUMP_SERVER_FLAG(adpf_gpu_sf);
    DUMP_ACONFIG_FLAG(adpf_gpu_sf);
    DUMP_SERVER_FLAG(adpf_native_session_manager);
    DUMP_ACONFIG_FLAG(adpf_native_session_manager);
    DUMP_SERVER_FLAG(adpf_use_fmq_channel);
    DUMP_ACONFIG_FLAG(adpf_use_fmq_channel);


    /// Trunk stable readonly flags ///
    /// Trunk stable readonly flags ///
    DUMP_READ_ONLY_FLAG(adpf_fmq_sf);
    DUMP_ACONFIG_FLAG(adpf_fmq_sf);
    DUMP_READ_ONLY_FLAG(connected_display);
    DUMP_ACONFIG_FLAG(connected_display);
    DUMP_READ_ONLY_FLAG(enable_small_area_detection);
    DUMP_ACONFIG_FLAG(enable_small_area_detection);
    DUMP_READ_ONLY_FLAG(stable_edid_ids);
    DUMP_ACONFIG_FLAG(stable_edid_ids);
    DUMP_READ_ONLY_FLAG(frame_rate_category_mrr);
    DUMP_ACONFIG_FLAG(frame_rate_category_mrr);
    DUMP_READ_ONLY_FLAG(misc1);
    DUMP_ACONFIG_FLAG(misc1);
    DUMP_READ_ONLY_FLAG(vrr_config);
    DUMP_ACONFIG_FLAG(vrr_config);
    DUMP_READ_ONLY_FLAG(hdcp_level_hal);
    DUMP_ACONFIG_FLAG(hdcp_level_hal);
    DUMP_READ_ONLY_FLAG(multithreaded_present);
    DUMP_ACONFIG_FLAG(multithreaded_present);
    DUMP_READ_ONLY_FLAG(add_sf_skipped_frames_to_trace);
    DUMP_ACONFIG_FLAG(add_sf_skipped_frames_to_trace);
    DUMP_READ_ONLY_FLAG(use_known_refresh_rate_for_fps_consistency);
    DUMP_ACONFIG_FLAG(use_known_refresh_rate_for_fps_consistency);
    DUMP_READ_ONLY_FLAG(cache_when_source_crop_layer_only_moved);
    DUMP_ACONFIG_FLAG(cache_when_source_crop_layer_only_moved);
    DUMP_READ_ONLY_FLAG(enable_fro_dependent_features);
    DUMP_ACONFIG_FLAG(enable_fro_dependent_features);
    DUMP_READ_ONLY_FLAG(display_protected);
    DUMP_ACONFIG_FLAG(display_protected);
    DUMP_READ_ONLY_FLAG(fp16_client_target);
    DUMP_ACONFIG_FLAG(fp16_client_target);
    DUMP_READ_ONLY_FLAG(game_default_frame_rate);
    DUMP_ACONFIG_FLAG(game_default_frame_rate);
    DUMP_READ_ONLY_FLAG(enable_layer_command_batching);
    DUMP_ACONFIG_FLAG(enable_layer_command_batching);
    DUMP_READ_ONLY_FLAG(vulkan_renderengine);
    DUMP_ACONFIG_FLAG(vulkan_renderengine);
    DUMP_READ_ONLY_FLAG(renderable_buffer_usage);
    DUMP_ACONFIG_FLAG(renderable_buffer_usage);
    DUMP_READ_ONLY_FLAG(vrr_bugfix_24q4);
    DUMP_ACONFIG_FLAG(vrr_bugfix_24q4);
    DUMP_READ_ONLY_FLAG(vrr_bugfix_dropped_frame);
    DUMP_ACONFIG_FLAG(vrr_bugfix_dropped_frame);
    DUMP_READ_ONLY_FLAG(restore_blur_step);
    DUMP_ACONFIG_FLAG(restore_blur_step);
    DUMP_READ_ONLY_FLAG(dont_skip_on_early_ro);
    DUMP_ACONFIG_FLAG(dont_skip_on_early_ro);
    DUMP_READ_ONLY_FLAG(no_vsyncs_on_screen_off);
    DUMP_ACONFIG_FLAG(no_vsyncs_on_screen_off);
    DUMP_READ_ONLY_FLAG(protected_if_client);
    DUMP_ACONFIG_FLAG(protected_if_client);
    DUMP_READ_ONLY_FLAG(idle_screen_refresh_rate_timeout);
    DUMP_ACONFIG_FLAG(idle_screen_refresh_rate_timeout);
    DUMP_READ_ONLY_FLAG(graphite_renderengine);
    DUMP_ACONFIG_FLAG(graphite_renderengine);
    DUMP_READ_ONLY_FLAG(filter_frames_before_trace_starts);
    DUMP_ACONFIG_FLAG(filter_frames_before_trace_starts);
    DUMP_READ_ONLY_FLAG(latch_unsignaled_with_auto_refresh_changed);
    DUMP_ACONFIG_FLAG(latch_unsignaled_with_auto_refresh_changed);
    DUMP_READ_ONLY_FLAG(deprecate_vsync_sf);
    DUMP_ACONFIG_FLAG(deprecate_vsync_sf);
    DUMP_READ_ONLY_FLAG(allow_n_vsyncs_in_targeter);
    DUMP_ACONFIG_FLAG(allow_n_vsyncs_in_targeter);
    DUMP_READ_ONLY_FLAG(detached_mirror);
    DUMP_ACONFIG_FLAG(detached_mirror);
    DUMP_READ_ONLY_FLAG(commit_not_composited);
    DUMP_ACONFIG_FLAG(commit_not_composited);
    DUMP_READ_ONLY_FLAG(correct_dpi_with_display_size);
    DUMP_ACONFIG_FLAG(correct_dpi_with_display_size);
    DUMP_READ_ONLY_FLAG(local_tonemap_screenshots);
    DUMP_ACONFIG_FLAG(local_tonemap_screenshots);
    DUMP_READ_ONLY_FLAG(override_trusted_overlay);
    DUMP_ACONFIG_FLAG(override_trusted_overlay);
    DUMP_READ_ONLY_FLAG(flush_buffer_slots_to_uncache);
    DUMP_ACONFIG_FLAG(flush_buffer_slots_to_uncache);
    DUMP_READ_ONLY_FLAG(force_compile_graphite_renderengine);
    DUMP_ACONFIG_FLAG(force_compile_graphite_renderengine);
    DUMP_READ_ONLY_FLAG(trace_frame_rate_override);
    DUMP_ACONFIG_FLAG(trace_frame_rate_override);
    DUMP_READ_ONLY_FLAG(true_hdr_screenshots);
    DUMP_ACONFIG_FLAG(true_hdr_screenshots);
    DUMP_READ_ONLY_FLAG(display_config_error_hal);
    DUMP_ACONFIG_FLAG(display_config_error_hal);
    DUMP_READ_ONLY_FLAG(connected_display_hdr);
    DUMP_ACONFIG_FLAG(connected_display_hdr);
    DUMP_READ_ONLY_FLAG(deprecate_frame_tracker);
    DUMP_ACONFIG_FLAG(deprecate_frame_tracker);
    DUMP_READ_ONLY_FLAG(skip_invisible_windows_in_input);
    DUMP_ACONFIG_FLAG(skip_invisible_windows_in_input);
    DUMP_READ_ONLY_FLAG(begone_bright_hlg);
    DUMP_ACONFIG_FLAG(begone_bright_hlg);


#undef DUMP_READ_ONLY_FLAG
#undef DUMP_ACONFIG_FLAG
#undef DUMP_SERVER_FLAG
#undef DUMP_LEGACY_SERVER_FLAG
#undef DUMP_FLAG_INTERVAL
#undef DUMP_FLAG_INTERVAL
}
}


@@ -189,13 +189,8 @@ bool FlagManager::getServerConfigurableFlag(const char* experimentFlagName) cons
        return getServerConfigurableFlag(serverFlagName);                                   \
        return getServerConfigurableFlag(serverFlagName);                                   \
    }
    }


#define FLAG_MANAGER_FLAG_INTERNAL(name, syspropOverride, checkForBootCompleted, owner)         \
#define FLAG_MANAGER_ACONFIG_INTERNAL(name, syspropOverride, owner)                            \
    bool FlagManager::name() const {                                                           \
    bool FlagManager::name() const {                                                           \
        if (checkForBootCompleted) {                                                            \
            LOG_ALWAYS_FATAL_IF(!mBootCompleted,                                                \
                                "Can't read %s before boot completed as it is server writable", \
                                __func__);                                                      \
        }                                                                                       \
        static const std::optional<bool> debugOverride = getBoolProperty(syspropOverride);     \
        static const std::optional<bool> debugOverride = getBoolProperty(syspropOverride);     \
        static const bool value = getFlagValue([] { return owner ::name(); }, debugOverride);  \
        static const bool value = getFlagValue([] { return owner ::name(); }, debugOverride);  \
        if (mUnitTestMode) {                                                                   \
        if (mUnitTestMode) {                                                                   \
@@ -207,17 +202,11 @@ bool FlagManager::getServerConfigurableFlag(const char* experimentFlagName) cons
        return value;                                                                          \
        return value;                                                                          \
    }
    }


#define FLAG_MANAGER_SERVER_FLAG(name, syspropOverride) \
#define FLAG_MANAGER_ACONFIG_FLAG(name, syspropOverride) \
    FLAG_MANAGER_FLAG_INTERNAL(name, syspropOverride, true, flags)
    FLAG_MANAGER_ACONFIG_INTERNAL(name, syspropOverride, flags)

#define FLAG_MANAGER_READ_ONLY_FLAG(name, syspropOverride) \
    FLAG_MANAGER_FLAG_INTERNAL(name, syspropOverride, false, flags)

#define FLAG_MANAGER_SERVER_FLAG_IMPORTED(name, syspropOverride, owner) \
    FLAG_MANAGER_FLAG_INTERNAL(name, syspropOverride, true, owner)


#define FLAG_MANAGER_READ_ONLY_FLAG_IMPORTED(name, syspropOverride, owner) \
#define FLAG_MANAGER_ACONFIG_FLAG_IMPORTED(name, syspropOverride, owner) \
    FLAG_MANAGER_FLAG_INTERNAL(name, syspropOverride, false, owner)
    FLAG_MANAGER_ACONFIG_INTERNAL(name, syspropOverride, owner)


/// Legacy server flags ///
/// Legacy server flags ///
FLAG_MANAGER_LEGACY_SERVER_FLAG(test_flag, "", "")
FLAG_MANAGER_LEGACY_SERVER_FLAG(test_flag, "", "")
@@ -227,64 +216,64 @@ FLAG_MANAGER_LEGACY_SERVER_FLAG(use_skia_tracing, PROPERTY_SKIA_ATRACE_ENABLED,
                                "SkiaTracingFeature__use_skia_tracing")
                                "SkiaTracingFeature__use_skia_tracing")


/// Trunk stable readonly flags ///
/// Trunk stable readonly flags ///
FLAG_MANAGER_READ_ONLY_FLAG(adpf_fmq_sf, "")
FLAG_MANAGER_ACONFIG_FLAG(adpf_fmq_sf, "")
FLAG_MANAGER_READ_ONLY_FLAG(connected_display, "")
FLAG_MANAGER_ACONFIG_FLAG(connected_display, "")
FLAG_MANAGER_READ_ONLY_FLAG(enable_small_area_detection, "")
FLAG_MANAGER_ACONFIG_FLAG(enable_small_area_detection, "")
FLAG_MANAGER_READ_ONLY_FLAG(stable_edid_ids, "debug.sf.stable_edid_ids")
FLAG_MANAGER_ACONFIG_FLAG(stable_edid_ids, "debug.sf.stable_edid_ids")
FLAG_MANAGER_READ_ONLY_FLAG(frame_rate_category_mrr, "debug.sf.frame_rate_category_mrr")
FLAG_MANAGER_ACONFIG_FLAG(frame_rate_category_mrr, "debug.sf.frame_rate_category_mrr")
FLAG_MANAGER_READ_ONLY_FLAG(misc1, "")
FLAG_MANAGER_ACONFIG_FLAG(misc1, "")
FLAG_MANAGER_READ_ONLY_FLAG(vrr_config, "debug.sf.enable_vrr_config")
FLAG_MANAGER_ACONFIG_FLAG(vrr_config, "debug.sf.enable_vrr_config")
FLAG_MANAGER_READ_ONLY_FLAG(hdcp_level_hal, "")
FLAG_MANAGER_ACONFIG_FLAG(hdcp_level_hal, "")
FLAG_MANAGER_READ_ONLY_FLAG(multithreaded_present, "debug.sf.multithreaded_present")
FLAG_MANAGER_ACONFIG_FLAG(multithreaded_present, "debug.sf.multithreaded_present")
FLAG_MANAGER_READ_ONLY_FLAG(add_sf_skipped_frames_to_trace, "")
FLAG_MANAGER_ACONFIG_FLAG(add_sf_skipped_frames_to_trace, "")
FLAG_MANAGER_READ_ONLY_FLAG(use_known_refresh_rate_for_fps_consistency, "")
FLAG_MANAGER_ACONFIG_FLAG(use_known_refresh_rate_for_fps_consistency, "")
FLAG_MANAGER_READ_ONLY_FLAG(cache_when_source_crop_layer_only_moved,
FLAG_MANAGER_ACONFIG_FLAG(cache_when_source_crop_layer_only_moved,
                          "debug.sf.cache_source_crop_only_moved")
                          "debug.sf.cache_source_crop_only_moved")
FLAG_MANAGER_READ_ONLY_FLAG(enable_fro_dependent_features, "")
FLAG_MANAGER_ACONFIG_FLAG(enable_fro_dependent_features, "")
FLAG_MANAGER_READ_ONLY_FLAG(display_protected, "")
FLAG_MANAGER_ACONFIG_FLAG(display_protected, "")
FLAG_MANAGER_READ_ONLY_FLAG(fp16_client_target, "debug.sf.fp16_client_target")
FLAG_MANAGER_ACONFIG_FLAG(fp16_client_target, "debug.sf.fp16_client_target")
FLAG_MANAGER_READ_ONLY_FLAG(game_default_frame_rate, "")
FLAG_MANAGER_ACONFIG_FLAG(game_default_frame_rate, "")
FLAG_MANAGER_READ_ONLY_FLAG(enable_layer_command_batching, "debug.sf.enable_layer_command_batching")
FLAG_MANAGER_ACONFIG_FLAG(enable_layer_command_batching, "debug.sf.enable_layer_command_batching")
FLAG_MANAGER_READ_ONLY_FLAG(vulkan_renderengine, "debug.renderengine.vulkan")
FLAG_MANAGER_ACONFIG_FLAG(vulkan_renderengine, "debug.renderengine.vulkan")
FLAG_MANAGER_READ_ONLY_FLAG(renderable_buffer_usage, "")
FLAG_MANAGER_ACONFIG_FLAG(renderable_buffer_usage, "")
FLAG_MANAGER_READ_ONLY_FLAG(restore_blur_step, "debug.renderengine.restore_blur_step")
FLAG_MANAGER_ACONFIG_FLAG(restore_blur_step, "debug.renderengine.restore_blur_step")
FLAG_MANAGER_READ_ONLY_FLAG(dont_skip_on_early_ro, "")
FLAG_MANAGER_ACONFIG_FLAG(dont_skip_on_early_ro, "")
FLAG_MANAGER_READ_ONLY_FLAG(no_vsyncs_on_screen_off, "debug.sf.no_vsyncs_on_screen_off")
FLAG_MANAGER_ACONFIG_FLAG(no_vsyncs_on_screen_off, "debug.sf.no_vsyncs_on_screen_off")
FLAG_MANAGER_READ_ONLY_FLAG(protected_if_client, "")
FLAG_MANAGER_ACONFIG_FLAG(protected_if_client, "")
FLAG_MANAGER_READ_ONLY_FLAG(vrr_bugfix_24q4, "");
FLAG_MANAGER_ACONFIG_FLAG(vrr_bugfix_24q4, "");
FLAG_MANAGER_READ_ONLY_FLAG(vrr_bugfix_dropped_frame, "")
FLAG_MANAGER_ACONFIG_FLAG(vrr_bugfix_dropped_frame, "")
FLAG_MANAGER_READ_ONLY_FLAG(graphite_renderengine, "debug.renderengine.graphite")
FLAG_MANAGER_ACONFIG_FLAG(graphite_renderengine, "debug.renderengine.graphite")
FLAG_MANAGER_READ_ONLY_FLAG(filter_frames_before_trace_starts, "")
FLAG_MANAGER_ACONFIG_FLAG(filter_frames_before_trace_starts, "")
FLAG_MANAGER_READ_ONLY_FLAG(latch_unsignaled_with_auto_refresh_changed, "");
FLAG_MANAGER_ACONFIG_FLAG(latch_unsignaled_with_auto_refresh_changed, "");
FLAG_MANAGER_READ_ONLY_FLAG(deprecate_vsync_sf, "");
FLAG_MANAGER_ACONFIG_FLAG(deprecate_vsync_sf, "");
FLAG_MANAGER_READ_ONLY_FLAG(allow_n_vsyncs_in_targeter, "");
FLAG_MANAGER_ACONFIG_FLAG(allow_n_vsyncs_in_targeter, "");
FLAG_MANAGER_READ_ONLY_FLAG(detached_mirror, "");
FLAG_MANAGER_ACONFIG_FLAG(detached_mirror, "");
FLAG_MANAGER_READ_ONLY_FLAG(commit_not_composited, "");
FLAG_MANAGER_ACONFIG_FLAG(commit_not_composited, "");
FLAG_MANAGER_READ_ONLY_FLAG(correct_dpi_with_display_size, "");
FLAG_MANAGER_ACONFIG_FLAG(correct_dpi_with_display_size, "");
FLAG_MANAGER_READ_ONLY_FLAG(local_tonemap_screenshots, "debug.sf.local_tonemap_screenshots");
FLAG_MANAGER_ACONFIG_FLAG(local_tonemap_screenshots, "debug.sf.local_tonemap_screenshots");
FLAG_MANAGER_READ_ONLY_FLAG(override_trusted_overlay, "");
FLAG_MANAGER_ACONFIG_FLAG(override_trusted_overlay, "");
FLAG_MANAGER_READ_ONLY_FLAG(flush_buffer_slots_to_uncache, "");
FLAG_MANAGER_ACONFIG_FLAG(flush_buffer_slots_to_uncache, "");
FLAG_MANAGER_READ_ONLY_FLAG(force_compile_graphite_renderengine, "");
FLAG_MANAGER_ACONFIG_FLAG(force_compile_graphite_renderengine, "");
FLAG_MANAGER_READ_ONLY_FLAG(true_hdr_screenshots, "debug.sf.true_hdr_screenshots");
FLAG_MANAGER_ACONFIG_FLAG(true_hdr_screenshots, "debug.sf.true_hdr_screenshots");
FLAG_MANAGER_READ_ONLY_FLAG(display_config_error_hal, "");
FLAG_MANAGER_ACONFIG_FLAG(display_config_error_hal, "");
FLAG_MANAGER_READ_ONLY_FLAG(connected_display_hdr, "");
FLAG_MANAGER_ACONFIG_FLAG(connected_display_hdr, "");
FLAG_MANAGER_READ_ONLY_FLAG(deprecate_frame_tracker, "");
FLAG_MANAGER_ACONFIG_FLAG(deprecate_frame_tracker, "");
FLAG_MANAGER_READ_ONLY_FLAG(skip_invisible_windows_in_input, "");
FLAG_MANAGER_ACONFIG_FLAG(skip_invisible_windows_in_input, "");
FLAG_MANAGER_READ_ONLY_FLAG(begone_bright_hlg, "debug.sf.begone_bright_hlg");
FLAG_MANAGER_ACONFIG_FLAG(begone_bright_hlg, "debug.sf.begone_bright_hlg");


/// Trunk stable server flags ///
/// Trunk stable server (R/W) flags ///
FLAG_MANAGER_SERVER_FLAG(refresh_rate_overlay_on_external_display, "")
FLAG_MANAGER_ACONFIG_FLAG(refresh_rate_overlay_on_external_display, "")
FLAG_MANAGER_SERVER_FLAG(adpf_gpu_sf, "")
FLAG_MANAGER_ACONFIG_FLAG(adpf_gpu_sf, "")
FLAG_MANAGER_SERVER_FLAG(adpf_native_session_manager, "");
FLAG_MANAGER_ACONFIG_FLAG(adpf_native_session_manager, "");


/// Trunk stable server flags from outside SurfaceFlinger ///
/// Trunk stable server (R/W) flags from outside SurfaceFlinger ///
FLAG_MANAGER_SERVER_FLAG_IMPORTED(adpf_use_fmq_channel, "", android::os)
FLAG_MANAGER_ACONFIG_FLAG_IMPORTED(adpf_use_fmq_channel, "", android::os)


/// Trunk stable readonly flags from outside SurfaceFlinger ///
/// Trunk stable readonly flags from outside SurfaceFlinger ///
FLAG_MANAGER_READ_ONLY_FLAG_IMPORTED(idle_screen_refresh_rate_timeout, "",
FLAG_MANAGER_ACONFIG_FLAG_IMPORTED(idle_screen_refresh_rate_timeout, "",
                                   com::android::server::display::feature::flags)
                                   com::android::server::display::feature::flags)
FLAG_MANAGER_READ_ONLY_FLAG_IMPORTED(adpf_use_fmq_channel_fixed, "", android::os)
FLAG_MANAGER_ACONFIG_FLAG_IMPORTED(adpf_use_fmq_channel_fixed, "", android::os)
FLAG_MANAGER_READ_ONLY_FLAG_IMPORTED(trace_frame_rate_override, "",
FLAG_MANAGER_ACONFIG_FLAG_IMPORTED(trace_frame_rate_override, "",
                                   com::android::graphics::libgui::flags);
                                   com::android::graphics::libgui::flags);


} // namespace android
} // namespace android
+1 −1
Original line number Original line Diff line number Diff line
@@ -47,7 +47,7 @@ public:
    bool use_adpf_cpu_hint() const;
    bool use_adpf_cpu_hint() const;
    bool use_skia_tracing() const;
    bool use_skia_tracing() const;


    /// Trunk stable server flags ///
    /// Trunk stable server (R/W) flags ///
    bool refresh_rate_overlay_on_external_display() const;
    bool refresh_rate_overlay_on_external_display() const;
    bool adpf_gpu_sf() const;
    bool adpf_gpu_sf() const;
    bool adpf_use_fmq_channel() const;
    bool adpf_use_fmq_channel() const;
+0 −6
Original line number Original line Diff line number Diff line
@@ -85,12 +85,6 @@ TEST_F(FlagManagerTest, legacyReturnsValue) {
    EXPECT_EQ(false, mFlagManager.test_flag());
    EXPECT_EQ(false, mFlagManager.test_flag());
}
}


TEST_F(FlagManagerTest, crashesIfQueriedBeforeBoot) {
    mFlagManager.markBootIncomplete();
    EXPECT_DEATH(FlagManager::getInstance()
        .refresh_rate_overlay_on_external_display(), "");
}

TEST_F(FlagManagerTest, returnsOverrideTrue) {
TEST_F(FlagManagerTest, returnsOverrideTrue) {
    mFlagManager.markBootCompleted();
    mFlagManager.markBootCompleted();