Skip to content

Commit d692c51

Browse files
committed
Merge branch 'master' of https://github.com/shravyackm/getflutter into loader
2 parents 40c98e1 + e474c99 commit d692c51

19 files changed

+256
-1122
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ getflutter-app-kit
3333
getflutter-web-kit
3434
getflutter_app
3535
test/.test_coverage.dart
36+
example
3637

3738
# Android related
3839
**/android/**/gradle-wrapper.jar

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Changelog
22

3+
## 1.0.5 - 2020-02-07
4+
5+
### Fixed
6+
* GFRating - minor issue fixed
7+
8+
### Added
9+
* added new component
10+
- GFLoader
11+
12+
13+
14+
315
## 1.0.4 - 2020-02-04
416

517
### Fixed

analysis_options.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
analyzer:
22
exclude:
3-
- example/lib
3+
- example
44
- getflutter_app
55
- getflutter-app-kit
66
- getflutter-web-kit

example/ios/Flutter/Debug.xcconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
12
#include "Generated.xcconfig"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
12
#include "Generated.xcconfig"

example/ios/Podfile

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Uncomment this line to define a global platform for your project
2+
# platform :ios, '9.0'
3+
4+
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5+
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6+
7+
project 'Runner', {
8+
'Debug' => :debug,
9+
'Profile' => :release,
10+
'Release' => :release,
11+
}
12+
13+
def parse_KV_file(file, separator='=')
14+
file_abs_path = File.expand_path(file)
15+
if !File.exists? file_abs_path
16+
return [];
17+
end
18+
generated_key_values = {}
19+
skip_line_start_symbols = ["#", "/"]
20+
File.foreach(file_abs_path) do |line|
21+
next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
22+
plugin = line.split(pattern=separator)
23+
if plugin.length == 2
24+
podname = plugin[0].strip()
25+
path = plugin[1].strip()
26+
podpath = File.expand_path("#{path}", file_abs_path)
27+
generated_key_values[podname] = podpath
28+
else
29+
puts "Invalid plugin specification: #{line}"
30+
end
31+
end
32+
generated_key_values
33+
end
34+
35+
target 'Runner' do
36+
use_frameworks!
37+
use_modular_headers!
38+
39+
# Flutter Pod
40+
41+
copied_flutter_dir = File.join(__dir__, 'Flutter')
42+
copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework')
43+
copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec')
44+
unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path)
45+
# Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet.
46+
# That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration.
47+
# CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist.
48+
49+
generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig')
50+
unless File.exist?(generated_xcode_build_settings_path)
51+
raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first"
52+
end
53+
generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path)
54+
cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR'];
55+
56+
unless File.exist?(copied_framework_path)
57+
FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir)
58+
end
59+
unless File.exist?(copied_podspec_path)
60+
FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir)
61+
end
62+
end
63+
64+
# Keep pod path relative so it can be checked into Podfile.lock.
65+
pod 'Flutter', :path => 'Flutter'
66+
67+
# Plugin Pods
68+
69+
# Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
70+
# referring to absolute paths on developers' machines.
71+
system('rm -rf .symlinks')
72+
system('mkdir -p .symlinks/plugins')
73+
plugin_pods = parse_KV_file('../.flutter-plugins')
74+
plugin_pods.each do |name, path|
75+
symlink = File.join('.symlinks', 'plugins', name)
76+
File.symlink(path, symlink)
77+
pod name, :path => File.join(symlink, 'ios')
78+
end
79+
end
80+
81+
# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
82+
install! 'cocoapods', :disable_input_output_paths => true
83+
84+
post_install do |installer|
85+
installer.pods_project.targets.each do |target|
86+
target.build_configurations.each do |config|
87+
config.build_settings['ENABLE_BITCODE'] = 'NO'
88+
end
89+
end
90+
end

example/ios/Podfile.lock

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
PODS:
2+
- Flutter (1.0.0)
3+
- url_launcher (0.0.1):
4+
- Flutter
5+
- url_launcher_macos (0.0.1):
6+
- Flutter
7+
- url_launcher_web (0.0.1):
8+
- Flutter
9+
10+
DEPENDENCIES:
11+
- Flutter (from `Flutter`)
12+
- url_launcher (from `.symlinks/plugins/url_launcher/ios`)
13+
- url_launcher_macos (from `.symlinks/plugins/url_launcher_macos/ios`)
14+
- url_launcher_web (from `.symlinks/plugins/url_launcher_web/ios`)
15+
16+
EXTERNAL SOURCES:
17+
Flutter:
18+
:path: Flutter
19+
url_launcher:
20+
:path: ".symlinks/plugins/url_launcher/ios"
21+
url_launcher_macos:
22+
:path: ".symlinks/plugins/url_launcher_macos/ios"
23+
url_launcher_web:
24+
:path: ".symlinks/plugins/url_launcher_web/ios"
25+
26+
SPEC CHECKSUMS:
27+
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
28+
url_launcher: a1c0cc845906122c4784c542523d8cacbded5626
29+
url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313
30+
url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c
31+
32+
PODFILE CHECKSUM: 1b66dae606f75376c5f2135a8290850eeb09ae83
33+
34+
COCOAPODS: 1.8.4

example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
/* Begin PBXBuildFile section */
1010
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11+
33852B92FA5AABA5BE82214F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE145099B4E29998DD2FCED8 /* Pods_Runner.framework */; };
1112
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
1213
3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
1314
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
@@ -37,8 +38,10 @@
3738
/* Begin PBXFileReference section */
3839
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
3940
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
41+
1F688DEC70D0F07F8092FA56 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
4042
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
4143
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
44+
5A2A554DB30A5A6B3313B828 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
4245
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
4346
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
4447
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
@@ -50,6 +53,8 @@
5053
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
5154
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
5255
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
56+
BE145099B4E29998DD2FCED8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
57+
DADE960210A6D1A6B73EDF3F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
5358
/* End PBXFileReference section */
5459

5560
/* Begin PBXFrameworksBuildPhase section */
@@ -59,12 +64,32 @@
5964
files = (
6065
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
6166
3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
67+
33852B92FA5AABA5BE82214F /* Pods_Runner.framework in Frameworks */,
6268
);
6369
runOnlyForDeploymentPostprocessing = 0;
6470
};
6571
/* End PBXFrameworksBuildPhase section */
6672

6773
/* Begin PBXGroup section */
74+
0D3C8D6A327726A6B1329E67 /* Pods */ = {
75+
isa = PBXGroup;
76+
children = (
77+
DADE960210A6D1A6B73EDF3F /* Pods-Runner.debug.xcconfig */,
78+
1F688DEC70D0F07F8092FA56 /* Pods-Runner.release.xcconfig */,
79+
5A2A554DB30A5A6B3313B828 /* Pods-Runner.profile.xcconfig */,
80+
);
81+
name = Pods;
82+
path = Pods;
83+
sourceTree = "<group>";
84+
};
85+
28B8EE83BC3B2D07D3C53200 /* Frameworks */ = {
86+
isa = PBXGroup;
87+
children = (
88+
BE145099B4E29998DD2FCED8 /* Pods_Runner.framework */,
89+
);
90+
name = Frameworks;
91+
sourceTree = "<group>";
92+
};
6893
9740EEB11CF90186004384FC /* Flutter */ = {
6994
isa = PBXGroup;
7095
children = (
@@ -84,6 +109,8 @@
84109
9740EEB11CF90186004384FC /* Flutter */,
85110
97C146F01CF9000F007C117D /* Runner */,
86111
97C146EF1CF9000F007C117D /* Products */,
112+
0D3C8D6A327726A6B1329E67 /* Pods */,
113+
28B8EE83BC3B2D07D3C53200 /* Frameworks */,
87114
);
88115
sourceTree = "<group>";
89116
};
@@ -125,12 +152,14 @@
125152
isa = PBXNativeTarget;
126153
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
127154
buildPhases = (
155+
042059108FAA93949A48D201 /* [CP] Check Pods Manifest.lock */,
128156
9740EEB61CF901F6004384FC /* Run Script */,
129157
97C146EA1CF9000F007C117D /* Sources */,
130158
97C146EB1CF9000F007C117D /* Frameworks */,
131159
97C146EC1CF9000F007C117D /* Resources */,
132160
9705A1C41CF9048500538489 /* Embed Frameworks */,
133161
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
162+
ED2FE2178FB193F555829CD8 /* [CP] Embed Pods Frameworks */,
134163
);
135164
buildRules = (
136165
);
@@ -189,6 +218,28 @@
189218
/* End PBXResourcesBuildPhase section */
190219

191220
/* Begin PBXShellScriptBuildPhase section */
221+
042059108FAA93949A48D201 /* [CP] Check Pods Manifest.lock */ = {
222+
isa = PBXShellScriptBuildPhase;
223+
buildActionMask = 2147483647;
224+
files = (
225+
);
226+
inputFileListPaths = (
227+
);
228+
inputPaths = (
229+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
230+
"${PODS_ROOT}/Manifest.lock",
231+
);
232+
name = "[CP] Check Pods Manifest.lock";
233+
outputFileListPaths = (
234+
);
235+
outputPaths = (
236+
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
237+
);
238+
runOnlyForDeploymentPostprocessing = 0;
239+
shellPath = /bin/sh;
240+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
241+
showEnvVarsInLog = 0;
242+
};
192243
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
193244
isa = PBXShellScriptBuildPhase;
194245
buildActionMask = 2147483647;
@@ -217,6 +268,21 @@
217268
shellPath = /bin/sh;
218269
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
219270
};
271+
ED2FE2178FB193F555829CD8 /* [CP] Embed Pods Frameworks */ = {
272+
isa = PBXShellScriptBuildPhase;
273+
buildActionMask = 2147483647;
274+
files = (
275+
);
276+
inputPaths = (
277+
);
278+
name = "[CP] Embed Pods Frameworks";
279+
outputPaths = (
280+
);
281+
runOnlyForDeploymentPostprocessing = 0;
282+
shellPath = /bin/sh;
283+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
284+
showEnvVarsInLog = 0;
285+
};
220286
/* End PBXShellScriptBuildPhase section */
221287

222288
/* Begin PBXSourcesBuildPhase section */

example/ios/Runner.xcworkspace/contents.xcworkspacedata

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/lib/main.dart

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ void main() => runApp(MyApp());
88
class MyApp extends StatelessWidget {
99
@override
1010
Widget build(BuildContext context) => MaterialApp(
11-
title: 'getflutter_EXAMPLE',
11+
title: 'GetFlutter',
1212
debugShowCheckedModeBanner: false,
1313
home: MyHomePage(),
1414
);
@@ -20,6 +20,14 @@ class MyHomePage extends StatefulWidget {
2020
}
2121

2222
class _MyHomePageState extends State<MyHomePage> {
23+
final String _playStoreLink =
24+
'https://play.google.com/store/apps/details?id=dev.getflutter.appkit';
25+
// final String _appStoreLink = 'Coming Soon';
26+
final String _githuAppRepoLink =
27+
'https://github.com/ionicfirebaseapp/getflutter-app-kit';
28+
final String _githubLibraryRepoLink =
29+
'https://github.com/ionicfirebaseapp/getflutter';
30+
2331
Future _launchUrl(url) async {
2432
if (await canLaunch(url)) {
2533
return await launch(url);
@@ -34,7 +42,12 @@ class _MyHomePageState extends State<MyHomePage> {
3442
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
3543
crossAxisAlignment: CrossAxisAlignment.center,
3644
children: <Widget>[
37-
SvgPicture.asset('lib/assets/logo.svg'),
45+
InkWell(
46+
onTap: () {
47+
_launchUrl(_githubLibraryRepoLink);
48+
},
49+
child: SvgPicture.asset('lib/assets/logo.svg'),
50+
),
3851
Column(
3952
mainAxisAlignment: MainAxisAlignment.center,
4053
crossAxisAlignment: CrossAxisAlignment.center,
@@ -43,7 +56,7 @@ class _MyHomePageState extends State<MyHomePage> {
4356
padding: EdgeInsets.only(bottom: 25),
4457
child: Center(
4558
child: Text(
46-
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do ',
59+
'To keep library size small and code clean we manage example on different repository. which includes clear usage of each and every component that we provide in GetFlutter library. Please have a look there.',
4760
style: TextStyle(
4861
fontSize: 16,
4962
color: GFColors.WHITE,
@@ -66,8 +79,7 @@ class _MyHomePageState extends State<MyHomePage> {
6679
color: GFColors.SUCCESS,
6780
blockButton: true,
6881
onPressed: () {
69-
_launchUrl(
70-
'https://github.com/ionicfirebaseapp/getflutter-app-kit');
82+
_launchUrl(_githuAppRepoLink);
7183
}),
7284
],
7385
),
@@ -77,7 +89,7 @@ class _MyHomePageState extends State<MyHomePage> {
7789
padding: EdgeInsets.only(bottom: 25),
7890
child: Center(
7991
child: Text(
80-
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do ',
92+
'We also have same app on playstore. It shows various possibilities that you can achieve using GetFlutter library.',
8193
style: TextStyle(
8294
fontSize: 16,
8395
color: GFColors.WHITE,
@@ -98,8 +110,7 @@ class _MyHomePageState extends State<MyHomePage> {
98110
color: GFColors.SUCCESS,
99111
blockButton: true,
100112
onPressed: () {
101-
_launchUrl(
102-
'https://play.google.com/store/apps/details?id=dev.getflutter.appkit');
113+
_launchUrl(_playStoreLink);
103114
}),
104115
],
105116
),

0 commit comments

Comments
 (0)