Add presubmit format requirement for webrtc/api/android

BUG=webrtc:6419
NOTRY=True
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2377113003
Cr-Commit-Position: refs/heads/master@{#14435}
diff --git a/webrtc/api/android/PRESUBMIT.py b/webrtc/api/android/PRESUBMIT.py
new file mode 100644
index 0000000..bc0cbcb
--- /dev/null
+++ b/webrtc/api/android/PRESUBMIT.py
@@ -0,0 +1,28 @@
+# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS.  All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+
+def CheckChangeOnUpload(input_api, output_api):
+  results = []
+  results.extend(CheckPatchFormatted(input_api, output_api))
+  return results
+
+def CheckPatchFormatted(input_api, output_api):
+  import git_cl
+  cmd = ['cl', 'format', '--dry-run', input_api.PresubmitLocalPath()]
+  code, _ = git_cl.RunGitWithCode(cmd, suppress_stderr=True)
+  if code == 2:
+    short_path = input_api.basename(input_api.PresubmitLocalPath())
+    full_path = input_api.os_path.relpath(input_api.PresubmitLocalPath(),
+                                          input_api.change.RepositoryRoot())
+    return [output_api.PresubmitPromptWarning(
+      'The %s directory requires source formatting. '
+      'Please run git cl format %s' %
+      (short_path, full_path))]
+  # As this is just a warning, ignore all other errors if the user
+  # happens to have a broken clang-format, doesn't use git, etc etc.
+  return []