Skip to content
This repository has been archived by the owner on Sep 11, 2022. It is now read-only.

Commit

Permalink
Update to Flutter 2.10
Browse files Browse the repository at this point in the history
  • Loading branch information
tsinis committed Apr 3, 2022
1 parent 97f7c57 commit 5103b4b
Show file tree
Hide file tree
Showing 132 changed files with 6,095 additions and 638 deletions.
10 changes: 5 additions & 5 deletions README.cz.md
@@ -1,18 +1,18 @@
:globe_with_meridians: [english](README.md) <u>**český**</u> [русский](README.ru.md)

# Steampunk hodinky pro soutěž Flutter Clock :mantelpiece_clock:
# Steampunk hodinky pro soutěž Flutter Clock :mantelpiece_clock

Tento projekt je **jedním z vítězů** ve společné vývojářské/design soutěži firem **Google a Lenovo**, pod názvem “***Flutter Clock***” (s **více než 850** platnými příspěvky z celého světa). Cílem této soutěže bylo vytvoření nejhezčího designu chytrých hodinek Lenovo, za použiti frameworku Flutter, pomocného baličku Flutter Clock Helper a bezplatných/volných nástrojů. Více o soutěži, v anglickém jazyce naleznete na oficiálních stránkách: [flutter.dev/clock](https://flutter.dev/clock)

![Vizualizace Steampunk hodinek](preview.jpg)
![Vizualizace Steampunk hodinek](previews/preview.jpg)

Vytvořil jsem variantu analogových hodinek, v duchu Viktoriánské éry (konec osmnáctého, začátek devatenáctého století). Je to spíše designérská soutěž — proto je tu **hodně detailů a animaci**, vytvořených pomoci nástroje [Rive](https://rive.app) (bývalé Flare).

> **Poznámka:** design je sám o sobě nezávislý na velikosti displeje, tj. aplikaci lze spustit na jakkoli velkém displeji bez ztráty kvality (všechna grafika je připravena ve křivkách), avšak vytvářel jsem ho pro menší displeje, o velikosti cca 4-6’ (tak je velký displej chytrých hodinek Lenovo).
Obsahují tmavé a světlé téma, **kukačku, čtyři "easter egg"** a taky zobrazují počasí a teplotu, získané přes pomocný balíček Flutter Clock Helper. **Ukázku všech hlavních funkci a animaci naleznete v tomto videu:**
Obsahují tmavé a světlé téma, **kukačku, čtyři "easter egg"** a taky zobrazují počasí a teplotu, získané přes pomocný balíček Flutter Clock Helper. Aplikace funguje na všech platformách, které Flutter nabízí, a je plně pokryta testy. **Ukázku všech hlavních funkci a animaci naleznete v tomto videu:**

[![Steampunk hodinky pro soutěž Flutter Clock](https://i.vimeocdn.com/video/857655615_1920x1080.jpg)](https://vimeo.com/tsinis/flutterclock)
[![Steampunk hodinky pro soutěž Flutter Clock](previews/video_preview.jpg)](https://vimeo.com/tsinis/flutterclock)
[Vimeo](https://vimeo.com/tsinis/flutterclock) nebo [YouTube](https://youtu.be/1cwBYMQwRb8)

---
Expand All @@ -24,4 +24,4 @@ Obsahují tmavé a světlé téma, **kukačku, čtyři "easter egg"** a taky zob
* Kód pomocného baličku Flutter Clock Helper se nachází v *nedotčené** složce [flutter_clock_helper](./flutter_clock_helper) tohoto repositáře GitHub.

[* *pouze jsem přesunul soubor LICENCE Googlu, protože je to jejich kód*](./flutter_clock_helper/LICENSE)
[* *pouze jsem aktualizoval kód na null-safety a přesunul soubor LICENCE Googlu, protože je to jejich kód*](./flutter_clock_helper/LICENSE)
10 changes: 5 additions & 5 deletions README.md
@@ -1,17 +1,17 @@
:globe_with_meridians: **<u>english</u>** [český](README.cz.md) [русский](README.ru.md)

# Steampunk Clock for Flutter Clock contest :mantelpiece_clock:
# Steampunk Clock for Flutter Clock contest :mantelpiece_clock

This project is **one of the winning submissions** in **Google's & Lenovo** dev/design contest, called "***Flutter Clock***" (with **over 850** valid entries from around the world). You can read more about this contest here: [flutter.dev/clock](https://flutter.dev/clock)

![Steampunk Clock Visualisation](preview.jpg)
![Steampunk Clock Visualization](previews/preview.jpg)

I've made a analog clock variant, with look and feel of, late 18 or early 19 century. This is mainly design contest, so, there is **a lot of details and animations inside**, made with [Rive](https://rive.app) (ex Flare) tool.
> **Note:** design is screen size independent, because all the graphics is made in vectors (not bitmaps), but I have prepared it with 4-6' screen size in mind (so as big as Lenovo's Smart Clock display).
It has a light theme and a dark theme, **cuckoo bird, four easter eggs** and displays sample weather and temperature data, provided from Flutter Clock Helper package. You can watch a **preview video of it (with main functionality highlight) here:**
It has a light theme and a dark theme, **cuckoo bird, four easter eggs** and displays sample weather and temperature data, provided from Flutter Clock Helper package. App works on all platforms that Flutter offers and fully covered with tests. You can watch a **preview video of it (with main functionality highlight) here:**

[![Steampunk Flutter Clock](https://i.vimeocdn.com/video/857655615_1920x1080.jpg)](https://vimeo.com/tsinis/flutterclock)[Vimeo](https://vimeo.com/tsinis/flutterclock) or [YouTube](https://youtu.be/1cwBYMQwRb8)
[![Steampunk Flutter Clock](previews/video_preview.jpg)](https://vimeo.com/tsinis/flutterclock)[Vimeo](https://vimeo.com/tsinis/flutterclock) or [YouTube](https://youtu.be/1cwBYMQwRb8)

---

Expand All @@ -22,4 +22,4 @@ It has a light theme and a dark theme, **cuckoo bird, four easter eggs** and dis
* For Flutter Clock Helper code, see inside *untouched** [flutter_clock_helper](./flutter_clock_helper) folder, in this GitHub repo.

[* *only moved Google's LICENSE file there, since that is their code.*](./flutter_clock_helper/LICENSE)
[* *only updated the code to null-safety and moved Google's LICENSE file there, since that is their code.*](./flutter_clock_helper/LICENSE)
10 changes: 5 additions & 5 deletions README.ru.md
@@ -1,17 +1,17 @@
:globe_with_meridians: [english](README.md) [český](README.cz.md) **<u>русский</u>**

# Стимпанк часы для конкурса Flutter Clock :mantelpiece_clock:
# Стимпанк часы для конкурса Flutter Clock :mantelpiece_clock

Этот проект является **одним из победителей** совместного конкурса, компаний **Google и Lenovo**, под названием «***Flutter Clock***» (с участием **более чем 850** действительных проектов со всего мира). Условием которого была разработка лучшего дизайна часов, при использовании только вспомогательного пакета, предоставленного фирмой Google и бесплатных/свободных инструментов. Больше сведений, на английском языке, вы можете найти на главной странице конкурса: [flutter.dev/clock](https://flutter.dev/clock)

![Визуализация Стимпанк часов](preview.jpg)
![Визуализация Стимпанк часов](previews/preview.jpg)

Созданный мною дизайн аналоговых часов напоминает Викторианскую эпоху (конец восемнадцатого, начало девятнадцатого веков). Так как это скорее конкурс по дизайну, то тут вы найдёте **большое количество анимации и деталей**, созданных при помощи инструмента [Rive](https://rive.app) (бывший Flare).
> **Примечание:** дизайн является масштабируемым (то-есть вы можете запустить приложение на любом дисплее без потери качества), так как вся графика тут векторная (не растровая), но он создавался скорее для меньших дисплеев (примерно 4-6’, таких же как и размер дисплея умных часов Lenovo).
В приложении есть светлая и тёмная тема, **кукушка, четыре пасхалки** а так же они показывают температуру и погоду, переданные через вспомогательный пакет Flutter Clock Helper. **Видео, показывающие главные особенности этих часов вы можете посмотреть по этой ссылке:**
В приложении есть светлая и тёмная тема, **кукушка, четыре пасхалки** а так же они показывают температуру и погоду, переданные через вспомогательный пакет Flutter Clock Helper. Приложение работает на всех платформах, которые предлагает Flutter, и полностью покрыто тестами. **Видео, показывающие главные особенности этих часов вы можете посмотреть по этой ссылке:**

[![Стимпанк часы для конкурса Flutter Clock](https://i.vimeocdn.com/video/857655615_1920x1080.jpg)](https://vimeo.com/tsinis/flutterclock)
[![Стимпанк часы для конкурса Flutter Clock](previews/video_preview.jpg)](https://vimeo.com/tsinis/flutterclock)
[Vimeo](https://vimeo.com/tsinis/flutterclock) или [YouTube](https://youtu.be/1cwBYMQwRb8)

---
Expand All @@ -23,4 +23,4 @@
* Код вспомогательного пакета Flutter Clock Helper находится в *нетронутой** папке [flutter_clock_helper](./flutter_clock_helper) в этом репозитории GitHub.

[* *лишь переместил туда файл ЛИЦЕНЗИИ Google, так как это их код.*](./flutter_clock_helper/LICENSE)
[* *лишь обновил код на null-safety и переместил туда файл ЛИЦЕНЗИИ Google, так как это их код.*](./flutter_clock_helper/LICENSE)
85 changes: 26 additions & 59 deletions analog_clock/README.cz.md
Expand Up @@ -2,23 +2,23 @@

# Kód projektu steampunkových hodinek Flutter Clock

## Obsah:
## Obsah

* [Popis](#Popis)
* [Licence](#Licence)
* [Záběry ze skutečných zařízení](#Záběry-ze-skutečných-zařízení)
* [Změny](#Změny)
* [Vydání](#Vydání)
* [Známé problémy](#Známé-problémy)
* [Generovaní APK souborů](#Generovaní-APK-souborů)
* [Chabý výkon některých zařízeních](#Chabý-výkon)
* [Technická data](#Technická-data)
* [Testy](#Testy)

![Screenshot](screenshot.jpg)

## Popis

Tady naleznete kód tohoto projektu Steampankových hodinek pro soutěž Flutter Clock, Kód se řidí pravidly soutěže, které jsou k dispozici na webu, v anglickém jazyce: [flutter.dev/clock](https://flutter.dev/clock).

## Licence

Kód je licencován na základě příslušné licence s otevřeným zdrojovým kódem (licence BSD tzv. Kalifornské univerzity v Berkeley), podklady ve složce [assets](./assets) jsou licencována s licencí CC BY 4.0 a písmo ve složce [third_party](./third_party), obsahuje licenci OFL. Soubor s názvem LICENSE najdete uvnitř adresářů, který obsahuje kopii licence, s plným textem této licence, v anglickém jazyce.

## Záběry ze skutečných zařízení
Expand All @@ -40,16 +40,21 @@ SHA-1: ```0CFCDFE7EA241C304CA694CC376983F11B1C6E6D```
[iCloud](https://www.icloud.com/iclouddrive/0BYofNXgp-nZoBJBiTW_gIJlg#20200121%5F143234)

## Změny

Hlavní změny oproti původnímu kódu, z příkladu analogových hodinek, poskynutého firmou Google:

* odstraněný nevyužité soubory a složky,
* v tomto [kořenovém](./) adresáři:
* úpraven [.gitignore](./.gitignore) soubor,
* přidány [README.md](./README.md) soubory v různých jazycích,
* do [pubspec.yaml](./pubspec.yaml) přidány — závislost [Rive](https://rive.app) (bývalé Flare), upraven popis a verze SDK byla zvýšena na 2.7.0,
* úpraven [.gitignore](./.gitignore) soubor,
* přidány linty do souboru [analysis_options.yaml](./analysis_options.yaml),
* přidány runnery pro všechny platformy,
* testy byly přidány do složky [test](./test) a jejich pokrytí do složky [coverage](./coverage),
* přidány [README.md](./README.md) soubory v různých jazycích,
* do [pubspec.yaml](./pubspec.yaml) přidány — závislost [Rive](https://rive.app) (bývalé Flare), testovací a lint závislosti, upraven popis a verze SDK byla zvýšena na 2.16.0,
* v [lib](./lib) adresáři:
* [main.dart](./lib/main.dart) — přidán celoobrazovkový řežím a orientace na šířku, ukládaní animaci do mezipaměti, zbytek beze změn,
* [analog_clock.dart](./lib/analog_clock.dart) — odstraněné nevyužité proměnné, deklarován ovladač animaci a změnený dvě metody, zbytek beze změn,
* přidány soubory [animation_controller.dart](./lib/animation_controller.dart) a [temperature_converter.dart](./lib/temperature_converter.dart),
* [main.dart](./lib/main.dart) — přidán celoobrazovkový řežím a orientace na šířku, ukládaní animaci do mezipaměti, zbytek beze změn,
* [analog_clock.dart](./lib/analog_clock.dart) — odstraněné nevyužité proměnné, deklarován ovladač animaci a změnený dvě metody, zbytek beze změn,
* přidány soubory [time_animation_controller.dart](./lib/time_animation_controller.dart) a [temperature_converter.dart](./lib/temperature_converter.dart),
* složka [assets](./assets) — nevyužita grafika vyměněna za soubor animace,
* složka [ios](./ios) — nastavená orientace na šířku pro iOS zařízeni, vygenerován unikátní název,
* složka [android](./android) — upraven [build.gradle](./android/build.gradle) soubor (viz Známé problémy),
Expand All @@ -59,53 +64,15 @@ Hlavní změny oproti původnímu kódu, z příkladu analogových hodinek, posk

## Vydání

Binární spouštěcí soubory najdete v části [Releases](https://github.com/tsinis/flutter_clock/releases) tohoto repozitáře GitHub. Přidávám je postupně.
Binární spouštěcí soubory najdete v části [Releases](https://github.com/tsinis/flutter_clock/releases) tohoto repozitáře GitHub.

## Známé problémy
Na platformě Android se mohou vyskytovat tyto problémy:
#### Generovaní APK souborů
Vygenerovaní jakéhokoliv typu APK souboru je ukončeno s chybou v terminálu. Opravou slouží následující úprava závislosti v buildscript’u, souboru [build.gradle](./android/build.gradle), ve složce android. Poslední známa funkční verze byla 3.4.2, proto změňte řádek číslo devět z:
```markdown
classpath 'com.android.tools.build:gradle:3.5.0'
```
na:
```markdown
classpath 'com.android.tools.build:gradle:3.4.2'
```
Potíže by měli tímto zmizet.
#### Chabý výkon
Všechny animace jsou nastavené na frekvencí snímku do **25 FPS**, ale v tuto chvíli (leden 2020), na některých Android zařízeních, nejsou animace plynulé. Je tady hned několik otevřených případů v [Issues](https://github.com/2d-inc/Flare-Flutter/issues), repositáře flare_flutter, které se tohoto problému tykají a Rive tým se problémem zabývá, spolu s týmem Skia, tak že v závislosti na tom, kdy toto čtete se u vás problém může nebo nemusí projevit. Pokud ale přece jenom výsledný FPS není dostačující — zkuste v závislostech změnit oficiální baliček flare_flutter na [můj fork](https://github.com/tsinis/flare-flutter) verze 2.0.1, s vypnutým vyhlazováním. Uvnitř [pubspec.yaml](./pubspec.yaml) (v tomto kořenovém adresáři) změňte řádek:
```markdown
flare_flutter: ^2.0.1
## Testy

Aplikace je na 100% pokryta unit/widget testy (report je [./coverage](./coverage/html/)) nebo generujte pomocí*:

```bash
flutter test --coverage
genhtml coverage/lcov.info -o coverage/html'
```
na:
````markdown
flare_flutter:
git:
url: git://github.com/tsinis/Flare-Flutter.git
ref: stable
path: flare_flutter
````
> **Poznámka:** tento problém s největší pravděpodobnosti závislý na zařízeni, jelikož se mi povedlo úspěšně spustit aplikaci na tabletu z roku 2013 (se systémem Android), bez jakýchkoliv velkých propadů FPS, viz [Záběry ze skutečných zařízení](#Záběry-ze-skutečných-zařízení).
**Na zařízeních se systémem iOS (iPhony) jsem žádné problémy nezaznamenal**, ale v každém případě budu rád za reporty nebo rády k optimalizaci, v Issues sekci.
## Technická data

| Název | Popis |
| ---- | ----------- |
| **Název frameworku** | [Flutter](https://flutter.dev) |
| Verze frameworku | [1.12.13+hotfix.5](https://github.com/flutter/flutter) |
| Kanál frameworku | stabilní |
| **Název jazyka** | [Dart](https://dart.dev) |
| Verze jazyka | [2.7.0](https://github.com/dart-lang) |
| Kanál jazyka | stabilní |
| **Název vývojového prostředí** | [Visual Studio Code](https://code.visualstudio.com/insiders/) |
| Verze vývojového prostředí | [1.42.0](https://github.com/microsoft/vscode) |
| Kanál vývojového prostředí | předběžný |
| Název závislosti **první** strany | Flutter Clock Helper |
| Balíček závislosti **první** strany | [flutter_clock_helper](../flutter_clock_helper) |
| Název závislosti třetí strany | [Rive](https://rive.app) (bývalé Flare) |
| Balíček závislosti třetí strany | [flare_flutter](https://pub.dev/packages/flare_flutter) |
| Verze závislosti třetí strany | [2.0.1](https://github.com/2d-inc/Flare-Flutter) |
| Kanál závislosti třetí strany | stabilní |
| Architektura | Výchozí (posluchač) |
> vyžaduje nainstalovaný lcov*

0 comments on commit 5103b4b

Please sign in to comment.