Reland: "Make javac warnings errors for WebRTC targets."

This reverts commit 2bad72a27329ff30ceb9479253f5eb3d21888d25.

Reason for revert: Fixing downstream projects (take 2).

Original change's description:
> Reland "Revert "Make javac warnings errors for WebRTC targets.""
> 
> This is a reland of 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74
> Original change's description:
> > Revert "Make javac warnings errors for WebRTC targets."
> > 
> > This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> > 
> > Reason for revert: Breaking internal builds
> > 
> > Original change's description:
> > > Make javac warnings errors for WebRTC targets.
> > > 
> > > Adds new rtc_* templates for Android targets to allow specifying
> > > default values that affect WebRTC targets.
> > > 
> > > Bug: webrtc:6597
> > > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#20567}
> > 
> TBR=phoglund@webrtc.org,sakal@webrtc.org
> > 
> > Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:6597
> > Reviewed-on: https://webrtc-review.googlesource.com/20740
> > Reviewed-by: Lu Liu <lliuu@webrtc.org>
> > Commit-Queue: Lu Liu <lliuu@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20571}
> 
> Bug: webrtc:6597
> Change-Id: Icfb5ded46ce76b674bae67bfa02054b4ec52bb0f
> Reviewed-on: https://webrtc-review.googlesource.com/20800
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20577}

TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,mbonadei@webrtc.org,sakal@webrtc.org,lliuu@webrtc.org

Change-Id: Id3713c1885318741711987ae642a269a9ca5bb85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/18441
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20588}
diff --git a/webrtc.gni b/webrtc.gni
index a4b7c18..3b504e8 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -398,3 +398,62 @@
     }
   }
 }
+
+if (is_android) {
+  template("rtc_android_library") {
+    android_library(target_name) {
+      forward_variables_from(invoker,
+                             "*",
+                             [
+                               "configs",
+                               "public_configs",
+                               "suppressed_configs",
+                               "visibility",
+                             ])
+
+      # Treat warnings as errors.
+      javac_args = [ "-Werror" ]
+
+      # TODO(sakal): Fix build hooks crbug.com/webrtc/8168
+      no_build_hooks = true
+    }
+  }
+
+  template("rtc_android_apk") {
+    android_apk(target_name) {
+      forward_variables_from(invoker,
+                             "*",
+                             [
+                               "configs",
+                               "public_configs",
+                               "suppressed_configs",
+                               "visibility",
+                             ])
+
+      # Treat warnings as errors.
+      javac_args = [ "-Werror" ]
+
+      # TODO(sakal): Fix build hooks crbug.com/webrtc/8168
+      no_build_hooks = true
+    }
+  }
+
+  template("rtc_instrumentation_test_apk") {
+    instrumentation_test_apk(target_name) {
+      forward_variables_from(invoker,
+                             "*",
+                             [
+                               "configs",
+                               "public_configs",
+                               "suppressed_configs",
+                               "visibility",
+                             ])
+
+      # Treat warnings as errors.
+      javac_args = [ "-Werror" ]
+
+      # TODO(sakal): Fix build hooks crbug.com/webrtc/8168
+      no_build_hooks = true
+    }
+  }
+}