diff --git a/metadata/app.fedilab.nitterizeme.yml b/metadata/app.fedilab.nitterizeme.yml index 3bac881db9..23868d5501 100644 --- a/metadata/app.fedilab.nitterizeme.yml +++ b/metadata/app.fedilab.nitterizeme.yml @@ -86,7 +86,16 @@ Builds: rm: - apk + - versionName: 1.8.0 + versionCode: 13 + commit: 1.8.0 + subdir: app + gradle: + - yes + rm: + - apk + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 1.7.1 -CurrentVersionCode: 12 +CurrentVersion: 1.8.0 +CurrentVersionCode: 13 diff --git a/metadata/app.fyreplace.client.yml b/metadata/app.fyreplace.client.yml index 26b3dfd1c0..1dea1203d9 100644 --- a/metadata/app.fyreplace.client.yml +++ b/metadata/app.fyreplace.client.yml @@ -220,7 +220,15 @@ Builds: gradle: - yes + - versionName: 0.8.6 + versionCode: 8006 + commit: v0.8.6 + subdir: app + init: sed -i='' 's/gradle-.*-all/gradle-5.6.4-all/' ../gradle/wrapper/gradle-wrapper.properties + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 0.8.3 -CurrentVersionCode: 8003 +CurrentVersion: 0.8.6 +CurrentVersionCode: 8006 diff --git a/metadata/at.bitfire.nophonespam.yml b/metadata/at.bitfire.nophonespam.yml index be5a2f9169..f4ea45c9af 100644 --- a/metadata/at.bitfire.nophonespam.yml +++ b/metadata/at.bitfire.nophonespam.yml @@ -90,7 +90,14 @@ Builds: gradle: - yes + - versionName: 0.3.0 + versionCode: 12 + commit: v0.3.0 + subdir: app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags ^v[0-9.]*$ -CurrentVersion: 0.2.8 -CurrentVersionCode: 10 +CurrentVersion: 0.3.0 +CurrentVersionCode: 12 diff --git a/metadata/com.agateau.tinywheels.android.yml b/metadata/com.agateau.tinywheels.android.yml index 483eea2beb..706281c5f3 100644 --- a/metadata/com.agateau.tinywheels.android.yml +++ b/metadata/com.agateau.tinywheels.android.yml @@ -128,8 +128,42 @@ Builds: - make -C .. assets - make -C .. packer + - versionName: 0.16.0 + versionCode: 16 + commit: 0.16.0 + subdir: android + sudo: + - apt-get update || apt-get update + - apt-get install -y g++ python3-pil imagemagick-6.q16 ninja-build libx11-dev + libxcursor-dev + gradle: + - yes + srclibs: + - aseprite@v1.2.16.3 + - pafx@269b0241a4b5507a1f45d0aa576fb9f9dad91ad8 + rm: + - tools/packr.jar + prebuild: sed -i -e 's#./gradlew#gradle#' ../Makefile + scandelete: + - android/libs/ + build: + - install_dir=$PWD/aseprite + - pushd $$aseprite$$ + - mkdir -p build + - cd build + - cmake "-DCMAKE_INSTALL_PREFIX=$install_dir" -DENABLE_UI=OFF -DCMAKE_BUILD_TYPE=MinSizeRel + -G Ninja .. + - ninja aseprite + - ninja install + - popd + - export PATH=$PATH:$PWD/aseprite/bin + - gradle tools:dist -b ../build.gradle + - export PYTHONPATH=../$$pafx$$/build/lib/ + - make -C .. assets + - make -C .. packer + AutoUpdateMode: Version %v UpdateCheckMode: HTTP UpdateCheckData: https://raw.githubusercontent.com/agateau/pixelwheels/master/version.properties|VERSION_CODE=(.*)|.|VERSION=(.*) -CurrentVersion: 0.15.0 -CurrentVersionCode: 15 +CurrentVersion: 0.16.0 +CurrentVersionCode: 16 diff --git a/metadata/com.apps.adrcotfas.goodtime.yml b/metadata/com.apps.adrcotfas.goodtime.yml index 2eeb12afae..85912ab51c 100644 --- a/metadata/com.apps.adrcotfas.goodtime.yml +++ b/metadata/com.apps.adrcotfas.goodtime.yml @@ -130,7 +130,14 @@ Builds: gradle: - fdroid + - versionName: 2.1.10 + versionCode: 113 + commit: 2.1.10 + subdir: app + gradle: + - fdroid + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 2.1.9 -CurrentVersionCode: 112 +CurrentVersion: 2.1.10 +CurrentVersionCode: 113 diff --git a/metadata/com.asdoi.gymwen.yml b/metadata/com.asdoi.gymwen.yml index 9f71828c39..fa26715c2b 100644 --- a/metadata/com.asdoi.gymwen.yml +++ b/metadata/com.asdoi.gymwen.yml @@ -66,7 +66,14 @@ Builds: gradle: - yes + - versionName: 1.2.0 + versionCode: 120 + commit: v1.2.0 + subdir: app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 1.1.3 -CurrentVersionCode: 113 +CurrentVersion: 1.2.0 +CurrentVersionCode: 120 diff --git a/metadata/com.aurora.store.yml b/metadata/com.aurora.store.yml index 6ce56b67a6..791c60cf4c 100644 --- a/metadata/com.aurora.store.yml +++ b/metadata/com.aurora.store.yml @@ -150,7 +150,14 @@ Builds: gradle: - yes + - versionName: 3.2.6 + versionCode: 26 + commit: 3.2.6 + subdir: app + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 3.2.4 -CurrentVersionCode: 24 +CurrentVersion: 3.2.6 +CurrentVersionCode: 26 diff --git a/metadata/com.drodin.tuxrider.yml b/metadata/com.drodin.tuxrider.yml index 2f971740ef..b20160f658 100644 --- a/metadata/com.drodin.tuxrider.yml +++ b/metadata/com.drodin.tuxrider.yml @@ -1,5 +1,3 @@ -AntiFeatures: - - UpstreamNonFree Categories: - Games License: GPL-2.0-or-later @@ -16,8 +14,6 @@ Description: |- Find the right angle to hold the device to gain maximum speed and press the screen to jump. - The build has Admob replaced with a dummy library. - RepoType: git Repo: https://github.com/drodin/TuxRider.git @@ -32,7 +28,18 @@ Builds: buildjni: - yes -AutoUpdateMode: None -UpdateCheckMode: RepoManifest + - versionName: 1.5.0 + versionCode: 15 + commit: v1.5.0 + subdir: app + gradle: + - yes + prebuild: + - $ANDROID_HOME/tools/bin/sdkmanager 'cmake;3.10.2.4988404' + - echo "cmake.dir=$ANDROID_HOME/cmake/3.10.2.4988404" >> ../local.properties + ndk: r18b + +AutoUpdateMode: Version v%v +UpdateCheckMode: Tags CurrentVersion: 1.5.0 CurrentVersionCode: 15 diff --git a/metadata/com.fsck.k9.yml b/metadata/com.fsck.k9.yml index 3b929b5a97..d5d297da90 100644 --- a/metadata/com.fsck.k9.yml +++ b/metadata/com.fsck.k9.yml @@ -549,6 +549,15 @@ Builds: rm: - tools/android-studio/settings.jar + - versionName: '5.709' + versionCode: 27009 + commit: '5.709' + gradle: + - yes + output: app/k9mail/build/outputs/apk/release/k9mail-release-unsigned.apk + rm: + - tools/android-studio/settings.jar + MaintainerNotes: |- Use output instead of subdir to make gradlew-fdroid correctly determine the gradle version to be used. It doesn't work when using subdir because we are two levels deep into the directory structure. diff --git a/metadata/com.gelakinetic.mtgfam.yml b/metadata/com.gelakinetic.mtgfam.yml index 908b18fba8..504ca55746 100644 --- a/metadata/com.gelakinetic.mtgfam.yml +++ b/metadata/com.gelakinetic.mtgfam.yml @@ -401,11 +401,23 @@ Builds: scanignore: - mobile/src/main/res/raw/datagz + - versionName: 3.6.5 + versionCode: 71 + commit: v3.6.5 + subdir: mobile + gradle: + - yes + forceversion: true + rm: + - mobile/annotations.jar + scanignore: + - mobile/src/main/res/raw/datagz + MaintainerNotes: |- Under mobile/src/main/res/raw/datagz is the apps card database. Cannot enable AUM because of fdroid/fdroidserver#144. AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 3.6.4 -CurrentVersionCode: 70 +CurrentVersion: 3.6.5 +CurrentVersionCode: 71 diff --git a/metadata/com.github.igrmk.smsq.yml b/metadata/com.github.igrmk.smsq.yml index ba1e7d88ff..f5d9d22332 100644 --- a/metadata/com.github.igrmk.smsq.yml +++ b/metadata/com.github.igrmk.smsq.yml @@ -32,7 +32,14 @@ Builds: gradle: - yes + - versionName: '1.3' + versionCode: 13 + commit: '1.3' + subdir: android/app + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: '1.2' -CurrentVersionCode: 12 +CurrentVersion: '1.3' +CurrentVersionCode: 13 diff --git a/metadata/com.github.postapczuk.lalauncher.yml b/metadata/com.github.postapczuk.lalauncher.yml index f27726f499..5a65cfa730 100644 --- a/metadata/com.github.postapczuk.lalauncher.yml +++ b/metadata/com.github.postapczuk.lalauncher.yml @@ -120,7 +120,14 @@ Builds: gradle: - yes + - versionName: 1.8.1 + versionCode: 15 + commit: 1.8.1 + subdir: LaLauncher + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 1.8.0 -CurrentVersionCode: 14 +CurrentVersion: 1.8.1 +CurrentVersionCode: 15 diff --git a/metadata/com.iven.iconify.yml b/metadata/com.iven.iconify.yml index 3aefab2148..cd6b185545 100644 --- a/metadata/com.iven.iconify.yml +++ b/metadata/com.iven.iconify.yml @@ -43,7 +43,14 @@ Builds: gradle: - yes + - versionName: 1.8.4 + versionCode: 42 + commit: v1.8.4 + subdir: project/app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 1.8.3 -CurrentVersionCode: 41 +CurrentVersion: 1.8.4 +CurrentVersionCode: 42 diff --git a/metadata/com.iven.musicplayergo.yml b/metadata/com.iven.musicplayergo.yml index bbb21f221b..436a381313 100644 --- a/metadata/com.iven.musicplayergo.yml +++ b/metadata/com.iven.musicplayergo.yml @@ -395,7 +395,17 @@ Builds: - project/gradle prebuild: sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + - versionName: 4.2.7 + versionCode: 151 + commit: v4.2.7 + subdir: project/app + gradle: + - yes + rm: + - project/gradle + prebuild: sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 4.2.6 -CurrentVersionCode: 150 +CurrentVersion: 4.2.7 +CurrentVersionCode: 151 diff --git a/metadata/com.jarsilio.android.scrambledeggsif.yml b/metadata/com.jarsilio.android.scrambledeggsif.yml index aa31dcdd48..1e38a0f42d 100644 --- a/metadata/com.jarsilio.android.scrambledeggsif.yml +++ b/metadata/com.jarsilio.android.scrambledeggsif.yml @@ -286,7 +286,15 @@ Builds: gradle: - standard + - versionName: 1.6.10 + versionCode: 49 + commit: v1.6.10 + subdir: app + submodules: true + gradle: + - standard + AutoUpdateMode: Version v%v UpdateCheckMode: Tags ^v[0-9.]+$ -CurrentVersion: 1.6.8 -CurrentVersionCode: 47 +CurrentVersion: 1.6.10 +CurrentVersionCode: 49 diff --git a/metadata/com.mattermost.rnbeta.yml b/metadata/com.mattermost.rnbeta.yml index 1d4d1eb0dd..504ba3af0e 100644 --- a/metadata/com.mattermost.rnbeta.yml +++ b/metadata/com.mattermost.rnbeta.yml @@ -360,6 +360,59 @@ Builds: scandelete: - node_modules + - versionName: 1.30.0 + versionCode: 285 + commit: v1.30.0 + subdir: android/app/ + sudo: + - sysctl fs.inotify.max_user_watches=524288 + - sysctl -p + - apt-get update || apt-get update + - apt-get install -y --no-install-recommends -t stretch-backports npm + - npm -g install npm@6.4.1 + init: + - sed -i -e '/react-native-youtube/d' ../../package.json build.gradle ../settings.gradle + ../../app/components/post_body_additional_content/post_body_additional_content.js + - make -C ../.. pre-run + gradle: + - yes + rm: + - node_modules/react-native-notifications/android/app/src/main/java/com/wix/reactnativenotifications/fcm/ + - node_modules/xdate/build/compiler.jar + - node_modules/socketcluster/ + - node_modules/shaka-player/third_party/closure/compiler.jar + - node_modules/.bin/socketcluster + - node_modules/react-native/template/ + - node_modules/jetifier/lib/ + prebuild: + - "sed -i -e '/play-services-gcm/,+2d' -e 's/bundleCommand: \"ram-bundle\",/bundleCommand:\ + \ \"ram-bundle\", nodeExecutableAndArgs: [\"node\", \"--max-old-space-size=12000\"\ + ],/' build.gradle" + - sed -i -e '/YouTubeStandaloneModule/d' src/main/java/com/mattermost/rnbeta/MainApplication.java + - sed -i -e '/com.google.android.gms.iid.InstanceID.getInstance/d' ../../node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java + - sed -i -e '/play-services/d' ../../node_modules/react-native-device-info/android/build.gradle + - sed -i -e '/firebase/d' ../../node_modules/react-native-notifications/android/app/build.gradle + build.gradle + - sed -i -e '/hasPermission/d' -e '/tokenFetchIntent/d' -e '/FcmInstance/d' + -e '/FirebaseApp/'d ../../node_modules/react-native-notifications/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java + ../../node_modules/react-native-notifications/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java + - sed -i -e '/maven {/,+2d' ../../node_modules/react-native-document-picker/android/build.gradle + scanignore: + - android/build.gradle + - node_modules/react-native-svg/android/build.gradle + - node_modules/react-native-image-picker/android/build.gradle + - node_modules/react-native-webview/android/build.gradle + - node_modules/react-native-permissions/android/build.gradle + - node_modules/react-native-keychain/android/build.gradle + - node_modules/react-native-screens/android/build.gradle + - node_modules/react-native-device-info/android/build.gradle + - node_modules/@react-native-community/async-storage/android/build.gradle + - node_modules/@react-native-community/netinfo/android/build.gradle + - node_modules/react-native-notifications/android/build.gradle + - node_modules/react-native-navigation/lib/android/build.gradle + scandelete: + - node_modules + MaintainerNotes: |- sed is used to: * Remove push notifications (see [https://github.com/wix/react-native-notifications/issues/207 this issue]) @@ -370,5 +423,5 @@ MaintainerNotes: |- AutoUpdateMode: None UpdateCheckMode: Tags -CurrentVersion: 1.29.0 -CurrentVersionCode: 276 +CurrentVersion: 1.30.0 +CurrentVersionCode: 285 diff --git a/metadata/com.mde.potdroid.yml b/metadata/com.mde.potdroid.yml index 14a9a5f3c3..0d616283af 100644 --- a/metadata/com.mde.potdroid.yml +++ b/metadata/com.mde.potdroid.yml @@ -156,7 +156,13 @@ Builds: gradle: - yes + - versionName: 5.3.1 + versionCode: 82 + commit: 5.3.1 + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 5.2.3 -CurrentVersionCode: 80 +CurrentVersion: 5.3.1 +CurrentVersionCode: 82 diff --git a/metadata/com.metinkale.prayer.yml b/metadata/com.metinkale.prayer.yml index 6204f80454..43495f8093 100644 --- a/metadata/com.metinkale.prayer.yml +++ b/metadata/com.metinkale.prayer.yml @@ -304,10 +304,23 @@ Builds: - sed -i -e '/io.fabric/d; /com.crashlytics/d; /com.google.android.gms/d; /GoogleApiKey/d' features/{base,compass}/build.gradle + - versionName: 3.7.4 F-Droid + versionCode: 215 + commit: fdroid-v3.7.4 F-Droid + subdir: app + submodules: true + gradle: + - fdroid + prebuild: + - cd .. + - bash fdroidPrep.sh + - sed -i -e '/io.fabric/d; /com.crashlytics/d; /com.google.android.gms/d; /GoogleApiKey/d' + features/{base,compass}/build.gradle + MaintainerNotes: Also need to fill in bogus bintray user/api-key/gpg-passphrase in library's build.gradle file. AutoUpdateMode: Version fdroid-v%v UpdateCheckMode: Tags ^fdroid- -CurrentVersion: 3.7.3 F-Droid -CurrentVersionCode: 204 +CurrentVersion: 3.7.4 F-Droid +CurrentVersionCode: 215 diff --git a/metadata/com.newsblur.yml b/metadata/com.newsblur.yml index 03625094be..329d2e6caf 100644 --- a/metadata/com.newsblur.yml +++ b/metadata/com.newsblur.yml @@ -1338,6 +1338,31 @@ Builds: - clients/android/NewsBlur/libs/*.jar - clients/android/NewsBlur/buildtools/*.jar + - versionName: 9.0.1 + versionCode: 163 + commit: df9feb0e63e38065becdcc204df441ad842bf93d + subdir: clients/android/NewsBlur + gradle: + - yes + rm: + - api + - apps + - clients/ios + - config + - docker + - documents + - flask + - logs + - media + - node + - r + - templates + - utils + - vendor + - '[_a-z]*.*' + - clients/android/NewsBlur/libs/*.jar + - clients/android/NewsBlur/buildtools/*.jar + AutoUpdateMode: None UpdateCheckMode: RepoManifest CurrentVersion: 9.0.1 diff --git a/metadata/com.nextcloud.android.beta.yml b/metadata/com.nextcloud.android.beta.yml index 190ca8e7c1..36ad0b98e3 100644 --- a/metadata/com.nextcloud.android.beta.yml +++ b/metadata/com.nextcloud.android.beta.yml @@ -4478,9 +4478,27 @@ Builds: scandelete: - src/androidTest + - versionName: '20200417' + versionCode: 20200417 + commit: dev-20200417 + submodules: true + gradle: + - versionDev + rm: + - user_manual + - gplay.gradle + prebuild: + - mkdir -p $HOME/.gradle + - echo "org.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" + > $HOME/.gradle/gradle.properties + - sed -i s"#dev_version_direct_download_enabled.*<#dev_version_direct_download_enabled\">true<#" + src/versionDev/res/values/setup.xml + scandelete: + - src/androidTest + MaintainerNotes: Tags get removed. See https://github.com/nextcloud/android/issues/969. AutoUpdateMode: Version dev-%c UpdateCheckMode: Tags ^dev -CurrentVersion: '20200415' -CurrentVersionCode: 20200415 +CurrentVersion: '20200417' +CurrentVersionCode: 20200417 diff --git a/metadata/com.nextcloud.client.yml b/metadata/com.nextcloud.client.yml index 79a33e5cc6..a80a7a17e7 100644 --- a/metadata/com.nextcloud.client.yml +++ b/metadata/com.nextcloud.client.yml @@ -1111,6 +1111,22 @@ Builds: scandelete: - src/androidTest + - versionName: 3.11.1 RC1 + versionCode: 30110151 + commit: rc-3.11.1-01 + submodules: true + gradle: + - generic + rm: + - user_manual + - gplay.gradle + prebuild: + - mkdir -p $HOME/.gradle + - echo org.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError + > $HOME/.gradle/gradle.properties + scandelete: + - src/androidTest + MaintainerNotes: 'Latest 3 stable version will be kept, RC versions will be directly outdated by either a new RC or by a stable version: 3.3.0 RC1 -> 3.3.0 RC2 -> 3.3.0 (stable)' diff --git a/metadata/com.quran.labs.androidquran.yml b/metadata/com.quran.labs.androidquran.yml index 7f23c893c6..39cdde6cbe 100644 --- a/metadata/com.quran.labs.androidquran.yml +++ b/metadata/com.quran.labs.androidquran.yml @@ -44,5 +44,5 @@ Builds: AutoUpdateMode: None UpdateCheckMode: Tags -CurrentVersion: 3.0.0-p1 -CurrentVersionCode: 3001 +CurrentVersion: 3.0.1 +CurrentVersionCode: 3010 diff --git a/metadata/com.shatteredpixel.shatteredpixeldungeon.yml b/metadata/com.shatteredpixel.shatteredpixeldungeon.yml index 082fb5b8c9..a600ae2dd7 100644 --- a/metadata/com.shatteredpixel.shatteredpixeldungeon.yml +++ b/metadata/com.shatteredpixel.shatteredpixeldungeon.yml @@ -690,9 +690,18 @@ Builds: scandelete: - android/libs/* + - versionName: 0.8.0 + versionCode: 412 + commit: v0.8.0 + subdir: android + gradle: + - yes + scandelete: + - android/libs/* + AutoUpdateMode: Version v%v UpdateCheckMode: HTTP UpdateCheckData: https://raw.githubusercontent.com/00-Evan/shattered-pixel-dungeon/master/build.gradle|appVersionCode = (.*)|.|appVersionName = ['"](.*)['"] -CurrentVersion: 0.7.5e -CurrentVersionCode: 382 +CurrentVersion: 0.8.0 +CurrentVersionCode: 412 diff --git a/metadata/com.simplemobiletools.calendar.pro.yml b/metadata/com.simplemobiletools.calendar.pro.yml index 8f99033f27..17a549359d 100644 --- a/metadata/com.simplemobiletools.calendar.pro.yml +++ b/metadata/com.simplemobiletools.calendar.pro.yml @@ -303,7 +303,17 @@ Builds: - sed -i -e '/keystore.*{/,/}/d; /keystore/d' build.gradle - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + - versionName: 6.9.2 + versionCode: 175 + commit: 6.9.2 + subdir: app + gradle: + - yes + prebuild: + - sed -i -e '/keystore.*{/,/}/d; /keystore/d' build.gradle + - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 6.9.1 -CurrentVersionCode: 174 +CurrentVersion: 6.9.2 +CurrentVersionCode: 175 diff --git a/metadata/com.simplemobiletools.contacts.pro.yml b/metadata/com.simplemobiletools.contacts.pro.yml index 2471cf5c5a..2c9f276c39 100644 --- a/metadata/com.simplemobiletools.contacts.pro.yml +++ b/metadata/com.simplemobiletools.contacts.pro.yml @@ -180,7 +180,17 @@ Builds: - sed -i -e '/keystore.*{/,/}/d; /keystore/d' build.gradle - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + - versionName: 6.9.0 + versionCode: 60 + commit: 6.9.0 + subdir: app + gradle: + - yes + prebuild: + - sed -i -e '/keystore.*{/,/}/d; /keystore/d' build.gradle + - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 6.8.0 -CurrentVersionCode: 59 +CurrentVersion: 6.9.0 +CurrentVersionCode: 60 diff --git a/metadata/com.simplemobiletools.gallery.pro.yml b/metadata/com.simplemobiletools.gallery.pro.yml index 4eabcc1906..58ab78305c 100644 --- a/metadata/com.simplemobiletools.gallery.pro.yml +++ b/metadata/com.simplemobiletools.gallery.pro.yml @@ -457,7 +457,19 @@ Builds: - sed -i -e '/(is_proprietary)/,+2d' ../build.gradle - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + - versionName: 6.14.2 + versionCode: 302 + commit: 6.14.2 + subdir: app + patch: + - build.patch + gradle: + - foss + prebuild: + - sed -i -e '/(is_proprietary)/,+2d' ../build.gradle + - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 6.14.1 -CurrentVersionCode: 301 +CurrentVersion: 6.14.2 +CurrentVersionCode: 302 diff --git a/metadata/com.simplemobiletools.musicplayer.yml b/metadata/com.simplemobiletools.musicplayer.yml index 9a97aad21e..1991642e76 100644 --- a/metadata/com.simplemobiletools.musicplayer.yml +++ b/metadata/com.simplemobiletools.musicplayer.yml @@ -419,7 +419,17 @@ Builds: - sed -i -e '/keystore.*{/,/}/d; /keystore/d' build.gradle - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + - versionName: 5.3.0 + versionCode: 66 + commit: 5.3.0 + subdir: app + gradle: + - yes + prebuild: + - sed -i -e '/keystore.*{/,/}/d; /keystore/d' build.gradle + - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 5.2.7 -CurrentVersionCode: 65 +CurrentVersion: 5.3.0 +CurrentVersionCode: 66 diff --git a/metadata/com.simplemobiletools.voicerecorder.yml b/metadata/com.simplemobiletools.voicerecorder.yml index a4bc680960..80a4a64588 100644 --- a/metadata/com.simplemobiletools.voicerecorder.yml +++ b/metadata/com.simplemobiletools.voicerecorder.yml @@ -27,7 +27,17 @@ Builds: - sed -i -e '/keystore.*{/,/}/d; /keystore/d' build.gradle - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + - versionName: 5.1.1 + versionCode: 4 + commit: 5.1.1 + subdir: app + gradle: + - yes + prebuild: + - sed -i -e '/keystore.*{/,/}/d; /keystore/d' build.gradle + - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 5.1.0 -CurrentVersionCode: 3 +CurrentVersion: 5.1.1 +CurrentVersionCode: 4 diff --git a/metadata/com.tmendes.birthdaydroid.yml b/metadata/com.tmendes.birthdaydroid.yml index 93c4b666b6..5fd468a43d 100644 --- a/metadata/com.tmendes.birthdaydroid.yml +++ b/metadata/com.tmendes.birthdaydroid.yml @@ -165,7 +165,14 @@ Builds: gradle: - yes + - versionName: 20200418_V47 + versionCode: 47 + commit: 20200418_V47 + subdir: app + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 20200321_V45 -CurrentVersionCode: 45 +CurrentVersion: 20200418_V47 +CurrentVersionCode: 47 diff --git a/metadata/com.unciv.app.yml b/metadata/com.unciv.app.yml index 70cc482168..654593e288 100644 --- a/metadata/com.unciv.app.yml +++ b/metadata/com.unciv.app.yml @@ -347,9 +347,19 @@ Builds: - desktop prebuild: sed -i -e '/maven.aliyun.com/d' ../build.gradle + - versionName: 3.7.6-patch1 + versionCode: 414 + commit: 3.7.6-patch1 + subdir: android + gradle: + - yes + rm: + - desktop + prebuild: sed -i -e '/maven.aliyun.com/d' ../build.gradle + AutoUpdateMode: Version %v UpdateCheckMode: HTTP UpdateCheckData: https://raw.githubusercontent.com/yairm210/Unciv/master/build.gradle|appCodeNumber = (.*)|.|appVersion = "(.*)" -CurrentVersion: 3.7.3 -CurrentVersionCode: 408 +CurrentVersion: 3.7.6-patch1 +CurrentVersionCode: 414 diff --git a/metadata/com.wmstein.transektcount.yml b/metadata/com.wmstein.transektcount.yml index 2a8a5e7600..23abb5a889 100644 --- a/metadata/com.wmstein.transektcount.yml +++ b/metadata/com.wmstein.transektcount.yml @@ -254,7 +254,14 @@ Builds: gradle: - yes + - versionName: 3.2.1 + versionCode: 321 + commit: 3.2.1 + subdir: transektcount + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 3.1.6 -CurrentVersionCode: 316 +CurrentVersion: 3.2.1 +CurrentVersionCode: 321 diff --git a/metadata/com.zoffcc.applications.trifa.yml b/metadata/com.zoffcc.applications.trifa.yml index 929230eb20..104ad14635 100644 --- a/metadata/com.zoffcc.applications.trifa.yml +++ b/metadata/com.zoffcc.applications.trifa.yml @@ -249,9 +249,18 @@ Builds: prebuild: $ANDROID_HOME/tools/bin/sdkmanager 'cmake;3.6.4111459' ndk: r13b + - versionName: 1.0.32 + versionCode: 10032 + commit: 1.0.32 + subdir: android-refimpl-app/app + gradle: + - yes + prebuild: $ANDROID_HOME/tools/bin/sdkmanager 'cmake;3.6.4111459' + ndk: r13b + MaintainerNotes: Description and summary in app git repository AutoUpdateMode: Version %v UpdateCheckMode: Tags ^[0-9].* -CurrentVersion: 1.0.29 -CurrentVersionCode: 10029 +CurrentVersion: 1.0.32 +CurrentVersionCode: 10032 diff --git a/metadata/cz.martykan.forecastie.yml b/metadata/cz.martykan.forecastie.yml index 1edc5c16ba..f22ecd0d2b 100644 --- a/metadata/cz.martykan.forecastie.yml +++ b/metadata/cz.martykan.forecastie.yml @@ -330,7 +330,14 @@ Builds: gradle: - yes + - versionName: '1.14' + versionCode: 49 + commit: v1.14 + subdir: app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 1.13.5 -CurrentVersionCode: 48 +CurrentVersion: '1.14' +CurrentVersionCode: 49 diff --git a/metadata/de.arnowelzel.android.periodical.yml b/metadata/de.arnowelzel.android.periodical.yml index 187e001593..8de269e1ba 100644 --- a/metadata/de.arnowelzel.android.periodical.yml +++ b/metadata/de.arnowelzel.android.periodical.yml @@ -272,7 +272,14 @@ Builds: gradle: - yes + - versionName: '1.44' + versionCode: 74 + commit: '1.44' + subdir: app + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: '1.43' -CurrentVersionCode: 73 +CurrentVersion: '1.44' +CurrentVersionCode: 74 diff --git a/metadata/de.bahnhoefe.deutschlands.bahnhofsfotos.yml b/metadata/de.bahnhoefe.deutschlands.bahnhofsfotos.yml index 2a70d3bf9e..c69469e90f 100644 --- a/metadata/de.bahnhoefe.deutschlands.bahnhofsfotos.yml +++ b/metadata/de.bahnhoefe.deutschlands.bahnhofsfotos.yml @@ -27,7 +27,14 @@ Builds: gradle: - yes + - versionName: 12.3.0 + versionCode: 52 + commit: 12.3.0 + subdir: app + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 12.2.5 -CurrentVersionCode: 51 +CurrentVersion: 12.3.0 +CurrentVersionCode: 52 diff --git a/metadata/de.k3b.android.toGoZip.yml b/metadata/de.k3b.android.toGoZip.yml index 9cfdfe33eb..8264db2b09 100644 --- a/metadata/de.k3b.android.toGoZip.yml +++ b/metadata/de.k3b.android.toGoZip.yml @@ -132,7 +132,14 @@ Builds: gradle: - yes + - versionName: 2.1.25.200422 + versionCode: 25 + commit: v2.1.25.200422 + subdir: app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags ^v -CurrentVersion: 2.1.24.200404 -CurrentVersionCode: 24 +CurrentVersion: 2.1.25.200422 +CurrentVersionCode: 25 diff --git a/metadata/de.kromke.andreas.musictagger.yml b/metadata/de.kromke.andreas.musictagger.yml index 176fb5e300..ccc6b19b1a 100644 --- a/metadata/de.kromke.andreas.musictagger.yml +++ b/metadata/de.kromke.andreas.musictagger.yml @@ -61,7 +61,14 @@ Builds: gradle: - yes + - versionName: 1.3.1 + versionCode: 16 + commit: v1.3.1 + subdir: app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: '1.3' -CurrentVersionCode: 15 +CurrentVersion: 1.3.1 +CurrentVersionCode: 16 diff --git a/metadata/de.moekadu.metronome.yml b/metadata/de.moekadu.metronome.yml index 5a63dcd8eb..9150aab2f1 100644 --- a/metadata/de.moekadu.metronome.yml +++ b/metadata/de.moekadu.metronome.yml @@ -24,7 +24,14 @@ Builds: gradle: - yes + - versionName: 1.5.1 + versionCode: 13 + commit: v1.5.1 + subdir: app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 1.5.0 -CurrentVersionCode: 12 +CurrentVersion: 1.5.1 +CurrentVersionCode: 13 diff --git a/metadata/de.qspool.clementineremote.yml b/metadata/de.qspool.clementineremote.yml index 3ba6e1e611..b0bb9576b7 100644 --- a/metadata/de.qspool.clementineremote.yml +++ b/metadata/de.qspool.clementineremote.yml @@ -102,4 +102,4 @@ MaintainerNotes: |- AutoUpdateMode: None UpdateCheckMode: None CurrentVersion: v12 -CurrentVersionCode: 756 +CurrentVersionCode: 759 diff --git a/metadata/de.tutao.tutanota.yml b/metadata/de.tutao.tutanota.yml index 8804b5167f..c51c04e71f 100644 --- a/metadata/de.tutao.tutanota.yml +++ b/metadata/de.tutao.tutanota.yml @@ -785,7 +785,26 @@ Builds: - npm install - node dist prod + - versionName: 3.72.0 + versionCode: 372000 + commit: tutanota-android-release-3.72.0 + subdir: app-android/app + sudo: + - curl -Lo node.tar.xz https://nodejs.org/dist/v10.11.0/node-v10.11.0-linux-x64.tar.xz + - echo "c2eab149e7f0712a6a3eb672a76d657b049a3b3ae0c2edc2e0571df5049fe82c node.tar.xz" + | sha256sum -c - + - tar xJf node.tar.xz + - cp -a node-v10.11.0-linux-x64/. /usr/local/ + gradle: + - yes + prebuild: + - cd ../.. + - rm -rf app-ios + - node fdroid-fix-deps + - npm install + - node dist prod + AutoUpdateMode: Version tutanota-android-release-%v UpdateCheckMode: Tags tutanota-android-release-* -CurrentVersion: 3.69.5 -CurrentVersionCode: 369050 +CurrentVersion: 3.72.0 +CurrentVersionCode: 372000 diff --git a/metadata/design.codeux.authpass.fdroid.yml b/metadata/design.codeux.authpass.fdroid.yml index 56ee4104d6..1cc6ded6c8 100644 --- a/metadata/design.codeux.authpass.fdroid.yml +++ b/metadata/design.codeux.authpass.fdroid.yml @@ -113,8 +113,26 @@ Builds: - $$flutter$$/bin/flutter build apk -t lib/env/fdroid.dart --flavor fdroid --release ndk: r21 + - versionName: 1.5.5 + versionCode: 129 + commit: v1.5.5 + subdir: authpass + submodules: true + output: build/app/outputs/apk/fdroid/release/app-fdroid-release.apk + srclibs: + - flutter@v1.15.17 + rm: + - authpass/ios + - authpass/macos + - deps/kdbx.dart/libargon2* + prebuild: sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + build: + - $$flutter$$/bin/flutter config --no-analytics + - $$flutter$$/bin/flutter build apk -t lib/env/fdroid.dart --flavor fdroid --release + ndk: r21 + AutoUpdateMode: Version v%v UpdateCheckMode: HTTP UpdateCheckData: https://authpass.app/data/fdroid-version.txt|versionCode=(.*)|.|versionName=(.*) CurrentVersion: 1.5.5 -CurrentVersionCode: 128 +CurrentVersionCode: 129 diff --git a/metadata/eu.faircode.email.yml b/metadata/eu.faircode.email.yml index cdb9b6ec48..577dd20611 100644 --- a/metadata/eu.faircode.email.yml +++ b/metadata/eu.faircode.email.yml @@ -2298,7 +2298,17 @@ Builds: prebuild: sed -i -e '/keystoreProperties/d' build.gradle ndk: r21 + - versionName: '1.1112' + versionCode: 1112 + commit: '1.1112' + subdir: app + submodules: true + gradle: + - full + prebuild: sed -i -e '/keystoreProperties/d' build.gradle + ndk: r21 + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: '1.1099' -CurrentVersionCode: 1099 +CurrentVersion: '1.1112' +CurrentVersionCode: 1112 diff --git a/metadata/eu.faircode.netguard.yml b/metadata/eu.faircode.netguard.yml index a51e05b164..d1955b085b 100644 --- a/metadata/eu.faircode.netguard.yml +++ b/metadata/eu.faircode.netguard.yml @@ -1208,7 +1208,18 @@ Builds: - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties ndk: r21 + - versionName: '2.279' + versionCode: 2020041901 + commit: '2.279' + subdir: app + gradle: + - yes + prebuild: + - sed -i -e '/keystore/d' -e '/signingConfigs/d' build.gradle + - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + ndk: r21 + AutoUpdateMode: Version %v UpdateCheckMode: Tags ^[0-9.]+$ -CurrentVersion: '2.276' -CurrentVersionCode: 2020032201 +CurrentVersion: '2.279' +CurrentVersionCode: 2020041901 diff --git a/metadata/fr.gouv.etalab.mastodon.yml b/metadata/fr.gouv.etalab.mastodon.yml index be811f39df..d45df21c8d 100644 --- a/metadata/fr.gouv.etalab.mastodon.yml +++ b/metadata/fr.gouv.etalab.mastodon.yml @@ -1687,7 +1687,18 @@ Builds: - sed -i -e '/playstoreImplementation/d' -e '/dl.bintray.com/d' -e 's/com.github.pengfeizhou.android.animation:glide-plugin:0.2.16/com.github.penfeizhou.APNG4Android:glide-plugin:0.2.8/' build.gradle + - versionName: 2.35.0 + versionCode: 363 + commit: 2.35.0 + subdir: app + gradle: + - fdroid + prebuild: + - sed -i -e '/jcenter()/a\ google()' ../build.gradle + - sed -i -e '/playstoreImplementation/d' -e '/dl.bintray.com/d' -e 's/com.github.pengfeizhou.android.animation:glide-plugin:0.2.16/com.github.penfeizhou.APNG4Android:glide-plugin:0.2.8/' + build.gradle + AutoUpdateMode: Version %v UpdateCheckMode: Tags ^[0-9.]+$ -CurrentVersion: 2.34.5 -CurrentVersionCode: 362 +CurrentVersion: 2.35.0 +CurrentVersionCode: 363 diff --git a/metadata/fr.neamar.kiss.yml b/metadata/fr.neamar.kiss.yml index 0534a9746f..53e501d19a 100644 --- a/metadata/fr.neamar.kiss.yml +++ b/metadata/fr.neamar.kiss.yml @@ -660,7 +660,15 @@ Builds: - yes prebuild: sed -i -e '/jcenter()/a\ google()' ../build.gradle + - versionName: 3.13.4 + versionCode: 177 + commit: v3.13.4 + subdir: app + gradle: + - yes + prebuild: sed -i -e '/jcenter()/a\ google()' ../build.gradle + AutoUpdateMode: Version v%v UpdateCheckMode: Tags ^v[0-9\.]+$ -CurrentVersion: 3.13.3 -CurrentVersionCode: 176 +CurrentVersion: 3.13.4 +CurrentVersionCode: 177 diff --git a/metadata/info.dvkr.screenstream.yml b/metadata/info.dvkr.screenstream.yml index 309d1274ab..7f99875f2c 100644 --- a/metadata/info.dvkr.screenstream.yml +++ b/metadata/info.dvkr.screenstream.yml @@ -347,7 +347,21 @@ Builds: build.gradle - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + - versionName: 3.4.7 + versionCode: 30407 + commit: 3.4.7 + subdir: app + gradle: + - fabricfree + prebuild: + - sed -i -e '/fabric\.io/d; s|= uri("https://jitpack\.io")|"https://jitpack.io"|' + ../build.gradle + - sed -i -e '/io\.fabric/d; /com\.google\.gms/d' ../build.gradle build.gradle + - sed -i -e '/releaseImplementation/d; /^android\.applicationVariants\.all {/,/^}$/d' + build.gradle + - sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 3.4.6 -CurrentVersionCode: 30406 +CurrentVersion: 3.4.7 +CurrentVersionCode: 30407 diff --git a/metadata/info.metadude.android.congress.schedule.yml b/metadata/info.metadude.android.congress.schedule.yml index c5f36e7097..f6e6f9364d 100644 --- a/metadata/info.metadude.android.congress.schedule.yml +++ b/metadata/info.metadude.android.congress.schedule.yml @@ -284,7 +284,17 @@ Builds: scandelete: - buildSrc + - versionName: 1.42.0 + versionCode: 68 + commit: v.1.42.0 + subdir: app + gradle: + - ccc36c3 + prebuild: cp local.properties gradle.properties + scandelete: + - buildSrc + AutoUpdateMode: Version v.%v UpdateCheckMode: Tags -CurrentVersion: 1.41.5 -CurrentVersionCode: 67 +CurrentVersion: 1.42.0 +CurrentVersionCode: 68 diff --git a/metadata/io.github.wulkanowy.yml b/metadata/io.github.wulkanowy.yml index bf3f94e03b..2e33cd05e6 100644 --- a/metadata/io.github.wulkanowy.yml +++ b/metadata/io.github.wulkanowy.yml @@ -178,7 +178,17 @@ Builds: -e '/com.crashlytics/d' -e '/maven.fabric.io/d' -e '/kotlin.bintray.com/d' ../build.gradle build.gradle + - versionName: 0.17.2 + versionCode: 56 + commit: 0.17.2 + subdir: app + gradle: + - fdroid + prebuild: sed -i -e '/com.google.gms/d' -e '/com.google.firebase/d' -e '/io.fabric/d' + -e '/com.crashlytics/d' -e '/maven.fabric.io/d' -e '/kotlin.bintray.com/d' + ../build.gradle build.gradle + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 0.17.1 -CurrentVersionCode: 55 +CurrentVersion: 0.17.2 +CurrentVersionCode: 56 diff --git a/metadata/io.timelimit.android.open.yml b/metadata/io.timelimit.android.open.yml index c8d8bf7d8d..c38bbf4aef 100644 --- a/metadata/io.timelimit.android.open.yml +++ b/metadata/io.timelimit.android.open.yml @@ -144,7 +144,14 @@ Builds: gradle: - yes + - versionName: 2.8.0 + versionCode: 85 + commit: release-2.8.0 + subdir: app + gradle: + - yes + AutoUpdateMode: Version release-%v UpdateCheckMode: Tags -CurrentVersion: 2.7.2 -CurrentVersionCode: 84 +CurrentVersion: 2.8.0 +CurrentVersionCode: 85 diff --git a/metadata/io.trezor.app.yml b/metadata/io.trezor.app.yml index 58b9c3e6cd..601afedf0e 100644 --- a/metadata/io.trezor.app.yml +++ b/metadata/io.trezor.app.yml @@ -125,6 +125,15 @@ Builds: scanignore: - trezor-app/src/main/assets/firmware*/trezor*.bin + - versionName: 2.3.0 + versionCode: 21 + commit: v2.3.0 + subdir: trezor-app + gradle: + - yes + scanignore: + - trezor-app/src/main/assets/firmware*/trezor*.bin + MaintainerNotes: |- Firmware source is available at https://github.com/trezor/trezor-mcu but we cannot build it since its required to be signed by upstream. Check @@ -132,5 +141,5 @@ MaintainerNotes: |- AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 2.1.8 -CurrentVersionCode: 20 +CurrentVersion: 2.3.0 +CurrentVersionCode: 21 diff --git a/metadata/ir.hsn6.tpb.yml b/metadata/ir.hsn6.tpb.yml new file mode 100644 index 0000000000..28ce46882a --- /dev/null +++ b/metadata/ir.hsn6.tpb.yml @@ -0,0 +1,64 @@ +Categories: + - Games +License: GPL-3.0-or-later +SourceCode: https://github.com/HassanHeydariNasab/2-player-battle +IssueTracker: https://github.com/HassanHeydariNasab/2-player-battle/issues +LiberapayID: '1412829' +Bitcoin: 12SL5VgtjozKTXMgpX7w4MjKvvcFAHbTks +Litecoin: LZ742wp3KD7Jhan1KFA44U85my3KZ53Fb3 + +Summary: Destroy enemy base +Description: | + 1. Upgrade your weapon + 2. Collect the rockets + 3. Destroy enemy base! + +RepoType: git +Repo: https://github.com/HassanHeydariNasab/2-player-battle.git + +Builds: + - versionName: 1.0.0 + versionCode: 1 + commit: 628bd8ed061f1fe6cc3696b0de0775d9be20d049 + sudo: apt-get install -y g++ + output: output.apk + srclibs: + - Godot@3.2-stable + prebuild: + - mkdir game + - bash -O extglob -c "mv !(game) game" + - cp -R $$Godot$$ godot + - rm godot/misc/dist/ios_xcode/libgodot.iphone.release.fat.a + - rm godot/misc/dist/ios_xcode/libgodot.iphone.debug.fat.a + build: + - cd godot + - sed -i "s|valid = false|valid = true|" ./platform/android/export/export.cpp + - mkdir -p ../fake_user_home/.config/godot/ + - cp ../game/editor_settings-3.tres ../fake_user_home/.config/godot/ + - mkdir -p ../fake_user_home/.android/ + - keytool -genkey -v -keystore ../fake_user_home/.android/debug.keystore -storepass + android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US" + - pushd ../fake_user_home + - export HOME=$PWD + - sed -i "s|DEBUG_KEYSTORE|$PWD/.android/debug.keystore|" ./.config/godot/editor_settings-3.tres + - popd + - scons -j `nproc` platform=server unix_global_settings_path=".." + - export ANDROID_NDK_ROOT=$$NDK$$ + - scons -j `nproc` platform=android target=release android_arch=armv7 + - scons -j `nproc` platform=android target=release_debug android_arch=armv7 + - pushd platform/android/java/ + - gradle generateGodotTemplates + - popd + - mkdir -p ../fake_user_home/.local/share/godot/templates/3.2.stable/ + - echo "3.2.stable" > ../fake_user_home/.local/share/godot/templates/3.2.stable/version.txt + - cp ./bin/android_release.apk ../fake_user_home/.local/share/godot/templates/3.2.stable/ + - cp ./bin/android_debug.apk ../fake_user_home/.local/share/godot/templates/3.2.stable/ + - cp ./bin/android_source.zip ../fake_user_home/.local/share/godot/templates/3.2.stable/ + - cd ../game + - ../godot/bin/godot_server.x11.tools.* --export Android ../output.apk + ndk: r21 + +AutoUpdateMode: None +UpdateCheckMode: None +CurrentVersion: 1.0.0 +CurrentVersionCode: 1 diff --git a/metadata/it.niedermann.owncloud.notes.yml b/metadata/it.niedermann.owncloud.notes.yml index 6a4e46b953..55fbb0819d 100644 --- a/metadata/it.niedermann.owncloud.notes.yml +++ b/metadata/it.niedermann.owncloud.notes.yml @@ -458,7 +458,16 @@ Builds: - fdroid prebuild: sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + - versionName: 2.11.10 + versionCode: 2011010 + commit: v2.11.10 + subdir: app + submodules: true + gradle: + - fdroid + prebuild: sed -i '/systemProp\.http\.proxy/d' ~/.gradle/gradle.properties + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 2.11.8 -CurrentVersionCode: 2011008 +CurrentVersion: 2.11.10 +CurrentVersionCode: 2011010 diff --git a/metadata/itkach.aard2.yml b/metadata/itkach.aard2.yml index 08e8e508e8..20585031d6 100644 --- a/metadata/itkach.aard2.yml +++ b/metadata/itkach.aard2.yml @@ -84,7 +84,23 @@ Builds: - rm -r slobber/libs/ - sed -i -e "s/includeFlat '/include ':/" settings.gradle + - versionName: '0.44' + versionCode: 44 + commit: '0.44' + gradle: + - yes + srclibs: + - slobj@0.8 + - slobber@0.9 + prebuild: + - mv $$slobj$$ . + - mv $$slobber$$ . + - sed -i -e '/simple-5.1.7.1.itkach.jar/d' {.,slobber}/build.gradle + - unzip slobber/libs/simple-5.1.7.1-sources.itkach.jar -d slobber/src/main/java/ + - rm -r slobber/libs/ + - sed -i -e "s/includeFlat '/include ':/" settings.gradle + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: '0.43' -CurrentVersionCode: 43 +CurrentVersion: '0.44' +CurrentVersionCode: 44 diff --git a/metadata/name.gdr.acastus_photon.yml b/metadata/name.gdr.acastus_photon.yml index 70d86f410c..b0eec2b571 100644 --- a/metadata/name.gdr.acastus_photon.yml +++ b/metadata/name.gdr.acastus_photon.yml @@ -47,7 +47,15 @@ Builds: - yes prebuild: sed -i -e "21 ilintOptions{disable 'MissingTranslation'}" build.gradle + - versionName: '1.21' + versionCode: 21 + commit: '1.21' + subdir: app + gradle: + - yes + prebuild: sed -i -e "21 ilintOptions{disable 'MissingTranslation'}" build.gradle + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: '1.19' -CurrentVersionCode: 19 +CurrentVersion: '1.21' +CurrentVersionCode: 21 diff --git a/metadata/net.inbox.pager.yml b/metadata/net.inbox.pager.yml index 6c46747cdf..8e2cacaaad 100644 --- a/metadata/net.inbox.pager.yml +++ b/metadata/net.inbox.pager.yml @@ -115,7 +115,14 @@ Builds: gradle: - yes + - versionName: '4.5' + versionCode: 14 + commit: v4.5 + subdir: InboxPager + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: '4.4' -CurrentVersionCode: 13 +CurrentVersion: '4.5' +CurrentVersionCode: 14 diff --git a/metadata/net.nurik.roman.muzei.yml b/metadata/net.nurik.roman.muzei.yml index d692ffbc1d..c6ff152c74 100644 --- a/metadata/net.nurik.roman.muzei.yml +++ b/metadata/net.nurik.roman.muzei.yml @@ -96,6 +96,18 @@ Builds: - wearable - example-watchface + - versionName: 3.2.0 + versionCode: 320010 + commit: v3.2.0-rc1 + subdir: main + patch: + - 3.2.0-remove-play-services.patch + gradle: + - yes + rm: + - wearable + - example-watchface + MaintainerNotes: |- Custom version format, so no UCM applies. @@ -105,5 +117,5 @@ MaintainerNotes: |- AutoUpdateMode: None UpdateCheckMode: None -CurrentVersion: 3.0.2 -CurrentVersionCode: 302000 +CurrentVersion: 3.2.0 +CurrentVersionCode: 320010 diff --git a/metadata/net.nurik.roman.muzei/3.2.0-remove-play-services.patch b/metadata/net.nurik.roman.muzei/3.2.0-remove-play-services.patch new file mode 100644 index 0000000000..73fec7a8ec --- /dev/null +++ b/metadata/net.nurik.roman.muzei/3.2.0-remove-play-services.patch @@ -0,0 +1,1159 @@ +diff --git a/android-client-common/build.gradle b/android-client-common/build.gradle +index 39242aea..2f36d21d 100644 +--- a/android-client-common/build.gradle ++++ b/android-client-common/build.gradle +@@ -32,10 +32,6 @@ dependencies { + implementation "androidx.work:work-runtime-ktx:$workManagerVersion" + api "androidx.room:room-ktx:$roomVersion" + kapt "androidx.room:room-compiler:$roomVersion" +- api "com.google.firebase:firebase-core:$firebaseCoreVersion" +- api "com.google.firebase:firebase-perf:$firebasePerfVersion" +- api "com.crashlytics.sdk.android:crashlytics:$crashlyticsVersion" +- api "com.google.android.gms:play-services-wearable:$playServicesWearableVersion" + } + + android { +diff --git a/android-client-common/src/main/java/com/google/android/apps/muzei/wearable/ArtworkTransfer.kt b/android-client-common/src/main/java/com/google/android/apps/muzei/wearable/ArtworkTransfer.kt +deleted file mode 100644 +index c4a1a61d..00000000 +--- a/android-client-common/src/main/java/com/google/android/apps/muzei/wearable/ArtworkTransfer.kt ++++ /dev/null +@@ -1,58 +0,0 @@ +-/* +- * Copyright 2017 Google Inc. +- * +- * 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. +- */ +- +-package com.google.android.apps.muzei.wearable +- +-import androidx.core.net.toUri +-import androidx.core.os.bundleOf +-import com.google.android.apps.muzei.room.Artwork +-import com.google.android.gms.wearable.DataMap +- +-private const val KEY_IMAGE_URI = "imageUri" +-private const val KEY_TITLE = "title" +-private const val KEY_BYLINE = "byline" +-private const val KEY_ATTRIBUTION = "attribution" +- +-/** +- * Serializes this artwork object to a [DataMap] representation. +- * +- * @return a serialized version of the artwork. +- * @see toArtwork +- */ +-fun Artwork.toDataMap(): DataMap = DataMap.fromBundle(bundleOf( +- KEY_IMAGE_URI to imageUri.toString(), +- KEY_TITLE to title, +- KEY_BYLINE to byline, +- KEY_ATTRIBUTION to attribution)) +- +-/** +- * Deserializes an artwork object from a [DataMap]. +- * +- * @return the artwork from the [DataMap] +- * @see toDataMap +- */ +-fun DataMap.toArtwork(): com.google.android.apps.muzei.api.provider.Artwork { +- val bundle = toBundle() +- return com.google.android.apps.muzei.api.provider.Artwork().apply { +- val imageUri = bundle.getString(KEY_IMAGE_URI) +- if (imageUri != null && !imageUri.isBlank()) { +- persistentUri = imageUri.toUri() +- } +- title = bundle.getString(KEY_TITLE) +- byline = bundle.getString(KEY_BYLINE) +- attribution = bundle.getString(KEY_ATTRIBUTION) +- } +-} +diff --git a/build.gradle b/build.gradle +index 09514c32..0ec9ab6d 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -49,16 +49,10 @@ buildscript { + + repositories { + google() +- maven { +- url 'https://maven.fabric.io/public' +- } + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.5.0' +- classpath "com.google.gms:google-services:4.3.1" +- classpath "io.fabric.tools:gradle:1.31.0" +- classpath "com.google.firebase:perf-plugin:1.3.1" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" + classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigationVersion" + } +diff --git a/legacy-standalone/build.gradle b/legacy-standalone/build.gradle +index 9c87e771..0b863458 100644 +--- a/legacy-standalone/build.gradle ++++ b/legacy-standalone/build.gradle +@@ -17,8 +17,6 @@ + apply plugin: 'com.android.application' + apply plugin: 'kotlin-android' + apply plugin: 'kotlin-kapt' +-apply plugin: 'com.google.firebase.firebase-perf' +-apply plugin: 'io.fabric' + + android { + resourcePrefix 'legacy_' +@@ -47,34 +45,16 @@ android { + } + } + +- signingConfigs { +- release { +- Properties localProps = new Properties() +- localProps.load(new FileInputStream(file('../local.properties'))) +- Properties keyProps = new Properties() +- if (localProps['keystore.props.file'] != null) { +- keyProps.load(new FileInputStream(file(localProps['keystore.props.file']))) +- } +- storeFile keyProps["store"] != null ? file(keyProps["store"]) : null +- keyAlias keyProps["alias"] ?: "" +- storePassword keyProps["storePass"] ?: "" +- keyPassword keyProps["pass"] ?: "" +- } +- } + + buildTypes { + debug { + versionNameSuffix " Debug" +- FirebasePerformance { +- instrumentationEnabled false +- } + } + + release { + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), file('proguard-project.txt') +- signingConfig signingConfigs.release + } + } + +@@ -98,13 +78,8 @@ dependencies { + implementation "androidx.room:room-ktx:$roomVersion" + kapt "androidx.room:room-compiler:$roomVersion" + implementation "com.google.android.material:material:$materialVersion" +- implementation "com.google.firebase:firebase-core:$firebaseCoreVersion" +- implementation "com.google.firebase:firebase-perf:$firebasePerfVersion" +- implementation "com.crashlytics.sdk.android:crashlytics:$crashlyticsVersion" + implementation "com.squareup.okhttp3:okhttp:$okhttpVersion" + implementation project(':muzei-api') + implementation project(':extensions') + implementation project(':legacy-common') + } +- +-apply plugin: 'com.google.gms.google-services' +\ No newline at end of file +diff --git a/legacy-standalone/src/main/java/com/google/android/apps/muzei/legacy/LegacySourceService.kt b/legacy-standalone/src/main/java/com/google/android/apps/muzei/legacy/LegacySourceService.kt +index 253e49a1..1476fee1 100644 +--- a/legacy-standalone/src/main/java/com/google/android/apps/muzei/legacy/LegacySourceService.kt ++++ b/legacy-standalone/src/main/java/com/google/android/apps/muzei/legacy/LegacySourceService.kt +@@ -49,7 +49,6 @@ import com.google.android.apps.muzei.api.internal.ProtocolConstants.EXTRA_TOKEN + import com.google.android.apps.muzei.sources.SourceSubscriberService + import com.google.android.apps.muzei.util.goAsync + import com.google.android.apps.muzei.util.toastFromBackground +-import com.google.firebase.analytics.FirebaseAnalytics + import kotlinx.coroutines.Dispatchers + import kotlinx.coroutines.GlobalScope + import kotlinx.coroutines.asCoroutineDispatcher +@@ -422,15 +421,11 @@ class LegacySourceService : Service(), LifecycleOwner { + if (packageName.length > MAX_VALUE_LENGTH) { + packageName = packageName.substring(packageName.length - MAX_VALUE_LENGTH) + } +- FirebaseAnalytics.getInstance(this).setUserProperty(USER_PROPERTY_SELECTED_SOURCE_PACKAGE, +- packageName) + var className = selectedSource.flattenToShortString() + className = className.substring(className.indexOf('/') + 1) + if (className.length > MAX_VALUE_LENGTH) { + className = className.substring(className.length - MAX_VALUE_LENGTH) + } +- FirebaseAnalytics.getInstance(this).setUserProperty(USER_PROPERTY_SELECTED_SOURCE, +- className) + } + + private suspend fun Source.subscribe() { +diff --git a/legacy-standalone/src/main/java/com/google/android/apps/muzei/legacy/SourceSettingsActivity.kt b/legacy-standalone/src/main/java/com/google/android/apps/muzei/legacy/SourceSettingsActivity.kt +index 266cef6d..2c2ef46a 100644 +--- a/legacy-standalone/src/main/java/com/google/android/apps/muzei/legacy/SourceSettingsActivity.kt ++++ b/legacy-standalone/src/main/java/com/google/android/apps/muzei/legacy/SourceSettingsActivity.kt +@@ -53,7 +53,6 @@ import androidx.lifecycle.LiveData + import androidx.lifecycle.observe + import com.google.android.apps.muzei.api.MuzeiArtSource + import com.google.android.material.dialog.MaterialAlertDialogBuilder +-import com.google.firebase.analytics.FirebaseAnalytics + import kotlinx.coroutines.GlobalScope + import kotlinx.coroutines.launch + import net.nurik.roman.muzei.legacy.R +@@ -168,8 +167,6 @@ class SourceSettingsActivity : AppCompatActivity() { + adapter.clear() + adapter.addAll(sourcesViews) + if (!dialog.isShowing) { +- FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.VIEW_ITEM_LIST, +- bundleOf(FirebaseAnalytics.Param.ITEM_CATEGORY to "sources")) + dialog.show() + } + } +@@ -202,19 +199,9 @@ class SourceSettingsActivity : AppCompatActivity() { + } + builder.show() + } else if (source.setupActivity != null) { +- FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.VIEW_ITEM, +- bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to source.componentName.flattenToShortString(), +- FirebaseAnalytics.Param.ITEM_NAME to source.label, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "sources")) + currentInitialSetupSource = source.componentName + launchSourceSetup(source) + } else { +- FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to source.componentName.flattenToShortString(), +- FirebaseAnalytics.Param.ITEM_NAME to source.label, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "sources", +- FirebaseAnalytics.Param.CONTENT_TYPE to "choose")) + GlobalScope.launch { + LegacySourceService.selectSource(this@SourceSettingsActivity, source.componentName) + } +@@ -251,10 +238,6 @@ class SourceSettingsActivity : AppCompatActivity() { + if (requestCode == REQUEST_EXTENSION_SETUP) { + val setupSource = currentInitialSetupSource + if (resultCode == Activity.RESULT_OK && setupSource != null) { +- FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to setupSource.flattenToShortString(), +- FirebaseAnalytics.Param.CONTENT_TYPE to "sources", +- FirebaseAnalytics.Param.CONTENT_TYPE to "after_setup")) + GlobalScope.launch { + LegacySourceService.selectSource(this@SourceSettingsActivity, setupSource) + } +diff --git a/main/build.gradle b/main/build.gradle +index 72e2db64..17c31333 100644 +--- a/main/build.gradle ++++ b/main/build.gradle +@@ -17,8 +17,6 @@ + apply plugin: 'com.android.application' + apply plugin: 'kotlin-android' + apply plugin: 'kotlin-kapt' +-apply plugin: 'com.google.firebase.firebase-perf' +-apply plugin: 'io.fabric' + apply plugin: 'androidx.navigation.safeargs.kotlin' + + project.archivesBaseName = "muzei" +@@ -48,34 +46,16 @@ android { + buildConfigField "String", "DEVICE_TYPE", "\"android\"" + } + +- signingConfigs { +- release { +- Properties localProps = new Properties() +- localProps.load(new FileInputStream(file('../local.properties'))) +- Properties keyProps = new Properties() +- if (localProps['keystore.props.file'] != null) { +- keyProps.load(new FileInputStream(file(localProps['keystore.props.file']))) +- } +- storeFile keyProps["store"] != null ? file(keyProps["store"]) : null +- keyAlias keyProps["alias"] ?: "" +- storePassword keyProps["storePass"] ?: "" +- keyPassword keyProps["pass"] ?: "" +- } +- } + + buildTypes { + debug { + versionNameSuffix " Debug" +- FirebasePerformance { +- instrumentationEnabled false +- } + } + + release { + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), file('proguard-project.txt') +- signingConfig signingConfigs.release + } + + publicBeta.initWith(buildTypes.release) +@@ -107,7 +87,6 @@ dependencies { + api "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutinesVersion" + implementation "androidx.multidex:multidex:$multidexVersion" + implementation "com.github.bumptech.glide:glide:$glideVersion" +- implementation "com.google.android.gms:play-services-wearable:$playServicesWearableVersion" + implementation "com.twofortyfouram:android-plugin-api-for-locale:1.0.4" + implementation "com.davemorrissey.labs:subsampling-scale-image-view:3.10.0" + implementation "androidx.core:core-ktx:$coreVersion" +@@ -135,5 +114,3 @@ dependencies { + implementation project(':source-single') + implementation project(':gl-wallpaper') + } +- +-apply plugin: 'com.google.gms.google-services' +\ No newline at end of file +diff --git a/main/src/main/java/com/google/android/apps/muzei/ArtDetailFragment.kt b/main/src/main/java/com/google/android/apps/muzei/ArtDetailFragment.kt +index bc70542c..c47cf06a 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/ArtDetailFragment.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/ArtDetailFragment.kt +@@ -69,7 +69,6 @@ import com.google.android.apps.muzei.util.AnimatedMuzeiLoadingSpinnerView + import com.google.android.apps.muzei.util.PanScaleProxyView + import com.google.android.apps.muzei.util.makeCubicGradientScrimDrawable + import com.google.android.apps.muzei.widget.showWidgetPreview +-import com.google.firebase.analytics.FirebaseAnalytics + import kotlinx.coroutines.Dispatchers + import kotlinx.coroutines.GlobalScope + import kotlinx.coroutines.Job +@@ -123,8 +122,6 @@ class ArtDetailFragment : Fragment(), (Boolean) -> Unit { + metadataView.setOnClickListener { + val context = requireContext() + lifecycleScope.launch { +- FirebaseAnalytics.getInstance(context).logEvent("artwork_info_open", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "art_detail")) + currentArtworkLiveData.value?.openArtworkInfo(context) + } + } +@@ -272,17 +269,6 @@ class ArtDetailFragment : Fragment(), (Boolean) -> Unit { + if (id > 0) { + currentArtworkLiveData.value?.run { + GlobalScope.launch { +- if (id == LegacySourceServiceProtocol.LEGACY_COMMAND_ID_NEXT_ARTWORK) { +- FirebaseAnalytics.getInstance(context).logEvent("next_artwork", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "art_detail")) +- } else { +- FirebaseAnalytics.getInstance(context).logEvent( +- FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to id, +- FirebaseAnalytics.Param.ITEM_NAME to menuItem.title, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "actions", +- FirebaseAnalytics.Param.CONTENT_TYPE to "art_detail")) +- } + sendAction(context, id) + } + } +@@ -291,20 +277,16 @@ class ArtDetailFragment : Fragment(), (Boolean) -> Unit { + + return@setOnMenuItemClickListener when (menuItem.itemId) { + R.id.action_gestures -> { +- FirebaseAnalytics.getInstance(context).logEvent("gestures_open", null) + findNavController().navigate(ArtDetailFragmentDirections.gestures()) + true + } + R.id.action_always_dark -> { + val alwaysDark = !menuItem.isChecked + menuItem.isChecked = alwaysDark +- FirebaseAnalytics.getInstance(context).logEvent("always_dark", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to alwaysDark.toString())) + MuzeiApplication.setAlwaysDark(context, alwaysDark) + true + } + R.id.action_about -> { +- FirebaseAnalytics.getInstance(context).logEvent("about_open", null) + startActivity(Intent(context, AboutActivity::class.java)) + true + } +@@ -314,8 +296,6 @@ class ArtDetailFragment : Fragment(), (Boolean) -> Unit { + + nextButton = view.findViewById(R.id.next_button) + nextButton.setOnClickListener { +- FirebaseAnalytics.getInstance(requireContext()).logEvent("next_artwork", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "art_detail")) + ProviderManager.getInstance(requireContext()).nextArtwork() + showFakeLoading() + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/ArtworkInfoRedirectActivity.kt b/main/src/main/java/com/google/android/apps/muzei/ArtworkInfoRedirectActivity.kt +index 40fc8406..551b7989 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/ArtworkInfoRedirectActivity.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/ArtworkInfoRedirectActivity.kt +@@ -23,7 +23,6 @@ import androidx.fragment.app.FragmentActivity + import androidx.lifecycle.lifecycleScope + import com.google.android.apps.muzei.room.MuzeiDatabase + import com.google.android.apps.muzei.room.openArtworkInfo +-import com.google.firebase.analytics.FirebaseAnalytics + + /** + * Open the Artwork Info associated with the current artwork +@@ -46,9 +45,6 @@ class ArtworkInfoRedirectActivity : FragmentActivity() { + .getCurrentArtwork() + artwork?.run { + val from = intent?.getStringExtra(EXTRA_FROM) ?: "activity_shortcut" +- FirebaseAnalytics.getInstance(this@ArtworkInfoRedirectActivity).logEvent( +- "artwork_info_open", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to from)) + openArtworkInfo(this@ArtworkInfoRedirectActivity) + } + finish() +diff --git a/main/src/main/java/com/google/android/apps/muzei/AutoAdvanceSettingsFragment.kt b/main/src/main/java/com/google/android/apps/muzei/AutoAdvanceSettingsFragment.kt +index 7da86d4a..d8fe1bf3 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/AutoAdvanceSettingsFragment.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/AutoAdvanceSettingsFragment.kt +@@ -35,7 +35,6 @@ import androidx.core.text.toSpannable + import androidx.fragment.app.Fragment + import com.google.android.apps.muzei.sync.ProviderManager + import com.google.android.apps.muzei.util.toast +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.R + + class AutoAdvanceSettingsFragment : Fragment(R.layout.auto_advance_settings_fragment) { +@@ -69,9 +68,6 @@ class AutoAdvanceSettingsFragment : Fragment(R.layout.auto_advance_settings_frag + val autoAdvanceWifi: CheckBox = view.findViewById(R.id.auto_advance_wifi) + autoAdvanceWifi.isChecked = providerManager.loadOnWifi + autoAdvanceWifi.setOnCheckedChangeListener { _, isChecked -> +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "auto_advance_load_on_wifi", bundleOf( +- FirebaseAnalytics.Param.VALUE to isChecked.toString())) + providerManager.loadOnWifi = isChecked + } + +@@ -80,9 +76,6 @@ class AutoAdvanceSettingsFragment : Fragment(R.layout.auto_advance_settings_frag + + intervalRadioGroup.check(INTERVAL_RADIO_BUTTON_IDS_BY_TIME[currentInterval.toInt()]) + intervalRadioGroup.setOnCheckedChangeListener { _, id -> +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "auto_advance_load_frequency", bundleOf( +- FirebaseAnalytics.Param.VALUE to INTERVAL_TIME_BY_RADIO_BUTTON_ID[id])) + providerManager.loadFrequencySeconds = INTERVAL_TIME_BY_RADIO_BUTTON_ID[id] + } + +@@ -104,7 +97,6 @@ class AutoAdvanceSettingsFragment : Fragment(R.layout.auto_advance_settings_frag + "%26utm_medium%3Dapp" + + "%26utm_campaign%3Dauto_advance")) + ).addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT)) +- FirebaseAnalytics.getInstance(context).logEvent("tasker_open", null) + } catch (e: ActivityNotFoundException) { + context.toast(R.string.play_store_not_found, Toast.LENGTH_LONG) + } catch (e: SecurityException) { +diff --git a/main/src/main/java/com/google/android/apps/muzei/ChooseProviderFragment.kt b/main/src/main/java/com/google/android/apps/muzei/ChooseProviderFragment.kt +index 35f3cfd6..7c37b5c5 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/ChooseProviderFragment.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/ChooseProviderFragment.kt +@@ -63,7 +63,6 @@ import com.google.android.apps.muzei.room.MuzeiDatabase + import com.google.android.apps.muzei.sync.ProviderManager + import com.google.android.apps.muzei.util.toast + import com.google.android.material.snackbar.Snackbar +-import com.google.firebase.analytics.FirebaseAnalytics + import kotlinx.coroutines.GlobalScope + import kotlinx.coroutines.launch + import net.nurik.roman.muzei.BuildConfig.LEGACY_AUTHORITY +@@ -111,23 +110,16 @@ class ChooseProviderFragment : Fragment(R.layout.choose_provider_fragment) { + if (drawerLayout.isDrawerOpen(GravityCompat.END)) { + drawerLayout.closeDrawer(GravityCompat.END) + } else { +- FirebaseAnalytics.getInstance(context).logEvent( +- "auto_advance_open", null) + drawerLayout.openDrawer(GravityCompat.END) + } + true + } + R.id.auto_advance_disabled -> { +- FirebaseAnalytics.getInstance(context).logEvent( +- "auto_advance_disabled", null) + context.toast(R.string.auto_advance_disabled_description, + Toast.LENGTH_LONG) + true + } + R.id.action_notification_settings -> { +- FirebaseAnalytics.getInstance(context).logEvent( +- "notification_settings_open", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "overflow")) + NotificationSettingsDialogFragment.showSettings(context, + childFragmentManager) + true +@@ -244,11 +236,6 @@ class ChooseProviderFragment : Fragment(R.layout.choose_provider_fragment) { + if (resultCode == Activity.RESULT_OK && provider != null) { + val context = requireContext() + GlobalScope.launch { +- FirebaseAnalytics.getInstance(context).logEvent( +- FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to provider, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "providers", +- FirebaseAnalytics.Param.CONTENT_TYPE to "after_setup")) + ProviderManager.select(context, provider) + } + } +@@ -280,23 +267,13 @@ class ChooseProviderFragment : Fragment(R.layout.choose_provider_fragment) { + val context = context + val parentFragment = parentFragment?.parentFragment + if (context is Callbacks) { +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "choose_provider_reselected", null) + context.onRequestCloseActivity() + } else if (parentFragment is Callbacks) { +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "choose_provider_reselected", null) + parentFragment.onRequestCloseActivity() + } + } else if (setupActivity != null) { +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- FirebaseAnalytics.Event.VIEW_ITEM, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to authority, +- FirebaseAnalytics.Param.ITEM_NAME to title, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "providers")) + launchProviderSetup(this) + } else if (providerInfo.authority == viewModel.playStoreAuthority) { +- FirebaseAnalytics.getInstance(requireContext()).logEvent("more_sources_open", null) + try { + startActivity(viewModel.playStoreIntent) + } catch (e: ActivityNotFoundException) { +@@ -305,12 +282,6 @@ class ChooseProviderFragment : Fragment(R.layout.choose_provider_fragment) { + requireContext().toast(R.string.play_store_not_found, Toast.LENGTH_LONG) + } + } else { +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to authority, +- FirebaseAnalytics.Param.ITEM_NAME to title, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "providers", +- FirebaseAnalytics.Param.CONTENT_TYPE to "choose")) + val context = requireContext() + GlobalScope.launch { + ProviderManager.select(context, authority) +@@ -326,10 +297,6 @@ class ChooseProviderFragment : Fragment(R.layout.choose_provider_fragment) { + try { + startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, + Uri.fromParts("package", packageName, null))) +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "app_settings_open", bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to authority, +- FirebaseAnalytics.Param.ITEM_NAME to title)) + } catch (e: ActivityNotFoundException) { + return@setOnLongClickListener false + } +@@ -347,17 +314,9 @@ class ChooseProviderFragment : Fragment(R.layout.choose_provider_fragment) { + + setSelected(providerInfo) + providerSettings.setOnClickListener { +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "provider_settings_open", bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to authority, +- FirebaseAnalytics.Param.ITEM_NAME to title)) + launchProviderSettings(this) + } + providerBrowse.setOnClickListener { +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "provider_browse_open", bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to authority, +- FirebaseAnalytics.Param.ITEM_NAME to title)) + findNavController().navigate( + ChooseProviderFragmentDirections.browse( + ProviderContract.getContentUri(authority))) +diff --git a/main/src/main/java/com/google/android/apps/muzei/IntroFragment.kt b/main/src/main/java/com/google/android/apps/muzei/IntroFragment.kt +index c2d2bf8f..16e852a0 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/IntroFragment.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/IntroFragment.kt +@@ -30,7 +30,6 @@ import androidx.fragment.app.Fragment + import androidx.fragment.app.commitNow + import com.google.android.apps.muzei.util.AnimatedMuzeiLogoFragment + import com.google.android.apps.muzei.util.toast +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.R + + class IntroFragment : Fragment(R.layout.intro_fragment) { +@@ -39,16 +38,11 @@ class IntroFragment : Fragment(R.layout.intro_fragment) { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) +- +- if (savedInstanceState == null) { +- FirebaseAnalytics.getInstance(requireContext()).logEvent(FirebaseAnalytics.Event.TUTORIAL_BEGIN, null) +- } + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + activateButton = view.findViewById(R.id.activate_muzei_button) + activateButton.setOnClickListener { +- FirebaseAnalytics.getInstance(requireContext()).logEvent("activate", null) + try { + startActivity(Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER) + .putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, +diff --git a/main/src/main/java/com/google/android/apps/muzei/MainFragment.kt b/main/src/main/java/com/google/android/apps/muzei/MainFragment.kt +index e268f86f..2e04bc8b 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/MainFragment.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/MainFragment.kt +@@ -26,7 +26,6 @@ import androidx.navigation.ui.setupWithNavController + import com.google.android.apps.muzei.browse.BrowseProviderFragment + import com.google.android.apps.muzei.settings.EffectsFragment + import com.google.android.material.bottomnavigation.BottomNavigationView +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.R + + /** +@@ -55,24 +54,12 @@ class MainFragment : Fragment(R.layout.main_fragment), ChooseProviderFragment.Ca + navController.addOnDestinationChangedListener { _, destination, _ -> + when (destination.id) { + R.id.main_art_details -> { +- FirebaseAnalytics.getInstance(requireContext()) +- .setCurrentScreen(requireActivity(), "ArtDetail", +- ArtDetailFragment::class.java.simpleName) + } + R.id.main_choose_provider -> { +- FirebaseAnalytics.getInstance(requireContext()) +- .setCurrentScreen(requireActivity(), "ChooseProvider", +- ChooseProviderFragment::class.java.simpleName) + } + R.id.browse_provider -> { +- FirebaseAnalytics.getInstance(requireContext()) +- .setCurrentScreen(requireActivity(), "BrowseProvider", +- BrowseProviderFragment::class.java.simpleName) + } + R.id.main_effects -> { +- FirebaseAnalytics.getInstance(requireContext()) +- .setCurrentScreen(requireActivity(), "Effects", +- EffectsFragment::class.java.simpleName) + } + } + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/MuzeiActivity.kt b/main/src/main/java/com/google/android/apps/muzei/MuzeiActivity.kt +index 0599b958..690e9d16 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/MuzeiActivity.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/MuzeiActivity.kt +@@ -37,7 +37,6 @@ import com.google.android.apps.muzei.notifications.NotificationSettingsDialogFra + import com.google.android.apps.muzei.render.MuzeiRendererFragment + import com.google.android.apps.muzei.settings.EffectsFragment + import com.google.android.apps.muzei.wallpaper.WallpaperActiveState +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.BuildConfig + import net.nurik.roman.muzei.R + +@@ -56,26 +55,18 @@ class MuzeiActivity : AppCompatActivity() { + return when { + WallpaperActiveState.value == true && seenTutorial -> { + // The wallpaper is active and they've seen the tutorial +- FirebaseAnalytics.getInstance(this).setCurrentScreen(this, "Main", +- MainFragment::class.java.simpleName) + MainFragment() + } + WallpaperActiveState.value == true && !seenTutorial -> { + // They need to see the tutorial after activating Muzei for the first time +- FirebaseAnalytics.getInstance(this).setCurrentScreen(this, "Tutorial", +- TutorialFragment::class.java.simpleName) + TutorialFragment() + } + isPreviewMode -> { + // We're previewing the wallpaper and want to adjust its settings +- FirebaseAnalytics.getInstance(this).setCurrentScreen(this, "Effects", +- EffectsFragment::class.java.simpleName) + EffectsFragment() + } + else -> { + // Show the intro fragment to have them activate Muzei +- FirebaseAnalytics.getInstance(this).setCurrentScreen(this, "Intro", +- IntroFragment::class.java.simpleName) + IntroFragment() + } + }.also { +@@ -89,7 +80,6 @@ class MuzeiActivity : AppCompatActivity() { + return + } + setContentView(R.layout.muzei_activity) +- FirebaseAnalytics.getInstance(this).setUserProperty("device_type", BuildConfig.DEVICE_TYPE) + val containerView = findViewById(R.id.container) + + containerView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN +@@ -130,9 +120,6 @@ class MuzeiActivity : AppCompatActivity() { + } + } + if (intent?.hasCategory(Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES) == true) { +- FirebaseAnalytics.getInstance(this).logEvent( +- "notification_settings_open", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "intent")) + NotificationSettingsDialogFragment.showSettings(this, + supportFragmentManager) + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/MuzeiWallpaperService.kt b/main/src/main/java/com/google/android/apps/muzei/MuzeiWallpaperService.kt +index a58d1c7f..787414f9 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/MuzeiWallpaperService.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/MuzeiWallpaperService.kt +@@ -58,9 +58,7 @@ import com.google.android.apps.muzei.sync.ProviderManager + import com.google.android.apps.muzei.util.filterNotNull + import com.google.android.apps.muzei.wallpaper.LockscreenObserver + import com.google.android.apps.muzei.wallpaper.WallpaperAnalytics +-import com.google.android.apps.muzei.wearable.WearableController + import com.google.android.apps.muzei.widget.WidgetUpdater +-import com.google.firebase.analytics.FirebaseAnalytics + import kotlinx.coroutines.GlobalScope + import kotlinx.coroutines.Job + import kotlinx.coroutines.delay +@@ -92,7 +90,6 @@ class MuzeiWallpaperService : GLWallpaperService(), LifecycleOwner { + wallpaperLifecycle.addObserver(WorkManagerInitializer.initializeObserver(this)) + wallpaperLifecycle.addObserver(LegacySourceManager.getInstance(this)) + wallpaperLifecycle.addObserver(NotificationUpdater(this)) +- wallpaperLifecycle.addObserver(WearableController(this)) + wallpaperLifecycle.addObserver(WidgetUpdater(this)) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) { + wallpaperLifecycle.addObserver(ArtworkInfoShortcutController(this, this)) +@@ -318,9 +315,6 @@ class MuzeiWallpaperService : GLWallpaperService(), LifecycleOwner { + private fun triggerTapAction(action: String, type: String) { + when (action) { + Prefs.PREF_TAP_ACTION_TEMP -> { +- FirebaseAnalytics.getInstance(this@MuzeiWallpaperService).logEvent( +- "temp_disable_effects", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to type)) + // Temporarily toggle focused/blurred + queueEvent { + renderer.setIsBlurred(!renderer.isBlurred, false) +@@ -330,9 +324,6 @@ class MuzeiWallpaperService : GLWallpaperService(), LifecycleOwner { + } + Prefs.PREF_TAP_ACTION_NEXT -> { + GlobalScope.launch { +- FirebaseAnalytics.getInstance(this@MuzeiWallpaperService).logEvent( +- "next_artwork", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to type)) + LegacySourceManager.getInstance(this@MuzeiWallpaperService).nextArtwork() + } + } +@@ -343,9 +334,6 @@ class MuzeiWallpaperService : GLWallpaperService(), LifecycleOwner { + .artworkDao() + .getCurrentArtwork() + artwork?.run { +- FirebaseAnalytics.getInstance(this@MuzeiWallpaperService).logEvent( +- "artwork_info_open", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to type)) + openArtworkInfo(this@MuzeiWallpaperService) + } + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/NextArtworkActivity.kt b/main/src/main/java/com/google/android/apps/muzei/NextArtworkActivity.kt +index d42e2a74..0e22c650 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/NextArtworkActivity.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/NextArtworkActivity.kt +@@ -20,7 +20,6 @@ import android.app.Activity + import android.os.Bundle + import androidx.core.os.bundleOf + import com.google.android.apps.muzei.legacy.LegacySourceManager +-import com.google.firebase.analytics.FirebaseAnalytics + import kotlinx.coroutines.GlobalScope + import kotlinx.coroutines.launch + +@@ -31,9 +30,6 @@ class NextArtworkActivity : Activity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + GlobalScope.launch { +- FirebaseAnalytics.getInstance(this@NextArtworkActivity).logEvent( +- "next_artwork", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "activity_shortcut")) + LegacySourceManager.getInstance(this@NextArtworkActivity).nextArtwork() + } + finish() +diff --git a/main/src/main/java/com/google/android/apps/muzei/PhotoSetAsTargetActivity.kt b/main/src/main/java/com/google/android/apps/muzei/PhotoSetAsTargetActivity.kt +index 95f210f1..5ac8764f 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/PhotoSetAsTargetActivity.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/PhotoSetAsTargetActivity.kt +@@ -26,7 +26,6 @@ import com.google.android.apps.muzei.single.BuildConfig.SINGLE_AUTHORITY + import com.google.android.apps.muzei.single.SingleArtProvider + import com.google.android.apps.muzei.sync.ProviderManager + import com.google.android.apps.muzei.util.toast +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.R + + class PhotoSetAsTargetActivity : FragmentActivity() { +@@ -51,11 +50,6 @@ class PhotoSetAsTargetActivity : FragmentActivity() { + } + + // If adding the artwork succeeded, select the single artwork provider +- FirebaseAnalytics.getInstance(context).logEvent( +- FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to SINGLE_AUTHORITY, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "providers", +- FirebaseAnalytics.Param.CONTENT_TYPE to "set_as")) + ProviderManager.select(context, SINGLE_AUTHORITY) + startActivity(Intent.makeMainActivity(ComponentName( + context, MuzeiActivity::class.java)) +diff --git a/main/src/main/java/com/google/android/apps/muzei/TutorialFragment.kt b/main/src/main/java/com/google/android/apps/muzei/TutorialFragment.kt +index b69ab34f..4608eb7b 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/TutorialFragment.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/TutorialFragment.kt +@@ -30,7 +30,6 @@ import androidx.core.content.edit + import androidx.core.content.res.ResourcesCompat + import androidx.fragment.app.Fragment + import androidx.preference.PreferenceManager +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.R + + class TutorialFragment : Fragment(R.layout.tutorial_fragment) { +@@ -43,8 +42,6 @@ class TutorialFragment : Fragment(R.layout.tutorial_fragment) { + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + view.findViewById(R.id.tutorial_icon_affordance).setOnClickListener { +- FirebaseAnalytics.getInstance(requireContext()) +- .logEvent(FirebaseAnalytics.Event.TUTORIAL_COMPLETE, null) + PreferenceManager.getDefaultSharedPreferences(context).edit { + putBoolean(PREF_SEEN_TUTORIAL, true) + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/browse/BrowseProviderFragment.kt b/main/src/main/java/com/google/android/apps/muzei/browse/BrowseProviderFragment.kt +index a510e41b..e9febb05 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/browse/BrowseProviderFragment.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/browse/BrowseProviderFragment.kt +@@ -39,7 +39,6 @@ import com.bumptech.glide.Glide + import com.google.android.apps.muzei.room.Artwork + import com.google.android.apps.muzei.room.MuzeiDatabase + import com.google.android.apps.muzei.util.toast +-import com.google.firebase.analytics.FirebaseAnalytics + import kotlinx.coroutines.CoroutineScope + import kotlinx.coroutines.Dispatchers + import kotlinx.coroutines.launch +@@ -102,12 +101,6 @@ class BrowseProviderFragment: Fragment(R.layout.browse_provider_fragment) { + itemView.setOnClickListener { + val context = it.context + coroutineScope.launch(Dispatchers.Main) { +- FirebaseAnalytics.getInstance(context).logEvent( +- FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to artwork.id, +- FirebaseAnalytics.Param.ITEM_NAME to artwork.title, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "artwork", +- FirebaseAnalytics.Param.CONTENT_TYPE to "browse")) + MuzeiDatabase.getInstance(context).artworkDao() + .insert(artwork) + context.toast(if (artwork.title.isNullOrBlank()) { +diff --git a/main/src/main/java/com/google/android/apps/muzei/legacy/LegacySourceInfoFragment.kt b/main/src/main/java/com/google/android/apps/muzei/legacy/LegacySourceInfoFragment.kt +index 8e470074..a54af43b 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/legacy/LegacySourceInfoFragment.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/legacy/LegacySourceInfoFragment.kt +@@ -38,7 +38,6 @@ import androidx.recyclerview.widget.DiffUtil + import androidx.recyclerview.widget.ListAdapter + import androidx.recyclerview.widget.RecyclerView + import com.google.android.apps.muzei.util.toast +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.R + + class LegacySourceInfoFragment : Fragment(R.layout.legacy_source_info_fragment) { +@@ -95,10 +94,6 @@ class LegacySourceInfoFragment : Fragment(R.layout.legacy_source_info_fragment) + infoIcon.setImageBitmap(icon) + infoTitle.text = title + infoAppInfo.setOnClickListener { +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "legacy_source_info_app_info_open", bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to packageName, +- FirebaseAnalytics.Param.ITEM_NAME to title)) + val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) + intent.data = "package:$packageName".toUri() + startActivity(intent) +@@ -108,10 +103,6 @@ class LegacySourceInfoFragment : Fragment(R.layout.legacy_source_info_fragment) + infoSendFeedback.isVisible = + intent.resolveActivity(requireContext().packageManager) != null + infoSendFeedback.setOnClickListener { +- FirebaseAnalytics.getInstance(requireContext()).logEvent( +- "legacy_source_info_send_feedback_open", bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to packageName, +- FirebaseAnalytics.Param.ITEM_NAME to title)) + startActivity(intent) + } + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/notifications/NewWallpaperNotificationReceiver.kt b/main/src/main/java/com/google/android/apps/muzei/notifications/NewWallpaperNotificationReceiver.kt +index dc3e5ae1..360d3349 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/notifications/NewWallpaperNotificationReceiver.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/notifications/NewWallpaperNotificationReceiver.kt +@@ -43,7 +43,6 @@ import com.google.android.apps.muzei.room.MuzeiDatabase + import com.google.android.apps.muzei.room.getCommands + import com.google.android.apps.muzei.room.sendAction + import com.google.android.apps.muzei.util.goAsync +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.R + + class NewWallpaperNotificationReceiver : BroadcastReceiver() { +@@ -306,9 +305,6 @@ class NewWallpaperNotificationReceiver : BroadcastReceiver() { + when (intent?.action) { + ACTION_MARK_NOTIFICATION_READ -> markNotificationRead(context) + ACTION_NEXT_ARTWORK -> { +- FirebaseAnalytics.getInstance(context).logEvent( +- "next_artwork", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "notification")) + LegacySourceManager.getInstance(context).nextArtwork() + } + ACTION_USER_COMMAND -> triggerUserCommandFromRemoteInput(context, intent) +@@ -325,12 +321,6 @@ class NewWallpaperNotificationReceiver : BroadcastReceiver() { + if (artwork != null) { + val commands = artwork.getCommands(context) + commands.find { selectedCommand == it.title }?.run { +- FirebaseAnalytics.getInstance(context).logEvent( +- FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to id, +- FirebaseAnalytics.Param.ITEM_NAME to title, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "actions", +- FirebaseAnalytics.Param.CONTENT_TYPE to "notification")) + artwork.sendAction(context, id) + } + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/quicksettings/NextArtworkTileService.kt b/main/src/main/java/com/google/android/apps/muzei/quicksettings/NextArtworkTileService.kt +index 923c6b47..2c8c38a1 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/quicksettings/NextArtworkTileService.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/quicksettings/NextArtworkTileService.kt +@@ -39,7 +39,6 @@ import com.google.android.apps.muzei.room.MuzeiDatabase + import com.google.android.apps.muzei.room.Provider + import com.google.android.apps.muzei.util.toast + import com.google.android.apps.muzei.wallpaper.WallpaperActiveState +-import com.google.firebase.analytics.FirebaseAnalytics + import kotlinx.coroutines.GlobalScope + import kotlinx.coroutines.launch + import kotlinx.coroutines.runBlocking +@@ -73,7 +72,6 @@ class NextArtworkTileService : TileService(), LifecycleOwner { + } + + override fun onTileAdded() { +- FirebaseAnalytics.getInstance(this).logEvent("tile_next_artwork_added", null) + } + + override fun onStartListening() { +@@ -110,16 +108,11 @@ class NextArtworkTileService : TileService(), LifecycleOwner { + when (state) { + Tile.STATE_ACTIVE -> { // Active means we send the 'Next Artwork' command + GlobalScope.launch { +- FirebaseAnalytics.getInstance(context).logEvent( +- "next_artwork", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "tile")) + LegacySourceManager.getInstance(context).nextArtwork() + } + } + else -> unlockAndRun { + // Inactive means we attempt to activate Muzei +- FirebaseAnalytics.getInstance(context).logEvent( +- "tile_next_artwork_activate", null) + try { + startActivityAndCollapse(Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER) + .putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, +@@ -144,7 +137,6 @@ class NextArtworkTileService : TileService(), LifecycleOwner { + } + + override fun onTileRemoved() { +- FirebaseAnalytics.getInstance(this).logEvent("tile_next_artwork_removed", null) + } + + override fun onDestroy() { +diff --git a/main/src/main/java/com/google/android/apps/muzei/tasker/TaskerActionReceiver.kt b/main/src/main/java/com/google/android/apps/muzei/tasker/TaskerActionReceiver.kt +index c557e9dc..51e2edd8 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/tasker/TaskerActionReceiver.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/tasker/TaskerActionReceiver.kt +@@ -23,7 +23,6 @@ import androidx.core.os.bundleOf + import com.google.android.apps.muzei.legacy.LegacySourceManager + import com.google.android.apps.muzei.sync.ProviderManager + import com.google.android.apps.muzei.util.goAsync +-import com.google.firebase.analytics.FirebaseAnalytics + import com.twofortyfouram.locale.api.Intent.ACTION_FIRE_SETTING + import com.twofortyfouram.locale.api.Intent.EXTRA_BUNDLE + +@@ -42,18 +41,10 @@ class TaskerActionReceiver : BroadcastReceiver() { + is SelectProviderAction -> { + val authority = selectedAction.authority + if (context.packageManager.resolveContentProvider(authority, 0) != null) { +- FirebaseAnalytics.getInstance(context).logEvent( +- FirebaseAnalytics.Event.SELECT_CONTENT, bundleOf( +- FirebaseAnalytics.Param.ITEM_ID to authority, +- FirebaseAnalytics.Param.ITEM_CATEGORY to "providers", +- FirebaseAnalytics.Param.CONTENT_TYPE to "tasker")) + ProviderManager.select(context, authority) + } + } + is NextArtworkAction -> { +- FirebaseAnalytics.getInstance(context).logEvent( +- "next_artwork", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "tasker")) + LegacySourceManager.getInstance(context).nextArtwork() + } + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/wallpaper/WallpaperAnalytics.kt b/main/src/main/java/com/google/android/apps/muzei/wallpaper/WallpaperAnalytics.kt +index 0be6d26d..c3552f51 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/wallpaper/WallpaperAnalytics.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/wallpaper/WallpaperAnalytics.kt +@@ -21,7 +21,6 @@ import android.content.Context + import androidx.lifecycle.DefaultLifecycleObserver + import androidx.lifecycle.LifecycleOwner + import androidx.lifecycle.MutableLiveData +-import com.google.firebase.analytics.FirebaseAnalytics + import net.nurik.roman.muzei.BuildConfig + + object WallpaperActiveState : MutableLiveData() { +@@ -43,16 +42,13 @@ class WallpaperAnalytics(private val context: Context) : DefaultLifecycleObserve + } + + override fun onCreate(owner: LifecycleOwner) { +- FirebaseAnalytics.getInstance(context).setUserProperty("device_type", BuildConfig.DEVICE_TYPE) + } + + override fun onResume(owner: LifecycleOwner) { +- FirebaseAnalytics.getInstance(context).logEvent("wallpaper_created", null) + WallpaperActiveState.value = true + } + + override fun onPause(owner: LifecycleOwner) { +- FirebaseAnalytics.getInstance(context).logEvent("wallpaper_destroyed", null) + WallpaperActiveState.value = false + } + } +diff --git a/main/src/main/java/com/google/android/apps/muzei/wearable/NotificationOpenListenerService.kt b/main/src/main/java/com/google/android/apps/muzei/wearable/NotificationOpenListenerService.kt +deleted file mode 100644 +index 0e5be16b..00000000 +--- a/main/src/main/java/com/google/android/apps/muzei/wearable/NotificationOpenListenerService.kt ++++ /dev/null +@@ -1,28 +0,0 @@ +-/* +- * Copyright 2014 Google Inc. +- * +- * 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. +- */ +- +-package com.google.android.apps.muzei.wearable +- +-import com.google.android.gms.wearable.MessageEvent +-import com.google.android.gms.wearable.WearableListenerService +- +-class NotificationOpenListenerService : WearableListenerService() { +- override fun onMessageReceived(messageEvent: MessageEvent?) { +- // Only notification/open actions trigger this WearableListenerService +- val mainIntent = packageManager.getLaunchIntentForPackage(packageName) +- startActivity(mainIntent) +- } +-} +diff --git a/main/src/main/java/com/google/android/apps/muzei/wearable/WearableController.kt b/main/src/main/java/com/google/android/apps/muzei/wearable/WearableController.kt +deleted file mode 100644 +index 21bf0e01..00000000 +--- a/main/src/main/java/com/google/android/apps/muzei/wearable/WearableController.kt ++++ /dev/null +@@ -1,105 +0,0 @@ +-/* +- * Copyright 2014 Google Inc. +- * +- * 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. +- */ +- +-package com.google.android.apps.muzei.wearable +- +-import android.content.Context +-import android.graphics.Bitmap +-import android.util.Log +-import androidx.lifecycle.DefaultLifecycleObserver +-import androidx.lifecycle.LifecycleOwner +-import androidx.lifecycle.observe +-import com.google.android.apps.muzei.render.ImageLoader +-import com.google.android.apps.muzei.room.Artwork +-import com.google.android.apps.muzei.room.MuzeiDatabase +-import com.google.android.apps.muzei.util.filterNotNull +-import com.google.android.gms.common.ConnectionResult +-import com.google.android.gms.common.GoogleApiAvailability +-import com.google.android.gms.common.api.AvailabilityException +-import com.google.android.gms.wearable.Asset +-import com.google.android.gms.wearable.PutDataMapRequest +-import com.google.android.gms.wearable.Wearable +-import kotlinx.coroutines.GlobalScope +-import kotlinx.coroutines.launch +-import kotlinx.coroutines.tasks.await +-import java.io.ByteArrayOutputStream +-import java.util.concurrent.ExecutionException +-import java.util.concurrent.TimeoutException +- +-/** +- * Controller for updating Android Wear devices with new wallpapers. +- */ +-class WearableController(private val context: Context) : DefaultLifecycleObserver { +- +- companion object { +- private const val TAG = "WearableController" +- } +- +- override fun onCreate(owner: LifecycleOwner) { +- // Update Android Wear whenever the artwork changes +- MuzeiDatabase.getInstance(context).artworkDao().currentArtwork +- .filterNotNull() +- .observe(owner) { artwork -> +- GlobalScope.launch { +- updateArtwork(artwork) +- } +- } +- } +- +- private suspend fun updateArtwork(artwork: Artwork) { +- if (ConnectionResult.SUCCESS != GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context)) { +- return +- } +- val dataClient = Wearable.getDataClient(context) +- try { +- GoogleApiAvailability.getInstance().checkApiAvailability(dataClient).await() +- } catch (e: AvailabilityException) { +- val connectionResult = e.getConnectionResult(dataClient) +- if (connectionResult.errorCode != ConnectionResult.API_UNAVAILABLE) { +- Log.w(TAG, "onConnectionFailed: $connectionResult", e.cause) +- } +- return +- } catch (e: ExecutionException) { +- Log.w(TAG, "Unable to check for Wear API availability", e) +- return +- } catch (e: InterruptedException) { +- Log.w(TAG, "Unable to check for Wear API availability", e) +- return +- } catch (e: TimeoutException) { +- Log.w(TAG, "Unable to check for Wear API availability", e) +- return +- } +- +- val image: Bitmap = ImageLoader.decode( +- context.contentResolver, artwork.contentUri, +- 320) ?: return +- +- val byteStream = ByteArrayOutputStream() +- image.compress(Bitmap.CompressFormat.PNG, 100, byteStream) +- val asset = Asset.createFromBytes(byteStream.toByteArray()) +- val dataMapRequest = PutDataMapRequest.create("/artwork").apply { +- dataMap.putDataMap("artwork", artwork.toDataMap()) +- dataMap.putAsset("image", asset) +- } +- try { +- dataClient.putDataItem(dataMapRequest.asPutDataRequest().setUrgent()).await() +- } catch (e: ExecutionException) { +- Log.w(TAG, "Error uploading artwork to Wear", e) +- } catch (e: InterruptedException) { +- Log.w(TAG, "Error uploading artwork to Wear", e) +- } +- } +-} +diff --git a/main/src/main/java/com/google/android/apps/muzei/widget/MuzeiAppWidgetProvider.kt b/main/src/main/java/com/google/android/apps/muzei/widget/MuzeiAppWidgetProvider.kt +index 67ac591f..d9c01f30 100644 +--- a/main/src/main/java/com/google/android/apps/muzei/widget/MuzeiAppWidgetProvider.kt ++++ b/main/src/main/java/com/google/android/apps/muzei/widget/MuzeiAppWidgetProvider.kt +@@ -24,7 +24,6 @@ import android.os.Bundle + import androidx.core.os.bundleOf + import com.google.android.apps.muzei.legacy.LegacySourceManager + import com.google.android.apps.muzei.util.goAsync +-import com.google.firebase.analytics.FirebaseAnalytics + + /** + * AppWidgetProvider for Muzei. The actual updating is done asynchronously in +@@ -40,9 +39,6 @@ class MuzeiAppWidgetProvider : AppWidgetProvider() { + super.onReceive(context, intent) + if (intent?.action == ACTION_NEXT_ARTWORK) { + goAsync { +- FirebaseAnalytics.getInstance(context).logEvent( +- "next_artwork", bundleOf( +- FirebaseAnalytics.Param.CONTENT_TYPE to "app_widget")) + LegacySourceManager.getInstance(context).nextArtwork() + } + } diff --git a/metadata/net.programmierecke.radiodroid2.yml b/metadata/net.programmierecke.radiodroid2.yml index 37abe9c891..19eb13ceaa 100644 --- a/metadata/net.programmierecke.radiodroid2.yml +++ b/metadata/net.programmierecke.radiodroid2.yml @@ -459,7 +459,15 @@ Builds: - free prebuild: sed -i -e '/playCompile/d' build.gradle + - versionName: '0.83' + versionCode: 93 + commit: '0.83' + subdir: app + gradle: + - free + prebuild: sed -i -e '/playCompile/d' build.gradle + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: '0.82' -CurrentVersionCode: 92 +CurrentVersion: '0.83' +CurrentVersionCode: 93 diff --git a/metadata/org.adaway.yml b/metadata/org.adaway.yml index 8f5d67168c..b96582d59f 100644 --- a/metadata/org.adaway.yml +++ b/metadata/org.adaway.yml @@ -517,7 +517,15 @@ Builds: - yes ndk: r20 + - versionName: 5.0.1 + versionCode: 50001 + commit: v5.0.1 + subdir: app + gradle: + - yes + ndk: r20 + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 5.0.0 -CurrentVersionCode: 50000 +CurrentVersion: 5.0.1 +CurrentVersionCode: 50001 diff --git a/metadata/org.atalk.android.yml b/metadata/org.atalk.android.yml index 190920e19c..c640d312a3 100644 --- a/metadata/org.atalk.android.yml +++ b/metadata/org.atalk.android.yml @@ -886,10 +886,54 @@ Builds: - mv jni/static_library_built/openssl/output/android/ jni/openssl/ ndk: r15c + - versionName: 2.2.3 + versionCode: 1123 + commit: 2.2.3 + subdir: aTalk/ + gradle: + - fdroid + srclibs: + - fmj@r122 + - jitsi-zrtp4j@7cbd8101108191089aad871002567c2a0eb2b512 + rm: + - aTalk/lib/src_reference/*/*.jar + - aTalk/lib/bundles/*.jar + - aTalk/jni/ffmpeg/android/ + - aTalk/jni/openssl/android/ + - aTalk/jni/vpx/android/ + prebuild: sed -i -e "/clean.dependsOn 'ndkClean'/d" build.gradle + scanignore: + - aTalk/build.gradle + build: + - pushd $$fmj$$ + - ant + - popd + - pushd $$jitsi-zrtp4j$$ + - ant jar + - popd + - mv $$fmj$$/build/jars/fmj.jar lib/bundles/fmj-1.0-SNAPSHOT.jar + - mv $$jitsi-zrtp4j$$/dist/zrtp4j-light.jar lib/bundles/zrtp4j-light-4.1.0-jitsi-1-SNAPSHOT.jar + - pushd jni/static_library_built/ffmpeg-x264/ + - ./init_update_libs.sh + - ./ffmpeg-atalk_build.sh + - popd + - mv jni/static_library_built/ffmpeg-x264/android/ jni/ffmpeg/ + - pushd jni/static_library_built/libvpx/ + - ./init_libvpx.sh + - ./build-libvpx4android.sh + - popd + - mv jni/static_library_built/libvpx/output/android/ jni/vpx/ + - pushd jni/static_library_built/openssl/ + - ./init_libopenssl.sh + - ./build-openssl4android.sh + - popd + - mv jni/static_library_built/openssl/output/android/ jni/openssl/ + ndk: r15c + MaintainerNotes: scanignore is used to allow the local "third_party/m2" Gradle repository (which is populated by libraries we build). AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 2.2.2 -CurrentVersionCode: 1122 +CurrentVersion: 2.2.3 +CurrentVersionCode: 1123 diff --git a/metadata/org.billthefarmer.shorty.yml b/metadata/org.billthefarmer.shorty.yml index 81afb4636b..fa8d867ead 100644 --- a/metadata/org.billthefarmer.shorty.yml +++ b/metadata/org.billthefarmer.shorty.yml @@ -81,7 +81,13 @@ Builds: gradle: - yes + - versionName: '1.12' + versionCode: 112 + commit: v1.12 + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: '1.11' -CurrentVersionCode: 111 +CurrentVersion: '1.12' +CurrentVersionCode: 112 diff --git a/metadata/org.commonvoice.saverio.yml b/metadata/org.commonvoice.saverio.yml index a3276efefc..c0a2af4305 100644 --- a/metadata/org.commonvoice.saverio.yml +++ b/metadata/org.commonvoice.saverio.yml @@ -47,7 +47,14 @@ Builds: gradle: - yes + - versionName: 1.0b + versionCode: 88 + commit: 1.0b + subdir: app + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 0.2.11b -CurrentVersionCode: 85 +CurrentVersion: 1.0b +CurrentVersionCode: 88 diff --git a/metadata/org.freshrss.easyrss.yml b/metadata/org.freshrss.easyrss.yml index 84aa33d2ed..cd482c32e9 100644 --- a/metadata/org.freshrss.easyrss.yml +++ b/metadata/org.freshrss.easyrss.yml @@ -47,16 +47,14 @@ Builds: - mv libs/HtmlCleaner/src/org src/org2 - rm -fR libs/ - - versionName: 0.7.0 - versionCode: 700 - commit: v0.7.0 - prebuild: - - echo -e 'java.source=1.7\njava.target=1.7' > ant.properties - - mv libs/jackson-core/src/main/java/com src/ - - mv libs/HtmlCleaner/src/org src/org2 - - rm -fR libs/ + - versionName: 0.7.4 + versionCode: 704 + commit: v0.7.4 + subdir: app + gradle: + - yes AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 0.7.0 -CurrentVersionCode: 700 +CurrentVersion: 0.7.4 +CurrentVersionCode: 704 diff --git a/metadata/org.hlwd.bible_multi_the_life.yml b/metadata/org.hlwd.bible_multi_the_life.yml new file mode 100644 index 0000000000..99d707e92c --- /dev/null +++ b/metadata/org.hlwd.bible_multi_the_life.yml @@ -0,0 +1,32 @@ +Categories: + - Reading +License: GPL-3.0-only +AuthorName: hotlittlewhitedog +SourceCode: https://gitlab.com/hotlittlewhitedog/BibleTheLife +IssueTracker: https://gitlab.com/hotlittlewhitedog/BibleTheLife/-/issues +Changelog: https://gitlab.com/hotlittlewhitedog/BibleTheLife/-/raw/HEAD/CHANGELOG + +AutoName: The Life + +RepoType: git +Repo: https://gitlab.com/hotlittlewhitedog/BibleTheLife.git + +Builds: + - versionName: 1.0.1 + versionCode: 20200320 + commit: v1.0.1 + output: build/app/outputs/apk/release/app-release.apk + srclibs: + - flutter@v1.16.3 + prebuild: + - echo 'android.applicationVariants.all { variant -> variant.outputs.all { output + -> outputFileName = "app-${output.baseName}.apk" } }' >> android/app/build.gradle + - $$flutter$$/bin/flutter pub get + build: + - $$flutter$$/bin/flutter config --no-analytics + - $$flutter$$/bin/flutter build apk + +AutoUpdateMode: Version v%v +UpdateCheckMode: Tags +CurrentVersion: 1.0.1 +CurrentVersionCode: 20200320 diff --git a/metadata/org.kde.kdeconnect_tp.yml b/metadata/org.kde.kdeconnect_tp.yml index 75d47c9864..548e7b91fd 100644 --- a/metadata/org.kde.kdeconnect_tp.yml +++ b/metadata/org.kde.kdeconnect_tp.yml @@ -469,7 +469,14 @@ Builds: - yes prebuild: sed -i -e '/javaMaxHeapSize/s/4g/2g/g' build.gradle + - versionName: 1.14.1 + versionCode: 11410 + commit: v1.14.1 + gradle: + - yes + prebuild: sed -i -e '/javaMaxHeapSize/s/4g/2g/g' build.gradle + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 1.13.7 -CurrentVersionCode: 11370 +CurrentVersion: 1.14.1 +CurrentVersionCode: 11410 diff --git a/metadata/org.koreader.launcher.yml b/metadata/org.koreader.launcher.yml index 288304408d..69142a4a0c 100644 --- a/metadata/org.koreader.launcher.yml +++ b/metadata/org.koreader.launcher.yml @@ -290,8 +290,28 @@ Builds: - ANDROID_FLAVOR=fdroid ./kodev release android ndk: r15c + - versionName: v2020.04.1 + versionCode: 7402 + commit: v2020.04.1 + submodules: true + sudo: + - apt-get update || apt-get update + - apt-get install -y gcc-multilib luarocks p7zip-full ragel + output: koreader-android-*.apk + rm: + - platform/ubuntu-touch/ + - platform/win32/ + prebuild: sed -i -e 's#./gradlew#gradle#' platform/android/luajit-launcher/Makefile + scandelete: + - base/thirdparty/ + build: + - NDK=$$NDK$$ + - SDK=$$SDK$$ + - ANDROID_FLAVOR=fdroid ./kodev release android + ndk: r15c + AutoUpdateMode: Version %v UpdateCheckMode: HTTP UpdateCheckData: https://ota.koreader.rocks/koreader-android-fdroid-latest|(\d+)$|.|(v.*) -CurrentVersion: v2020.03.2 -CurrentVersionCode: 7365 +CurrentVersion: v2020.04.1 +CurrentVersionCode: 7402 diff --git a/metadata/org.mariotaku.twidere.yml b/metadata/org.mariotaku.twidere.yml index 5f20f1a41e..f417d586c2 100644 --- a/metadata/org.mariotaku.twidere.yml +++ b/metadata/org.mariotaku.twidere.yml @@ -2100,9 +2100,19 @@ Builds: - sed -i -e '/START Non-FOSS component/,/END Non-FOSS component/d' build.gradle - sed -i -e '/^bintray/,$d' ../twidere.component.common/build.gradle + - versionName: 4.0.8 + versionCode: 507 + commit: 4.0.8 + subdir: twidere + gradle: + - fdroid + prebuild: + - sed -i -e '/START Non-FOSS component/,/END Non-FOSS component/d' build.gradle + - sed -i -e '/^bintray/,$d' ../twidere.component.common/build.gradle + AutoUpdateMode: Version %v UpdateCheckMode: HTTP UpdateCheckData: https://raw.githubusercontent.com/TwidereProject/Twidere-Android/maintenance/build.gradle|projectVersionCode = (.*)|.|projectVersionName = '(.*)' -CurrentVersion: 4.0.6 -CurrentVersionCode: 505 +CurrentVersion: 4.0.8 +CurrentVersionCode: 507 diff --git a/metadata/org.mian.gitnex.yml b/metadata/org.mian.gitnex.yml index 5576327e5c..aa0ffe8fd6 100644 --- a/metadata/org.mian.gitnex.yml +++ b/metadata/org.mian.gitnex.yml @@ -223,7 +223,14 @@ Builds: gradle: - yes + - versionName: 2.5.0-rc4 + versionCode: 104 + commit: 2.5.0-rc4 + subdir: app + gradle: + - yes + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 2.4.1 -CurrentVersionCode: 91 +CurrentVersion: 2.5.0-rc4 +CurrentVersionCode: 104 diff --git a/metadata/org.nonononoki.hendroid.yml b/metadata/org.nonononoki.hendroid.yml index 0ce3f109e0..6edbf9a286 100644 --- a/metadata/org.nonononoki.hendroid.yml +++ b/metadata/org.nonononoki.hendroid.yml @@ -70,7 +70,15 @@ Builds: - yes prebuild: sed -i -e '/fabric/d' build.gradle ../build.gradle + - versionName: 1.11.4 + versionCode: 148 + commit: 1.11.4 + subdir: app + gradle: + - yes + prebuild: sed -i -e '/fabric/d' build.gradle ../build.gradle + AutoUpdateMode: Version %v UpdateCheckMode: Tags -CurrentVersion: 1.11.2.1 -CurrentVersionCode: 147 +CurrentVersion: 1.11.4 +CurrentVersionCode: 148 diff --git a/metadata/org.primftpd.yml b/metadata/org.primftpd.yml index beca9ef183..a628f12122 100644 --- a/metadata/org.primftpd.yml +++ b/metadata/org.primftpd.yml @@ -289,7 +289,14 @@ Builds: gradle: - yes + - versionName: '6.3' + versionCode: 49 + commit: prim-ftpd-6.3 + subdir: primitiveFTPd + gradle: + - yes + AutoUpdateMode: Version prim-ftpd-%v UpdateCheckMode: Tags ^prim-ftpd- -CurrentVersion: '6.2' -CurrentVersionCode: 48 +CurrentVersion: '6.3' +CurrentVersionCode: 49 diff --git a/metadata/org.runnerup.free.yml b/metadata/org.runnerup.free.yml index 8c4996c691..3f668b1f10 100644 --- a/metadata/org.runnerup.free.yml +++ b/metadata/org.runnerup.free.yml @@ -93,11 +93,22 @@ Builds: - ANT-Android-SDKs prebuild: sed -i -e '/play-services/d' build.gradle + - versionName: 2.0.6.0 + versionCode: 14000210 + commit: v2.0.6.0 + subdir: app + gradle: + - latest + rm: + - wear + - ANT-Android-SDKs + prebuild: sed -i -e '/play-services/d' build.gradle + MaintainerNotes: This replaces RunnerUp 1.x [[org.runnerup]] AutoUpdateMode: Version v%v UpdateCheckMode: Tags UpdateCheckIgnore: (alpha|beta|rc|RC|dev) VercodeOperation: '%c + 14000000' -CurrentVersion: 2.0.5.2 -CurrentVersionCode: 14000209 +CurrentVersion: 2.0.6.0 +CurrentVersionCode: 14000210 diff --git a/metadata/org.schabi.jedentageinset.yml b/metadata/org.schabi.jedentageinset.yml index 1af1877f3c..1e1e569437 100644 --- a/metadata/org.schabi.jedentageinset.yml +++ b/metadata/org.schabi.jedentageinset.yml @@ -21,7 +21,14 @@ Builds: gradle: - yes + - versionName: '1.1' + versionCode: 20 + commit: v1.1 + subdir: app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags .*[0-9]$ -CurrentVersion: '1.0' -CurrentVersionCode: 10 +CurrentVersion: '1.1' +CurrentVersionCode: 20 diff --git a/metadata/org.twistedappdeveloper.statocovid19italia.yml b/metadata/org.twistedappdeveloper.statocovid19italia.yml index 82070d104f..fb1fb1a501 100644 --- a/metadata/org.twistedappdeveloper.statocovid19italia.yml +++ b/metadata/org.twistedappdeveloper.statocovid19italia.yml @@ -30,7 +30,14 @@ Builds: gradle: - yes + - versionName: 1.2.1.1 + versionCode: 21 + commit: v1.2.1.1 + subdir: app + gradle: + - yes + AutoUpdateMode: Version v%v UpdateCheckMode: Tags -CurrentVersion: 1.2.0 -CurrentVersionCode: 19 +CurrentVersion: 1.2.1.1 +CurrentVersionCode: 21 diff --git a/stats/antifeatures.txt b/stats/antifeatures.txt index ec9f01b52f..04545e482f 100644 --- a/stats/antifeatures.txt +++ b/stats/antifeatures.txt @@ -1,5 +1,5 @@ -NonFreeNet 193 -UpstreamNonFree 99 +NonFreeNet 194 +UpstreamNonFree 98 Tracking 38 NonFreeDep 29 Ads 23 diff --git a/stats/categories.txt b/stats/categories.txt index 47ca345e0a..7a22244132 100644 --- a/stats/categories.txt +++ b/stats/categories.txt @@ -1,17 +1,17 @@ Internet 530 System 489 Multimedia 412 -Games 349 -Science & Education 224 +Games 350 +Science & Education 225 Navigation 209 -Reading 181 +Reading 182 Writing 180 -Connectivity 176 -Time 164 +Connectivity 177 +Time 165 Theming 160 Security 157 Development 143 Sports & Health 99 Money 94 -Phone & SMS 85 +Phone & SMS 86 Graphics 55 diff --git a/stats/known_apks.txt b/stats/known_apks.txt index 7989748d98..5c64ffbdfd 100644 --- a/stats/known_apks.txt +++ b/stats/known_apks.txt @@ -234,6 +234,7 @@ anupam.acrylic_17.apk anupam.acrylic 2019-04-20 app.crescentcash.src_105.apk app.crescentcash.src 2020-04-01 app.crescentcash.src_106.apk app.crescentcash.src 2020-04-06 app.crescentcash.src_111.apk app.crescentcash.src 2020-04-13 +app.crescentcash.src_114.apk app.crescentcash.src 2020-04-19 app.easytoken_819.apk app.easytoken 2014-07-11 app.easytoken_909.apk app.easytoken 2014-07-29 app.easytoken_919.apk app.easytoken 2014-12-25 @@ -248,6 +249,7 @@ app.fedilab.nitterizeme_9.apk app.fedilab.nitterizeme 2020-03-08 app.fedilab.nitterizeme_10.apk app.fedilab.nitterizeme 2020-03-30 app.fedilab.nitterizeme_11.apk app.fedilab.nitterizeme 2020-04-07 app.fedilab.nitterizeme_12.apk app.fedilab.nitterizeme 2020-04-15 +app.fedilab.nitterizeme_13.apk app.fedilab.nitterizeme 2020-04-21 app.fedilab.openmaps_6.apk app.fedilab.openmaps 2019-10-10 app.fedilab.openmaps_7.apk app.fedilab.openmaps 2019-10-18 app.fedilab.openmaps_8.apk app.fedilab.openmaps 2019-10-29 @@ -279,6 +281,7 @@ app.fyreplace.client_7008.apk app.fyreplace.client 2020-03-26 app.fyreplace.client_8000.apk app.fyreplace.client 2020-04-06 app.fyreplace.client_8002.apk app.fyreplace.client 2020-04-07 app.fyreplace.client_8003.apk app.fyreplace.client 2020-04-13 +app.fyreplace.client_8006.apk app.fyreplace.client 2020-04-21 app.librenews.io.librenews_1.apk app.librenews.io.librenews 2017-07-22 app.librenews.io.librenews_2.apk app.librenews.io.librenews 2017-07-28 app.librenews.io.librenews_3.apk app.librenews.io.librenews 2017-08-07 @@ -704,6 +707,7 @@ at.bitfire.davdroid_328.apk at.bitfire.davdroid 2020-01-10 at.bitfire.davdroid_329.apk at.bitfire.davdroid 2020-01-19 at.bitfire.davdroid_331.apk at.bitfire.davdroid 2020-02-29 at.bitfire.davdroid_334.apk at.bitfire.davdroid 2020-03-11 +at.bitfire.davdroid_206060000.apk at.bitfire.davdroid 2020-04-19 at.bitfire.devicelocator_3.apk at.bitfire.devicelocator 2018-08-15 at.bitfire.gfxtablet_2.apk at.bitfire.gfxtablet 2013-07-17 at.bitfire.gfxtablet_3.apk at.bitfire.gfxtablet 2013-10-13 @@ -743,8 +747,10 @@ at.bitfire.nophonespam_5.apk at.bitfire.nophonespam 2019-03-06 at.bitfire.nophonespam_8.apk at.bitfire.nophonespam 2020-01-14 at.bitfire.nophonespam_9.apk at.bitfire.nophonespam 2020-01-29 at.bitfire.nophonespam_10.apk at.bitfire.nophonespam 2020-02-07 +at.bitfire.nophonespam_12.apk at.bitfire.nophonespam 2020-04-21 at.dasz.KolabDroid_94.apk at.dasz.KolabDroid 2013-08-23 at.dasz.KolabDroid_95.apk at.dasz.KolabDroid 2013-08-12 +at.h4x.metaapp_10000.apk at.h4x.metaapp 2020-04-19 at.jclehner.rxdroid_9322.apk at.jclehner.rxdroid 2019-05-02 at.jclehner.rxdroid_9331.apk at.jclehner.rxdroid 2020-03-12 at.linuxtage.companion_5.apk at.linuxtage.companion 2015-03-21 @@ -845,6 +851,8 @@ au.id.micolous.farebot_31.apk au.id.micolous.farebot 2017-08-30 au.id.micolous.farebot_570.apk au.id.micolous.farebot 2019-11-17 au.id.micolous.farebot_2005.apk au.id.micolous.farebot 2020-02-29 awais.instagrabber_4.apk awais.instagrabber 2020-03-26 +awais.instagrabber_6.apk awais.instagrabber 2020-04-21 +awais.instagrabber_8.apk awais.instagrabber 2020-04-21 aws.apps.androidDrawables_7.apk aws.apps.androidDrawables 2012-09-18 aws.apps.androidDrawables_8.apk aws.apps.androidDrawables 2013-03-27 aws.apps.usbDeviceEnumerator_5.apk aws.apps.usbDeviceEnumerator 2013-07-17 @@ -1600,6 +1608,7 @@ com.DartChecker_6.apk com.DartChecker 2020-01-29 com.DartChecker_7.apk com.DartChecker 2020-02-29 com.DartChecker_8.apk com.DartChecker 2020-03-17 com.DartChecker_9.apk com.DartChecker 2020-04-13 +com.DartChecker_10.apk com.DartChecker 2020-04-19 com.EthanHeming.NeuralNetworkSimulator_6.apk com.EthanHeming.NeuralNetworkSimulator 2018-09-20 com.FireFart.Permissions2_3.apk com.FireFart.Permissions2 2012-08-23 com.FireFart.Permissions_2.apk com.FireFart.Permissions 2011-03-02 @@ -2162,6 +2171,7 @@ com.apps.adrcotfas.goodtime_106.apk com.apps.adrcotfas.goodtime 2020-03-21 com.apps.adrcotfas.goodtime_107.apk com.apps.adrcotfas.goodtime 2020-03-23 com.apps.adrcotfas.goodtime_110.apk com.apps.adrcotfas.goodtime 2020-04-06 com.apps.adrcotfas.goodtime_112.apk com.apps.adrcotfas.goodtime 2020-04-15 +com.apps.adrcotfas.goodtime_113.apk com.apps.adrcotfas.goodtime 2020-04-21 com.appspot.usbhidterminal_12.apk com.appspot.usbhidterminal 2015-08-14 com.aptasystems.dicewarepasswordgenerator_8.apk com.aptasystems.dicewarepasswordgenerator 2019-01-15 com.aptasystems.dicewarepasswordgenerator_9.apk com.aptasystems.dicewarepasswordgenerator 2019-01-15 @@ -2232,6 +2242,7 @@ com.asdoi.gymwen_110.apk com.asdoi.gymwen 2020-01-29 com.asdoi.gymwen_111.apk com.asdoi.gymwen 2020-02-29 com.asdoi.gymwen_112.apk com.asdoi.gymwen 2020-03-08 com.asdoi.gymwen_113.apk com.asdoi.gymwen 2020-03-19 +com.asdoi.gymwen_120.apk com.asdoi.gymwen 2020-04-21 com.aselalee.trainschedule_115.apk com.aselalee.trainschedule 2012-10-30 com.aselalee.trainschedule_116.apk com.aselalee.trainschedule 2013-05-09 com.aselalee.trainschedule_118.apk com.aselalee.trainschedule 2014-05-11 @@ -2279,6 +2290,7 @@ com.aurora.store_20.apk com.aurora.store 2020-03-08 com.aurora.store_21.apk com.aurora.store 2020-03-14 com.aurora.store_23.apk com.aurora.store 2020-04-06 com.aurora.store_24.apk com.aurora.store 2020-04-06 +com.aurora.store_26.apk com.aurora.store 2020-04-21 com.averi.worldscribe_17.apk com.averi.worldscribe 2018-10-10 com.averi.worldscribe_18.apk com.averi.worldscribe 2019-01-15 com.averi.worldscribe_19.apk com.averi.worldscribe 2019-08-22 @@ -3296,6 +3308,7 @@ com.easyfitness_38.apk com.easyfitness 2019-08-13 com.easyfitness_39.apk com.easyfitness 2019-12-23 com.easyfitness_40.apk com.easyfitness 2020-02-29 com.easyfitness_42.apk com.easyfitness 2020-03-08 +com.easyfitness_43.apk com.easyfitness 2020-04-19 com.easytarget.micopi_9.apk com.easytarget.micopi 2014-10-23 com.easytarget.micopi_10.apk com.easytarget.micopi 2014-10-27 com.easytarget.micopi_11.apk com.easytarget.micopi 2014-10-29 @@ -3781,6 +3794,8 @@ com.foobnix.pro.pdf.reader_3536.apk com.foobnix.pro.pdf.reader 2020-02-29 com.foobnix.pro.pdf.reader_3636.apk com.foobnix.pro.pdf.reader 2020-03-21 com.foobnix.pro.pdf.reader_3660.apk com.foobnix.pro.pdf.reader 2020-03-23 com.foobnix.pro.pdf.reader_3684.apk com.foobnix.pro.pdf.reader 2020-04-01 +com.foobnix.pro.pdf.reader_3728.apk com.foobnix.pro.pdf.reader 2020-04-19 +com.foobnix.pro.pdf.reader_3772.apk com.foobnix.pro.pdf.reader 2020-04-19 com.formfun_1.apk com.formfun 2019-05-21 com.forrestguice.suntimescalendars_1.apk com.forrestguice.suntimescalendars 2018-12-14 com.forrestguice.suntimescalendars_2.apk com.forrestguice.suntimescalendars 2018-12-14 @@ -3844,6 +3859,7 @@ com.forrestguice.suntimeswidget_55.apk com.forrestguice.suntimeswidget 2019-12-0 com.forrestguice.suntimeswidget_56.apk com.forrestguice.suntimeswidget 2019-12-30 com.forrestguice.suntimeswidget_57.apk com.forrestguice.suntimeswidget 2020-02-12 com.forrestguice.suntimeswidget_58.apk com.forrestguice.suntimeswidget 2020-03-19 +com.forrestguice.suntimeswidget_59.apk com.forrestguice.suntimeswidget 2020-04-19 com.foxykeep.lifecounter_2.apk com.foxykeep.lifecounter 2015-08-14 com.fproject.cryptolitycs_1.apk com.fproject.cryptolitycs 2018-10-08 com.fr3ts0n.androbd.plugin.gpsprovider_10003.apk com.fr3ts0n.androbd.plugin.gpsprovider 2019-09-19 @@ -3999,6 +4015,7 @@ com.fsck.k9_27005.apk com.fsck.k9 2020-02-12 com.fsck.k9_27006.apk com.fsck.k9 2020-03-16 com.fsck.k9_27007.apk com.fsck.k9 2020-03-16 com.fsck.k9_27008.apk com.fsck.k9 2020-04-06 +com.fsck.k9_27009.apk com.fsck.k9 2020-04-21 com.fullscreen_1.apk com.fullscreen 2015-09-30 com.fullscreen_2.apk com.fullscreen 2015-11-05 com.funambol.androidsync_8.apk com.funambol.androidsync 2011-01-10 @@ -4089,6 +4106,7 @@ com.gelakinetic.mtgfam_66.apk com.gelakinetic.mtgfam 2019-07-16 com.gelakinetic.mtgfam_67.apk com.gelakinetic.mtgfam 2019-08-04 com.gelakinetic.mtgfam_68.apk com.gelakinetic.mtgfam 2020-01-29 com.gelakinetic.mtgfam_70.apk com.gelakinetic.mtgfam 2020-02-01 +com.gelakinetic.mtgfam_71.apk com.gelakinetic.mtgfam 2020-04-21 com.genonbeta.TrebleShot_44.apk com.genonbeta.TrebleShot 2017-05-27 com.genonbeta.TrebleShot_45.apk com.genonbeta.TrebleShot 2017-05-31 com.genonbeta.TrebleShot_46.apk com.genonbeta.TrebleShot 2017-10-11 @@ -4369,6 +4387,7 @@ com.github.ashutoshgngwr.noice_12.apk com.github.ashutoshgngwr.noice 2019-11-11 com.github.ashutoshgngwr.noice_16.apk com.github.ashutoshgngwr.noice 2020-03-21 com.github.ashutoshgngwr.noice_18.apk com.github.ashutoshgngwr.noice 2020-03-26 com.github.ashutoshgngwr.noice_19.apk com.github.ashutoshgngwr.noice 2020-04-01 +com.github.ashutoshgngwr.noice_20.apk com.github.ashutoshgngwr.noice 2020-04-19 com.github.axet.audiorecorder_128.apk com.github.axet.audiorecorder 2017-05-14 com.github.axet.audiorecorder_130.apk com.github.axet.audiorecorder 2017-05-15 com.github.axet.audiorecorder_131.apk com.github.axet.audiorecorder 2017-05-20 @@ -5098,6 +5117,8 @@ com.github.gotify_12.apk com.github.gotify 2019-12-20 com.github.gotify_13.apk com.github.gotify 2020-02-07 com.github.grimpy.botifier_14.apk com.github.grimpy.botifier 2013-12-11 com.github.grimpy.botifier_16.apk com.github.grimpy.botifier 2014-10-24 +com.github.igrmk.smsq_11.apk com.github.igrmk.smsq 2020-04-19 +com.github.igrmk.smsq_13.apk com.github.igrmk.smsq 2020-04-21 com.github.jtjj222.sudburytransit_1.apk com.github.jtjj222.sudburytransit 2015-07-06 com.github.kiliakin.yalpstore_46.apk com.github.kiliakin.yalpstore 2019-07-13 com.github.kiliakin.yalpstore_47.apk com.github.kiliakin.yalpstore 2019-12-10 @@ -5185,6 +5206,7 @@ com.github.postapczuk.lalauncher_11.apk com.github.postapczuk.lalauncher 2019-06 com.github.postapczuk.lalauncher_12.apk com.github.postapczuk.lalauncher 2019-10-09 com.github.postapczuk.lalauncher_13.apk com.github.postapczuk.lalauncher 2019-10-27 com.github.postapczuk.lalauncher_14.apk com.github.postapczuk.lalauncher 2019-11-14 +com.github.postapczuk.lalauncher_15.apk com.github.postapczuk.lalauncher 2020-04-21 com.github.premnirmal.tickerwidget_20.apk com.github.premnirmal.tickerwidget 2014-12-28 com.github.premnirmal.tickerwidget_21.apk com.github.premnirmal.tickerwidget 2014-12-31 com.github.premnirmal.tickerwidget_22.apk com.github.premnirmal.tickerwidget 2015-01-01 @@ -5257,6 +5279,7 @@ com.github.premnirmal.tickerwidget_373.apk com.github.premnirmal.tickerwidget 20 com.github.premnirmal.tickerwidget_374.apk com.github.premnirmal.tickerwidget 2020-03-26 com.github.premnirmal.tickerwidget_376.apk com.github.premnirmal.tickerwidget 2020-03-30 com.github.premnirmal.tickerwidget_377.apk com.github.premnirmal.tickerwidget 2020-04-06 +com.github.premnirmal.tickerwidget_378.apk com.github.premnirmal.tickerwidget 2020-04-19 com.github.quarck.calnotify_2.apk com.github.quarck.calnotify 2016-02-27 com.github.quarck.calnotify_5.apk com.github.quarck.calnotify 2016-03-01 com.github.quarck.calnotify_10.apk com.github.quarck.calnotify 2016-03-05 @@ -5603,6 +5626,7 @@ com.gpl.rpg.AndorsTrail_44.apk com.gpl.rpg.AndorsTrail 2018-12-14 com.gpl.rpg.AndorsTrail_45.apk com.gpl.rpg.AndorsTrail 2019-01-25 com.gpl.rpg.AndorsTrail_46.apk com.gpl.rpg.AndorsTrail 2019-01-29 com.gpl.rpg.AndorsTrail_50.apk com.gpl.rpg.AndorsTrail 2020-02-29 +com.gpl.rpg.AndorsTrail_51.apk com.gpl.rpg.AndorsTrail 2020-04-19 com.gpstether_3.apk com.gpstether 2012-09-07 com.gracecode.android.presentation_20131114.apk com.gracecode.android.presentation 2014-01-07 com.grapefruitopia.dashclock.k9_1101.apk com.grapefruitopia.dashclock.k9 2013-02-28 @@ -6175,6 +6199,7 @@ com.iven.musicplayergo_147.apk com.iven.musicplayergo 2020-03-23 com.iven.musicplayergo_148.apk com.iven.musicplayergo 2020-03-23 com.iven.musicplayergo_149.apk com.iven.musicplayergo 2020-03-30 com.iven.musicplayergo_150.apk com.iven.musicplayergo 2020-04-07 +com.iven.musicplayergo_151.apk com.iven.musicplayergo 2020-04-21 com.iven.xdafeedreader_5.apk com.iven.xdafeedreader 2015-01-07 com.jadn.cc_129.apk com.jadn.cc 2012-01-07 com.jadn.cc_143.apk com.jadn.cc 2013-03-04 @@ -6234,6 +6259,7 @@ com.jarsilio.android.scrambledeggsif_41.apk com.jarsilio.android.scrambledeggsif com.jarsilio.android.scrambledeggsif_43.apk com.jarsilio.android.scrambledeggsif 2020-03-17 com.jarsilio.android.scrambledeggsif_46.apk com.jarsilio.android.scrambledeggsif 2020-03-30 com.jarsilio.android.scrambledeggsif_47.apk com.jarsilio.android.scrambledeggsif 2020-04-01 +com.jarsilio.android.scrambledeggsif_49.apk com.jarsilio.android.scrambledeggsif 2020-04-21 com.jarsilio.android.waveup.tasker_3.apk com.jarsilio.android.waveup.tasker 2020-01-29 com.jarsilio.android.waveup.tasker_4.apk com.jarsilio.android.waveup.tasker 2020-02-01 com.jarsilio.android.waveup_1.apk com.jarsilio.android.waveup 2016-04-11 @@ -6819,6 +6845,7 @@ com.limelight_215.apk com.limelight 2020-03-11 com.limelight_216.apk com.limelight 2020-04-01 com.limelight_217.apk com.limelight 2020-04-03 com.limelight_219.apk com.limelight 2020-04-13 +com.limelight_220.apk com.limelight 2020-04-21 com.linkomnia.android.Changjie_3.apk com.linkomnia.android.Changjie 2013-12-15 com.linkomnia.android.Changjie_7.apk com.linkomnia.android.Changjie 2014-01-15 com.linuxcounter.lico_update_003_5.apk com.linuxcounter.lico_update_003 2015-05-19 @@ -7099,6 +7126,7 @@ com.mde.potdroid_77.apk com.mde.potdroid 2019-01-07 com.mde.potdroid_78.apk com.mde.potdroid 2019-04-13 com.mde.potdroid_79.apk com.mde.potdroid 2019-05-30 com.mde.potdroid_80.apk com.mde.potdroid 2019-06-17 +com.mde.potdroid_82.apk com.mde.potdroid 2020-04-21 com.mdroid_54.apk com.mdroid 2019-01-15 com.mehmetakiftutuncu.eshotroid_3.apk com.mehmetakiftutuncu.eshotroid 2013-12-11 com.mehmetakiftutuncu.eshotroid_4.apk com.mehmetakiftutuncu.eshotroid 2014-01-08 @@ -7534,6 +7562,7 @@ com.newsblur_153.apk com.newsblur 2018-02-13 com.newsblur_154.apk com.newsblur 2018-04-24 com.newsblur_159.apk com.newsblur 2018-08-14 com.newsblur_162.apk com.newsblur 2019-06-16 +com.newsblur_163.apk com.newsblur 2020-04-21 com.nexes.manager_4.apk com.nexes.manager 2011-01-23 com.nexes.manager_212.apk com.nexes.manager 2011-03-09 com.nexes.manager_218.apk com.nexes.manager 2011-07-22 @@ -7908,6 +7937,7 @@ com.nextcloud.android.beta_20200327.apk com.nextcloud.android.beta 2020-03-30 com.nextcloud.android.beta_20200331.apk com.nextcloud.android.beta 2020-04-01 com.nextcloud.android.beta_20200405.apk com.nextcloud.android.beta 2020-04-06 com.nextcloud.android.beta_20200410.apk com.nextcloud.android.beta 2020-04-13 +com.nextcloud.android.beta_20200415.apk com.nextcloud.android.beta 2020-04-19 com.nextcloud.client_10000000.apk com.nextcloud.client 2016-06-17 com.nextcloud.client_10000100.apk com.nextcloud.client 2016-06-21 com.nextcloud.client_10010099.apk com.nextcloud.client 2016-07-07 @@ -7987,6 +8017,7 @@ com.nextcloud.client_30110051.apk com.nextcloud.client 2020-03-11 com.nextcloud.client_30110052.apk com.nextcloud.client 2020-03-14 com.nextcloud.client_30110054.apk com.nextcloud.client 2020-03-26 com.nextcloud.client_30110090.apk com.nextcloud.client 2020-03-30 +com.nextcloud.client_30110151.apk com.nextcloud.client 2020-04-21 com.nextcloud.talk2_30.apk com.nextcloud.talk2 2018-03-19 com.nextcloud.talk2_31.apk com.nextcloud.talk2 2018-03-19 com.nextcloud.talk2_33.apk com.nextcloud.talk2 2018-04-21 @@ -8028,6 +8059,7 @@ com.nextcloud.talk2_129.apk com.nextcloud.talk2 2020-02-07 com.nextcloud.talk2_130.apk com.nextcloud.talk2 2020-02-22 com.nextcloud.talk2_133.apk com.nextcloud.talk2 2020-03-23 com.nextcloud.talk2_135.apk com.nextcloud.talk2 2020-03-26 +com.nextcloud.talk2_136.apk com.nextcloud.talk2 2020-04-19 com.nextcloudpasswords_11.apk com.nextcloudpasswords 2019-05-02 com.nextcloudpasswords_12.apk com.nextcloudpasswords 2019-05-15 com.nextgis.mobile_13.apk com.nextgis.mobile 2016-07-25 @@ -8617,6 +8649,7 @@ com.perflyst.twire_508.apk com.perflyst.twire 2019-12-03 com.perflyst.twire_509.apk com.perflyst.twire 2020-01-10 com.perflyst.twire_510.apk com.perflyst.twire 2020-03-12 com.perflyst.twire_511.apk com.perflyst.twire 2020-03-30 +com.perflyst.twire_512.apk com.perflyst.twire 2020-04-19 com.pheelicks.visualizer_1.apk com.pheelicks.visualizer 2014-04-23 com.phg.constellations_10004.apk com.phg.constellations 2015-06-08 com.phg.constellations_10005.apk com.phg.constellations 2015-06-08 @@ -8956,6 +8989,7 @@ com.readrops.app_2.apk com.readrops.app 2020-01-23 com.readrops.app_7.apk com.readrops.app 2020-01-23 com.readrops.app_8.apk com.readrops.app 2020-02-04 com.readrops.app_9.apk com.readrops.app 2020-02-26 +com.readrops.app_10.apk com.readrops.app 2020-04-19 com.readystatesoftware.ghostlog_3.apk com.readystatesoftware.ghostlog 2015-07-03 com.redblaster.hsl.main_36.apk com.redblaster.hsl.main 2019-03-01 com.redblaster.hsl.main_37.apk com.redblaster.hsl.main 2019-04-01 @@ -9343,6 +9377,7 @@ com.shatteredpixel.shatteredpixeldungeon_378.apk com.shatteredpixel.shatteredpix com.shatteredpixel.shatteredpixeldungeon_379.apk com.shatteredpixel.shatteredpixeldungeon 2019-10-18 com.shatteredpixel.shatteredpixeldungeon_380.apk com.shatteredpixel.shatteredpixeldungeon 2019-10-24 com.shatteredpixel.shatteredpixeldungeon_382.apk com.shatteredpixel.shatteredpixeldungeon 2019-10-29 +com.shatteredpixel.shatteredpixeldungeon_412.apk com.shatteredpixel.shatteredpixeldungeon 2020-04-21 com.shkmishra.lyrically_2.apk com.shkmishra.lyrically 2016-11-21 com.shkmishra.lyrically_6.apk com.shkmishra.lyrically 2016-12-19 com.shkmishra.lyrically_7.apk com.shkmishra.lyrically 2016-12-23 @@ -9698,6 +9733,7 @@ com.simplemobiletools.filemanager.pro_80.apk com.simplemobiletools.filemanager.p com.simplemobiletools.filemanager.pro_84.apk com.simplemobiletools.filemanager.pro 2020-03-05 com.simplemobiletools.filemanager.pro_87.apk com.simplemobiletools.filemanager.pro 2020-03-30 com.simplemobiletools.filemanager.pro_88.apk com.simplemobiletools.filemanager.pro 2020-03-30 +com.simplemobiletools.filemanager.pro_89.apk com.simplemobiletools.filemanager.pro 2020-04-19 com.simplemobiletools.filemanager_1.apk com.simplemobiletools.filemanager 2016-08-04 com.simplemobiletools.filemanager_2.apk com.simplemobiletools.filemanager 2016-08-24 com.simplemobiletools.filemanager_3.apk com.simplemobiletools.filemanager 2016-08-31 @@ -9828,6 +9864,8 @@ com.simplemobiletools.gallery.pro_296.apk com.simplemobiletools.gallery.pro 2020 com.simplemobiletools.gallery.pro_298.apk com.simplemobiletools.gallery.pro 2020-03-05 com.simplemobiletools.gallery.pro_299.apk com.simplemobiletools.gallery.pro 2020-03-14 com.simplemobiletools.gallery.pro_300.apk com.simplemobiletools.gallery.pro 2020-03-23 +com.simplemobiletools.gallery.pro_301.apk com.simplemobiletools.gallery.pro 2020-04-19 +com.simplemobiletools.gallery.pro_302.apk com.simplemobiletools.gallery.pro 2020-04-21 com.simplemobiletools.gallery_10.apk com.simplemobiletools.gallery 2016-07-04 com.simplemobiletools.gallery_11.apk com.simplemobiletools.gallery 2016-07-06 com.simplemobiletools.gallery_12.apk com.simplemobiletools.gallery 2016-07-08 @@ -10017,6 +10055,7 @@ com.simplemobiletools.musicplayer_62.apk com.simplemobiletools.musicplayer 2019- com.simplemobiletools.musicplayer_63.apk com.simplemobiletools.musicplayer 2020-03-02 com.simplemobiletools.musicplayer_64.apk com.simplemobiletools.musicplayer 2020-03-26 com.simplemobiletools.musicplayer_65.apk com.simplemobiletools.musicplayer 2020-03-30 +com.simplemobiletools.musicplayer_66.apk com.simplemobiletools.musicplayer 2020-04-21 com.simplemobiletools.notes.pro_55.apk com.simplemobiletools.notes.pro 2018-11-16 com.simplemobiletools.notes.pro_56.apk com.simplemobiletools.notes.pro 2018-11-25 com.simplemobiletools.notes.pro_57.apk com.simplemobiletools.notes.pro 2018-12-14 @@ -10085,6 +10124,7 @@ com.simplemobiletools.thankyou_14.apk com.simplemobiletools.thankyou 2019-07-29 com.simplemobiletools.thankyou_15.apk com.simplemobiletools.thankyou 2020-01-05 com.simplemobiletools.thankyou_16.apk com.simplemobiletools.thankyou 2020-04-06 com.simplemobiletools.voicerecorder_3.apk com.simplemobiletools.voicerecorder 2020-04-06 +com.simplemobiletools.voicerecorder_4.apk com.simplemobiletools.voicerecorder 2020-04-21 com.sinpo.xnfc_1.apk com.sinpo.xnfc 2012-08-23 com.sinpo.xnfc_15.apk com.sinpo.xnfc 2015-08-05 com.sismics.reader_5.apk com.sismics.reader 2013-12-15 @@ -10518,6 +10558,7 @@ com.tmendes.birthdaydroid_41.apk com.tmendes.birthdaydroid 2020-02-07 com.tmendes.birthdaydroid_42.apk com.tmendes.birthdaydroid 2020-02-26 com.tmendes.birthdaydroid_43.apk com.tmendes.birthdaydroid 2020-03-11 com.tmendes.birthdaydroid_45.apk com.tmendes.birthdaydroid 2020-03-23 +com.tmendes.birthdaydroid_47.apk com.tmendes.birthdaydroid 2020-04-21 com.tmendes.dadosd_4.apk com.tmendes.dadosd 2017-02-24 com.tobiaskuban.android.monthcalendarwidgetfoss_4.apk com.tobiaskuban.android.monthcalendarwidgetfoss 2014-03-27 com.tobiaskuban.android.monthcalendarwidgetfoss_5.apk com.tobiaskuban.android.monthcalendarwidgetfoss 2015-03-07 @@ -10845,6 +10886,7 @@ com.unciv.app_404.apk com.unciv.app 2020-04-07 com.unciv.app_405.apk com.unciv.app 2020-04-07 com.unciv.app_406.apk com.unciv.app 2020-04-13 com.unciv.app_408.apk com.unciv.app 2020-04-15 +com.unciv.app_414.apk com.unciv.app 2020-04-21 com.unitedcoders.android.gpodroid_12.apk com.unitedcoders.android.gpodroid 2012-01-08 com.unleashyouradventure.swaccess_14.apk com.unleashyouradventure.swaccess 2014-01-29 com.unleashyouradventure.swaccess_15.apk com.unleashyouradventure.swaccess 2015-01-18 @@ -11032,6 +11074,7 @@ com.vwp.owmap_128.apk com.vwp.owmap 2016-01-20 com.vwp.owmap_129.apk com.vwp.owmap 2019-03-22 com.vwp.owmap_130.apk com.vwp.owmap 2019-05-30 com.vwp.owmap_131.apk com.vwp.owmap 2019-08-22 +com.vwp.owmap_134.apk com.vwp.owmap 2020-04-19 com.vwp.owmini_105.apk com.vwp.owmini 2014-02-12 com.vwp.owmini_106.apk com.vwp.owmini 2014-03-15 com.vwp.owmini_107.apk com.vwp.owmini 2014-03-18 @@ -11224,6 +11267,7 @@ com.wmstein.transektcount_311.apk com.wmstein.transektcount 2019-04-23 com.wmstein.transektcount_312.apk com.wmstein.transektcount 2019-06-16 com.wmstein.transektcount_315.apk com.wmstein.transektcount 2019-12-20 com.wmstein.transektcount_316.apk com.wmstein.transektcount 2020-03-05 +com.wmstein.transektcount_321.apk com.wmstein.transektcount 2020-04-21 com.woefe.shoppinglist_8.apk com.woefe.shoppinglist 2018-02-16 com.woefe.shoppinglist_9.apk com.woefe.shoppinglist 2018-03-26 com.woefe.shoppinglist_10.apk com.woefe.shoppinglist 2018-05-22 @@ -11513,6 +11557,7 @@ com.zoffcc.applications.trifa_10026.apk com.zoffcc.applications.trifa 2019-09-05 com.zoffcc.applications.trifa_10027.apk com.zoffcc.applications.trifa 2019-12-23 com.zoffcc.applications.trifa_10028.apk com.zoffcc.applications.trifa 2020-03-05 com.zoffcc.applications.trifa_10029.apk com.zoffcc.applications.trifa 2020-04-15 +com.zoffcc.applications.trifa_10032.apk com.zoffcc.applications.trifa 2020-04-21 com.zoffcc.applications.zanavi_240.apk com.zoffcc.applications.zanavi 2015-08-02 com.zoffcc.applications.zanavi_245.apk com.zoffcc.applications.zanavi 2015-08-14 com.zoffcc.applications.zanavi_246.apk com.zoffcc.applications.zanavi 2015-08-17 @@ -11679,6 +11724,7 @@ cz.martykan.forecastie_45.apk cz.martykan.forecastie 2020-01-29 cz.martykan.forecastie_46.apk cz.martykan.forecastie 2020-03-12 cz.martykan.forecastie_47.apk cz.martykan.forecastie 2020-03-30 cz.martykan.forecastie_48.apk cz.martykan.forecastie 2020-04-07 +cz.martykan.forecastie_49.apk cz.martykan.forecastie 2020-04-21 cz.martykan.webtube_4.apk cz.martykan.webtube 2016-01-02 cz.martykan.webtube_5.apk cz.martykan.webtube 2016-01-04 cz.martykan.webtube_6.apk cz.martykan.webtube 2016-01-05 @@ -11794,6 +11840,7 @@ de.arnowelzel.android.periodical_70.apk de.arnowelzel.android.periodical 2019-07 de.arnowelzel.android.periodical_71.apk de.arnowelzel.android.periodical 2019-08-01 de.arnowelzel.android.periodical_72.apk de.arnowelzel.android.periodical 2019-08-26 de.arnowelzel.android.periodical_73.apk de.arnowelzel.android.periodical 2020-02-04 +de.arnowelzel.android.periodical_74.apk de.arnowelzel.android.periodical 2020-04-21 de.audioattack.openlink_3.apk de.audioattack.openlink 2014-02-22 de.audioattack.openlink_4.apk de.audioattack.openlink 2014-04-01 de.audioattack.openlink_5.apk de.audioattack.openlink 2014-04-29 @@ -11856,6 +11903,7 @@ de.b0nk.fp1_epo_autoupdate_82.apk de.b0nk.fp1_epo_autoupdate 2014-09-30 de.badaix.snapcast_6.apk de.badaix.snapcast 2016-05-27 de.bahnhoefe.deutschlands.bahnhofsfotos_48.apk de.bahnhoefe.deutschlands.bahnhofsfotos 2019-11-05 de.bahnhoefe.deutschlands.bahnhofsfotos_51.apk de.bahnhoefe.deutschlands.bahnhofsfotos 2019-11-19 +de.bahnhoefe.deutschlands.bahnhofsfotos_52.apk de.bahnhoefe.deutschlands.bahnhofsfotos 2020-04-21 de.bashtian.dashclocksunrise_3.apk de.bashtian.dashclocksunrise 2014-08-19 de.baumann.browser_5.apk de.baumann.browser 2016-12-12 de.baumann.browser_6.apk de.baumann.browser 2016-12-14 @@ -12870,6 +12918,7 @@ de.k3b.android.toGoZip_20.apk de.k3b.android.toGoZip 2019-06-08 de.k3b.android.toGoZip_21.apk de.k3b.android.toGoZip 2019-07-29 de.k3b.android.toGoZip_23.apk de.k3b.android.toGoZip 2019-10-02 de.k3b.android.toGoZip_24.apk de.k3b.android.toGoZip 2020-04-03 +de.k3b.android.toGoZip_25.apk de.k3b.android.toGoZip 2020-04-21 de.k4ever.k4android_9.apk de.k4ever.k4android 2017-01-10 de.k4ever.k4android_10.apk de.k4ever.k4android 2017-01-11 de.kaffeemitkoffein.feinstaubwidget_27.apk de.kaffeemitkoffein.feinstaubwidget 2020-01-23 @@ -12904,6 +12953,7 @@ de.kromke.andreas.musictagger_12.apk de.kromke.andreas.musictagger 2019-06-23 de.kromke.andreas.musictagger_13.apk de.kromke.andreas.musictagger 2019-09-28 de.kromke.andreas.musictagger_14.apk de.kromke.andreas.musictagger 2019-10-02 de.kromke.andreas.musictagger_15.apk de.kromke.andreas.musictagger 2020-04-15 +de.kromke.andreas.musictagger_16.apk de.kromke.andreas.musictagger 2020-04-21 de.kromke.andreas.unpopmusicplayerfree_7.apk de.kromke.andreas.unpopmusicplayerfree 2017-02-18 de.kromke.andreas.unpopmusicplayerfree_8.apk de.kromke.andreas.unpopmusicplayerfree 2017-03-03 de.kromke.andreas.unpopmusicplayerfree_9.apk de.kromke.andreas.unpopmusicplayerfree 2017-03-24 @@ -13086,6 +13136,7 @@ de.markusfisch.android.binaryeye_53.apk de.markusfisch.android.binaryeye 2020-03 de.markusfisch.android.binaryeye_55.apk de.markusfisch.android.binaryeye 2020-03-14 de.markusfisch.android.binaryeye_56.apk de.markusfisch.android.binaryeye 2020-03-17 de.markusfisch.android.binaryeye_57.apk de.markusfisch.android.binaryeye 2020-03-30 +de.markusfisch.android.binaryeye_59.apk de.markusfisch.android.binaryeye 2020-04-21 de.markusfisch.android.shadereditor_12.apk de.markusfisch.android.shadereditor 2015-04-24 de.markusfisch.android.shadereditor_14.apk de.markusfisch.android.shadereditor 2015-12-21 de.markusfisch.android.shadereditor_16.apk de.markusfisch.android.shadereditor 2015-12-26 @@ -13181,6 +13232,7 @@ de.micmun.android.deufeitage_404.apk de.micmun.android.deufeitage 2019-05-05 de.micmun.android.deufeitage_405.apk de.micmun.android.deufeitage 2019-07-11 de.micmun.android.deufeitage_406.apk de.micmun.android.deufeitage 2019-09-09 de.moekadu.metronome_11.apk de.moekadu.metronome 2020-01-10 +de.moekadu.metronome_13.apk de.moekadu.metronome 2020-04-21 de.mreiter.countit_2.apk de.mreiter.countit 2014-02-05 de.msal.muzei.nationalgeographic_3.apk de.msal.muzei.nationalgeographic 2014-03-22 de.msal.muzei.nationalgeographic_6.apk de.msal.muzei.nationalgeographic 2015-02-27 @@ -13245,6 +13297,7 @@ de.nproth.pin_9.apk de.nproth.pin 2019-08-29 de.nproth.pin_10.apk de.nproth.pin 2019-10-31 de.nulide.shiftcal_2.apk de.nulide.shiftcal 2019-08-29 de.nulide.shiftcal_3.apk de.nulide.shiftcal 2019-09-09 +de.nulide.shiftcal_4.apk de.nulide.shiftcal 2020-04-21 de.onyxbits.droidentify_2.apk de.onyxbits.droidentify 2015-04-24 de.onyxbits.droidentify_3.apk de.onyxbits.droidentify 2015-04-28 de.onyxbits.drudgery_2.apk de.onyxbits.drudgery 2013-12-09 @@ -13897,6 +13950,7 @@ de.storchp.opentracks.osmplugin_4.apk de.storchp.opentracks.osmplugin 2020-01-29 de.storchp.opentracks.osmplugin_5.apk de.storchp.opentracks.osmplugin 2020-02-07 de.storchp.opentracks.osmplugin_6.apk de.storchp.opentracks.osmplugin 2020-02-26 de.storchp.opentracks.osmplugin_7.apk de.storchp.opentracks.osmplugin 2020-03-11 +de.storchp.opentracks.osmplugin_8.apk de.storchp.opentracks.osmplugin 2020-04-19 de.sudoq_7.apk de.sudoq 2014-08-20 de.sudoq_10.apk de.sudoq 2015-01-04 de.sudoq_11.apk de.sudoq 2015-01-11 @@ -14170,6 +14224,7 @@ de.tutao.tutanota_367060.apk de.tutao.tutanota 2020-02-29 de.tutao.tutanota_368010.apk de.tutao.tutanota 2020-03-05 de.tutao.tutanota_369020.apk de.tutao.tutanota 2020-03-17 de.tutao.tutanota_369050.apk de.tutao.tutanota 2020-04-03 +de.tutao.tutanota_372000.apk de.tutao.tutanota 2020-04-21 de.ub0r.android.adBlock_5.apk de.ub0r.android.adBlock 2011-01-23 de.ub0r.android.callmeter_7362000.apk de.ub0r.android.callmeter 2012-10-24 de.ub0r.android.callmeter_7381000.apk de.ub0r.android.callmeter 2013-02-22 @@ -14935,6 +14990,8 @@ eu.faircode.email_1080.apk eu.faircode.email 2020-04-06 eu.faircode.email_1083.apk eu.faircode.email 2020-04-13 eu.faircode.email_1091.apk eu.faircode.email 2020-04-13 eu.faircode.email_1095.apk eu.faircode.email 2020-04-15 +eu.faircode.email_1099.apk eu.faircode.email 2020-04-19 +eu.faircode.email_1112.apk eu.faircode.email 2020-04-21 eu.faircode.finegeotag_21.apk eu.faircode.finegeotag 2016-04-15 eu.faircode.finegeotag_2016042701.apk eu.faircode.finegeotag 2016-04-29 eu.faircode.netguard_7.apk eu.faircode.netguard 2015-10-30 @@ -15965,6 +16022,7 @@ fr.gouv.etalab.mastodon_354.apk fr.gouv.etalab.mastodon 2020-03-17 fr.gouv.etalab.mastodon_355.apk fr.gouv.etalab.mastodon 2020-03-30 fr.gouv.etalab.mastodon_356.apk fr.gouv.etalab.mastodon 2020-04-13 fr.gouv.etalab.mastodon_360.apk fr.gouv.etalab.mastodon 2020-04-13 +fr.gouv.etalab.mastodon_362.apk fr.gouv.etalab.mastodon 2020-04-19 fr.guillaumevillena.opendnsupdater_9.apk fr.guillaumevillena.opendnsupdater 2019-06-14 fr.guillaumevillena.opendnsupdater_10.apk fr.guillaumevillena.opendnsupdater 2019-08-07 fr.herverenault.directdictaphone_14.apk fr.herverenault.directdictaphone 2015-01-03 @@ -16128,6 +16186,7 @@ fr.neamar.kiss_173.apk fr.neamar.kiss 2020-03-23 fr.neamar.kiss_174.apk fr.neamar.kiss 2020-03-23 fr.neamar.kiss_175.apk fr.neamar.kiss 2020-03-30 fr.neamar.kiss_176.apk fr.neamar.kiss 2020-04-13 +fr.neamar.kiss_177.apk fr.neamar.kiss 2020-04-21 fr.nicopico.dashclock.birthday_10.apk fr.nicopico.dashclock.birthday 2015-10-01 fr.nocle.passegares_14.apk fr.nocle.passegares 2017-01-02 fr.nocle.passegares_57.apk fr.nocle.passegares 2017-01-10 @@ -17179,6 +17238,7 @@ io.github.wulkanowy_51.apk io.github.wulkanowy 2020-01-14 io.github.wulkanowy_52.apk io.github.wulkanowy 2020-01-29 io.github.wulkanowy_54.apk io.github.wulkanowy 2020-04-13 io.github.wulkanowy_55.apk io.github.wulkanowy 2020-04-15 +io.github.wulkanowy_56.apk io.github.wulkanowy 2020-04-21 io.github.z3r0c00l_2k.aquadroid_3.apk io.github.z3r0c00l_2k.aquadroid 2019-06-06 io.github.z3r0c00l_2k.aquadroid_4.apk io.github.z3r0c00l_2k.aquadroid 2020-02-29 io.github.z3r0c00l_2k.aquadroid_5.apk io.github.z3r0c00l_2k.aquadroid 2020-02-29 @@ -17251,6 +17311,7 @@ io.timelimit.android.open_80.apk io.timelimit.android.open 2020-03-05 io.timelimit.android.open_81.apk io.timelimit.android.open 2020-03-17 io.timelimit.android.open_82.apk io.timelimit.android.open 2020-03-30 io.timelimit.android.open_84.apk io.timelimit.android.open 2020-04-07 +io.timelimit.android.open_85.apk io.timelimit.android.open 2020-04-21 io.tiph.smsspammer_1.apk io.tiph.smsspammer 2014-12-02 io.tiph.smsspammer_2.apk io.tiph.smsspammer 2015-02-11 io.trezor.app_9.apk io.trezor.app 2017-06-17 @@ -17274,6 +17335,7 @@ ir.hsn6.defendo_6.apk ir.hsn6.defendo 2017-09-11 ir.hsn6.defendo_7.apk ir.hsn6.defendo 2017-09-24 ir.hsn6.defendo_8.apk ir.hsn6.defendo 2017-10-18 ir.hsn6.k2_2.apk ir.hsn6.k2 2017-11-14 +ir.hsn6.tpb_1.apk ir.hsn6.tpb 2020-04-21 ir.hsn6.trans_4.apk ir.hsn6.trans 2017-10-01 ir.hsn6.turo_2.apk ir.hsn6.turo 2018-02-01 ir.hsn6.turo_3.apk ir.hsn6.turo 2018-02-20 @@ -17467,6 +17529,7 @@ it.niedermann.owncloud.notes_2011003.apk it.niedermann.owncloud.notes 2020-03-19 it.niedermann.owncloud.notes_2011006.apk it.niedermann.owncloud.notes 2020-04-06 it.niedermann.owncloud.notes_2011007.apk it.niedermann.owncloud.notes 2020-04-07 it.niedermann.owncloud.notes_2011008.apk it.niedermann.owncloud.notes 2020-04-13 +it.niedermann.owncloud.notes_2011010.apk it.niedermann.owncloud.notes 2020-04-21 it.reyboz.bustorino_2.apk it.reyboz.bustorino 2014-11-11 it.reyboz.bustorino_3.apk it.reyboz.bustorino 2014-11-15 it.reyboz.bustorino_4.apk it.reyboz.bustorino 2014-11-23 @@ -17493,6 +17556,7 @@ it.reyboz.bustorino_24.apk it.reyboz.bustorino 2019-03-18 it.reyboz.bustorino_25.apk it.reyboz.bustorino 2019-04-13 it.reyboz.bustorino_26.apk it.reyboz.bustorino 2019-11-16 it.reyboz.bustorino_27.apk it.reyboz.bustorino 2019-12-30 +it.reyboz.bustorino_28.apk it.reyboz.bustorino 2020-04-19 it.reyboz.chordshift_2.apk it.reyboz.chordshift 2015-04-09 it.reyboz.chordshift_3.apk it.reyboz.chordshift 2015-04-23 it.reyboz.chordshift_4.apk it.reyboz.chordshift 2015-04-25 @@ -17534,6 +17598,7 @@ itkach.aard2_39.apk itkach.aard2 2019-03-25 itkach.aard2_40.apk itkach.aard2 2019-05-18 itkach.aard2_41.apk itkach.aard2 2019-05-25 itkach.aard2_43.apk itkach.aard2 2019-07-30 +itkach.aard2_44.apk itkach.aard2 2020-04-21 ivl.android.moneybalance_1.apk ivl.android.moneybalance 2013-08-28 ivl.android.moneybalance_3.apk ivl.android.moneybalance 2013-09-27 ivl.android.moneybalance_4.apk ivl.android.moneybalance 2016-05-05 @@ -18012,6 +18077,7 @@ me.jamesfrost.simpledo_4.apk me.jamesfrost.simpledo 2014-12-17 me.jfenn.alarmio_18.apk me.jfenn.alarmio 2019-06-06 me.jfenn.alarmio_19.apk me.jfenn.alarmio 2019-10-17 me.jfenn.alarmio_20.apk me.jfenn.alarmio 2019-10-18 +me.jfenn.alarmio_21.apk me.jfenn.alarmio 2020-04-19 me.johnmh.boogdroid_13.apk me.johnmh.boogdroid 2015-12-30 me.johnmh.boogdroid_14.apk me.johnmh.boogdroid 2016-11-11 me.johnmh.boogdroid_15.apk me.johnmh.boogdroid 2018-07-15 @@ -18136,6 +18202,7 @@ me.zeeroooo.materialfb_69.apk me.zeeroooo.materialfb 2018-12-27 me.zeeroooo.materialfb_70.apk me.zeeroooo.materialfb 2019-01-04 me.zeeroooo.materialfb_71.apk me.zeeroooo.materialfb 2020-04-03 me.zeeroooo.materialfb_73.apk me.zeeroooo.materialfb 2020-04-07 +me.zeeroooo.materialfb_74.apk me.zeeroooo.materialfb 2020-04-19 me.zhanghai.android.files_12.apk me.zhanghai.android.files 2019-11-24 me.zhanghai.android.files_14.apk me.zhanghai.android.files 2019-12-03 me.zhanghai.android.files_15.apk me.zhanghai.android.files 2019-12-04 @@ -18757,6 +18824,8 @@ net.inbox.pager_9.apk net.inbox.pager 2018-12-03 net.inbox.pager_10.apk net.inbox.pager 2019-08-29 net.inbox.pager_11.apk net.inbox.pager 2019-10-06 net.inbox.pager_12.apk net.inbox.pager 2019-10-12 +net.inbox.pager_13.apk net.inbox.pager 2020-04-19 +net.inbox.pager_14.apk net.inbox.pager 2020-04-21 net.iowaline.dotdash_5.apk net.iowaline.dotdash 2012-04-06 net.iowaline.dotdash_10.apk net.iowaline.dotdash 2012-04-13 net.iowaline.dotdash_11.apk net.iowaline.dotdash 2012-04-25 @@ -18913,6 +18982,7 @@ net.nurik.roman.muzei_23015.apk net.nurik.roman.muzei 2017-04-30 net.nurik.roman.muzei_23124.apk net.nurik.roman.muzei 2017-07-14 net.nurik.roman.muzei_24016.apk net.nurik.roman.muzei 2018-02-16 net.nurik.roman.muzei_302000.apk net.nurik.roman.muzei 2019-01-13 +net.nurik.roman.muzei_320010.apk net.nurik.roman.muzei 2020-04-21 net.olejon.mdapp_110.apk net.olejon.mdapp 2015-02-22 net.olejon.mdapp_120.apk net.olejon.mdapp 2015-03-03 net.olejon.mdapp_143.apk net.olejon.mdapp 2015-03-30 @@ -19871,6 +19941,7 @@ nodomain.freeyourgadget.gadgetbridge_167.apk nodomain.freeyourgadget.gadgetbridg nodomain.freeyourgadget.gadgetbridge_168.apk nodomain.freeyourgadget.gadgetbridge 2020-02-26 nodomain.freeyourgadget.gadgetbridge_169.apk nodomain.freeyourgadget.gadgetbridge 2020-03-26 nodomain.freeyourgadget.gadgetbridge_170.apk nodomain.freeyourgadget.gadgetbridge 2020-04-07 +nodomain.freeyourgadget.gadgetbridge_171.apk nodomain.freeyourgadget.gadgetbridge 2020-04-19 nodomain.freeyourgadget.tpmsmonitor_1.apk nodomain.freeyourgadget.tpmsmonitor 2019-01-18 nodomain.vanous.blitztypekeyboard_5.apk nodomain.vanous.blitztypekeyboard 2019-10-18 nu.firetech.android.pactrack_1310.apk nu.firetech.android.pactrack 2011-01-27 @@ -20349,6 +20420,7 @@ org.atalk.android_1117.apk org.atalk.android 2020-02-04 org.atalk.android_1120.apk org.atalk.android 2020-03-05 org.atalk.android_1121.apk org.atalk.android 2020-03-19 org.atalk.android_1122.apk org.atalk.android 2020-04-01 +org.atalk.android_1123.apk org.atalk.android 2020-04-21 org.aykit.MyOwnNotes_3.apk org.aykit.MyOwnNotes 2014-06-18 org.aykit.MyOwnNotes_5.apk org.aykit.MyOwnNotes 2014-07-05 org.aykit.MyOwnNotes_7.apk org.aykit.MyOwnNotes 2014-07-18 @@ -20615,6 +20687,7 @@ org.billthefarmer.shorty_108.apk org.billthefarmer.shorty 2017-09-24 org.billthefarmer.shorty_109.apk org.billthefarmer.shorty 2018-10-10 org.billthefarmer.shorty_110.apk org.billthefarmer.shorty 2019-01-08 org.billthefarmer.shorty_111.apk org.billthefarmer.shorty 2019-03-15 +org.billthefarmer.shorty_112.apk org.billthefarmer.shorty 2020-04-21 org.billthefarmer.siggen_1.apk org.billthefarmer.siggen 2014-05-30 org.billthefarmer.siggen_101.apk org.billthefarmer.siggen 2014-06-09 org.billthefarmer.siggen_102.apk org.billthefarmer.siggen 2015-04-16 @@ -20859,6 +20932,7 @@ org.commonvoice.saverio_81.apk org.commonvoice.saverio 2020-03-30 org.commonvoice.saverio_82.apk org.commonvoice.saverio 2020-04-01 org.commonvoice.saverio_83.apk org.commonvoice.saverio 2020-04-07 org.commonvoice.saverio_85.apk org.commonvoice.saverio 2020-04-15 +org.commonvoice.saverio_88.apk org.commonvoice.saverio 2020-04-21 org.congresointeractivo.elegilegi_1.apk org.congresointeractivo.elegilegi 2013-12-09 org.connectbot_365.apk org.connectbot 2013-05-13 org.connectbot_366.apk org.connectbot 2014-08-10 @@ -21766,6 +21840,7 @@ org.freeminer.freeminer_93.apk org.freeminer.freeminer 2016-04-03 org.freeminer.freeminer_121.apk org.freeminer.freeminer 2016-11-07 org.freshrss.easyrss_606.apk org.freshrss.easyrss 2015-05-26 org.freshrss.easyrss_608.apk org.freshrss.easyrss 2017-07-23 +org.freshrss.easyrss_704.apk org.freshrss.easyrss 2020-04-21 org.froscon.schedule_2.apk org.froscon.schedule 2014-08-19 org.galexander.sshd_21.apk org.galexander.sshd 2019-08-24 org.galexander.sshd_22.apk org.galexander.sshd 2019-09-25 @@ -22068,6 +22143,7 @@ org.hlwd.bible_20191102.apk org.hlwd.bible 2019-11-04 org.hlwd.bible_20191229.apk org.hlwd.bible 2020-01-03 org.hlwd.bible_20200206.apk org.hlwd.bible 2020-02-12 org.hlwd.bible_20200402.apk org.hlwd.bible 2020-04-06 +org.hlwd.bible_multi_the_life_20200320.apk org.hlwd.bible_multi_the_life 2020-04-21 org.hoi_polloi.android.ringcode_11.apk org.hoi_polloi.android.ringcode 2014-09-25 org.holylobster.nuntius_1.apk org.holylobster.nuntius 2015-03-09 org.holylobster.nuntius_2.apk org.holylobster.nuntius 2015-03-12 @@ -22270,6 +22346,7 @@ org.jitsi.meet_190400.apk org.jitsi.meet 2019-11-22 org.jitsi.meet_200300.apk org.jitsi.meet 2020-03-19 org.jitsi.meet_201000.apk org.jitsi.meet 2020-04-01 org.jitsi.meet_202000.apk org.jitsi.meet 2020-04-13 +org.jitsi.meet_202010.apk org.jitsi.meet 2020-04-21 org.jmoyer.NotificationPlus_2.apk org.jmoyer.NotificationPlus 2012-01-15 org.johanhil.flygtider_9.apk org.johanhil.flygtider 2011-04-02 org.jschwab.openrecipes_3.apk org.jschwab.openrecipes 2019-01-13 @@ -22388,6 +22465,7 @@ org.kde.kdeconnect_tp_11340.apk org.kde.kdeconnect_tp 2019-11-24 org.kde.kdeconnect_tp_11350.apk org.kde.kdeconnect_tp 2019-11-25 org.kde.kdeconnect_tp_11360.apk org.kde.kdeconnect_tp 2020-01-07 org.kde.kdeconnect_tp_11370.apk org.kde.kdeconnect_tp 2020-01-19 +org.kde.kdeconnect_tp_11410.apk org.kde.kdeconnect_tp 2020-04-21 org.kde.ktrip_1.apk org.kde.ktrip 2020-02-04 org.kde.necessitas.ministro_6.apk org.kde.necessitas.ministro 2012-08-29 org.kde.necessitas.ministro_7.apk org.kde.necessitas.ministro 2012-11-05 @@ -22810,6 +22888,7 @@ org.ligi.survivalmanual_40.apk org.ligi.survivalmanual 2017-07-19 org.ligi.survivalmanual_41.apk org.ligi.survivalmanual 2017-08-02 org.ligi.survivalmanual_42.apk org.ligi.survivalmanual 2018-04-16 org.ligi.survivalmanual_422.apk org.ligi.survivalmanual 2018-12-12 +org.ligi.survivalmanual_425.apk org.ligi.survivalmanual 2020-04-19 org.ligi.vaporizercontrol_12.apk org.ligi.vaporizercontrol 2015-04-27 org.ligi.vaporizercontrol_15.apk org.ligi.vaporizercontrol 2015-05-05 org.ligi.vaporizercontrol_16.apk org.ligi.vaporizercontrol 2015-05-11 @@ -22837,6 +22916,7 @@ org.logicallycreative.movingpolygons_4.apk org.logicallycreative.movingpolygons org.lufebe16.pysolfc_8.apk org.lufebe16.pysolfc 2017-10-03 org.lufebe16.pysolfc_20200.apk org.lufebe16.pysolfc 2018-04-28 org.lufebe16.pysolfc_72120604.apk org.lufebe16.pysolfc 2019-11-16 +org.lufebe16.pysolfc_72120800.apk org.lufebe16.pysolfc 2020-04-19 org.lumicall.android_118.apk org.lumicall.android 2012-09-07 org.lumicall.android_120.apk org.lumicall.android 2012-10-17 org.lumicall.android_121.apk org.lumicall.android 2012-10-17 @@ -23024,6 +23104,7 @@ org.mariotaku.twidere_399.apk org.mariotaku.twidere 2019-07-06 org.mariotaku.twidere_400.apk org.mariotaku.twidere 2019-07-19 org.mariotaku.twidere_503.apk org.mariotaku.twidere 2020-04-06 org.mariotaku.twidere_505.apk org.mariotaku.twidere 2020-04-13 +org.mariotaku.twidere_507.apk org.mariotaku.twidere 2020-04-21 org.materialos.icons_7.apk org.materialos.icons 2018-05-09 org.materialos.icons_10.apk org.materialos.icons 2018-05-09 org.mattvchandler.a2050_190010005.apk org.mattvchandler.a2050 2019-05-17 @@ -23079,6 +23160,7 @@ org.mian.gitnex_81.apk org.mian.gitnex 2019-12-20 org.mian.gitnex_82.apk org.mian.gitnex 2019-12-26 org.mian.gitnex_90.apk org.mian.gitnex 2020-03-17 org.mian.gitnex_91.apk org.mian.gitnex 2020-03-23 +org.mian.gitnex_104.apk org.mian.gitnex 2020-04-21 org.michaelevans.nightmodeenabler_1.apk org.michaelevans.nightmodeenabler 2016-08-29 org.microg.nlp.backend.apple_1000.apk org.microg.nlp.backend.apple 2014-03-22 org.microg.nlp.backend.apple_1010.apk org.microg.nlp.backend.apple 2014-04-05 @@ -23744,6 +23826,7 @@ org.openhab.habdroid.beta_275.apk org.openhab.habdroid.beta 2020-04-07 org.openhab.habdroid.beta_276.apk org.openhab.habdroid.beta 2020-04-07 org.openhab.habdroid.beta_277.apk org.openhab.habdroid.beta 2020-04-13 org.openhab.habdroid.beta_278.apk org.openhab.habdroid.beta 2020-04-15 +org.openhab.habdroid.beta_279.apk org.openhab.habdroid.beta 2020-04-19 org.openhab.habdroid_30.apk org.openhab.habdroid 2018-03-15 org.openhab.habdroid_34.apk org.openhab.habdroid 2018-03-23 org.openhab.habdroid_50.apk org.openhab.habdroid 2018-04-21 @@ -25474,6 +25557,7 @@ org.tasks_712.apk org.tasks 2020-03-23 org.tasks_713.apk org.tasks 2020-04-03 org.tasks_719.apk org.tasks 2020-04-06 org.tasks_728.apk org.tasks 2020-04-13 +org.tasks_729.apk org.tasks 2020-04-19 org.tbrk.mnemododo_23.apk org.tbrk.mnemododo 2013-06-22 org.telegram.messenger_160.apk org.telegram.messenger 2014-02-24 org.telegram.messenger_177.apk org.telegram.messenger 2014-03-06 @@ -26222,6 +26306,7 @@ org.videolan.vlc_13020907.apk org.videolan.vlc 2020-03-30 org.videolan.vlc_13020908.apk org.videolan.vlc 2020-04-01 org.videolan.vlc_13021104.apk org.videolan.vlc 2020-04-13 org.videolan.vlc_13021105.apk org.videolan.vlc 2020-04-13 +org.videolan.vlc_13021107.apk org.videolan.vlc 2020-04-21 org.videolan.vlc_13021108.apk org.videolan.vlc 2020-04-15 org.voidptr.swpieview_1.apk org.voidptr.swpieview 2017-10-24 org.voidptr.swpieview_15.apk org.voidptr.swpieview 2017-12-15 @@ -26512,6 +26597,7 @@ org.xphnx.ameixa_412.apk org.xphnx.ameixa 2018-12-18 org.xphnx.ameixa_413.apk org.xphnx.ameixa 2019-07-29 org.xphnx.ameixa_414.apk org.xphnx.ameixa 2019-11-20 org.xphnx.ameixa_421.apk org.xphnx.ameixa 2020-03-30 +org.xphnx.ameixa_422.apk org.xphnx.ameixa 2020-04-19 org.xphnx.ameixamonochrome_46.apk org.xphnx.ameixamonochrome 2017-09-24 org.xphnx.ameixamonochrome_47.apk org.xphnx.ameixamonochrome 2018-01-29 org.xphnx.ameixamonochrome_52.apk org.xphnx.ameixamonochrome 2018-01-29 @@ -26528,6 +26614,7 @@ org.xphnx.ameixamonochrome_412.apk org.xphnx.ameixamonochrome 2018-12-18 org.xphnx.ameixamonochrome_413.apk org.xphnx.ameixamonochrome 2019-07-29 org.xphnx.ameixamonochrome_414.apk org.xphnx.ameixamonochrome 2019-11-20 org.xphnx.ameixamonochrome_421.apk org.xphnx.ameixamonochrome 2020-03-23 +org.xphnx.ameixamonochrome_422.apk org.xphnx.ameixamonochrome 2020-04-19 org.xphnx.iconsubmit_2.apk org.xphnx.iconsubmit 2016-01-15 org.xphnx.iconsubmit_4.apk org.xphnx.iconsubmit 2016-05-26 org.xphnx.iconsubmit_7.apk org.xphnx.iconsubmit 2018-05-25 @@ -27527,6 +27614,7 @@ se.leap.riseupvpn_141.apk se.leap.riseupvpn 2019-09-25 se.leap.riseupvpn_147.apk se.leap.riseupvpn 2020-03-30 se.lublin.mumla_76.apk se.lublin.mumla 2020-04-13 se.lublin.mumla_77.apk se.lublin.mumla 2020-04-13 +se.lublin.mumla_78.apk se.lublin.mumla 2020-04-19 se.manyver_30.apk se.manyver 2018-10-10 se.manyver_32.apk se.manyver 2018-10-17 se.manyver_34.apk se.manyver 2018-10-28 diff --git a/stats/latestapps.txt b/stats/latestapps.txt index 40b5bdf10d..5bb7673a31 100644 --- a/stats/latestapps.txt +++ b/stats/latestapps.txt @@ -1,10 +1,10 @@ +org.hlwd.bible_multi_the_life +ir.hsn6.tpb +com.github.igrmk.smsq +at.h4x.metaapp +org.metabrainz.android se.lublin.mumla org.midorinext.android com.transway.caresteouvert org.twistedappdeveloper.statocovid19italia org.schabi.jedentageinset -com.simplemobiletools.voicerecorder -com.aurora.corona -org.strawberryforum.argentum -net.ivpn.client -com.stealthcotper.networktools diff --git a/stats/licenses.txt b/stats/licenses.txt index 6fcc7b9955..e6b737db6f 100644 --- a/stats/licenses.txt +++ b/stats/licenses.txt @@ -1,6 +1,6 @@ -GPL-3.0-only 1144 +GPL-3.0-only 1146 Apache-2.0 702 -GPL-3.0-or-later 498 +GPL-3.0-or-later 500 MIT 380 GPL-2.0-only 149 GPL-2.0-or-later 113 diff --git a/stats/repotypes.txt b/stats/repotypes.txt index 21e1ae9636..59d6febe47 100644 --- a/stats/repotypes.txt +++ b/stats/repotypes.txt @@ -1,4 +1,4 @@ -git 2944 +git 2948 none 166 git-svn 91 hg 44 diff --git a/stats/update_check_modes.txt b/stats/update_check_modes.txt index c25edf8440..26baf36cc6 100644 --- a/stats/update_check_modes.txt +++ b/stats/update_check_modes.txt @@ -1,5 +1,5 @@ -Tags 1960 -RepoManifest 714 -None 337 +Tags 1963 +RepoManifest 713 +None 339 Static 217 HTTP 32