[Updater] Send email when a new version is found

Bug: 109748616
Test: ./updater.sh check kotlinc googletest --json_output=/tmp/res.json
Test: out/soong/host/linux-x86/bin/external_updater_notifier \
          --result_file=/tmp/res.json \
          --history ~/updater/history \
          [email protected]

Change-Id: I27a4c1c2604d38106a08ce3eee1bcd03fdce80d7
diff --git a/github_archive_updater.py b/github_archive_updater.py
index bcb4bd5..f177b54 100644
--- a/github_archive_updater.py
+++ b/github_archive_updater.py
@@ -92,7 +92,7 @@
         except IndexError:
             raise ValueError('Url format is not supported.')
 
-    def _get_latest_version(self):
+    def _fetch_latest_version(self):
         """Checks upstream and gets the latest release tag."""
 
         url = 'https://api.github.com/repos/{}/{}/releases/latest'.format(
@@ -115,7 +115,7 @@
 
         self.new_url = choose_best_url(supported_assets, self.old_url.value)
 
-    def _get_latest_commit(self):
+    def _fetch_latest_commit(self):
         """Checks upstream and gets the latest commit to master."""
 
         url = 'https://api.github.com/repos/{}/{}/commits/master'.format(
@@ -126,10 +126,14 @@
         self.new_url = 'https://github.com/{}/{}/archive/{}.zip'.format(
             self.owner, self.repo, self.new_version)
 
-    def _get_current_version(self):
+    def get_current_version(self):
         """Returns the latest version name recorded in METADATA."""
         return self.metadata.third_party.version
 
+    def get_latest_version(self):
+        """Returns the latest version name in upstream."""
+        return self.new_version
+
     def _write_metadata(self, url, path):
         updated_metadata = metadata_pb2.MetaData()
         updated_metadata.CopyFrom(self.metadata)
@@ -144,14 +148,13 @@
 
         Returns True if a new version is available.
         """
-        current = self._get_current_version()
+        current = self.get_current_version()
         if git_utils.is_commit(current):
-            self._get_latest_commit()
+            self._fetch_latest_commit()
         else:
-            self._get_latest_version()
+            self._fetch_latest_version()
         print('Current version: {}. Latest version: {}'.format(
             current, self.new_version), end='')
-        return current != self.new_version
 
     def update(self):
         """Updates the package.