Issue 1:
Steps to Reproduce

await linkWithGoogleCredential gets stuck - this used to work up to 0.5.20

In the example below it never reaches log step ---------------------- 4, BUT is also doesn't catch any exception.

final FirebaseAuth _auth = FirebaseAuth.instance;
final GoogleSignIn _googleSignIn = GoogleSignIn();

GoogleSignInAuthentication googleAuth;
try {
print("---------------------- 1");
final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
print("---------------------- 2");
googleAuth = await googleUser.authentication;
print("---------------------- 3");
final FirebaseUser user = await _auth.linkWithGoogleCredential(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
print("---------------------- 4");
} catch (err) {
print("---------------------- 5");
print(err);
}

Logs

# Firebase
firebase_auth: ^0.6.6
firebase_core: ^0.2.5+1
firebase_dynamic_links: ^0.1.0+1
cloud_firestore: ^0.8.2+3

# Social login providers
flutter_facebook_login: ^1.1.1
google_sign_in: ^3.2.4

[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 10.0.17134.407], locale en-NZ)
• Flutter version 1.0.0 at C:\Users\b\git\flutter
• Framework revision 5391447fae (12 days ago), 2018-11-29 19:41:26 -0800
• Engine revision 7375a0f414
• Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
• Android SDK at C:\Users\b\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• ANDROID_HOME = C:\Users\b\AppData\Local\Android\sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
• All Android licenses accepted.

[√] Android Studio (version 3.2)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 31.1.1
• Dart plugin version 181.5656
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[√] IntelliJ IDEA Community Edition (version 2017.3)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3
• Flutter plugin version 19.1
• Dart plugin version 173.3727.108

[√] Connected device (1 available)
• Nexus 6P • ENU7N15A27004986 • android-arm64 • Android 8.1.0 (API 27)

• No issues found!

buildscript {
ext.kotlin_version = '1.3.11'
repositories {
google()
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
maven {
url 'https://dl.bintray.com/android/android-tools'
}
}

dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.2.0' // Google Services plugin
}
}

Issue 2:
I'm using 0.7.0 with AuthCredential API. The code that causes the exception on Android (only) is this:

Future<String> verifyPhoneComplete(String code, String verifyId) {
firebase.AuthCredential phoneCred =
firebase.PhoneAuthProvider.getCredential(
verificationId: verifyId,
smsCode: code
);
return _auth.linkWithCredential(phoneCred).then((user) => user.uid);

Exception:

E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): Failed to handle method call
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): java.lang.IllegalArgumentException: Given String is empty or null
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at com.google.firebase.auth.EmailAuthProvider.getCredential(Unknown Source)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.handleLinkWithEmailAndPassword(FirebaseAuthPlugin.java:272)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.onMethodCall(FirebaseAuthPlugin.java:122)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at io.flutter.view.FlutterNativeView$PlatformMessageHandlerImpl.handlePlatformMessage(FlutterNativeView.java:188)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:202)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at android.os.MessageQueue.next(MessageQueue.java:143)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at android.os.Looper.loop(Looper.java:122)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at android.app.ActivityThread.main(ActivityThread.java:5254)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at java.lang.reflect.Method.invoke(Method.java:372)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

flutter doctor -v:

[✓] Flutter (Channel dev, v1.1.8, on Mac OS X 10.13.6 17G3025, locale en-US)
• Flutter version 1.1.8 at /Volumes/ExtStripe/Scratch/flutter
• Framework revision 985ccb6d14 (4 days ago), 2019-01-08 13:45:55 -0800
• Engine revision 7112b72cc2
• Dart version 2.1.1 (build 2.1.1-dev.0.1 ec86471ccc)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/kika/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.1, Build version 10B61
• ios-deploy 2.0.0
• CocoaPods version 1.5.3

[✓] Android Studio (version 3.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 31.3.3
• Dart plugin version 182.5124
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] VS Code (version 1.28.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 2.20.0

[✓] Connected device (2 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 5.1.1 (API 22) (emulator)
• iPhone 5s • D0A87E46-DDD7-46CF-B400-B4A4799315FF • ios • iOS 12.1 (simulator)

• No issues found!