Abort cargo2android.py if the patch fails.

This allows the external_updater to understand that an error occurred.

The pre-patched version of the file will still exist.

Test: Run when a patch fails.
Change-Id: I59cc12eeaa751b5e3e2956060f58981d27875748
diff --git a/scripts/cargo2android.py b/scripts/cargo2android.py
index 7c43aad..2ab58e1 100755
--- a/scripts/cargo2android.py
+++ b/scripts/cargo2android.py
@@ -57,6 +57,7 @@
 import platform
 import re
 import shutil
+import subprocess
 import sys
 
 # Some Rust packages include extra unwanted crates.
@@ -1338,8 +1339,8 @@
           return self
         if self.args.verbose:
           print('### INFO: applying local patch file:', self.args.patch)
-        os.system('patch -s --no-backup-if-mismatch ./Android.bp ' +
-                  self.args.patch)
+        subprocess.run(['patch', '-s', '--no-backup-if-mismatch', './Android.bp',
+                        self.args.patch], check=True)
     return self
 
   def gen_bp(self):