Skip to content

Instantly share code, notes, and snippets.

View CORDEA's full-sized avatar
👻
I may be slow to respond.

Yoshihiro Tanaka CORDEA

👻
I may be slow to respond.
View GitHub Profile
@CORDEA
CORDEA / Dockerfile
Created December 9, 2023 04:12
Run flutter test on Ubuntu on Apple Silicon Mac
FROM --platform=linux/arm64 ubuntu:latest
ARG FLUTTER_VERSION
ENV FLUTTER_VERSION=${FLUTTER_VERSION:-stable}
WORKDIR /home
RUN apt-get update && apt-get install -y unzip curl git
RUN git clone --depth 1 --branch ${FLUTTER_VERSION} https://github.com/flutter/flutter
RUN ./flutter/bin/flutter doctor
ENV PATH="${PATH}:/home/flutter/bin"
#!/bin/bash
# encoding:utf-8
readonly default=master
messages=$(git log @{push}..@ --format=%h%s 2> /dev/null || git log $default..@ --format=%h%s)
while read line; do
hash=$(echo $line | head -c 7)
msg=$(echo $line | tail -c +8)
words=$(echo $msg | wc -w)
@CORDEA
CORDEA / README.md
Last active September 30, 2023 04:54

Align store badges

Large

Download on the App Store Get it on Google Play
@CORDEA
CORDEA / config.yml
Created November 12, 2022 05:22
Minimal configuration to suppress non configuration file errors on CircleCI
version: 2.1
jobs:
empty:
docker:
- image: busybox:latest
steps:
- run: |
true
final result = await Navigator.push(
context,
MaterialPageResultPropagationRoute<bool>(
builder: (context, sink) => Foo(
resultSink: sink,
),
),
);
print(result);
ElevatedButton(
onPressed: () {
setState(() {
following = !following;
});
widget.resultSink.emit(following);
},
child: ...,
),
class MaterialPageResultPropagationRoute<T> extends PageRoute<T>
with MaterialRouteTransitionMixin<T> {
MaterialPageResultPropagationRoute({required this.builder});
final ResultPropagationWidgetBuilder<T> builder;
late _MaterialPageResultSource<T> _resultSource;
@override
Widget buildContent(BuildContext context) {
_resultSource = _MaterialPageResultSource();
abstract class MaterialPageResultSink<T> {
void emit(T result);
}
class _MaterialPageResultSource<T> implements MaterialPageResultSink<T> {
T? _result;
@override
void emit(T result) {
_result = result;
class FooMaterialPageRoute<T> extends PageRoute<T>
with MaterialRouteTransitionMixin<T> {
@override
Widget buildContent(BuildContext context) {
return builder(context);
}
@override
bool didPop(T? result) {
final result = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const Foo(),
),
);
print(result);