You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 11, 2022. It is now read-only.
# Steampunk hodinky pro soutěž Flutter Clock :mantelpiece_clock:
3
+
# Steampunk hodinky pro soutěž Flutter Clock :mantelpiece_clock
4
4
5
5
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)
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).
10
10
11
11
> **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).
12
12
13
-
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:**
13
+
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:**
14
14
15
-
[](https://vimeo.com/tsinis/flutterclock)
15
+
[](https://vimeo.com/tsinis/flutterclock)
16
16
[Vimeo](https://vimeo.com/tsinis/flutterclock) nebo [YouTube](https://youtu.be/1cwBYMQwRb8)
17
17
18
18
---
@@ -24,4 +24,4 @@ Obsahují tmavé a světlé téma, **kukačku, čtyři "easter egg"** a taky zob
24
24
25
25
* 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.
26
26
27
-
[**pouze jsem přesunul soubor LICENCE Googlu, protože je to jejich kód*](./flutter_clock_helper/LICENSE)
27
+
[**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)
# Steampunk Clock for Flutter Clock contest :mantelpiece_clock:
3
+
# Steampunk Clock for Flutter Clock contest :mantelpiece_clock
4
4
5
5
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)
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.
10
10
> **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).
11
11
12
-
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:**
12
+
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:**
13
13
14
-
[](https://vimeo.com/tsinis/flutterclock)[Vimeo](https://vimeo.com/tsinis/flutterclock) or [YouTube](https://youtu.be/1cwBYMQwRb8)
14
+
[](https://vimeo.com/tsinis/flutterclock)[Vimeo](https://vimeo.com/tsinis/flutterclock) or [YouTube](https://youtu.be/1cwBYMQwRb8)
15
15
16
16
---
17
17
@@ -22,4 +22,4 @@ It has a light theme and a dark theme, **cuckoo bird, four easter eggs** and dis
22
22
23
23
* For Flutter Clock Helper code, see inside *untouched**[flutter_clock_helper](./flutter_clock_helper) folder, in this GitHub repo.
24
24
25
-
[**only moved Google's LICENSE file there, since that is their code.*](./flutter_clock_helper/LICENSE)
25
+
[**only updated the code to null-safety and moved Google's LICENSE file there, since that is their code.*](./flutter_clock_helper/LICENSE)
# Стимпанк часы для конкурса Flutter Clock :mantelpiece_clock:
3
+
# Стимпанк часы для конкурса Flutter Clock :mantelpiece_clock
4
4
5
5
Этот проект является **одним из победителей** совместного конкурса, компаний **Google и Lenovo**, под названием «***Flutter Clock***» (с участием **более чем 850** действительных проектов со всего мира). Условием которого была разработка лучшего дизайна часов, при использовании только вспомогательного пакета, предоставленного фирмой Google и бесплатных/свободных инструментов. Больше сведений, на английском языке, вы можете найти на главной странице конкурса: [flutter.dev/clock](https://flutter.dev/clock)
Созданный мною дизайн аналоговых часов напоминает Викторианскую эпоху (конец восемнадцатого, начало девятнадцатого веков). Так как это скорее конкурс по дизайну, то тут вы найдёте **большое количество анимации и деталей**, созданных при помощи инструмента [Rive](https://rive.app) (бывший Flare).
10
10
> **Примечание:** дизайн является масштабируемым (то-есть вы можете запустить приложение на любом дисплее без потери качества), так как вся графика тут векторная (не растровая), но он создавался скорее для меньших дисплеев (примерно 4-6’, таких же как и размер дисплея умных часов Lenovo).
11
11
12
-
В приложении есть светлая и тёмная тема, **кукушка, четыре пасхалки** а так же они показывают температуру и погоду, переданные через вспомогательный пакет Flutter Clock Helper. **Видео, показывающие главные особенности этих часов вы можете посмотреть по этой ссылке:**
12
+
В приложении есть светлая и тёмная тема, **кукушка, четыре пасхалки** а так же они показывают температуру и погоду, переданные через вспомогательный пакет Flutter Clock Helper. Приложение работает на всех платформах, которые предлагает Flutter, и полностью покрыто тестами. **Видео, показывающие главные особенности этих часов вы можете посмотреть по этой ссылке:**
13
13
14
-
[](https://vimeo.com/tsinis/flutterclock)
14
+
[](https://vimeo.com/tsinis/flutterclock)
15
15
[Vimeo](https://vimeo.com/tsinis/flutterclock) или [YouTube](https://youtu.be/1cwBYMQwRb8)
16
16
17
17
---
@@ -23,4 +23,4 @@
23
23
24
24
* Код вспомогательного пакета Flutter Clock Helper находится в *нетронутой** папке [flutter_clock_helper](./flutter_clock_helper) в этом репозитории GitHub.
25
25
26
-
[**лишь переместил туда файл ЛИЦЕНЗИИ Google, так как это их код.*](./flutter_clock_helper/LICENSE)
26
+
[**лишь обновил код на null-safety и переместил туда файл ЛИЦЕНЗИИ Google, так как это их код.*](./flutter_clock_helper/LICENSE)
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).
20
19
21
20
## Licence
21
+
22
22
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.
Hlavní změny oproti původnímu kódu, z příkladu analogových hodinek, poskynutého firmou Google:
45
+
44
46
* odstraněný nevyužité soubory a složky,
45
47
* v tomto [kořenovém](./) adresáři:
46
-
* úpraven [.gitignore](./.gitignore) soubor,
47
-
* přidány [README.md](./README.md) soubory v různých jazycích,
48
-
* 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,
48
+
* úpraven [.gitignore](./.gitignore) soubor,
49
+
* přidány linty do souboru [analysis_options.yaml](./analysis_options.yaml),
50
+
* přidány runnery pro všechny platformy,
51
+
* testy byly přidány do složky [test](./test) a jejich pokrytí do složky [coverage](./coverage),
52
+
* přidány [README.md](./README.md) soubory v různých jazycích,
53
+
* 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,
49
54
* v [lib](./lib) adresáři:
50
-
*[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,
51
-
*[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,
52
-
* přidány soubory [animation_controller.dart](./lib/animation_controller.dart) a [temperature_converter.dart](./lib/temperature_converter.dart),
55
+
*[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,
56
+
*[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,
57
+
* přidány soubory [time_animation_controller.dart](./lib/time_animation_controller.dart) a [temperature_converter.dart](./lib/temperature_converter.dart),
53
58
* složka [assets](./assets) — nevyužita grafika vyměněna za soubor animace,
54
59
* složka [ios](./ios) — nastavená orientace na šířku pro iOS zařízeni, vygenerován unikátní název,
55
60
* složka [android](./android) — upraven [build.gradle](./android/build.gradle) soubor (viz Známé problémy),
@@ -59,53 +64,15 @@ Hlavní změny oproti původnímu kódu, z příkladu analogových hodinek, posk
59
64
60
65
## Vydání
61
66
62
-
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ě.
67
+
Binární spouštěcí soubory najdete v části [Releases](https://github.com/tsinis/flutter_clock/releases) tohoto repozitáře GitHub.
63
68
64
-
## Známé problémy
65
-
Na platformě Android se mohou vyskytovat tyto problémy:
66
-
#### Generovaní APK souborů
67
-
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:
68
-
```markdown
69
-
classpath 'com.android.tools.build:gradle:3.5.0'
70
-
```
71
-
na:
72
-
```markdown
73
-
classpath 'com.android.tools.build:gradle:3.4.2'
74
-
```
75
-
Potíže by měli tímto zmizet.
76
-
#### Chabý výkon
77
-
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:
78
-
```markdown
79
-
flare_flutter: ^2.0.1
69
+
## Testy
70
+
71
+
Aplikace je na 100% pokryta unit/widget testy (report je [./coverage](./coverage/html/)) nebo generujte pomocí*:
72
+
73
+
```bash
74
+
flutter test --coverage
75
+
genhtml coverage/lcov.info -o coverage/html'
80
76
```
81
-
na:
82
-
````markdown
83
-
flare_flutter:
84
-
git:
85
-
url: git://github.com/tsinis/Flare-Flutter.git
86
-
ref: stable
87
-
path: flare_flutter
88
-
````
89
-
> **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í).
90
-
91
-
**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.
0 commit comments