1
0
mirror of https://github.com/nisrulz/flutter-examples.git synced 2025-11-10 13:39:07 +00:00

updated: package to be standard across all example apps

This commit is contained in:
Nishant Srivastava
2018-07-08 00:20:41 +02:00
parent 01a2ac5936
commit 75d833bec1
114 changed files with 12202 additions and 291 deletions

View File

@@ -1,6 +1,6 @@
# google_signin
# Google Signin
A simple flutter app to demonstrate Google signin using Firebase. Register your app on Firebase and enable Google authentication.
Example app to demonstrate Google signin using Firebase. Register your app on Firebase and enable Google authentication.
![Initial Page](page1.jpg)
![Login Dialog](page2.jpg)

View File

@@ -23,7 +23,7 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.theroboticlab.googlesignin"
applicationId "github.nisrulz.googlesignin"
minSdkVersion 16
targetSdkVersion 27
versionCode 1

View File

@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.theroboticlab.googlesignin">
package="github.nisrulz.googlesignin">
<!-- The INTERNET permission is required for development. Specifically,
flutter needs it to communicate with the running application

View File

@@ -1,4 +1,4 @@
package com.theroboticlab.googlesignin;
package github.nisrulz.googlesignin;
import android.os.Bundle;

0
google_signin/android/gradlew vendored Normal file → Executable file
View File

View File

@@ -1 +1,2 @@
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"

View File

@@ -1 +1,2 @@
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"

63
google_signin/ios/Podfile Normal file
View File

@@ -0,0 +1,63 @@
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
def parse_KV_file(file, separator='=')
file_abs_path = File.expand_path(file)
if !File.exists? file_abs_path
return [];
end
pods_ary = []
skip_line_start_symbols = ["#", "/"]
File.foreach(file_abs_path) { |line|
next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
plugin = line.split(pattern=separator)
if plugin.length == 2
podname = plugin[0].strip()
path = plugin[1].strip()
podpath = File.expand_path("#{path}", file_abs_path)
pods_ary.push({:name => podname, :path => podpath});
else
puts "Invalid plugin specification: #{line}"
end
}
return pods_ary
end
target 'Runner' do
# Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
# referring to absolute paths on developers' machines.
system('rm -rf .symlinks')
system('mkdir -p .symlinks/plugins')
# Flutter Pods
generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
if generated_xcode_build_settings.empty?
puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter packages get is executed first."
end
generated_xcode_build_settings.map { |p|
if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
symlink = File.join('.symlinks', 'flutter')
File.symlink(File.dirname(p[:path]), symlink)
pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
end
}
# Plugin Pods
plugin_pods = parse_KV_file('../.flutter-plugins')
plugin_pods.map { |p|
symlink = File.join('.symlinks', 'plugins', p[:name])
File.symlink(p[:path], symlink)
pod p[:name], :path => File.join(symlink, 'ios')
}
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end

View File

@@ -382,7 +382,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.theroboticlab.googleSignin;
PRODUCT_BUNDLE_IDENTIFIER = github.nisrulz.googleSignin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -404,7 +404,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.theroboticlab.googleSignin;
PRODUCT_BUNDLE_IDENTIFIER = github.nisrulz.googleSignin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;

View File

@@ -1,6 +1,6 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:meta/meta.dart';
import 'package:flutter/foundation.dart';
class Home extends StatelessWidget {
Home(

View File

@@ -1,9 +1,11 @@
import 'dart:async';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'home.dart';
import 'user.dart';
import 'dart:async';
void main() {
runApp(new App());
@@ -18,6 +20,7 @@ class AppState extends State<App> {
Widget currentPage;
GoogleSignIn googleSignIn;
Widget userPage;
@override
void initState() {
super.initState();

View File

@@ -1,7 +1,7 @@
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:meta/meta.dart';
import 'package:flutter/foundation.dart';
import 'package:firebase_auth/firebase_auth.dart';
class User extends StatelessWidget {
User({Key key, @required this.onLogout, @required this.user})