getQpcV4BlocksForPageSync method

List<QpcV4RenderBlock> getQpcV4BlocksForPageSync(
  1. int pageNumber
)

Implementation

List<QpcV4RenderBlock> getQpcV4BlocksForPageSync(int pageNumber) {
  final cached = _qpcV4BlocksByPage[pageNumber];
  if (cached != null) return cached;
  log('Building QPC v4 blocks for page $pageNumber synchronously',
      name: 'QPCv4');

  // تجنّب البناء المتزامن داخل build للصفحة (يسبب jank).
  // إذا لم تكن الصفحة جاهزة، نعطي أولوية لبناء هذه الصفحة (والمجاورة) أولاً،
  // ثم نطلق التحضير الكامل في الخلفية.
  if (isQpcV4Enabled) {
    Future(() async {
      // يبني الصفحة المطلوبة + صفحات مجاورة بسرعة لتحسين تجربة الفتح على صفحة بعيدة.
      await prewarmQpcV4Pages(pageNumber - 1);
      // التحضير الكامل يتم فقط بعد خمول، لتقليل التقطيع أثناء السحب.
    });
  }

  return const <QpcV4RenderBlock>[];
}