Jonatas

clean GetBuilder

@@ -28,7 +28,7 @@ packages: @@ -28,7 +28,7 @@ packages:
28 name: async 28 name: async
29 url: "https://pub.dartlang.org" 29 url: "https://pub.dartlang.org"
30 source: hosted 30 source: hosted
31 - version: "2.4.2" 31 + version: "2.5.0-nullsafety"
32 bloc: 32 bloc:
33 dependency: "direct main" 33 dependency: "direct main"
34 description: 34 description:
@@ -42,7 +42,7 @@ packages: @@ -42,7 +42,7 @@ packages:
42 name: boolean_selector 42 name: boolean_selector
43 url: "https://pub.dartlang.org" 43 url: "https://pub.dartlang.org"
44 source: hosted 44 source: hosted
45 - version: "2.0.0" 45 + version: "2.1.0-nullsafety"
46 build: 46 build:
47 dependency: transitive 47 dependency: transitive
48 description: 48 description:
@@ -105,14 +105,14 @@ packages: @@ -105,14 +105,14 @@ packages:
105 name: characters 105 name: characters
106 url: "https://pub.dartlang.org" 106 url: "https://pub.dartlang.org"
107 source: hosted 107 source: hosted
108 - version: "1.1.0-nullsafety" 108 + version: "1.1.0-nullsafety.2"
109 charcode: 109 charcode:
110 dependency: transitive 110 dependency: transitive
111 description: 111 description:
112 name: charcode 112 name: charcode
113 url: "https://pub.dartlang.org" 113 url: "https://pub.dartlang.org"
114 source: hosted 114 source: hosted
115 - version: "1.1.3" 115 + version: "1.2.0-nullsafety"
116 checked_yaml: 116 checked_yaml:
117 dependency: transitive 117 dependency: transitive
118 description: 118 description:
@@ -126,7 +126,7 @@ packages: @@ -126,7 +126,7 @@ packages:
126 name: clock 126 name: clock
127 url: "https://pub.dartlang.org" 127 url: "https://pub.dartlang.org"
128 source: hosted 128 source: hosted
129 - version: "1.0.1" 129 + version: "1.1.0-nullsafety"
130 code_builder: 130 code_builder:
131 dependency: transitive 131 dependency: transitive
132 description: 132 description:
@@ -140,7 +140,7 @@ packages: @@ -140,7 +140,7 @@ packages:
140 name: collection 140 name: collection
141 url: "https://pub.dartlang.org" 141 url: "https://pub.dartlang.org"
142 source: hosted 142 source: hosted
143 - version: "1.15.0-nullsafety" 143 + version: "1.15.0-nullsafety.2"
144 convert: 144 convert:
145 dependency: transitive 145 dependency: transitive
146 description: 146 description:
@@ -189,7 +189,7 @@ packages: @@ -189,7 +189,7 @@ packages:
189 name: fake_async 189 name: fake_async
190 url: "https://pub.dartlang.org" 190 url: "https://pub.dartlang.org"
191 source: hosted 191 source: hosted
192 - version: "1.1.0" 192 + version: "1.1.0-nullsafety"
193 fixnum: 193 fixnum:
194 dependency: transitive 194 dependency: transitive
195 description: 195 description:
@@ -304,14 +304,14 @@ packages: @@ -304,14 +304,14 @@ packages:
304 name: matcher 304 name: matcher
305 url: "https://pub.dartlang.org" 305 url: "https://pub.dartlang.org"
306 source: hosted 306 source: hosted
307 - version: "0.12.8" 307 + version: "0.12.10-nullsafety"
308 meta: 308 meta:
309 dependency: "direct main" 309 dependency: "direct main"
310 description: 310 description:
311 name: meta 311 name: meta
312 url: "https://pub.dartlang.org" 312 url: "https://pub.dartlang.org"
313 source: hosted 313 source: hosted
314 - version: "1.3.0-nullsafety" 314 + version: "1.3.0-nullsafety.2"
315 mime: 315 mime:
316 dependency: transitive 316 dependency: transitive
317 description: 317 description:
@@ -367,7 +367,7 @@ packages: @@ -367,7 +367,7 @@ packages:
367 name: path 367 name: path
368 url: "https://pub.dartlang.org" 368 url: "https://pub.dartlang.org"
369 source: hosted 369 source: hosted
370 - version: "1.7.0" 370 + version: "1.8.0-nullsafety"
371 pedantic: 371 pedantic:
372 dependency: transitive 372 dependency: transitive
373 description: 373 description:
@@ -456,21 +456,21 @@ packages: @@ -456,21 +456,21 @@ packages:
456 name: source_span 456 name: source_span
457 url: "https://pub.dartlang.org" 457 url: "https://pub.dartlang.org"
458 source: hosted 458 source: hosted
459 - version: "1.7.0" 459 + version: "1.8.0-nullsafety"
460 stack_trace: 460 stack_trace:
461 dependency: transitive 461 dependency: transitive
462 description: 462 description:
463 name: stack_trace 463 name: stack_trace
464 url: "https://pub.dartlang.org" 464 url: "https://pub.dartlang.org"
465 source: hosted 465 source: hosted
466 - version: "1.9.5" 466 + version: "1.10.0-nullsafety"
467 stream_channel: 467 stream_channel:
468 dependency: transitive 468 dependency: transitive
469 description: 469 description:
470 name: stream_channel 470 name: stream_channel
471 url: "https://pub.dartlang.org" 471 url: "https://pub.dartlang.org"
472 source: hosted 472 source: hosted
473 - version: "2.0.0" 473 + version: "2.1.0-nullsafety"
474 stream_transform: 474 stream_transform:
475 dependency: transitive 475 dependency: transitive
476 description: 476 description:
@@ -484,21 +484,21 @@ packages: @@ -484,21 +484,21 @@ packages:
484 name: string_scanner 484 name: string_scanner
485 url: "https://pub.dartlang.org" 485 url: "https://pub.dartlang.org"
486 source: hosted 486 source: hosted
487 - version: "1.0.5" 487 + version: "1.1.0-nullsafety"
488 term_glyph: 488 term_glyph:
489 dependency: transitive 489 dependency: transitive
490 description: 490 description:
491 name: term_glyph 491 name: term_glyph
492 url: "https://pub.dartlang.org" 492 url: "https://pub.dartlang.org"
493 source: hosted 493 source: hosted
494 - version: "1.1.0" 494 + version: "1.2.0-nullsafety"
495 test_api: 495 test_api:
496 dependency: transitive 496 dependency: transitive
497 description: 497 description:
498 name: test_api 498 name: test_api
499 url: "https://pub.dartlang.org" 499 url: "https://pub.dartlang.org"
500 source: hosted 500 source: hosted
501 - version: "0.2.17" 501 + version: "0.2.19-nullsafety"
502 timing: 502 timing:
503 dependency: transitive 503 dependency: transitive
504 description: 504 description:
@@ -512,7 +512,7 @@ packages: @@ -512,7 +512,7 @@ packages:
512 name: typed_data 512 name: typed_data
513 url: "https://pub.dartlang.org" 513 url: "https://pub.dartlang.org"
514 source: hosted 514 source: hosted
515 - version: "1.3.0-nullsafety" 515 + version: "1.3.0-nullsafety.2"
516 uuid: 516 uuid:
517 dependency: "direct main" 517 dependency: "direct main"
518 description: 518 description:
@@ -526,7 +526,7 @@ packages: @@ -526,7 +526,7 @@ packages:
526 name: vector_math 526 name: vector_math
527 url: "https://pub.dartlang.org" 527 url: "https://pub.dartlang.org"
528 source: hosted 528 source: hosted
529 - version: "2.1.0-nullsafety" 529 + version: "2.1.0-nullsafety.2"
530 watcher: 530 watcher:
531 dependency: transitive 531 dependency: transitive
532 description: 532 description:
@@ -549,5 +549,5 @@ packages: @@ -549,5 +549,5 @@ packages:
549 source: hosted 549 source: hosted
550 version: "2.2.1" 550 version: "2.2.1"
551 sdks: 551 sdks:
552 - dart: ">=2.9.0-18.0 <2.9.0" 552 + dart: ">=2.10.0-0.0.dev <2.10.0"
553 flutter: ">=1.16.0" 553 flutter: ">=1.16.0"
  1 +# Miscellaneous
  2 +*.class
  3 +*.log
  4 +*.pyc
  5 +*.swp
  6 +.DS_Store
  7 +.atom/
  8 +.buildlog/
  9 +.history
  10 +.svn/
  11 +
  12 +# IntelliJ related
  13 +*.iml
  14 +*.ipr
  15 +*.iws
  16 +.idea/
  17 +
  18 +# The .vscode folder contains launch configuration and tasks you configure in
  19 +# VS Code which you may wish to be included in version control, so this line
  20 +# is commented out by default.
  21 +#.vscode/
  22 +
  23 +# Flutter/Dart/Pub related
  24 +**/doc/api/
  25 +**/ios/Flutter/.last_build_id
  26 +.dart_tool/
  27 +.flutter-plugins
  28 +.flutter-plugins-dependencies
  29 +.packages
  30 +.pub-cache/
  31 +.pub/
  32 +/build/
  33 +
  34 +# Web related
  35 +lib/generated_plugin_registrant.dart
  36 +
  37 +# Symbolication related
  38 +app.*.symbols
  39 +
  40 +# Obfuscation related
  41 +app.*.map.json
  1 +# This file tracks properties of this Flutter project.
  2 +# Used by Flutter tool to assess capabilities and perform upgrades etc.
  3 +#
  4 +# This file should be version controlled and should not be manually edited.
  5 +
  6 +version:
  7 + revision: 7c6f9dd2396dfe7deb6fd11edc12c10786490083
  8 + channel: dev
  9 +
  10 +project_type: app
  1 +# example
  2 +
  3 +A new Flutter project.
  4 +
  5 +## Getting Started
  6 +
  7 +This project is a starting point for a Flutter application.
  8 +
  9 +A few resources to get you started if this is your first Flutter project:
  10 +
  11 +- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
  12 +- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
  13 +
  14 +For help getting started with Flutter, view our
  15 +[online documentation](https://flutter.dev/docs), which offers tutorials,
  16 +samples, guidance on mobile development, and a full API reference.
1 -include app_configuration.mk  
2 -  
3 -# Default build type.  
4 -BUILD=debug  
5 -  
6 -FLUTTER_MANAGED_DIR=flutter  
7 -FLUTTER_EPHEMERAL_DIR=$(FLUTTER_MANAGED_DIR)/ephemeral  
8 -  
9 -# Configuration provided via flutter tool.  
10 -FLUTTER_CONFIG_FILE=$(FLUTTER_EPHEMERAL_DIR)/generated_config.mk  
11 -include $(FLUTTER_CONFIG_FILE)  
12 -  
13 -# Dependency locations  
14 -FLUTTER_APP_DIR=$(CURDIR)/..  
15 -FLUTTER_APP_BUILD_DIR=$(FLUTTER_APP_DIR)/build  
16 -  
17 -OUT_DIR=$(FLUTTER_APP_BUILD_DIR)/linux  
18 -OBJ_DIR=$(OUT_DIR)/obj/$(BUILD)  
19 -  
20 -# Libraries  
21 -FLUTTER_LIB_NAME=flutter_linux_glfw  
22 -FLUTTER_LIB=$(FLUTTER_EPHEMERAL_DIR)/lib$(FLUTTER_LIB_NAME).so  
23 -  
24 -# Tools  
25 -FLUTTER_BIN=$(FLUTTER_ROOT)/bin/flutter  
26 -LINUX_BUILD=$(FLUTTER_ROOT)/packages/flutter_tools/bin/tool_backend.sh  
27 -  
28 -# Resources  
29 -ICU_DATA_NAME=icudtl.dat  
30 -ICU_DATA_SOURCE=$(FLUTTER_EPHEMERAL_DIR)/$(ICU_DATA_NAME)  
31 -FLUTTER_ASSETS_NAME=flutter_assets  
32 -FLUTTER_ASSETS_SOURCE=$(FLUTTER_APP_BUILD_DIR)/$(FLUTTER_ASSETS_NAME)  
33 -  
34 -# Bundle structure  
35 -BUNDLE_OUT_DIR=$(OUT_DIR)/$(BUILD)  
36 -BUNDLE_DATA_DIR=$(BUNDLE_OUT_DIR)/data  
37 -BUNDLE_LIB_DIR=$(BUNDLE_OUT_DIR)/lib  
38 -  
39 -BIN_OUT=$(BUNDLE_OUT_DIR)/$(BINARY_NAME)  
40 -ICU_DATA_OUT=$(BUNDLE_DATA_DIR)/$(ICU_DATA_NAME)  
41 -FLUTTER_LIB_OUT=$(BUNDLE_LIB_DIR)/$(notdir $(FLUTTER_LIB))  
42 -ALL_LIBS_OUT=$(FLUTTER_LIB_OUT) \  
43 - $(foreach lib,$(EXTRA_BUNDLED_LIBRARIES),$(BUNDLE_LIB_DIR)/$(notdir $(lib)))  
44 -  
45 -# Add relevant code from the wrapper library, which is intended to be statically  
46 -# built into the client.  
47 -# Use abspath for the wrapper root, which can contain relative paths; the  
48 -# intermediate build files will be based on the source path, which will cause  
49 -# issues if they start with one or more '../'s.  
50 -WRAPPER_ROOT=$(abspath $(FLUTTER_EPHEMERAL_DIR)/cpp_client_wrapper_glfw)  
51 -WRAPPER_SOURCES= \  
52 - $(WRAPPER_ROOT)/flutter_window_controller.cc \  
53 - $(WRAPPER_ROOT)/plugin_registrar.cc \  
54 - $(WRAPPER_ROOT)/engine_method_result.cc  
55 -  
56 -# Use abspath for extra sources, which may also contain relative paths (see  
57 -# note above about WRAPPER_ROOT).  
58 -SOURCES=main.cc window_configuration.cc \  
59 - flutter/generated_plugin_registrant.cc \  
60 - $(WRAPPER_SOURCES) $(abspath $(EXTRA_SOURCES))  
61 -  
62 -# Headers  
63 -WRAPPER_INCLUDE_DIR=$(WRAPPER_ROOT)/include  
64 -INCLUDE_DIRS=$(FLUTTER_EPHEMERAL_DIR) $(WRAPPER_INCLUDE_DIR)  
65 -  
66 -# Build settings  
67 -ifneq ($(strip $(SYSTEM_LIBRARIES)),)  
68 -EXTRA_CPPFLAGS+=$(patsubst -I%,-isystem%,$(shell pkg-config --cflags $(SYSTEM_LIBRARIES)))  
69 -EXTRA_LDFLAGS+=$(shell pkg-config --libs $(SYSTEM_LIBRARIES))  
70 -endif  
71 -CXX=clang++  
72 -CPPFLAGS.release=-DNDEBUG  
73 -CPPFLAGS.profile=$(CPPFLAGS.release)  
74 -CXXFLAGS.release=-O2  
75 -CXXFLAGS.profile=$(CXXFLAGS.release)  
76 -CXXFLAGS=-std=c++14 -Wall -Werror $(CXXFLAGS.$(BUILD)) $(EXTRA_CXXFLAGS)  
77 -CPPFLAGS=$(patsubst %,-I%,$(INCLUDE_DIRS)) \  
78 - $(CPPFLAGS.$(BUILD)) $(EXTRA_CPPFLAGS)  
79 -LDFLAGS=-L$(BUNDLE_LIB_DIR) \  
80 - -l$(FLUTTER_LIB_NAME) \  
81 - $(EXTRA_LDFLAGS) \  
82 - -Wl,-rpath=\$$ORIGIN/lib  
83 -  
84 -# Intermediate files.  
85 -OBJ_FILES=$(SOURCES:%.cc=$(OBJ_DIR)/%.o)  
86 -DEPENDENCY_FILES=$(OBJ_FILES:%.o=%.d)  
87 -  
88 -# Targets  
89 -  
90 -.PHONY: all  
91 -all: $(BIN_OUT) bundle  
92 -  
93 -# Add the plugin targets, and their associated settings.  
94 -include $(FLUTTER_MANAGED_DIR)/generated_plugins.mk  
95 -EXTRA_BUNDLED_LIBRARIES+=$(PLUGIN_LIBRARIES)  
96 -EXTRA_LDFLAGS+=$(PLUGIN_LDFLAGS)  
97 -EXTRA_CPPFLAGS+=$(PLUGIN_CPPFLAGS)  
98 -  
99 -# This is a phony target because the flutter tool cannot describe  
100 -# its inputs and outputs yet.  
101 -.PHONY: sync  
102 -sync: $(FLUTTER_CONFIG_FILE)  
103 - $(LINUX_BUILD) linux-x64 $(BUILD)  
104 -  
105 -.PHONY: bundle  
106 -bundle: $(ICU_DATA_OUT) $(ALL_LIBS_OUT) bundleflutterassets  
107 -  
108 -$(BIN_OUT): $(OBJ_FILES) $(ALL_LIBS_OUT)  
109 - mkdir -p $(@D)  
110 - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OBJ_FILES) $(LDFLAGS) -o $@  
111 -  
112 -$(WRAPPER_SOURCES) $(FLUTTER_LIB) $(ICU_DATA_SOURCE) $(FLUTTER_ASSETS_SOURCE) \  
113 - $(PLUGIN_TARGETS): | sync  
114 -  
115 -# Plugin library bundling pattern.  
116 -$(BUNDLE_LIB_DIR)/%: $(OUT_DIR)/%  
117 - mkdir -p $(BUNDLE_LIB_DIR)  
118 - cp $< $@  
119 -  
120 -$(FLUTTER_LIB_OUT): $(FLUTTER_LIB)  
121 - mkdir -p $(@D)  
122 - cp $< $@  
123 -  
124 -$(ICU_DATA_OUT): $(ICU_DATA_SOURCE)  
125 - mkdir -p $(@D)  
126 - cp $< $@  
127 -  
128 --include $(DEPENDENCY_FILES)  
129 -  
130 -$(OBJ_DIR)/%.o : %.cc | sync  
131 - mkdir -p $(@D)  
132 - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MMD -c $< -o $@  
133 -  
134 -# Fully re-copy the assets directory on each build to avoid having to keep a  
135 -# comprehensive list of all asset files here, which would be fragile to changes  
136 -# in other files (e.g., adding a new font to pubspec.yaml).  
137 -.PHONY: bundleflutterassets  
138 -bundleflutterassets: $(FLUTTER_ASSETS_SOURCE)  
139 - mkdir -p $(BUNDLE_DATA_DIR)  
140 - rsync -rpu --delete $(FLUTTER_ASSETS_SOURCE) $(BUNDLE_DATA_DIR)  
141 -  
142 -.PHONY: clean  
143 -clean:  
144 - rm -rf $(OUT_DIR); \  
145 - cd $(FLUTTER_APP_DIR); \  
146 - $(FLUTTER_BIN) clean  
1 -# This file contains variables that applications are likely to need to  
2 -# change, to isolate them from the main Makefile where the build rules are still  
3 -# in flux. This should simplify re-creating the runner while preserving local  
4 -# changes.  
5 -  
6 -# Executable name.  
7 -BINARY_NAME=get_state  
8 -# Any extra source files to build.  
9 -EXTRA_SOURCES=  
10 -# Paths of any additional libraries to be bundled in the output directory.  
11 -EXTRA_BUNDLED_LIBRARIES=  
12 -# Extra flags (e.g., for library dependencies).  
13 -SYSTEM_LIBRARIES=  
14 -EXTRA_CXXFLAGS=  
15 -EXTRA_CPPFLAGS=  
16 -EXTRA_LDFLAGS=  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -#include "generated_plugin_registrant.h"  
6 -  
7 -  
8 -void fl_register_plugins(FlPluginRegistry* registry) {  
9 -}  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -#ifndef GENERATED_PLUGIN_REGISTRANT_  
6 -#define GENERATED_PLUGIN_REGISTRANT_  
7 -  
8 -#include <flutter_linux/flutter_linux.h>  
9 -  
10 -// Registers Flutter plugins.  
11 -void fl_register_plugins(FlPluginRegistry* registry);  
12 -  
13 -#endif // GENERATED_PLUGIN_REGISTRANT_  
1 -#  
2 -# Generated file, do not edit.  
3 -#  
4 -  
5 -list(APPEND FLUTTER_PLUGIN_LIST  
6 -)  
7 -  
8 -set(PLUGIN_BUNDLED_LIBRARIES)  
9 -  
10 -foreach(plugin ${FLUTTER_PLUGIN_LIST})  
11 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})  
12 - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)  
13 - list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)  
14 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})  
15 -endforeach(plugin)  
1 -# Plugins to include in the build.  
2 -GENERATED_PLUGINS=\  
3 -  
4 -GENERATED_PLUGINS_DIR=flutter/ephemeral/.plugin_symlinks  
5 -# A plugin library name plugin name with _plugin appended.  
6 -GENERATED_PLUGIN_LIB_NAMES=$(foreach plugin,$(GENERATED_PLUGINS),$(plugin)_plugin)  
7 -  
8 -# Variables for use in the enclosing Makefile. Changes to these names are  
9 -# breaking changes.  
10 -PLUGIN_TARGETS=$(GENERATED_PLUGINS)  
11 -PLUGIN_LIBRARIES=$(foreach plugin,$(GENERATED_PLUGIN_LIB_NAMES),\  
12 - $(OUT_DIR)/lib$(plugin).so)  
13 -PLUGIN_LDFLAGS=$(patsubst %,-l%,$(GENERATED_PLUGIN_LIB_NAMES))  
14 -PLUGIN_CPPFLAGS=$(foreach plugin,$(GENERATED_PLUGINS),\  
15 - -I$(GENERATED_PLUGINS_DIR)/$(plugin)/linux)  
16 -  
17 -# Targets  
18 -  
19 -# Implicit rules don't match phony targets, so list plugin builds explicitly.  
20 -  
21 -.PHONY: $(GENERATED_PLUGINS)  
22 -$(GENERATED_PLUGINS):  
23 - make -C $(GENERATED_PLUGINS_DIR)/$@/linux \  
24 - OUT_DIR=$(OUT_DIR) \  
25 - FLUTTER_EPHEMERAL_DIR="$(abspath flutter/ephemeral)"  
1 -#include <flutter/flutter_window_controller.h>  
2 -#include <linux/limits.h>  
3 -#include <unistd.h>  
4 -  
5 -#include <cstdlib>  
6 -#include <iostream>  
7 -#include <memory>  
8 -#include <vector>  
9 -  
10 -#include "flutter/generated_plugin_registrant.h"  
11 -#include "window_configuration.h"  
12 -  
13 -namespace {  
14 -  
15 -// Returns the path of the directory containing this executable, or an empty  
16 -// string if the directory cannot be found.  
17 -std::string GetExecutableDirectory() {  
18 - char buffer[PATH_MAX + 1];  
19 - ssize_t length = readlink("/proc/self/exe", buffer, sizeof(buffer));  
20 - if (length > PATH_MAX) {  
21 - std::cerr << "Couldn't locate executable" << std::endl;  
22 - return "";  
23 - }  
24 - std::string executable_path(buffer, length);  
25 - size_t last_separator_position = executable_path.find_last_of('/');  
26 - if (last_separator_position == std::string::npos) {  
27 - std::cerr << "Unabled to find parent directory of " << executable_path  
28 - << std::endl;  
29 - return "";  
30 - }  
31 - return executable_path.substr(0, last_separator_position);  
32 -}  
33 -  
34 -} // namespace  
35 -  
36 -int main(int argc, char **argv) {  
37 - // Resources are located relative to the executable.  
38 - std::string base_directory = GetExecutableDirectory();  
39 - if (base_directory.empty()) {  
40 - base_directory = ".";  
41 - }  
42 - std::string data_directory = base_directory + "/data";  
43 - std::string assets_path = data_directory + "/flutter_assets";  
44 - std::string icu_data_path = data_directory + "/icudtl.dat";  
45 -  
46 - // Arguments for the Flutter Engine.  
47 - std::vector<std::string> arguments;  
48 -  
49 - flutter::FlutterWindowController flutter_controller(icu_data_path);  
50 - flutter::WindowProperties window_properties = {};  
51 - window_properties.title = kFlutterWindowTitle;  
52 - window_properties.width = kFlutterWindowWidth;  
53 - window_properties.height = kFlutterWindowHeight;  
54 -  
55 - // Start the engine.  
56 - if (!flutter_controller.CreateWindow(window_properties, assets_path,  
57 - arguments)) {  
58 - return EXIT_FAILURE;  
59 - }  
60 - RegisterPlugins(&flutter_controller);  
61 -  
62 - // Run until the window is closed.  
63 - while (flutter_controller.RunEventLoopWithTimeout(  
64 - std::chrono::milliseconds::max())) {  
65 - }  
66 - return EXIT_SUCCESS;  
67 -}  
1 -#include "window_configuration.h"  
2 -  
3 -const char *kFlutterWindowTitle = "get_state";  
4 -const unsigned int kFlutterWindowWidth = 800;  
5 -const unsigned int kFlutterWindowHeight = 600;  
1 -#ifndef WINDOW_CONFIGURATION_  
2 -#define WINDOW_CONFIGURATION_  
3 -  
4 -// This is a temporary approach to isolate common customizations from main.cpp,  
5 -// where the APIs are still in flux. This should simplify re-creating the  
6 -// runner while preserving local changes.  
7 -//  
8 -// Longer term there should be simpler configuration options for common  
9 -// customizations like this, without requiring native code changes.  
10 -  
11 -extern const char *kFlutterWindowTitle;  
12 -extern const unsigned int kFlutterWindowWidth;  
13 -extern const unsigned int kFlutterWindowHeight;  
14 -  
15 -#endif // WINDOW_CONFIGURATION_  
@@ -7,42 +7,42 @@ packages: @@ -7,42 +7,42 @@ packages:
7 name: async 7 name: async
8 url: "https://pub.dartlang.org" 8 url: "https://pub.dartlang.org"
9 source: hosted 9 source: hosted
10 - version: "2.4.2" 10 + version: "2.5.0-nullsafety"
11 boolean_selector: 11 boolean_selector:
12 dependency: transitive 12 dependency: transitive
13 description: 13 description:
14 name: boolean_selector 14 name: boolean_selector
15 url: "https://pub.dartlang.org" 15 url: "https://pub.dartlang.org"
16 source: hosted 16 source: hosted
17 - version: "2.0.0" 17 + version: "2.1.0-nullsafety"
18 characters: 18 characters:
19 dependency: transitive 19 dependency: transitive
20 description: 20 description:
21 name: characters 21 name: characters
22 url: "https://pub.dartlang.org" 22 url: "https://pub.dartlang.org"
23 source: hosted 23 source: hosted
24 - version: "1.1.0-nullsafety" 24 + version: "1.1.0-nullsafety.2"
25 charcode: 25 charcode:
26 dependency: transitive 26 dependency: transitive
27 description: 27 description:
28 name: charcode 28 name: charcode
29 url: "https://pub.dartlang.org" 29 url: "https://pub.dartlang.org"
30 source: hosted 30 source: hosted
31 - version: "1.1.3" 31 + version: "1.2.0-nullsafety"
32 clock: 32 clock:
33 dependency: transitive 33 dependency: transitive
34 description: 34 description:
35 name: clock 35 name: clock
36 url: "https://pub.dartlang.org" 36 url: "https://pub.dartlang.org"
37 source: hosted 37 source: hosted
38 - version: "1.0.1" 38 + version: "1.1.0-nullsafety"
39 collection: 39 collection:
40 dependency: transitive 40 dependency: transitive
41 description: 41 description:
42 name: collection 42 name: collection
43 url: "https://pub.dartlang.org" 43 url: "https://pub.dartlang.org"
44 source: hosted 44 source: hosted
45 - version: "1.15.0-nullsafety" 45 + version: "1.15.0-nullsafety.2"
46 dio: 46 dio:
47 dependency: "direct main" 47 dependency: "direct main"
48 description: 48 description:
@@ -56,7 +56,7 @@ packages: @@ -56,7 +56,7 @@ packages:
56 name: fake_async 56 name: fake_async
57 url: "https://pub.dartlang.org" 57 url: "https://pub.dartlang.org"
58 source: hosted 58 source: hosted
59 - version: "1.1.0" 59 + version: "1.1.0-nullsafety"
60 flutter: 60 flutter:
61 dependency: "direct main" 61 dependency: "direct main"
62 description: flutter 62 description: flutter
@@ -70,10 +70,10 @@ packages: @@ -70,10 +70,10 @@ packages:
70 get: 70 get:
71 dependency: "direct main" 71 dependency: "direct main"
72 description: 72 description:
73 - name: get  
74 - url: "https://pub.dartlang.org"  
75 - source: hosted  
76 - version: "3.4.3" 73 + path: ".."
  74 + relative: true
  75 + source: path
  76 + version: "3.4.6"
77 http_parser: 77 http_parser:
78 dependency: transitive 78 dependency: transitive
79 description: 79 description:
@@ -87,21 +87,21 @@ packages: @@ -87,21 +87,21 @@ packages:
87 name: matcher 87 name: matcher
88 url: "https://pub.dartlang.org" 88 url: "https://pub.dartlang.org"
89 source: hosted 89 source: hosted
90 - version: "0.12.8" 90 + version: "0.12.10-nullsafety"
91 meta: 91 meta:
92 dependency: transitive 92 dependency: transitive
93 description: 93 description:
94 name: meta 94 name: meta
95 url: "https://pub.dartlang.org" 95 url: "https://pub.dartlang.org"
96 source: hosted 96 source: hosted
97 - version: "1.3.0-nullsafety" 97 + version: "1.3.0-nullsafety.2"
98 path: 98 path:
99 dependency: transitive 99 dependency: transitive
100 description: 100 description:
101 name: path 101 name: path
102 url: "https://pub.dartlang.org" 102 url: "https://pub.dartlang.org"
103 source: hosted 103 source: hosted
104 - version: "1.7.0" 104 + version: "1.8.0-nullsafety"
105 sky_engine: 105 sky_engine:
106 dependency: transitive 106 dependency: transitive
107 description: flutter 107 description: flutter
@@ -113,55 +113,55 @@ packages: @@ -113,55 +113,55 @@ packages:
113 name: source_span 113 name: source_span
114 url: "https://pub.dartlang.org" 114 url: "https://pub.dartlang.org"
115 source: hosted 115 source: hosted
116 - version: "1.7.0" 116 + version: "1.8.0-nullsafety"
117 stack_trace: 117 stack_trace:
118 dependency: transitive 118 dependency: transitive
119 description: 119 description:
120 name: stack_trace 120 name: stack_trace
121 url: "https://pub.dartlang.org" 121 url: "https://pub.dartlang.org"
122 source: hosted 122 source: hosted
123 - version: "1.9.5" 123 + version: "1.10.0-nullsafety"
124 stream_channel: 124 stream_channel:
125 dependency: transitive 125 dependency: transitive
126 description: 126 description:
127 name: stream_channel 127 name: stream_channel
128 url: "https://pub.dartlang.org" 128 url: "https://pub.dartlang.org"
129 source: hosted 129 source: hosted
130 - version: "2.0.0" 130 + version: "2.1.0-nullsafety"
131 string_scanner: 131 string_scanner:
132 dependency: transitive 132 dependency: transitive
133 description: 133 description:
134 name: string_scanner 134 name: string_scanner
135 url: "https://pub.dartlang.org" 135 url: "https://pub.dartlang.org"
136 source: hosted 136 source: hosted
137 - version: "1.0.5" 137 + version: "1.1.0-nullsafety"
138 term_glyph: 138 term_glyph:
139 dependency: transitive 139 dependency: transitive
140 description: 140 description:
141 name: term_glyph 141 name: term_glyph
142 url: "https://pub.dartlang.org" 142 url: "https://pub.dartlang.org"
143 source: hosted 143 source: hosted
144 - version: "1.1.0" 144 + version: "1.2.0-nullsafety"
145 test_api: 145 test_api:
146 dependency: transitive 146 dependency: transitive
147 description: 147 description:
148 name: test_api 148 name: test_api
149 url: "https://pub.dartlang.org" 149 url: "https://pub.dartlang.org"
150 source: hosted 150 source: hosted
151 - version: "0.2.17" 151 + version: "0.2.19-nullsafety"
152 typed_data: 152 typed_data:
153 dependency: transitive 153 dependency: transitive
154 description: 154 description:
155 name: typed_data 155 name: typed_data
156 url: "https://pub.dartlang.org" 156 url: "https://pub.dartlang.org"
157 source: hosted 157 source: hosted
158 - version: "1.3.0-nullsafety" 158 + version: "1.3.0-nullsafety.2"
159 vector_math: 159 vector_math:
160 dependency: transitive 160 dependency: transitive
161 description: 161 description:
162 name: vector_math 162 name: vector_math
163 url: "https://pub.dartlang.org" 163 url: "https://pub.dartlang.org"
164 source: hosted 164 source: hosted
165 - version: "2.1.0-nullsafety" 165 + version: "2.1.0-nullsafety.2"
166 sdks: 166 sdks:
167 - dart: ">=2.9.0-18.0 <2.9.0" 167 + dart: ">=2.10.0-0.0.dev <2.10.0"
1 -export 'get_instance.dart';  
2 -export 'extension_instance.dart';  
3 -export '../navigation/routes/bindings_interface.dart';  
1 -export 'routes/custom_transition.dart';  
2 -export 'routes/transitions_type.dart';  
3 -export 'routes/get_route.dart';  
4 -export 'routes/default_route.dart';  
5 -export 'routes/observers/route_observer.dart';  
6 -export 'root/root_widget.dart';  
7 -export 'snackbar/snack_route.dart';  
8 -export 'bottomsheet/bottomsheet.dart';  
9 -export 'snackbar/snack.dart';  
10 -export '../core/get_main.dart';  
11 -export 'routes/default_route.dart';  
12 -export 'root/smart_management.dart';  
13 -export 'extension_navigation.dart';  
@@ -3,9 +3,14 @@ import 'package:flutter/widgets.dart'; @@ -3,9 +3,14 @@ import 'package:flutter/widgets.dart';
3 import 'package:get/src/instance/get_instance.dart'; 3 import 'package:get/src/instance/get_instance.dart';
4 import 'package:get/src/navigation/root/smart_management.dart'; 4 import 'package:get/src/navigation/root/smart_management.dart';
5 import 'package:get/src/state_manager/rx/rx_interface.dart'; 5 import 'package:get/src/state_manager/rx/rx_interface.dart';
  6 +import 'package:get/state_manager.dart';
  7 +
  8 +import 'simple_builder.dart';
6 9
7 typedef Disposer = void Function(); 10 typedef Disposer = void Function();
8 11
  12 +
  13 +
9 class GetxController extends DisposableInterface { 14 class GetxController extends DisposableInterface {
10 final HashSet<StateSetter> _updaters = HashSet<StateSetter>(); 15 final HashSet<StateSetter> _updaters = HashSet<StateSetter>();
11 16
@@ -48,121 +53,6 @@ class GetxController extends DisposableInterface { @@ -48,121 +53,6 @@ class GetxController extends DisposableInterface {
48 void onClose() async {} 53 void onClose() async {}
49 } 54 }
50 55
51 -// class GetBuilder<T extends GetxController> extends StatefulWidget {  
52 -// final Widget Function(T) builder;  
53 -// final bool global;  
54 -// final String id;  
55 -// final String tag;  
56 -// final bool autoRemove;  
57 -// final bool assignId;  
58 -// final void Function(State state) initState, dispose, didChangeDependencies;  
59 -// final void Function(GetBuilder oldWidget, State state) didUpdateWidget;  
60 -// final T init;  
61 -// const GetBuilder({  
62 -// Key key,  
63 -// this.init,  
64 -// this.global = true,  
65 -// @required this.builder,  
66 -// this.autoRemove = true,  
67 -// this.assignId = false,  
68 -// this.initState,  
69 -// this.tag,  
70 -// this.dispose,  
71 -// this.id,  
72 -// this.didChangeDependencies,  
73 -// this.didUpdateWidget,  
74 -// }) : assert(builder != null),  
75 -// super(key: key);  
76 -// @override  
77 -// _GetBuilderState<T> createState() => _GetBuilderState<T>();  
78 -// }  
79 -  
80 -// class _GetBuilderState<T extends GetxController> extends State<GetBuilder<T>> {  
81 -// GetxController controller;  
82 -// bool isCreator = false;  
83 -// @override  
84 -// void initState() {  
85 -// super.initState();  
86 -  
87 -// if (widget.initState != null) widget.initState(this);  
88 -// if (widget.global) {  
89 -// final isPrepared = GetInstance().isPrepared<T>(tag: widget.tag);  
90 -// final isRegistred = GetInstance().isRegistred<T>(tag: widget.tag);  
91 -  
92 -// if (isPrepared) {  
93 -// if (GetConfig.smartManagement != SmartManagement.keepFactory) {  
94 -// isCreator = true;  
95 -// }  
96 -// controller = GetInstance().find<T>(tag: widget.tag);  
97 -// } else if (isRegistred) {  
98 -// controller = GetInstance().find<T>(tag: widget.tag);  
99 -// isCreator = false;  
100 -// } else {  
101 -// controller = widget.init;  
102 -// isCreator = true;  
103 -// GetInstance().put<T>(controller, tag: widget.tag);  
104 -// }  
105 -// } else {  
106 -// controller = widget.init;  
107 -// isCreator = true;  
108 -// controller?.onStart();  
109 -// }  
110 -  
111 -// if (widget.global &&  
112 -// GetConfig.smartManagement == SmartManagement.onlyBuilder) {  
113 -// controller?.onStart();  
114 -// }  
115 -// (widget.id == null)  
116 -// ? controller.addListener(setState)  
117 -// : controller.addListenerId(widget.id, setState);  
118 -// }  
119 -  
120 -// @override  
121 -// void dispose() {  
122 -// super.dispose();  
123 -// if (widget.dispose != null) widget.dispose(this);  
124 -// if (isCreator || widget.assignId) {  
125 -// if (widget.autoRemove && GetInstance().isRegistred<T>(tag: widget.tag)) {  
126 -// (widget.id == null)  
127 -// ? controller.removeListener(setState)  
128 -// : controller.removeListenerId(widget.id);  
129 -// GetInstance().delete<T>(tag: widget.tag);  
130 -// }  
131 -// } else {  
132 -// (widget.id == null)  
133 -// ? controller.removeListener(setState)  
134 -// : controller.removeListenerId(widget.id);  
135 -// }  
136 -// }  
137 -  
138 -// @override  
139 -// void didChangeDependencies() {  
140 -// super.didChangeDependencies();  
141 -// if (widget.didChangeDependencies != null) {  
142 -// widget.didChangeDependencies(this);  
143 -// }  
144 -// }  
145 -  
146 -// @override  
147 -// void didUpdateWidget(GetBuilder oldWidget) {  
148 -// super.didUpdateWidget(oldWidget as GetBuilder<T>);  
149 -// if (widget.didUpdateWidget != null) widget.didUpdateWidget(oldWidget, this);  
150 -// }  
151 -  
152 -// @override  
153 -// Widget build(BuildContext context) {  
154 -// return widget.builder(controller);  
155 -// }  
156 -// }  
157 -  
158 -// class Updater {  
159 -// final StateSetter updater;  
160 -// final String id;  
161 -// const Updater({this.updater, this.id});  
162 -// }  
163 -  
164 -// typedef UpdaterBuilder = Updater Function();  
165 -  
166 class GetBuilder<T extends GetxController> extends StatefulWidget { 56 class GetBuilder<T extends GetxController> extends StatefulWidget {
167 final Widget Function(T) builder; 57 final Widget Function(T) builder;
168 final bool global; 58 final bool global;
@@ -268,73 +158,23 @@ class _GetBuilderState<T extends GetxController> extends State<GetBuilder<T>> { @@ -268,73 +158,23 @@ class _GetBuilderState<T extends GetxController> extends State<GetBuilder<T>> {
268 if (widget.didUpdateWidget != null) widget.didUpdateWidget(oldWidget, this); 158 if (widget.didUpdateWidget != null) widget.didUpdateWidget(oldWidget, this);
269 } 159 }
270 160
271 - Widget get notifyChildren {  
272 - final old = Value._remove;  
273 - Value._remove = disposers;  
274 - final observer = Value._setter;  
275 - Value._setter = setState;  
276 - final result = widget.builder(controller);  
277 - Value._setter = observer;  
278 - Value._remove = old;  
279 - return result;  
280 - }  
281 -  
282 @override 161 @override
283 - Widget build(BuildContext context) => notifyChildren; 162 + Widget build(BuildContext context) => widget.builder(controller);
284 } 163 }
285 164
  165 +/// This is a experimental feature
286 class Value<T> extends GetxController { 166 class Value<T> extends GetxController {
287 Value([this._value]); 167 Value([this._value]);
288 T _value; 168 T _value;
289 169
290 T get value { 170 T get value {
291 - if (_setter != null) {  
292 - if (!_updaters.contains(_setter)) {  
293 - final add = addListener(_setter);  
294 - _remove.add(add);  
295 - }  
296 - } 171 + TaskManager.instance.notify(_updaters);
297 return _value; 172 return _value;
298 } 173 }
299 174
300 - static StateSetter _setter;  
301 -  
302 - static HashSet<Disposer> _remove;  
303 -  
304 set value(T newValue) { 175 set value(T newValue) {
305 if (_value == newValue) return; 176 if (_value == newValue) return;
306 _value = newValue; 177 _value = newValue;
307 update(); 178 update();
308 } 179 }
309 } 180 }
310 -  
311 -class SimpleBuilder extends StatefulWidget {  
312 - final Widget Function(BuildContext) builder;  
313 - const SimpleBuilder({Key key, @required this.builder})  
314 - : assert(builder != null),  
315 - super(key: key);  
316 - @override  
317 - _SimpleBuilderState createState() => _SimpleBuilderState();  
318 -}  
319 -  
320 -class _SimpleBuilderState extends State<SimpleBuilder> {  
321 - final HashSet<Disposer> disposers = HashSet<Disposer>();  
322 -  
323 - @override  
324 - void dispose() {  
325 - super.dispose();  
326 - disposers.forEach((element) => element());  
327 - }  
328 -  
329 - @override  
330 - Widget build(BuildContext context) {  
331 - HashSet<Disposer> old = Value._remove;  
332 - Value._remove = disposers;  
333 - StateSetter observer = Value._setter;  
334 - Value._setter = setState;  
335 - Widget result = widget.builder(context);  
336 - Value._remove = old;  
337 - Value._setter = observer;  
338 - return result;  
339 - }  
340 -}  
  1 +import 'dart:collection';
  2 +import 'package:flutter/widgets.dart';
  3 +import 'get_state.dart';
  4 +
  5 +// It's a experimental feature
  6 +class SimpleBuilder extends StatefulWidget {
  7 + final Widget Function(BuildContext) builder;
  8 + const SimpleBuilder({Key key, @required this.builder})
  9 + : assert(builder != null),
  10 + super(key: key);
  11 + @override
  12 + _SimpleBuilderState createState() => _SimpleBuilderState();
  13 +}
  14 +
  15 +class _SimpleBuilderState extends State<SimpleBuilder> {
  16 + final HashSet<Disposer> disposers = HashSet<Disposer>();
  17 +
  18 + @override
  19 + void dispose() {
  20 + super.dispose();
  21 + disposers.forEach((element) => element());
  22 + }
  23 +
  24 + @override
  25 + Widget build(BuildContext context) {
  26 + return TaskManager.instance
  27 + .exchange(disposers, setState, widget.builder, context);
  28 + }
  29 +}
  30 +
  31 +class TaskManager {
  32 + TaskManager._();
  33 + static TaskManager _instance;
  34 + static TaskManager get instance => _instance ??= TaskManager._();
  35 +
  36 + StateSetter _setter;
  37 + HashSet<Disposer> _remove;
  38 +
  39 + notify(HashSet<StateSetter> _updaters) {
  40 + if (_setter != null) {
  41 + if (!_updaters.contains(_setter)) {
  42 + _updaters.add(_setter);
  43 + _remove.add(() => _updaters.remove(_setter));
  44 + }
  45 + }
  46 + }
  47 +
  48 + Widget exchange(
  49 + HashSet<Disposer> disposers,
  50 + StateSetter setState,
  51 + Widget Function(BuildContext) builder,
  52 + BuildContext context,
  53 + ) {
  54 + _remove = disposers;
  55 + _setter = setState;
  56 + final result = builder(context);
  57 + _remove = null;
  58 + _setter = null;
  59 + return result;
  60 + }
  61 +}
1 -export 'simple/get_state.dart';  
2 -export 'simple/immutable_state.dart';  
3 -export 'simple/get_view.dart';  
4 -export 'simple/mixin_state.dart';  
5 -export 'rx/rx_interface.dart';  
6 -export 'rx/rx_impl.dart';  
7 -export 'rx/rx_event.dart';  
8 -export 'rx/rx_obx.dart';  
9 -export 'rx/rx_getbuilder.dart';  
1 -export 'context_extensions/extensions.dart';  
2 -export 'queue/get_queue.dart';  
3 -export 'platform/platform.dart';  
4 -export 'regex/get_utils.dart';  
5 -export 'regex/get_utils_extensions.dart';  
1 export 'src/state_manager/simple/get_state.dart'; 1 export 'src/state_manager/simple/get_state.dart';
2 export 'src/state_manager/simple/immutable_state.dart'; 2 export 'src/state_manager/simple/immutable_state.dart';
3 export 'src/state_manager/simple/get_view.dart'; 3 export 'src/state_manager/simple/get_view.dart';
  4 +export 'src/state_manager/simple/simple_builder.dart';
4 export 'src/state_manager/simple/mixin_state.dart'; 5 export 'src/state_manager/simple/mixin_state.dart';
5 export 'src/state_manager/rx/rx_interface.dart'; 6 export 'src/state_manager/rx/rx_interface.dart';
6 export 'src/state_manager/rx/rx_impl.dart'; 7 export 'src/state_manager/rx/rx_impl.dart';