updateCPListItem static method

void updateCPListItem(
  1. CPListItem updatedListItem
)

Implementation

static void updateCPListItem(
  CPListItem updatedListItem,
) {
  flutterToNativeModule(
    FCPChannelTypes.updateListItem,
    updatedListItem.toJson(),
  ).then(
    (value) {
      if (value != true) return;

      for (var h in templateHistory) {
        switch (h) {
          case CPTabBarTemplate _:
            for (var t in h.templates) {
              if (t is CPListTemplate) {
                for (var s in t.sections) {
                  for (var i in s.items) {
                    if (i.uniqueId == updatedListItem.uniqueId &&
                        i is CPListItem) {
                      s.items[s.items.indexOf(i)] = updatedListItem;
                      return;
                    }
                  }
                }
              }
            }
            break;
          case CPListTemplate _:
            for (var s in h.sections) {
              for (var i in s.items) {
                if (i.uniqueId == updatedListItem.uniqueId &&
                    i is CPListItem) {
                  s.items[s.items.indexOf(i)] = updatedListItem;
                  return;
                }
              }
            }
            break;
          default:
        }
      }
    },
  );
}