[tor-commits] [tor-browser-build/master] Bug 29313: Create TBB Project for tor-android-service

gk at torproject.org gk at torproject.org
Fri Apr 12 08:19:16 UTC 2019


commit 63d8e8c21b1001eba9e37cfc90e8b83d5e605723
Author: sisbell <shane.isbell at gmail.com>
Date:   Sun Feb 24 15:11:19 2019 -0800

    Bug 29313: Create TBB Project for tor-android-service
---
 projects/tor-android-service/build                 |  33 ++++
 projects/tor-android-service/config                |  33 ++++
 .../tor-android-service/content-provider.patch     |  13 ++
 .../gradle-dependencies-list.txt                   | 183 +++++++++++++++++++++
 projects/tor-android-service/gradle.patch          |  38 +++++
 projects/tor-android-service/require-api.patch     |  28 ++++
 6 files changed, 328 insertions(+)

diff --git a/projects/tor-android-service/build b/projects/tor-android-service/build
new file mode 100644
index 0000000..65bac4e
--- /dev/null
+++ b/projects/tor-android-service/build
@@ -0,0 +1,33 @@
+#!/bin/bash
+[% c("var/set_default_env") -%]
+output_dir=[% dest_dir %]/[% c('filename') %]
+gradle_repo=$rootdir/[% c('input_files_by_name/gradle-dependencies') %]
+export GRADLE_MAVEN_REPO="file://$gradle_repo"
+
+# The download script assumes artifact package name is the complete URL path.
+# In some cases this is incorrect, so copy those artifacts to correct location
+cp -r $gradle_repo/dl/android/maven2/* $gradle_repo
+
+mkdir -p /var/tmp/build $output_dir
+
+[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
+tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
+
+# Patch projects
+cd /var/tmp/build/[% project %]-[% c('version') %]
+patch -p1 < $rootdir/gradle.patch
+patch -p1 < $rootdir/content-provider.patch
+patch -p1 < $rootdir/require-api.patch
+
+# Remove native files, otherwise build will fail after gradle.patch
+rm -fR service/src/main/jni
+
+# Replace libraries with the config dependencies
+rm service/libs/*
+cp $rootdir/[% c('input_files_by_name/topl') %]/*{.aar,.jar} service/libs/
+
+# Build Android Libraries and Apps
+$GRADLE_HOME/gradle-4.1/bin/gradle --offline -P androidplugin=3.0.1 -P appcompatVersion=23.4.0 -P compileVersion=26 -P targetVersion=26 -P minVersion=16 assembleRelease -x lint
+
+# Package
+cp jsocksAndroid/build/outputs/aar/* service/build/outputs/aar/* $output_dir
diff --git a/projects/tor-android-service/config b/projects/tor-android-service/config
new file mode 100644
index 0000000..ab6eb6c
--- /dev/null
+++ b/projects/tor-android-service/config
@@ -0,0 +1,33 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
+git_hash: 6a9314aff4418a4edac33ff39fae266b097cf000
+git_url: https://github.com/sisbell/tor-android-service.git
+git_submodule: 1
+
+var:
+  deps:
+    - build-essential
+  container:
+    use_container: 1
+  # this should be updated when the list of gradle dependencies is changed
+  gradle_dependencies_version: 1
+
+targets:
+  android:
+    var:
+      arch_deps:
+        - openjdk-8-jdk
+
+input_files:
+  - project: container-image
+  - name: '[% c("var/compiler") %]'
+    project: '[% c("var/compiler") %]'
+  - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
+    name: gradle-dependencies
+    exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
+  - filename: gradle.patch
+  - filename: content-provider.patch
+  - filename: require-api.patch
+  - project: tor-onion-proxy-library
+    name: topl
diff --git a/projects/tor-android-service/content-provider.patch b/projects/tor-android-service/content-provider.patch
new file mode 100644
index 0000000..b026728
--- /dev/null
+++ b/projects/tor-android-service/content-provider.patch
@@ -0,0 +1,13 @@
+diff --git a/service/src/main/java/org/torproject/android/service/DataService.java b/service/src/main/java/org/torproject/android/service/DataService.java
+index 8f802ea..07e52f3 100644
+--- a/service/src/main/java/org/torproject/android/service/DataService.java
++++ b/service/src/main/java/org/torproject/android/service/DataService.java
+@@ -28,7 +28,7 @@ final class DataService {
+         this.torService = torService;
+         this.eventBroadcaster = eventBroadcaster;
+         this.torConfig = torConfig;
+-        String packageName = context.getApplicationInfo().packageName;
++        String packageName = "org.torproject.torbrowser";
+         COOKIE_CONTENT_URI = Uri.parse("content://" + packageName + ".ui.hiddenservices.providers.cookie/cookie");
+         HS_CONTENT_URI = Uri.parse("content://" + packageName + ".ui.hiddenservices.providers/hs");
+     }
diff --git a/projects/tor-android-service/gradle-dependencies-list.txt b/projects/tor-android-service/gradle-dependencies-list.txt
new file mode 100644
index 0000000..f07715d
--- /dev/null
+++ b/projects/tor-android-service/gradle-dependencies-list.txt
@@ -0,0 +1,183 @@
+# On how to update dependencies see projects/common/how-to-create-gradle-dependencies-list.txt
+# Don't forget to update var/gradle_dependencies_version when modifying this file
+sha256sum | url
+f0c98c571e93a7cb4dd18df0fa308f0963e7a0620ac2d4244e61e709d03ad6be | https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.pom
+965aeb2bedff369819bdde1bf7a0b3b89b8247dd69c88b86375d76163bb8c397 | https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0.pom
+3d6eba428555a558de046b5d76eacc1f5a54b4f5f20b84d636ed7aff18aa48c3 | https://jcenter.bintray.com/org/apache/httpcomponents/project/7/project-7.pom
+31629566148e8a47688ae43b420abc3ecd783ed15b33bebc00824bf24c9b15aa | https://jcenter.bintray.com/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.jar
+905721a0eea90a81534abb7ee6ef4ea2e5e645fa1def0a5cd88402df1b46c9ed | https://jcenter.bintray.com/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
+bd9b9cb1a3987b1427f7a18babe7f92078e32bbe2e1dca6dced00cc0e3a077a9 | https://jcenter.bintray.com/org/slf4j/slf4j-android/1.7.25/slf4j-android-1.7.25.pom
+58aa4df8faae90e484c0bc47494a1ec97dc51fe53eae2b4a70d60ea7489cdf8c | https://dl.google.com/dl/android/maven2/com/android/tools/external/com-intellij/intellij-core/26.0.1/intellij-core-26.0.1.jar
+2c1542faf343185b7cab9c3d55c8ae5471d6d095d3887a4adefdbdf2984dc0b6 | https://jcenter.bintray.com/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar
+467ae650442e876867379094e7518dfdd67d22c5352ebd39808c84259e9790ba | https://jcenter.bintray.com/org/apache/commons/commons-parent/25/commons-parent-25.pom
+2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d | https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar
+c3c99bf58182889fe86315e9a01473ee2c95540b9dedef898cec64554d925c54 | https://jcenter.bintray.com/com/android/tools/annotations/24.5.0/annotations-24.5.0.pom
+1eaf9182e1977c1c50a70edbfbf70536398c68990bfaafc9f0e9899041201539 | https://jcenter.bintray.com/com/google/guava/guava-parent/22.0/guava-parent-22.0.pom
+43edcc0fc3bd8520bf60066f54088f272e39aa856d25cdd6ca9ee4d8f5c32666 | https://dl.google.com/dl/android/maven2/com/android/support/support-vector-drawable/23.4.0/support-vector-drawable-23.4.0.pom
+a9d65daccc5afca97372936246ac49fb587423e005606e7981b0efc66b0e9385 | https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.0.1/annotations-26.0.1.jar
+bcb7ce66a9c629fa7c723a767b6430e1a383e8d4dd543d603dcb0ad1b855b8b2 | https://dl.google.com/dl/android/maven2/com/android/support/animated-vector-drawable/23.4.0/animated-vector-drawable-23.4.0.aar
+cb4cfad870bf563a07199f3ebea5763f0dec440fcda0b318640b1feaa788656b | https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18.jar
+e4c7afb8f0d7aa159318d42a011cc2c9b0525d820973cbca5318bec6c649cecc | https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.0.0/protobuf-java-3.0.0.pom
+45eb0d6e49430271b5fb385c53fae0b81d6ad3eae465a7a8d948217bcae1e86d | https://jcenter.bintray.com/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.jar
+ec3a75bebddbf19ff56a281cf5d1ad146169dcaa0e69d7b14f4aaba2e7775f34 | https://jcenter.bintray.com/net/freehaven/tor/control/jtorctl/0.2/jtorctl-0.2.jar
+963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349 | https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar
+f8fd874c37c89d5dfe5ec8190d94626512bd36ab2c2ac9d4b67515c5bee745cb | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.3-2/kotlin-stdlib-1.1.3-2.pom
+cf7e3630e1929ddeffcb0315db2acb37182c92dd3af970111b6115592f64d077 | https://jcenter.bintray.com/org/jacoco/org.jacoco.core/0.7.4.201502262128/org.jacoco.core-0.7.4.201502262128.pom
+a20fb26c8de5b0ff7a3069e681fcf01ebefd2f3d24b832c3af22d981d7d4376b | https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.0.1/repository-26.0.1.pom
+85ec8258fafc283f61647e6a11b404890821c11db6fcf550779ecf7a14151007 | https://jcenter.bintray.com/org/ow2/asm/asm-parent/5.1/asm-parent-5.1.pom
+7af7e2d8b24b4798f04c2b7da24c9fbd1b7557b4e017c2054481565916079092 | https://jcenter.bintray.com/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.pom
+40ceb7157feb263949e0f503fe5f71689333a621021aa20ce0d0acee3badaa0f | https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar
+ec4c74554312fac5116350164786f91b35c9e082fa4ea598bfa42b5db05d7abb | https://jcenter.bintray.com/org/jacoco/org.jacoco.core/0.7.4.201502262128/org.jacoco.core-0.7.4.201502262128.jar
+9cddda75f4a1b4469e73f44e7b61a3e897d0f657df4797f9106ffe88c4eeade0 | https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6.1.jar
+81120db4d5490c4f0e9789e1178d2bac231fcff2618bd80f8ef6ff03c550d59b | https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.1/asm-analysis-5.1.pom
+df5f5e4b6d2ddcde49ed5a4e7e3bf2cb7f87e0d9892e5b066f995c4d703b228f | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.0.1/protos-26.0.1.jar
+26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5 | https://jcenter.bintray.com/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar
+6895e368fa59168428c78cdf300bb29352073f397d8f260af3de82df2c8b2448 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.0.1/tracker-26.0.1.jar
+fbd7b254e02d8aef60c418a5f0e14a783b38a16162caffb2d2a16ccd5d2c09b4 | https://jcenter.bintray.com/org/slf4j/slf4j-android/1.7.25/slf4j-android-1.7.25.jar
+23e6d006f7d07bb43ebc80b2e530c8cdd65bbabcaaf911c3f12e2ea26167178c | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.0.1/gradle-core-3.0.1.pom
+1ef71c25a9d46ae0ce023d02a5734e0b06fdf934fbc5948e20482526b22b4179 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom
+2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439 | https://jcenter.bintray.com/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.jar
+b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 | https://jcenter.bintray.com/commons-io/commons-io/2.4/commons-io-2.4.pom
+f51550a06b1410bd4962cb0e71df0b921a60a7ef47bfa9c4825a14be72316eea | https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-parent/1.14/animal-sniffer-parent-1.14.pom
+87cd27e1a02a5c3eb6d85059ce98696bb1b44c2b8b650f0567c86df60fa61da7 | https://jcenter.bintray.com/org/apache/commons/commons-parent/39/commons-parent-39.pom
+aeb197158a2fb6bd2cb9233e22874f8051f82891dbd82b6b089f49e309f82e40 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/26.0.1/lint-26.0.1.jar
+54b34e941b8e1414bd3e40d736efd3481772dc26db3296f6aa45cec9f6203d86 | https://jcenter.bintray.com/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
+ce6f913cad1f0db3aad70186d65c5bc7ffcc9a99e3fe8e0b137312819f7c362f | https://jcenter.bintray.com/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
+668eb6aeb3d038267e719deb55f38a4233a12602afb97e89da609c095394400a | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.0.1/apksig-3.0.1.pom
+5215b648798c6c8d9b9cde3642d3bfb5a4cc894b7c8411004352e7de5d119827 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcomponents-client/4.1/httpcomponents-client-4.1.pom
+9144127192d6f612c2366825dceaeb23b0d53130b83e0bf1ffe107d1470a8487 | https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18.pom
+b6eb99f1362b8344ca5400d57a35c49e3504f23f3dee304fdb879d4d953f4bc6 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcore/4.2.5/httpcore-4.2.5.pom
+d2da399a9967c69f0a21739256fa79d284222c223082cacadc17372244764b54 | https://jcenter.bintray.com/org/ow2/asm/asm/5.1/asm-5.1.jar
+81f73f8b25b430f5a40a39727bbcef653a1d0868cc69233b44e4282ce5a94ff9 | https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.0.1/ddmlib-26.0.1.jar
+757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76 | https://jcenter.bintray.com/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar
+0ee5f691cbbedb69969b48374d27412f821959af5d2dffbabc424b607cdbbdf6 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.1.3-2/kotlin-reflect-1.1.3-2.jar
+536c45e8804de01321c478cfb994377f81f1e32897636616fa21b877fd137c6f | https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6.1.pom
+cd36b31f1495f4fe55a936dd00607abdd945e1f8074549225a04c402d1d35750 | https://jcenter.bintray.com/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.pom
+fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0 | https://jcenter.bintray.com/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar
+6d079b5abf39f323baaccc68463beef5cf2e9574f333dd749ae96753f00eb205 | https://jcenter.bintray.com/org/ow2/asm/asm/5.1/asm-5.1.pom
+8b870b3f2ee38bf15681acbc8b628df1ccf7c533190b5c79af9934b6cd66d451 | https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.0.1/baseLibrary-3.0.1.pom
+e1abd7f1116cf5e0c59947693e2189208ec94296b2a3394c959e3511d399a7b0 | https://jcenter.bintray.com/com/squareup/javawriter/2.5.0/javawriter-2.5.0.pom
+9619e68f7eb36da3a28a60315f34320972badbad43749cc66712bb95b96a4ef3 | https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/23.4.0/support-annotations-23.4.0.pom
+5d252585d47129cd667d96c92237383138a42edec5a8963a7dd44cd770faed91 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.0.1/lint-checks-26.0.1.pom
+3369726ca2b0e3736c741ff3c22e06f707a1007ff20ccc5b5ba5d0d9a01ead30 | https://jcenter.bintray.com/net/freehaven/tor/control/jtorctl/0.2/jtorctl-0.2.pom
+f34b3a0b62cdb468eb7e8335de4edc87958dc299306c2b4ba8ea15e6a4be106a | https://jcenter.bintray.com/net/sf/proguard/proguard-gradle/5.3.3/proguard-gradle-5.3.3.jar
+e899e02ec8ac6a73fb9c9c7cb9ebd9bfc4ce8263412285d5ec6f2df920880905 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.0.1/builder-model-3.0.1.pom
+2a0475c2625fc27f80d3c5021130509b4068e0f984f2511e7a77a097de48b41d | https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.0.1/sdklib-26.0.1.pom
+e91a88dd0c5e99069b7f09d4a46b5e06f1e9c4c72fc0a8e987e25d86af480f01 | https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/23.4.0/support-annotations-23.4.0.jar
+4f88a89142c64bf03906f84609594666e9694df56e3e6f05edfab8a68b39d837 | https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.0.1/annotations-26.0.1.pom
+1f8c906d0de98ddfa81b1ce520ee52fbd280c222383b66cba89e16eafb626001 | https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.0.1/baseLibrary-3.0.1.jar
+401877d5e70ad599e9b6cff18434ea0332f637b51f8ec68352646c836f9bb2a4 | https://jcenter.bintray.com/org/antlr/antlr4-master/4.5.3/antlr4-master-4.5.3.pom
+1a56992fc50f838fd091b6b9701b30da64b00bd2fe76ad2c800212eb459b49e2 | https://jcenter.bintray.com/com/google/code/gson/gson/2.3/gson-2.3.pom
+803be394edb8dd7d1e678683ed85aee7f86a172c90f03e6198c8a49d4f342b99 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.0.1/builder-3.0.1.jar
+feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a | https://jcenter.bintray.com/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
+d0f2e16d054e8bb97add9ca26525eb2346f692809fcd2a28787da8ceb3c35ee8 | https://jcenter.bintray.com/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
+1d2e883717b8ab7d3fcc9fa01034d165809a9c94daa6303a838f11e4d36adc86 | https://jcenter.bintray.com/net/sf/proguard/proguard-base/5.3.3/proguard-base-5.3.3.jar
+7e8bdca281bdcb6dad48a80854837f1c0ab46f31a0b292370e320f471f5b9cfd | https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.0.1/sdk-common-26.0.1.jar
+d7e368746fa68ca6ba63519fb0838be9a278d509a5fcee6cd4a778a119eae447 | https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/23.4.0/appcompat-v7-23.4.0.pom
+7c62f3856e8abca1d79257925f26c12668693f5d95904056bbac88605cfd8575 | https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.pom
+1158e94c7de4da480873f0b4ab4a1da14c0d23d4b1902cc94a58a6f0f9ab579e | https://jcenter.bintray.com/com/google/guava/guava/22.0/guava-22.0.jar
+a1e7d6b3efc1703c7c8f1b15ecf8757f17d0ac41f32c9a48481a5caf638c55db | https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.0.0/protobuf-java-3.0.0.jar
+3e395d6fbc43c09a3774cac8694ce527398305ea3fd5492d80e25af27d382a9c | https://jcenter.bintray.com/org/codehaus/mojo/mojo-parent/34/mojo-parent-34.pom
+712d7c974d20b71ce730938a3dda8d23e87cfd16500e1c1a2c9ecc2c9ff0d323 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.0.1/apksig-3.0.1.jar
+7cd9d7a0b5d93dfd461a148891b43509cf403a9c7f9fb49060d3554df1c81e1e | https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom
+4de4a3d05e1c534c2db9e4588bf34082bb2bd232d8abb9727c430290ce225740 | https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar
+e7a7a5810829dee924cec654a569a48301fcedd487f7b88710e816d127385f51 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.0.1/shared-26.0.1.jar
+e336a35a1e102c2f11ce1ea7f0872df14e332374b8eacc0877e50f85f84c3d09 | https://dl.google.com/dl/android/maven2/com/android/support/animated-vector-drawable/23.4.0/animated-vector-drawable-23.4.0.pom
+63b465cc628f8c305702b12b26501cea236a3175db15b5a7356e98484aa63db5 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.0.1/builder-model-3.0.1.jar
+7a3554c605e088e7e323b1084656243f0444fa353e2f2dee1f1a4204eb64ff09 | https://jcenter.bintray.com/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.jar
+164e7a9cf23a4e63bbc961f8db7d965d53d685710660a88249641f91d36f83a4 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcomponents-core/4.2.5/httpcomponents-core-4.2.5.pom
+ee041b3beb682e8bbf2dc16b6edc233483cbc36bde27fd13996617a667b615a5 | https://dl.google.com/dl/android/maven2/com/android/tools/external/com-intellij/intellij-core/26.0.1/intellij-core-26.0.1.pom
+cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 | https://jcenter.bintray.com/commons-io/commons-io/2.4/commons-io-2.4.jar
+51215c67d2c068d8b7d2f6f80f51372a098075deccc448d4bdd7b987ba8328fb | https://jcenter.bintray.com/org/ow2/ow2/1.3/ow2-1.3.pom
+e2f7b17610f9f0a2b55c019b7627be3d42ec142fde1db5caf8a34dbe3bb8dbcd | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.0.1/gradle-api-3.0.1.pom
+5fe8a11e913086fb7ab505b930987f30cfa3f4b226d4bbbc68003ca4387ae40e | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-api/26.0.1/lint-api-26.0.1.jar
+a34658f5c5de4b573eef21131cc32cc25f7b66407944f312b28ec2e56abb1fa9 | https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.1/asm-analysis-5.1.jar
+4946e60a547c8eda69f3bc23c5b6f0dadcf8469ea49b1d1da7de34aecfcf18dd | https://jcenter.bintray.com/org/apache/apache/9/apache-9.pom
+150021a89ae6f252415cbfff5c3111bf87433776b997b68e6e71f37e5b696799 | https://dl.google.com/dl/android/maven2/com/android/support/support-vector-drawable/23.4.0/support-vector-drawable-23.4.0.aar
+b51f8867c92b6a722499557fc3a1fdea77bdf9ef574722fe90ce436a29559454 | https://jcenter.bintray.com/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
+0288414509c625b8dd544384fbd29f502bdc8b4f86cfc26625aa23eef9fa6057 | https://jcenter.bintray.com/net/sf/proguard/proguard-parent/5.3.3/proguard-parent-5.3.3.pom
+70c458dcf6040317b41ddf50a7d53a02b8a85b0723b36cde9562c59e3cd11dae | https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.0.1/dvlib-26.0.1.jar
+faf82de0dc02e0c0ae327cd653f37255496b2e53fce280b3ab4cb34553a89086 | https://jcenter.bintray.com/com/intellij/annotations/12.0/annotations-12.0.pom
+bede73084ec812b916f686cc6e47625bd0756154bef589a4c2b419e54a393bf5 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.0.1/manifest-merger-26.0.1.jar
+8fdc3336e7b01873193ba9c48b87de7d788dc0954d1eb45c322492627a4b5c6e | https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.pom
+0c0e9d1857c250d1d71b5c6be7b8cc29afe55e7419a90d13bbe968ae5bd7240e | https://jcenter.bintray.com/org/ow2/asm/asm-util/5.1/asm-util-5.1.pom
+052b0d2b58e5df4f30e4f64bdf5414473f6cfa10147f8f8d89cb0b63316ba8f3 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.0.1/manifest-merger-26.0.1.pom
+e5e82da4cc66c8d917bbf743e3c0752efe8522735e7fc9dbddb65bccea81cfe9 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcore/4.2.5/httpcore-4.2.5.jar
+0a640f956f4cdde8b5d3458a67ca67599eeb6f47349167a3f1afce7d60978027 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.0.1/gradle-core-3.0.1.jar
+07f08b315c812406e9d497e1b592689742feb3950c1a713f95e2692d3e15b619 | https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.0.1/ddmlib-26.0.1.pom
+e767a1248adb4843110457e839e504c2511649ee78f05a6a311ea7f23578894d | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.0.1/builder-test-api-3.0.1.jar
+18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79 | https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar
+953b116521a73575eee990e3f2c36a892fb088bb2d9a3027c82193cb7a013ef7 | https://jcenter.bintray.com/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.pom
+9466512cd8cf0bd66a8a3661685373f7b3deafded11096e044926ff5c82c7a4c | https://jcenter.bintray.com/com/google/code/gson/gson/2.3/gson-2.3.jar
+fb8c5e55e30a7addb4ff210858a0e8d2494ed6757bbe19012da99d51586c3cbb | https://jcenter.bintray.com/org/apache/commons/commons-parent/22/commons-parent-22.pom
+ddb0fc5402b4cd8f31d5f29c830793d3ec00fd8ce60786254e5f0f132f0bdd8d | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-api/26.0.1/lint-api-26.0.1.pom
+7846399b35c7cd642a9b3a000c3e2d62d04eb37a4547b6933cc8b18bcc2f086b | https://jcenter.bintray.com/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.pom
+6b87237de8c2e1740cf80627c7f3ce3e15de1930bb250c55a1eca94fa3e014df | https://jcenter.bintray.com/org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
+ff513db0361fd41237bef4784968bc15aae478d4ec0a9496f811072ccaf3841d | https://jcenter.bintray.com/org/apache/apache/13/apache-13.pom
+f2885288839f82f824a0c042922ae7f24ed0d55ce26a74b6a7c557e0b7e30c24 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.3-2/kotlin-stdlib-1.1.3-2.jar
+fcd77cba4ea3893429860b93da5d43f2e089f2ba8bdfa97ef724f410f404152a | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.jar
+cf149955279b07d4f11e817985c1164a69e930d73db7441b43a6ef53bbd286c4 | https://jcenter.bintray.com/com/google/errorprone/error_prone_parent/2.0.18/error_prone_parent-2.0.18.pom
+cd6db17a11a31ede794ccbd1df0e4d9750f640234731f21cff885a9997277e81 | https://jcenter.bintray.com/com/google/google/1/google-1.pom
+97b3786e1f55e74bddf8ad102bf50e33bbcbc1f6b7fd7b36f0bbbb25cd4981be | https://jcenter.bintray.com/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.jar
+a32de739cfdf515774e696f91aa9697d2e7731e5cb5045ca8a4b657f8b1b4fb4 | https://jcenter.bintray.com/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar
+efa86e5cd922f17b472fdfcae57234d8d4ac3e148b6250737dfce454af7a7a44 | https://jcenter.bintray.com/com/google/jimfs/jimfs/1.1/jimfs-1.1.pom
+d3d96637b0e8e61046567b8c87b667dcf3cd31c7447f651cb58d6e6e744adfba | https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/23.4.0/appcompat-v7-23.4.0.aar
+1879f19a05991e3ed95910b96689333396b0c467a215dc4d1f90018404b72a26 | https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.pom
+949246020c08a0543389082af38268cdce4ee7a7a8218097369b9845752866cb | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.0.1/lint-checks-26.0.1.jar
+a47c950c755747ca3093a05e9ec85d0e2f33cbd224909f571fe7577963a4d799 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.1.3-2/kotlin-reflect-1.1.3-2.pom
+1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7 | https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
+db3cd95bec1001605e1653f2843e8542e712fa2bb672fd9c8c1ace86c57673d1 | https://jcenter.bintray.com/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.pom
+ee032c39ae5e3cd099148fbba9a2124f9ed613e5cb93e03ee0fa8808ce364040 | https://jcenter.bintray.com/org/ow2/asm/asm-util/5.1/asm-util-5.1.jar
+b27bbb9d269a97be8ff0ac480c0f09c9a953f62e6ff05d90fcbb0ddb4de97c77 | https://dl.google.com/dl/android/maven2/com/android/tools/common/26.0.1/common-26.0.1.jar
+ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478 | https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0.jar
+ecd46dc69f5212b35eb21d64db68072f956c000083030ff53e09d1f81487c580 | https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/26.0.1/uast-26.0.1.jar
+8c6191e0dd8bfdc862332cb79b08185ac5b63565d405dac2605be4c2b19774bd | https://jcenter.bintray.com/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.pom
+10107898991129eff2042a41b1bfc2d72c4ea8e4babe429ae3aeb32c69c568de | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.0.1/tracker-26.0.1.pom
+c71555751e57e0ef912870e8ac9625ae782502a6a5b9c19ccf83b2a97d8b26bd | https://jcenter.bintray.com/com/google/jimfs/jimfs-parent/1.1/jimfs-parent-1.1.pom
+7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca | https://jcenter.bintray.com/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.jar
+f5a0a1eeaa100ed36aa83eca562d5dbb7e9b045c98b44db7da4745e9d9a20328 | https://jcenter.bintray.com/org/apache/httpcomponents/httpclient/4.2.6/httpclient-4.2.6.pom
+2ba9c1cfec6b4a183b72a5ccc6cb2c83479d6ad7e931543c792292c1679a7f43 | https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/26.0.1/uast-26.0.1.pom
+8d4006178fedef4255797b806167cf4a6774158eedabf96420693afbbd00fee3 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.0.1/protos-26.0.1.pom
+47a89be0fa0fedd476db5fd2c83487654d2a119c391f83a142be876667cf7dab | https://jcenter.bintray.com/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.pom
+a0d002465c0f611eedaaef2b2530707d2e9fb3a5c7ed66f53c556a12f714f43a | https://dl.google.com/dl/android/maven2/com/android/support/support-v4/23.4.0/support-v4-23.4.0.aar
+e6531a278b4f632f198a6e45b9e11de1b2b678cd5a4e0fdff442f604c2439a42 | https://jcenter.bintray.com/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.pom
+c9a55463942128f0b7fad62b8bee5886d1cb1c733fb3b78507465b025e6a4031 | https://dl.google.com/dl/android/maven2/com/android/databinding/compilerCommon/3.0.1/compilerCommon-3.0.1.pom
+e30f1db6058f745f26112ef309f89becb27c617c7d9e4c6e02165a7620a92e6a | https://dl.google.com/dl/android/maven2/com/android/tools/common/26.0.1/common-26.0.1.pom
+31ce606f4e9518936299bb0d27c978fa61e185fd1de7c9874fe959a53e34a685 | https://jcenter.bintray.com/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.pom
+38db692b5cbaf69d89b1fe5b0fc38a5cc83f898716f8bc64086fa17c25ea57d6 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.0.1/shared-26.0.1.pom
+5c415a9d8585200de4be1947e15291cc79f599b06249375f5c9ea22d4b2d090f | https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
+f26bdec2b9496470c0ce63b0d290816e8000ef018daaa259597ebae947fd690f | https://jcenter.bintray.com/net/sf/proguard/proguard-gradle/5.3.3/proguard-gradle-5.3.3.pom
+5dc327c690d031a11aa8f9f4cdc391fb938fbb7c7c143cc4bc60dd573d1fd1c9 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.0.1/builder-3.0.1.pom
+e824935c264b041e847b67808aee704f8cd47d698203259057e42f473e1f6f30 | https://dl.google.com/dl/android/maven2/com/android/databinding/compilerCommon/3.0.1/compilerCommon-3.0.1.jar
+362e9324ee7c697e21279e20077b52737ddef3f1b2c1a7abe5ad34b465145550 | https://jcenter.bintray.com/org/apache/httpcomponents/httpclient/4.2.6/httpclient-4.2.6.jar
+8b0aa8a74e990ca8d633ab7bd1938530e921548df13fd4020224a61065378876 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.0.1/builder-test-api-3.0.1.pom
+f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2 | https://jcenter.bintray.com/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar
+f8ab13b14be080fe2f617f90e55599760e4a1b4deeea5c595df63d0d6375ed6d | https://jcenter.bintray.com/com/intellij/annotations/12.0/annotations-12.0.jar
+a9660f8b64b74f474226c70a50187d8efcac448d32ce97756f408975aa52cdaa | https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.0.1/sdk-common-26.0.1.pom
+a06e35d3fff3a6b813d94894ebf3e498f9540c864c5b39ae783907e3a6c72889 | https://jcenter.bintray.com/commons-codec/commons-codec/1.6/commons-codec-1.6.pom
+8a4e4b32eedaa72976a757e12cf1dfe742725db0b7311bf176dd937ba4236384 | https://jcenter.bintray.com/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom
+fb5369fc7ea4b2e3cf8d6f20243f1d97f81341bf818b179cd8dbd1da7a781a21 | https://jcenter.bintray.com/org/ow2/asm/asm-tree/5.1/asm-tree-5.1.pom
+6f52ba933a117bd67131b281214510ea30232b9807bfe569bc0c17e6a2d4018c | https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.0.1/repository-26.0.1.jar
+9f85ff2fd7d6cb3097aa47fb419ee7f0ebe869109f98aba9f4eca3f49e74a40e | https://jcenter.bintray.com/org/apache/apache/16/apache-16.pom
+e51efb2ec140b2849b9880fb161cb6e30dd672368a534c1f47ab46d7f537d9ca | https://jcenter.bintray.com/net/sf/proguard/proguard-base/5.3.3/proguard-base-5.3.3.pom
+2ec779741f72313fc6623d0f0e42b2450dd2425dd6ad319697e658aae9ae177b | https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.0.1/dvlib-26.0.1.pom
+24633fb1e62a9e4b1a25e2c1751d68be89e050b488652456e545b8019539137d | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.0.1/gradle-api-3.0.1.jar
+13c1448f7ebb61f67e6fbd6cd5c188804c17c4d7e77c4b79b316ede4ef9cd9b3 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/26.0.1/lint-26.0.1.pom
+bfadb3b40f65dd6de1666d6b29f8bb54031396c76eeef4146cf9f28255f8bf33 | https://jcenter.bintray.com/com/google/guava/guava/22.0/guava-22.0.pom
+c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd | https://jcenter.bintray.com/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar
+fee07b2760ef3ed20f2edefa70504a29f9216d277adae56ce85778ee4b18cd04 | https://dl.google.com/dl/android/maven2/com/android/support/support-v4/23.4.0/support-v4-23.4.0.pom
+6b5ad911a13a5c814c04be4376586eec15838158cb59b9f062ae138ddff1b861 | https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.0.1/layoutlib-api-26.0.1.jar
+932e6bab9a24a7bc958bbdb7e29e04d083b473d11c4ba3fab1e9b7149579f272 | https://jcenter.bintray.com/com/google/protobuf/protobuf-parent/3.0.0/protobuf-parent-3.0.0.pom
+b787d574c851505e76212968b9ae1641ea79804aef7f5a2cee2a01cd4055213a | https://jcenter.bintray.com/org/apache/commons/commons-compress/1.12/commons-compress-1.12.pom
+8bd632c00bdf80a7de36c22b60f12452c147d8eca2f00d79d66699ebe7daa02a | https://jcenter.bintray.com/org/apache/commons/commons-parent/5/commons-parent-5.pom
+52b6fd2eaf2240e14dbe752f1fa884270cc668d6f350e8e7f65f6033a8172d69 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcomponents-client/4.2.6/httpcomponents-client-4.2.6.pom
+c0de2bbc4cb8297419659813ecd4ed1d077ed1dd5c1f5544cc5143e493e84c10 | https://jcenter.bintray.com/org/ow2/asm/asm-tree/5.1/asm-tree-5.1.jar
+18f5c52120db036e88d6136f8839c832d074bdda95c756c6f429249d2db54ac6 | https://jcenter.bintray.com/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom
+e2b4935e76d91b5abec44de309f2c8bb8d1d2e6cc0b8790b43cb654f1e22c722 | https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.0.1/layoutlib-api-26.0.1.pom
+f056ed61a281b3e230a63e4abf510c0d2f9bf7ff513cacb65a29538ba90ab177 | https://jcenter.bintray.com/org/jacoco/org.jacoco.build/0.7.4.201502262128/org.jacoco.build-0.7.4.201502262128.pom
+74fa208043740642f7e6eb09faba15965218ad2f50ce3020efb100136e4b591c | https://jcenter.bintray.com/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar
+fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a | https://jcenter.bintray.com/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
+321668fc474a73140eb9cc73c779f1ebb9f60948aade3beddee082ecefcf0259 | https://jcenter.bintray.com/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.pom
+9e9323a26ba8eb2394efef0c96d31b70df570808630dc147cab1e73541cc5194 | https://jcenter.bintray.com/org/apache/apache/4/apache-4.pom
+cf251279505960889b6b281c26af0438656ebac3845e52791925cf7649cb15a6 | https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.0.1/sdklib-26.0.1.jar
+21bb4d44dff54e33a37c11af69859a714202ae00969aab5453eba7276688f8ec | https://jcenter.bintray.com/org/apache/httpcomponents/project/4.1.1/project-4.1.1.pom
diff --git a/projects/tor-android-service/gradle.patch b/projects/tor-android-service/gradle.patch
new file mode 100644
index 0000000..89347c9
--- /dev/null
+++ b/projects/tor-android-service/gradle.patch
@@ -0,0 +1,38 @@
+diff --git a/build.gradle b/build.gradle
+index 178278e..d80d0b5 100644
+--- a/build.gradle
++++ b/build.gradle
+@@ -4,6 +4,7 @@ buildscript {
+     repositories {
+         google()
+         jcenter()
++        maven { url System.getenv("GRADLE_MAVEN_REPO") }
+     }
+     dependencies {
+         classpath "com.android.tools.build:gradle:${androidplugin}"
+@@ -19,6 +20,7 @@ allprojects {
+         jcenter()
+         maven { url "https://jitpack.io" }
+         maven { url "https://raw.githubusercontent.com/guardianproject/gpmaven/master" }
++        maven { url System.getenv("GRADLE_MAVEN_REPO") }
+     }
+ }
+ 
+diff --git a/service/build.gradle b/service/build.gradle
+index b414557..f57d9b3 100644
+--- a/service/build.gradle
++++ b/service/build.gradle
+@@ -16,13 +16,6 @@ android {
+         }
+     }
+ 
+-    externalNativeBuild {
+-        ndkBuild {
+-            path "src/main/jni/Android.mk"
+-            buildStagingDirectory "./outputs/ndk-build"
+-        }
+-    }
+-
+     lintOptions {
+         abortOnError false
+     }
diff --git a/projects/tor-android-service/require-api.patch b/projects/tor-android-service/require-api.patch
new file mode 100644
index 0000000..43b7842
--- /dev/null
+++ b/projects/tor-android-service/require-api.patch
@@ -0,0 +1,28 @@
+diff --git a/service/src/main/java/org/torproject/android/service/TorService.java b/service/src/main/java/org/torproject/android/service/TorService.java
+index d280a29..beb2b02 100644
+--- a/service/src/main/java/org/torproject/android/service/TorService.java
++++ b/service/src/main/java/org/torproject/android/service/TorService.java
+@@ -12,7 +12,10 @@ import android.net.ConnectivityManager;
+ import android.net.NetworkInfo;
+ import android.os.Build;
+ import android.os.IBinder;
+-import android.support.annotation.RequiresApi;
++// Not available in 23.4.0
++// https://developer.android.com/reference/android/support/annotation/RequiresApi
++//import android.support.annotation.RequiresApi;
++import android.annotation.TargetApi;
+ import android.text.TextUtils;
+ import android.util.Log;
+ import com.msopentech.thali.android.toronionproxy.AndroidOnionProxyManager;
+@@ -93,7 +96,10 @@ public final class TorService extends Service implements TorServiceConstants, Or
+         startService(intentVpn);
+     }
+ 
+-    @RequiresApi(api = Build.VERSION_CODES.O)
++    // Use TargetApi until we use a support library version that adds the
++    // RequriesApi annotation
++    //@RequiresApi(api = Build.VERSION_CODES.O)
++    @TargetApi(value = Build.VERSION_CODES.O)
+     private void createNotificationChannel(String appName, String appDescription) {
+         int importance = NotificationManager.IMPORTANCE_LOW;
+         NotificationChannel mChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, appName,



More information about the tor-commits mailing list