Implement InstanceIDAndroid using InstanceIDWithSubtype.java

Replaces the previous stub implementation with a fully functional
implementation backed by InstanceIDWithSubtype.java.

Part of a series of patches:
1. https://codereview.chromium.org/1832833002 adds InstanceIDWithSubtype
2. this patch
3. https://codereview.chromium.org/1829023002 adds fake and test
4. https://codereview.chromium.org/1854093002 enables InstanceID by default
5. https://codereview.chromium.org/1851423003 switches Push to InstanceIDs

BUG=589461

Review URL: https://codereview.chromium.org/1830983002

Cr-Commit-Position: refs/heads/master@{#387646}
diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
new file mode 100644
index 0000000..6168aff
--- /dev/null
+++ b/components/gcm_driver/instance_id/android/BUILD.gn
@@ -0,0 +1,26 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/android/rules.gni")
+
+# GYP version: components/gcm_driver.gypi:instance_id_driver_jni_headers
+generate_jni("jni_headers") {
+  sources = [
+    "java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java",
+  ]
+  jni_package = "components/gcm_driver/instance_id"
+}
+
+# GYP version: components/gcm_driver.gypi:instance_id_driver_java
+android_library("instance_id_driver_java") {
+  deps = [
+    "//base:base_java",
+    google_play_services_library,
+  ]
+
+  java_files = [
+    "java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java",
+    "java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java",
+  ]
+}