diff --git a/Android.bp b/Android.bp new file mode 100644 index 00000000..42582a2f --- /dev/null +++ b/Android.bp @@ -0,0 +1,69 @@ +// +// Copyright (C) 2018 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +android_app { + name: "Seedvault", + srcs: [ + "app/src/main/java/**/*.kt", + "app/src/main/java/**/*.java", + ], + resource_dirs: [ + "app/src/main/res", + ], + static_libs: [ + "com.google.android.material_material", + "androidx.core_core", + "androidx.preference_preference", + "androidx.lifecycle_lifecycle-extensions", + "androidx-constraintlayout_constraintlayout", + "seedvault-lib-androidx-core-ktx", + "seedvault-lib-androidx-lifecycle-livedata-core-ktx", + "seedvault-lib-androidx-lifecycle-livedata-ktx", + "seedvault-lib-androidx-lifecycle-viewmodel-ktx", + "seedvault-lib-koin-android", + "seedvault-lib-koin-androidx-viewmodel", + "seedvault-lib-commons-io", + "seedvault-lib-koin-core", + "seedvault-lib-kotlinx-coroutines-android", + "seedvault-lib-kotlinx-coroutines-core", + "seedvault-lib-novacrypto-bip39", + "seedvault-lib-novacrypto-sha256", + "seedvault-lib-novacrypto-toruntime" + ], + manifest: "app/src/main/AndroidManifest.xml", + + platform_apis: true, + certificate: "platform", + privileged: true, + required: [ + "privapp_whitelist_com.stevesoltys.backup", + "com.stevesoltys.backup_whitelist" + ] +} + +prebuilt_etc { + name: "privapp_whitelist_com.stevesoltys.backup", + sub_dir: "permissions", + src: "permissions_com.stevesoltys.seedvault.xml", + filename_from_src: true, +} + +prebuilt_etc { + name: "com.stevesoltys.backup_whitelist", + sub_dir: "sysconfig", + src: "whitelist_com.stevesoltys.seedvault.xml", + filename_from_src: true, +} diff --git a/Android.mk b/Android.mk.prebuilt similarity index 100% rename from Android.mk rename to Android.mk.prebuilt diff --git a/app/build.gradle b/app/build.gradle index 5615aa27..ac753711 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -108,6 +108,9 @@ def aospDeps = fileTree(include: [ 'libcore.jar' ], dir: 'libs') +// If the dependencies below are updated please make sure to update the +// prebuilt libraries and Android.bp in the top `libs` folder to reflect that. +// You can copy these libraries from ~/.gradle/caches/modules-2 dependencies { compileOnly aospDeps diff --git a/deploy-prebuilt.sh b/deploy-prebuilt.sh index b9af3d5a..58062933 100755 --- a/deploy-prebuilt.sh +++ b/deploy-prebuilt.sh @@ -12,7 +12,7 @@ git clone --quiet $REPO_URL cd seedvault-prebuilt git checkout $TRAVIS_BRANCH || git checkout -b $TRAVIS_BRANCH rm -Rf ./* -cp $TRAVIS_BUILD_DIR/Android.mk . +cp $TRAVIS_BUILD_DIR/Android.mk.prebuilt ./Android.mk cp $TRAVIS_BUILD_DIR/app/build/outputs/apk/release/app-release-unsigned.apk ./Seedvault.apk cp $TRAVIS_BUILD_DIR/permissions_com.stevesoltys.seedvault.xml . cp $TRAVIS_BUILD_DIR/whitelist_com.stevesoltys.seedvault.xml . diff --git a/libs/Android.bp b/libs/Android.bp new file mode 100644 index 00000000..b8c68f8f --- /dev/null +++ b/libs/Android.bp @@ -0,0 +1,84 @@ +android_library_import { + name: "seedvault-lib-androidx-core-ktx", + aars: ["core-ktx-1.1.0.aar"], + sdk_version: "current", +} + +android_library_import { + name: "seedvault-lib-androidx-lifecycle-livedata-core-ktx", + aars: ["lifecycle-livedata-core-ktx-2.3.0-alpha05.aar"], + sdk_version: "current", +} + +android_library_import { + name: "seedvault-lib-androidx-lifecycle-livedata-ktx", + aars: ["lifecycle-livedata-ktx-2.3.0-alpha05.aar"], + sdk_version: "current", +} + +android_library_import { + name: "seedvault-lib-androidx-lifecycle-viewmodel-ktx", + aars: ["lifecycle-viewmodel-ktx-2.1.0.aar"], + sdk_version: "current", +} + +android_library_import { + name: "seedvault-lib-koin-android", + aars: ["koin-android-2.0.1.aar"], + sdk_version: "current", +} + +android_library_import { + name: "seedvault-lib-koin-androidx-viewmodel", + aars: ["koin-androidx-viewmodel-2.0.1.aar"], + sdk_version: "current", +} + +java_import { + name: "seedvault-lib-commons-io", + host_supported: true, + jars: ["commons-io-2.6.jar"], + sdk_version: "current", +} + +java_import { + name: "seedvault-lib-koin-core", + host_supported: true, + jars: ["koin-core-2.0.1.jar"], + sdk_version: "current", +} + +java_import { + name: "seedvault-lib-kotlinx-coroutines-android", + host_supported: true, + jars: ["kotlinx-coroutines-android-1.1.1.jar"], + sdk_version: "current", +} + +java_import { + name: "seedvault-lib-kotlinx-coroutines-core", + host_supported: true, + jars: ["kotlinx-coroutines-core-1.3.0.jar"], + sdk_version: "current", +} + +java_import { + name: "seedvault-lib-novacrypto-bip39", + host_supported: true, + jars: ["BIP39-2019.01.27.jar"], + sdk_version: "current", +} + +java_import { + name: "seedvault-lib-novacrypto-sha256", + host_supported: true, + jars: ["SHA256-2019.01.27.jar"], + sdk_version: "current", +} + +java_import { + name: "seedvault-lib-novacrypto-toruntime", + host_supported: true, + jars: ["ToRuntime-0.9.0.jar"], + sdk_version: "current", +} diff --git a/libs/BIP39-2019.01.27.jar b/libs/BIP39-2019.01.27.jar new file mode 100644 index 00000000..806af43d Binary files /dev/null and b/libs/BIP39-2019.01.27.jar differ diff --git a/libs/SHA256-2019.01.27.jar b/libs/SHA256-2019.01.27.jar new file mode 100644 index 00000000..ae871853 Binary files /dev/null and b/libs/SHA256-2019.01.27.jar differ diff --git a/libs/ToRuntime-0.9.0.jar b/libs/ToRuntime-0.9.0.jar new file mode 100644 index 00000000..d5aa5d63 Binary files /dev/null and b/libs/ToRuntime-0.9.0.jar differ diff --git a/libs/commons-io-2.6.jar b/libs/commons-io-2.6.jar new file mode 100644 index 00000000..00556b11 Binary files /dev/null and b/libs/commons-io-2.6.jar differ diff --git a/libs/core-ktx-1.1.0.aar b/libs/core-ktx-1.1.0.aar new file mode 100644 index 00000000..a092757f Binary files /dev/null and b/libs/core-ktx-1.1.0.aar differ diff --git a/libs/koin-android-2.0.1.aar b/libs/koin-android-2.0.1.aar new file mode 100644 index 00000000..cbfb51b7 Binary files /dev/null and b/libs/koin-android-2.0.1.aar differ diff --git a/libs/koin-androidx-viewmodel-2.0.1.aar b/libs/koin-androidx-viewmodel-2.0.1.aar new file mode 100644 index 00000000..cf995574 Binary files /dev/null and b/libs/koin-androidx-viewmodel-2.0.1.aar differ diff --git a/libs/koin-core-2.0.1.jar b/libs/koin-core-2.0.1.jar new file mode 100644 index 00000000..ff60a617 Binary files /dev/null and b/libs/koin-core-2.0.1.jar differ diff --git a/libs/kotlinx-coroutines-android-1.1.1.jar b/libs/kotlinx-coroutines-android-1.1.1.jar new file mode 100644 index 00000000..2ccdee90 Binary files /dev/null and b/libs/kotlinx-coroutines-android-1.1.1.jar differ diff --git a/libs/kotlinx-coroutines-core-1.3.0.jar b/libs/kotlinx-coroutines-core-1.3.0.jar new file mode 100644 index 00000000..a7eff5a1 Binary files /dev/null and b/libs/kotlinx-coroutines-core-1.3.0.jar differ diff --git a/libs/lifecycle-livedata-core-ktx-2.3.0-alpha05.aar b/libs/lifecycle-livedata-core-ktx-2.3.0-alpha05.aar new file mode 100644 index 00000000..8fee089e Binary files /dev/null and b/libs/lifecycle-livedata-core-ktx-2.3.0-alpha05.aar differ diff --git a/libs/lifecycle-livedata-ktx-2.3.0-alpha05.aar b/libs/lifecycle-livedata-ktx-2.3.0-alpha05.aar new file mode 100644 index 00000000..b1d5ebcf Binary files /dev/null and b/libs/lifecycle-livedata-ktx-2.3.0-alpha05.aar differ diff --git a/libs/lifecycle-viewmodel-ktx-2.1.0.aar b/libs/lifecycle-viewmodel-ktx-2.1.0.aar new file mode 100644 index 00000000..0e832d24 Binary files /dev/null and b/libs/lifecycle-viewmodel-ktx-2.1.0.aar differ