Skip to content

Instantly share code, notes, and snippets.

View ruan65's full-sized avatar
🎯
Focusing

Andrew ruan65

🎯
Focusing
View GitHub Profile
syntax="proto3";
message Student {
int32 id = 1;
string name = 2;
}
message Question {
int32 id = 1;
string text = 2;
@ruan65
ruan65 / localization.dart
Created September 1, 2020 09:26
localization example
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
const appSupportedLocales = <Locale>[
Locale('ru'),
Locale('en'),
];
def get_str_of_intervals(arr: []) -> str:
if not arr:
return ''
breaks = []
arr.sort()
start = end = arr[0]
for i in arr[1:]:
diff = i - end
if diff == 1:
end = i
@ruan65
ruan65 / problem_solving.md
Created June 24, 2020 08:58
problem solving

problem solving:

  • think about the big picture

  • if the big picture is visual, do a sketch

  • break the problem into smaller problems

  • brainstorm solutions to those smaller problems

  • experiment

  • solve

  • combine smaller solutions together for a big solution

  • refine overall solution

@ruan65
ruan65 / firebase_storage_image.dart
Created June 7, 2020 05:40
A Widget shows an image downloaded from a Firebase Storage.
import 'package:firebase_storage/firebase_storage.dart';
import 'package:flutter/material.dart';
import 'package:meta/meta.dart';
enum ImageDownloadState { Idle, GettingURL, Downloading, Done, Error }
class FirebaseStorageImage extends StatefulWidget {
/// The reference of the image that has to be loaded.
final StorageReference reference;
/// The widget that will be displayed when loading if no [placeholderImage] is set.
@ruan65
ruan65 / ui_helpers.dart
Last active May 1, 2020 16:54
Flutter UI Helpers
import 'package:flutter/material.dart';
abstract class ScreenSize {
static Size size(BuildContext context) {
return MediaQuery.of(context).size;
}
static double height(BuildContext context,
{double dividedBy = 1, double reducedBy = 0.0}) {
return (ScreenSize.size(context).height - reducedBy) / dividedBy;
@ruan65
ruan65 / autotest.dart
Created April 29, 2020 09:00
flutter autotest example
loginLogoutTest() {
group('app', () {
FlutterDriver driver;
setUpAll(() async {
driver = await FlutterDriver.connect();
});
tearDownAll(() async {
if (driver != null) {
@ruan65
ruan65 / home_screen.dart
Last active December 25, 2019 11:19
Example of screen with DraggableScrollableSheet
import 'package:flutter/material.dart';
import 'package:someapp/commons/screen_size_helpers.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
PersistentBottomSheetController _controller;
@ruan65
ruan65 / dragableBottomSheetExample.dart
Created December 18, 2019 15:53
dragableBottomSheetExample.dart
import 'package:flutter/material.dart';
import 'package:novoadvisor/commons/screen_size_helpers.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
PersistentBottomSheetController _controller;
@ruan65
ruan65 / Flutter_snipets.dart
Last active December 13, 2019 08:41
common use snippets in dart
// To put bottom sheet into Stack (close on back press)
WidgetsBinding.instance.addPostFrameCallback((_) {
_scaffoldKey.currentState.showBottomSheet<void>(_bottomSheetBuilder);
});
// screen sizes
const i5s = Size(320.0, 568.0);
const i8 = Size(375.0, 667.0)
// rounded button