Compare commits
6 commits
test-deplo
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
d9d8195764 | ||
|
ff4e2e5c8d | ||
|
4e4ac58ff6 | ||
|
82191da51a | ||
|
23ad7350aa | ||
|
1b00cfc372 |
9 changed files with 129 additions and 119 deletions
157
.github/workflows/deploy.yml
vendored
157
.github/workflows/deploy.yml
vendored
|
@ -1,11 +1,8 @@
|
|||
|
||||
name: Publish Assets
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
build_arm64_aar:
|
||||
|
@ -17,17 +14,12 @@ jobs:
|
|||
- name: hacky copy # docker image runs ~ as /root, but github actions uses ~=/github/home
|
||||
run: |
|
||||
cp -r /root/.buildozer ~/.buildozer/
|
||||
- name: Log the buildozer version
|
||||
run: |
|
||||
pwd
|
||||
ls -al /
|
||||
- name: export build version
|
||||
run: export BUILD_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
||||
- name: setup
|
||||
run: |
|
||||
export B_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
||||
echo "NEXUS_SIGNING_KEYRING_FILE=$GITHUB_WORKSPACE/signing2.pgp" >> $GITHUB_ENV
|
||||
echo "BUILD_VERSION=${B_VERSION}" >> $GITHUB_ENV
|
||||
export PATH=/usr/bin:$PATH
|
||||
|
||||
wget -q 'https://eu.crystax.net/download/crystax-ndk-10.3.2-linux-x86_64.tar.xz' -P ~/.buildozer/android/
|
||||
tar -xf ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz -C ~/.buildozer/android/
|
||||
rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||
|
@ -48,77 +40,78 @@ jobs:
|
|||
NEXUS_SIGNING_KEY_PASSWORD: ${{ secrets.NEXUS_SIGNING_KEY_PASSWORD }}
|
||||
NEXUS_SIGNING_KEY_ID: ${{ secrets.NEXUS_SIGNING_KEY_ID }}
|
||||
run: ./build-release.sh
|
||||
# - name: build arm64 aar
|
||||
# - name: debug bin
|
||||
# run : ls -al ./bin
|
||||
# - name: upload to build_lbry_io
|
||||
# run : |
|
||||
# pip install awscli
|
||||
# export PR_NUMBER=${{ github.event.number }}
|
||||
|
||||
# export BUILD_APK_FILENAME__64=lbrysdk-${{ env.BUILD_VERSION }}-arm64-v8a-release.aar
|
||||
# aws s3 cp ./bin/${BUILD_APK_FILENAME__64} s3://build.lbry.io/android/sdk-build-${PR_NUMBER}_commit-${{ github.sha }}/${BUILD_APK_FILENAME__64}
|
||||
# env:
|
||||
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
# AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
|
||||
# - name: github release
|
||||
# if: startsWith(github.ref, 'refs/tags/v')
|
||||
# run: |
|
||||
# echo "NEXUS_SIGNING_KEYRING_FILE=$GITHUB_WORKSPACE/signing2.pgp" >> $GITHUB_ENV
|
||||
# export PATH=/usr/bin:$PATH
|
||||
# pip install githubrelease
|
||||
# export GITHUB_TOKEN=${{ github.token }}
|
||||
# githubrelease release lbryio/lbry-android-sdk create ${{ github.ref_name }} --publish bin/${BUILD_APK_FILENAME__64}
|
||||
|
||||
# wget -q 'https://eu.crystax.net/download/crystax-ndk-10.3.2-linux-x86_64.tar.xz' -P ~/.buildozer/android/
|
||||
# tar -xf ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz -C ~/.buildozer/android/
|
||||
# rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||
# ln -s ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21 ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||
# cp -f $GITHUB_WORKSPACE/scripts/build-target-python.sh ~/.buildozer/android/crystax-ndk-10.3.2/build/tools/build-target-python.sh
|
||||
# cp -f $GITHUB_WORKSPACE/scripts/mangled-glibc-syscalls__arm64.h ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21/arch-arm64/usr/include/crystax/bionic/libc/include/sys/mangled-glibc-syscalls.h
|
||||
# cp -f $GITHUB_WORKSPACE/scripts/build-binary.mk ~/.buildozer/android/crystax-ndk-10.3.2/build/core/build-binary.mk
|
||||
# rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||
# cp -Rf $GITHUB_WORKSPACE/scripts/crystax-sources/sqlite ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||
# rm ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz
|
||||
# mv buildozer.spec.arm64.ci buildozer.spec
|
||||
# chmod u+x ./build-release.sh
|
||||
# ./build-release.sh
|
||||
# cp $GITHUB_WORKSPACE/bin/lbrysdk-${{ env.BUILD_VERSION }}-arm64-v8a-release.aar /dev/null
|
||||
# build_arm_aar:
|
||||
# runs-on: ubuntu-latest
|
||||
# container: lbry/android-base:python39
|
||||
# steps:
|
||||
# - name: checkout
|
||||
# uses: actions/checkout@v3
|
||||
# - name: export build version
|
||||
# run: export BUILD_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
||||
# - name: build arm aar
|
||||
# run: |
|
||||
# export NEXUS_SIGNING_KEYRING_FILE=$GITHUB_WORKSPACE/signing2.pgp
|
||||
# export PATH=/usr/bin:$PATH
|
||||
# wget -q 'https://eu.crystax.net/download/crystax-ndk-10.3.2-linux-x86_64.tar.xz' -P ~/.buildozer/android/
|
||||
# tar -xf ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz -C ~/.buildozer/android/
|
||||
# rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||
# ln -s ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21 ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||
# cp -f $GITHUB_WORKSPACE/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm $GITHUB_WORKSPACE/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle
|
||||
# cp -f $GITHUB_WORKSPACE/scripts/build-target-python.sh ~/.buildozer/android/crystax-ndk-10.3.2/build/tools/build-target-python.sh
|
||||
# cp -f $GITHUB_WORKSPACE/scripts/mangled-glibc-syscalls.h ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21/arch-arm/usr/include/crystax/bionic/libc/include/sys/mangled-glibc-syscalls.h
|
||||
# cp -f $GITHUB_WORKSPACE/scripts/build-binary.mk ~/.buildozer/android/crystax-ndk-10.3.2/build/core/build-binary.mk
|
||||
# rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||
# cp -Rf $GITHUB_WORKSPACE/scripts/crystax-sources/sqlite ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||
# rm ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz
|
||||
# mv buildozer.spec.arm.ci buildozer.spec
|
||||
# chmod u+x ./build-release.sh
|
||||
# ./build-release.sh
|
||||
# cp $GITHUB_WORKSPACE/bin/lbrysdk-${{ env.BUILD_VERSION }}-armeabi-v7a-release.aar /dev/null
|
||||
# deploy_build_lbry_io:
|
||||
# runs-on: ubuntu-latest
|
||||
# container: lbry/android-base:python39
|
||||
# needs: [build_arm64_aar, build_arm_aar]
|
||||
# steps:
|
||||
# - name: dependencies
|
||||
# run: |
|
||||
# pip install awscli
|
||||
# export BUILD_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
||||
# export BUILD_APK_FILENAME__32=lbrysdk-$BUILD_VERSION-armeabi-v7a-release.aar
|
||||
# export BUILD_APK_FILENAME__64=lbrysdk-$BUILD_VERSION-arm64-v8a-release.aar
|
||||
# - name: upload
|
||||
# run: |
|
||||
# aws s3 cp bin/$BUILD_APK_FILENAME__64 s3://build.lbry.io/android/sdk-build-${CI_PIPELINE_IID}_commit-${CI_COMMIT_SHA:0:7}/$BUILD_APK_FILENAME__64
|
||||
# aws s3 cp bin/$BUILD_APK_FILENAME__32 s3://build.lbry.io/android/sdk-build-${CI_PIPELINE_IID}_commit-${CI_COMMIT_SHA:0:7}/$BUILD_APK_FILENAME__32
|
||||
# release_aar:
|
||||
# runs-on: ubuntu-latest
|
||||
# container: python:latest
|
||||
# needs: [build_arm64_aar, build_arm_aar]
|
||||
# steps:
|
||||
# - name: dependencies
|
||||
# run: |
|
||||
# pip install awscli githubrelease
|
||||
# export BUILD_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
||||
# export BUILD_APK_FILENAME__32=lbrysdk-$BUILD_VERSION-armeabi-v7a-release.aar
|
||||
# export BUILD_APK_FILENAME__64=lbrysdk-$BUILD_VERSION-arm64-v8a-release.aar
|
||||
# - name: release
|
||||
# run: githubrelease release lbryio/lbry-android-sdk create $CI_COMMIT_TAG --publish bin/$BUILD_APK_FILENAME__64 bin/$BUILD_APK_FILENAME__32
|
||||
build_arm_aar:
|
||||
runs-on: ubuntu-latest
|
||||
container: lbry/android-base:python39
|
||||
needs: [build_arm64_aar]
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: hacky copy # docker image runs ~ as /root, but github actions uses ~=/github/home
|
||||
run: |
|
||||
cp -r /root/.buildozer ~/.buildozer/
|
||||
- name: setup
|
||||
run: |
|
||||
export B_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
||||
echo "BUILD_VERSION=${B_VERSION}" >> $GITHUB_ENV
|
||||
echo "NEXUS_SIGNING_KEYRING_FILE=$GITHUB_WORKSPACE/signing2.pgp" >> $GITHUB_ENV
|
||||
export PATH=/usr/bin:$PATH
|
||||
wget -q 'https://eu.crystax.net/download/crystax-ndk-10.3.2-linux-x86_64.tar.xz' -P ~/.buildozer/android/
|
||||
tar -xf ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz -C ~/.buildozer/android/
|
||||
rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||
ln -s ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21 ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||
cp -f $GITHUB_WORKSPACE/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm $GITHUB_WORKSPACE/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle
|
||||
cp -f $GITHUB_WORKSPACE/scripts/build-target-python.sh ~/.buildozer/android/crystax-ndk-10.3.2/build/tools/build-target-python.sh
|
||||
cp -f $GITHUB_WORKSPACE/scripts/mangled-glibc-syscalls.h ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21/arch-arm/usr/include/crystax/bionic/libc/include/sys/mangled-glibc-syscalls.h
|
||||
cp -f $GITHUB_WORKSPACE/scripts/build-binary.mk ~/.buildozer/android/crystax-ndk-10.3.2/build/core/build-binary.mk
|
||||
rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||
cp -Rf $GITHUB_WORKSPACE/scripts/crystax-sources/sqlite ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||
rm ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz
|
||||
mv buildozer.spec.arm64.ci buildozer.spec
|
||||
chmod u+x ./build-release.sh
|
||||
- name: build release
|
||||
env:
|
||||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
|
||||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
|
||||
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
|
||||
NEXUS_SIGNING_KEY_PASSWORD: ${{ secrets.NEXUS_SIGNING_KEY_PASSWORD }}
|
||||
NEXUS_SIGNING_KEY_ID: ${{ secrets.NEXUS_SIGNING_KEY_ID }}
|
||||
run: ./build-release.sh
|
||||
# - name: upload to build_lbry_io
|
||||
# run : |
|
||||
# pip install awscli
|
||||
# export PR_NUMBER=${{ github.event.number }}
|
||||
# export BUILD_APK_FILENAME__32=lbrysdk-${{ env.BUILD_VERSION }}-armeabi-v7a-release.aar
|
||||
# aws s3 cp bin/${BUILD_APK_FILENAME__32} s3://build.lbry.io/android/sdk-build-{$PR_NUMBER}_commit-${{ github.sha }}/${BUILD_APK_FILENAME__32}
|
||||
# env:
|
||||
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
# AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
|
||||
# - name: github upload binary
|
||||
# if: startsWith(github.ref, 'refs/tags/v')
|
||||
# uses: skx/github-action-publish-binaries@release-1.3
|
||||
# env:
|
||||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# BUILD_VERSION: ${{ env.BUILD_VERSION }}
|
||||
# with:
|
||||
# args: bin/${BUILD_APK_FILENAME__32}
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -11,6 +11,7 @@ src/main/assets/index.android.bundle
|
|||
src/main/assets/index.android.bundle.meta
|
||||
*.log
|
||||
.vagrant
|
||||
.vscode
|
||||
|
||||
lbry-android.keystore
|
||||
p4a/pythonforandroid/bootstraps/lbry/build/templates/google-services.json
|
||||
|
|
14
BUILD.md
14
BUILD.md
|
@ -135,3 +135,17 @@ If you already installed `Android SDK` and `adb`
|
|||
Note: You need to have your device connected with USB debugging.
|
||||
|
||||
Once the bundler is ready, run the LBRY Browser app on your device and then shake the device violently until you see the React Native dev menu. You can enable "Live Reloading" and "Hot Reloading" from this menu, so any changes you make to the React Native code will be visible as you save. This will only reload React Native Javascript files. Native Java code needs to be redeployed by running the command `./deploy.sh`
|
||||
|
||||
## Update LBRY SDK Version
|
||||
|
||||
### Update the `requirements` section following files
|
||||
* buildozer.spec.arm.ci
|
||||
* buildozer.spec.arm64.ci
|
||||
* buildozer.spec.sample
|
||||
* buildozer.spec.vagrant
|
||||
|
||||
### Update LBRY_SDK_VERSION in `src/main/java/io/lbry/lbrysdk/LbrynetService.java`
|
||||
|
||||
### Update the version in `src/main/python/main.py`
|
||||
|
||||
## Github Actions CI
|
|
@ -39,7 +39,7 @@ version.filename = %(source.dir)s/main.py
|
|||
|
||||
# (list) Application requirements
|
||||
# comma seperated e.g. requirements = sqlite3,kivy
|
||||
requirements = python3crystax, openssl, sqlite3, hostpython3crystax, android, distro==1.4.0, pyjnius, certifi==2021.5.30, appdirs==1.4.3, docopt==0.6.2, base58==1.0.0, colorama==0.3.7, ecdsa==0.13.3, jsonschema==2.6.0, pbkdf2==1.3, pyyaml, protobuf==3.6.1, keyring==21.0.0, defusedxml, netifaces, aioupnp==0.0.17, asn1crypto, mock, cryptography, aiohttp==3.6.0, multidict==4.5.2, idna, yarl==1.3.0, chardet==3.0.4, async_timeout==3.0.1, coincurve, msgpack==0.6.1, six, attrs==18.2.0, pylru, hachoir, prometheus_client==0.8.0, "git+https://github.com/lbryio/lbry-sdk@v0.102.0#egg=lbry"
|
||||
requirements = python3crystax, openssl, sqlite3, hostpython3crystax, android, distro==1.4.0, pyjnius, certifi==2021.5.30, appdirs==1.4.3, docopt==0.6.2, base58==1.0.0, colorama==0.3.7, ecdsa==0.13.3, jsonschema==2.6.0, pbkdf2==1.3, pyyaml, protobuf==3.6.1, keyring==21.0.0, defusedxml, netifaces, aioupnp==0.0.17, asn1crypto, mock, cryptography, aiohttp==3.6.0, multidict==4.5.2, idna, yarl==1.3.0, chardet==3.0.4, async_timeout==3.0.1, coincurve, msgpack==0.6.1, six, attrs==18.2.0, pylru, hachoir, prometheus_client==0.8.0, "git+https://github.com/lbryio/lbry-sdk@v0.112.0#egg=lbry"
|
||||
|
||||
# (str) Custom source folders for requirements
|
||||
# Sets custom source for any requirements with recipes
|
||||
|
@ -101,7 +101,7 @@ android.minapi = 21
|
|||
android.sdk = 23
|
||||
|
||||
# (str) Android NDK version to use
|
||||
#android.ndk = 17c
|
||||
#android.ndk = 13b
|
||||
|
||||
# (bool) Use --private data storage (True) or --dir public storage (False)
|
||||
#android.private_storage = True
|
||||
|
@ -275,4 +275,3 @@ warn_on_root = 1
|
|||
# Then, invoke the command line with the "demo" profile:
|
||||
#
|
||||
#buildozer --profile demo android debug
|
||||
android.accept_sdk_license = True
|
|
@ -39,7 +39,7 @@ version.filename = %(source.dir)s/main.py
|
|||
|
||||
# (list) Application requirements
|
||||
# comma seperated e.g. requirements = sqlite3,kivy
|
||||
requirements = python3crystax, openssl, sqlite3, hostpython3crystax, android, distro==1.4.0, pyjnius, certifi==2021.5.30, appdirs==1.4.3, docopt==0.6.2, base58==1.0.0, colorama==0.3.7, ecdsa==0.13.3, jsonschema==2.6.0, pbkdf2==1.3, pyyaml, protobuf==3.6.1, keyring==21.0.0, defusedxml, netifaces, aioupnp==0.0.17, asn1crypto, mock, cryptography, aiohttp==3.6.0, multidict==4.5.2, idna, yarl==1.3.0, chardet==3.0.4, async_timeout==3.0.1, coincurve, msgpack==0.6.1, six, attrs==18.2.0, pylru, hachoir, prometheus_client==0.8.0, "git+https://github.com/lbryio/lbry-sdk@v0.102.0#egg=lbry"
|
||||
requirements = python3crystax, openssl, sqlite3, hostpython3crystax, android, distro==1.4.0, pyjnius, certifi==2021.5.30, appdirs==1.4.3, docopt==0.6.2, base58==1.0.0, colorama==0.3.7, ecdsa==0.13.3, jsonschema==2.6.0, pbkdf2==1.3, pyyaml, protobuf==3.6.1, keyring==21.0.0, defusedxml, netifaces, aioupnp==0.0.17, asn1crypto, mock, cryptography, aiohttp==3.6.0, multidict==4.5.2, idna, yarl==1.3.0, chardet==3.0.4, async_timeout==3.0.1, coincurve, msgpack==0.6.1, six, attrs==18.2.0, pylru, hachoir, prometheus_client==0.8.0, "git+https://github.com/lbryio/lbry-sdk@v0.112.0#egg=lbry"
|
||||
|
||||
# (str) Custom source folders for requirements
|
||||
# Sets custom source for any requirements with recipes
|
||||
|
|
|
@ -39,7 +39,7 @@ version.filename = %(source.dir)s/main.py
|
|||
|
||||
# (list) Application requirements
|
||||
# comma seperated e.g. requirements = sqlite3,kivy
|
||||
requirements = python3crystax, openssl, sqlite3, hostpython3crystax, android, distro==1.4.0, pyjnius, certifi==2021.5.30, appdirs==1.4.3, docopt==0.6.2, base58==1.0.0, colorama==0.3.7, ecdsa==0.13.3, jsonschema==2.6.0, pbkdf2==1.3, pyyaml, protobuf==3.6.1, keyring==21.0.0, defusedxml, netifaces, aioupnp==0.0.17, asn1crypto, mock, cryptography, aiohttp==3.6.0, multidict==4.5.2, idna, yarl==1.3.0, chardet==3.0.4, async_timeout==3.0.1, coincurve, msgpack==0.6.1, six, attrs==18.2.0, pylru, hachoir, prometheus_client==0.8.0, "git+https://github.com/lbryio/lbry-sdk@v0.102.0#egg=lbry"
|
||||
requirements = python3crystax, openssl, sqlite3, hostpython3crystax, android, distro==1.4.0, pyjnius, certifi==2021.5.30, appdirs==1.4.3, docopt==0.6.2, base58==1.0.0, colorama==0.3.7, ecdsa==0.13.3, jsonschema==2.6.0, pbkdf2==1.3, pyyaml, protobuf==3.6.1, keyring==21.0.0, defusedxml, netifaces, aioupnp==0.0.17, asn1crypto, mock, cryptography, aiohttp==3.6.0, multidict==4.5.2, idna, yarl==1.3.0, chardet==3.0.4, async_timeout==3.0.1, coincurve, msgpack==0.6.1, six, attrs==18.2.0, pylru, hachoir, prometheus_client==0.8.0, "git+https://github.com/lbryio/lbry-sdk@v0.112.0#egg=lbry"
|
||||
|
||||
# (str) Custom source folders for requirements
|
||||
# Sets custom source for any requirements with recipes
|
||||
|
|
|
@ -275,4 +275,4 @@ warn_on_root = 1
|
|||
# Then, invoke the command line with the "demo" profile:
|
||||
#
|
||||
#buildozer --profile demo android debug
|
||||
requirements = python3crystax, openssl, sqlite3, hostpython3crystax, android, distro==1.4.0, pyjnius, certifi==2020.12.5, appdirs==1.4.3, docopt==0.6.2, base58==1.0.0, colorama==0.3.7, ecdsa==0.13.3, jsonschema==2.6.0, pbkdf2==1.3, pyyaml, protobuf==3.6.1, keyring==21.0.0, defusedxml, aioupnp==0.0.17, asn1crypto, mock, cryptography, aiohttp==3.5.4, multidict==4.5.2, yarl==1.3.0, chardet==3.0.4, async_timeout==3.0.1, coincurve, msgpack==0.6.1, six, attrs==18.2.0, pylru, hachoir, prometheus_client==0.8.0, "git+https://github.com/lbryio/lbry-sdk@v0.102.0#egg=lbry"
|
||||
requirements = python3crystax, openssl, sqlite3, hostpython3crystax, android, distro==1.4.0, pyjnius, certifi==2020.12.5, appdirs==1.4.3, docopt==0.6.2, base58==1.0.0, colorama==0.3.7, ecdsa==0.13.3, jsonschema==2.6.0, pbkdf2==1.3, pyyaml, protobuf==3.6.1, keyring==21.0.0, defusedxml, aioupnp==0.0.17, asn1crypto, mock, cryptography, aiohttp==3.5.4, multidict==4.5.2, yarl==1.3.0, chardet==3.0.4, async_timeout==3.0.1, coincurve, msgpack==0.6.1, six, attrs==18.2.0, pylru, hachoir, prometheus_client==0.8.0, "git+https://github.com/lbryio/lbry-sdk@v0.112.0#egg=lbry"
|
|
@ -56,7 +56,7 @@ import org.renpy.android.ResourceManager;
|
|||
*/
|
||||
public final class LbrynetService extends PythonService {
|
||||
|
||||
public static final String LBRY_SDK_VERSION = "0.102.0";
|
||||
public static final String LBRY_SDK_VERSION = "0.112.0";
|
||||
|
||||
public static final int SERVICE_NOTIFICATION_GROUP_ID = 5;
|
||||
public static final String ACTION_STOP_SERVICE = "io.lbry.browser.ACTION_STOP_SERVICE";
|
||||
|
@ -143,8 +143,7 @@ public final class LbrynetService extends PythonService {
|
|||
|
||||
// update the notification with the context intent
|
||||
Notification notification = buildNotification();
|
||||
NotificationManager notificationManager =
|
||||
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
notificationManager.notify(1, notification);
|
||||
}
|
||||
|
||||
|
@ -159,13 +158,13 @@ public final class LbrynetService extends PythonService {
|
|||
|
||||
String serviceDescription = "The LBRY service is running in the background.";
|
||||
Notification notification = builder.setColor(ContextCompat.getColor(this, R.color.lbryGreen))
|
||||
.setContentText(serviceDescription)
|
||||
.setGroup(GROUP_SERVICE)
|
||||
.setWhen(System.currentTimeMillis())
|
||||
.setSmallIcon(R.drawable.ic_lbry)
|
||||
.setOngoing(true)
|
||||
.addAction(android.R.drawable.ic_menu_close_clear_cancel, "Stop", stopPendingIntent)
|
||||
.build();
|
||||
.setContentText(serviceDescription)
|
||||
.setGroup(GROUP_SERVICE)
|
||||
.setWhen(System.currentTimeMillis())
|
||||
.setSmallIcon(R.drawable.ic_lbry)
|
||||
.setOngoing(true)
|
||||
.addAction(android.R.drawable.ic_menu_close_clear_cancel, "Stop", stopPendingIntent)
|
||||
.build();
|
||||
|
||||
return notification;
|
||||
}
|
||||
|
@ -173,11 +172,10 @@ public final class LbrynetService extends PythonService {
|
|||
@Override
|
||||
protected void doStartForeground(Bundle extras) {
|
||||
downloadManager = new DownloadManager(this);
|
||||
NotificationManager notificationManager =
|
||||
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
NotificationChannel channel = new NotificationChannel(
|
||||
NOTIFICATION_CHANNEL_ID, "LBRY Browser", NotificationManager.IMPORTANCE_LOW);
|
||||
NOTIFICATION_CHANNEL_ID, "LBRY Browser", NotificationManager.IMPORTANCE_LOW);
|
||||
channel.setDescription("LBRY service notification channel");
|
||||
channel.setShowBadge(false);
|
||||
notificationManager.createNotificationChannel(channel);
|
||||
|
@ -186,11 +184,11 @@ public final class LbrynetService extends PythonService {
|
|||
// Create the notification group
|
||||
NotificationCompat.Builder groupBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
|
||||
groupBuilder.setContentTitle("LBRY Browser")
|
||||
.setColor(ContextCompat.getColor(this, R.color.lbryGreen))
|
||||
.setSmallIcon(R.drawable.ic_lbry)
|
||||
.setPriority(NotificationCompat.PRIORITY_LOW)
|
||||
.setGroup(GROUP_SERVICE)
|
||||
.setGroupSummary(true);
|
||||
.setColor(ContextCompat.getColor(this, R.color.lbryGreen))
|
||||
.setSmallIcon(R.drawable.ic_lbry)
|
||||
.setPriority(NotificationCompat.PRIORITY_LOW)
|
||||
.setGroup(GROUP_SERVICE)
|
||||
.setGroupSummary(true);
|
||||
notificationManager.notify(SERVICE_NOTIFICATION_GROUP_ID, groupBuilder.build());
|
||||
|
||||
Notification notification = buildNotification();
|
||||
|
@ -221,7 +219,8 @@ public final class LbrynetService extends PythonService {
|
|||
JSONObject result = status.getJSONObject("result");
|
||||
if (result.has("startup_status")) {
|
||||
JSONObject startupStatus = result.getJSONObject("startup_status");
|
||||
fileManagerReady = startupStatus.has("file_manager") && startupStatus.getBoolean("file_manager");
|
||||
fileManagerReady = startupStatus.has("file_manager")
|
||||
&& startupStatus.getBoolean("file_manager");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -232,8 +231,10 @@ public final class LbrynetService extends PythonService {
|
|||
params.put("page_size", 100);
|
||||
params.put("reverse", true);
|
||||
params.put("sort", "added_on");
|
||||
/*params.put("status", "stopped");
|
||||
params.put("comparison", "ne");*/
|
||||
/*
|
||||
* params.put("status", "stopped");
|
||||
* params.put("comparison", "ne");
|
||||
*/
|
||||
|
||||
String fileList = Utils.sdkCall("file_list", params);
|
||||
if (fileList != null) {
|
||||
|
@ -273,7 +274,8 @@ public final class LbrynetService extends PythonService {
|
|||
if (fileItems != null && fileItems.length() > 0) {
|
||||
// TODO: Create Java FileItem class
|
||||
JSONObject item = fileItems.getJSONObject(0);
|
||||
String downloadPath = item.isNull("download_path") ? null : item.getString("download_path");
|
||||
String downloadPath = item.isNull("download_path") ? null
|
||||
: item.getString("download_path");
|
||||
if (downloadPath == null || downloadPath.trim().length() == 0) {
|
||||
return;
|
||||
}
|
||||
|
@ -281,7 +283,8 @@ public final class LbrynetService extends PythonService {
|
|||
String claimName = item.getString("claim_name");
|
||||
String uri = String.format("lbry://%s#%s", claimName, claimId);
|
||||
|
||||
if (!downloadManager.isDownloadActive(uri) && !downloadManager.isDownloadCompleted(uri)) {
|
||||
if (!downloadManager.isDownloadActive(uri)
|
||||
&& !downloadManager.isDownloadCompleted(uri)) {
|
||||
downloadManager.clearWrittenBytesForDownload(uri);
|
||||
File file = new File(downloadPath);
|
||||
Intent intent = createDownloadEventIntent(uri, outpoint, item.toString());
|
||||
|
@ -443,7 +446,6 @@ public final class LbrynetService extends PythonService {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private static Intent createDownloadEventIntent(String uri, String outpoint, String fileInfo) {
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(DownloadManager.ACTION_DOWNLOAD_EVENT);
|
||||
|
@ -470,14 +472,15 @@ public final class LbrynetService extends PythonService {
|
|||
|
||||
if (intent == null) {
|
||||
intent = ServiceHelper.buildIntent(
|
||||
getApplicationContext(), "", LbrynetService.class, "lbrynetservice");
|
||||
getApplicationContext(), "", LbrynetService.class, "lbrynetservice");
|
||||
}
|
||||
|
||||
// send a broadcast indicating that the service has started
|
||||
Intent startedIntent = new Intent(LBRY_SDK_SERVICE_STARTED);
|
||||
sendBroadcast(startedIntent);
|
||||
|
||||
// no need to iterate the checks repeatedly here, because this is service startup
|
||||
// no need to iterate the checks repeatedly here, because this is service
|
||||
// startup
|
||||
checkDownloads();
|
||||
|
||||
return super.onStartCommand(intent, flags, startId);
|
||||
|
@ -496,8 +499,8 @@ public final class LbrynetService extends PythonService {
|
|||
}
|
||||
|
||||
Context context = getApplicationContext();
|
||||
NotificationManager notificationManager =
|
||||
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
NotificationManager notificationManager = (NotificationManager) context
|
||||
.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
notificationManager.cancelAll();
|
||||
|
||||
super.onDestroy();
|
||||
|
@ -550,7 +553,7 @@ public final class LbrynetService extends PythonService {
|
|||
// If the disk data is out of date, extract it and write the
|
||||
// version file.
|
||||
// if (! data_version.equals(disk_version)) {
|
||||
if (! data_version.equals(disk_version)) {
|
||||
if (!data_version.equals(disk_version)) {
|
||||
Log.v(TAG, "Extracting " + resource + " assets.");
|
||||
|
||||
recursiveDelete(target);
|
||||
|
@ -558,7 +561,7 @@ public final class LbrynetService extends PythonService {
|
|||
|
||||
AssetExtract ae = new AssetExtract(getApplicationContext());
|
||||
if (!ae.extractTar(resource + ".mp3", target.getAbsolutePath())) {
|
||||
//toastError("Could not extract " + resource + " data.");
|
||||
// toastError("Could not extract " + resource + " data.");
|
||||
Log.e(TAG, "Could not extract " + resource + " data.");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# going forward, this should match sdk version
|
||||
__version__ = "0.102.0"
|
||||
__version__ = "0.112.0"
|
||||
|
||||
class ServiceApp(App):
|
||||
def build(self):
|
||||
|
|
Loading…
Reference in a new issue