Skip to content

Instantly share code, notes, and snippets.

View pagetronic's full-sized avatar
👮‍♂️
Restructuration !

Laurent PAGE pagetronic

👮‍♂️
Restructuration !
View GitHub Profile
import 'dart:async';
class Deferrer {
final int milliseconds;
Future? _next;
Deferrer(this.milliseconds);
void defer(void Function() toDo) {
Future? next_;
@pagetronic
pagetronic / aync.dart
Created November 1, 2023 10:54
FutureOrBuilder
import 'dart:async';
import 'package:flutter/widgets.dart';
class FutureOrBuilder<T> extends StatelessWidget {
final FutureOr<T?> future;
final Widget Function(BuildContext context, AsyncSnapshot<T?> snapshot) builder;
const FutureOrBuilder({super.key, required this.builder, required this.future});
@pagetronic
pagetronic / color_picker.dart
Last active October 24, 2023 11:04
Simple color picker for Flutter
import 'dart:math';
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
class ColorPicker extends StatefulWidget {
final ValueNotifier<Color?> color;
const ColorPicker({super.key, required this.color});
@pagetronic
pagetronic / events.dart
Last active October 6, 2023 13:09
Flutter Big SQLite && Big ListView with low memory consumption
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
import '../../map/utils/geojson.dart';
import 'objs.dart';
class Event extends DbObject {
String? asset;
int? surface;
int? regna;
int? event;
@pagetronic
pagetronic / ShortsModels.java
Created January 31, 2022 16:08
Intent modeler
package fr.gendarmerie.docpro.settings.shortcuts;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ShortcutInfo;
import android.graphics.drawable.Icon;
import androidx.annotation.Nullable;
import org.apache.commons.lang3.StringUtils;
/*
* Public Domain @ CPMGN
* Centre de Production Multimédia de la Gendarmerie Nationale
*/
package com.agroneo.grow.system.utils;
import android.os.Handler;
import android.os.Looper;
import java.util.concurrent.ExecutorService;
/*
* Copyright 2019 Laurent PAGE, Apache Licence 2.0
*/
package com.agroneo.grow.system.utils;
import android.text.Html;
import android.text.Spanned;
import androidx.annotation.NonNull;
@pagetronic
pagetronic / copyfuckers.js
Last active May 18, 2018 06:21
Add source link to copy/paste copyfuckers
var copy = function () {
var article = document.getElementById('article');
if (article != null) {
article.addEventListener('copy', function (e) {
e.preventDefault();
try {
var selection = window.getSelection();
e.clipboardData.setData('text/plain', $('<div/>').html(selection + "").text() + "\n\n" + 'Source: ' + document.location.href);
e.clipboardData.setData('text/html', selection + '<br /><br />Source: <a href="' + document.location.href + '">' + document.title + '</a>');
@pagetronic
pagetronic / Aggregator.java
Created May 18, 2018 06:02
Aggregator exemples MongoDb
package live.page.base.db;
import com.mongodb.client.model.Accumulators;
import com.mongodb.client.model.BsonField;
import live.page.base.utils.Json;
import java.util.ArrayList;
import java.util.List;
public class Aggregator extends ArrayList<BsonField> {
@pagetronic
pagetronic / TropicosApi.java
Created May 16, 2018 16:36
Import Tropicos Mobot data from Tropicos service Api
package gaia.mobot;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.model.Accumulators;
import com.mongodb.client.model.Aggregates;
import com.mongodb.client.model.Filters;