Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
07d1343
Create android.yml
apps4av May 2, 2024
3da9bf3
Update android.yml
apps4av May 2, 2024
a574587
Delete app/src/test/java/com/ds/avare directory
apps4av May 2, 2024
04f99f3
Update build.gradle
apps4av May 2, 2024
8615f28
Merge pull request #508 from apps4av/apps4av-patch-2
apps4av May 2, 2024
e260cd1
Update android.yml
apps4av May 2, 2024
4721b2f
Update android.yml
apps4av May 2, 2024
eb1f908
Update android.yml
apps4av May 2, 2024
607dea2
Update android.yml
apps4av May 2, 2024
586d9f6
Update android.yml
apps4av May 2, 2024
2388dbd
Update android.yml
apps4av May 2, 2024
ab121f6
Update android.yml
apps4av May 2, 2024
834f044
Update android.yml
apps4av May 2, 2024
738fb6f
Update android.yml
apps4av May 2, 2024
11a5eb2
Update android.yml
apps4av May 2, 2024
b134a9d
10.3.2. Added PHX Flyway and Volume button as camera removed to setti…
apps4av May 3, 2024
845d4a3
Go to new regions based charts
apps4av Jun 15, 2024
f86c144
Go to new regions based charts, release 11.0.0.
apps4av Jun 27, 2024
bd0d4a0
Update build.gradle
apps4av Jul 9, 2024
a25fed8
Update README.md for AvareX
apps4av Jul 18, 2024
365d2d0
11.0.1 optional registration now
apps4av Jul 27, 2024
8364512
Merge remote-tracking branch 'origin/master'
apps4av Jul 27, 2024
24db333
building weather on github actions
apps4av Aug 11, 2024
5903d4d
building weather on github actions
apps4av Aug 11, 2024
410a1f4
building weather on github actions
apps4av Aug 11, 2024
7d43066
building weather on github actions
apps4av Aug 11, 2024
c0513a2
building weather on github actions
apps4av Aug 11, 2024
00cfd07
building weather on github actions
apps4av Aug 11, 2024
4aed487
building weather on github actions
apps4av Aug 11, 2024
67de819
building weather on github actions
apps4av Aug 11, 2024
27a70f0
live weather
apps4av Aug 11, 2024
6dda51e
Update weather.yml install missing libperlwww
apps4av Sep 20, 2024
9e901fd
Update weather.yml
apps4av Sep 20, 2024
a887655
Resolve #501
jon-stumpf Sep 22, 2024
01e9ac0
New LMFS website
apps4av Oct 3, 2024
9a17f26
11.0.2
apps4av Oct 3, 2024
ee9fa8e
11.0.2
apps4av Oct 3, 2024
9685528
Update android.yml
apps4av Oct 3, 2024
6eb7042
Merge pull request #512 from jon-stumpf/reuse-socket
apps4av Oct 20, 2024
8f36abe
fix for android 15 screen edge to edge. v 11.0.3
apps4av Nov 7, 2024
d14ae06
Add HeartbeatMessage to BufferProcessor
ninelima Dec 13, 2024
7dc69fe
Add NIC and NACP to OwnshipMessage and BufferProcessor
ninelima Dec 25, 2024
0403292
fix crash bug in plates
apps4av Jan 6, 2025
51ebffb
fix crash bug in plates
apps4av Jan 6, 2025
87cad1d
new way for TFR3
apps4av Mar 2, 2025
a9dac26
Update weather.yml
apps4av Mar 29, 2025
bc743bf
Update weather.yml
apps4av Sep 1, 2025
500c883
Update weather.yml
apps4av Sep 1, 2025
6e7ef1e
Fix tile rendering positioning bug and improve tile coverage
jonhnet Oct 6, 2025
204529b
Merge pull request #520 from jonhnet/fix-tile-rendering-365
apps4av Oct 26, 2025
1cf2b55
Merge pull request #518 from ninelima/contrib
apps4av Oct 26, 2025
49a32ea
release 11.0.5
apps4av Oct 26, 2025
5263807
Increment versionCode from 404 to 405
apps4av Oct 26, 2025
b65fbe7
backout recent changes
apps4av Mar 27, 2026
58cec5d
Update help.html with latest Avare release notes
apps4av Mar 27, 2026
f62ede6
Update versionCode and versionName in AndroidManifest
apps4av Mar 27, 2026
db2534c
Merge pull request #525 from apps4av/detached3
apps4av Mar 27, 2026
88cdc0c
Revert "Backout tile and adsb changes for stability"
apps4av Apr 5, 2026
b178ef0
Merge pull request #527 from apps4av/revert-525-detached3
apps4av Apr 5, 2026
8be8f99
possible bug fix and 11.0.7
apps4av Apr 16, 2026
f2b22cf
fixed issues with abbreviated METARS, including an ifinite loop crash…
garyStofer Apr 24, 2026
c7f05b8
Fixed crash & wrong units related to abbrv. METARS
Silicon42 Apr 24, 2026
72c40e6
Merge remote-tracking branch 'origin/master'
Silicon42 Apr 24, 2026
188ca6d
Merge pull request #528 from Silicon42/master
apps4av Apr 24, 2026
3cc0c7b
Update versionCode and versionName in AndroidManifest
apps4av Apr 24, 2026
916e8d3
Add deprecation notice and link to AvareX
apps4av May 13, 2026
cd855c0
Add optional RevenueCat Pro subscription with Firebase Auth
apps4av May 25, 2026
6c4368b
Add step to replace RevenueCat API key in Java files
apps4av May 25, 2026
f31ea8c
Update version code and name in AndroidManifest.xml
apps4av May 25, 2026
1f29388
Fix 16 KB page-size crash by upgrading AGP/Gradle and dropping misali…
apps4av May 25, 2026
2f4b822
next rel
apps4av May 25, 2026
baf53f5
button color fix
apps4av May 25, 2026
979880a
change to paid_default
apps4av May 25, 2026
24acbb3
remove register activity
apps4av May 25, 2026
f572508
remove all references to pro
apps4av May 25, 2026
3055d6b
remove all charts not available for download
apps4av May 25, 2026
89138e6
Move paywall from startup timer to chart downloads
apps4av Jun 8, 2026
66d8ae5
11.1.1
apps4av Jun 8, 2026
7ddfd6a
Make chart paywall per-chart and live against on-disk state
apps4av Jun 8, 2026
82783a1
11.1.2
apps4av Jun 8, 2026
019a233
11.1.3
apps4av Jun 8, 2026
9464b9a
Merge pull request #534 from apps4av/add-revenuecat-pro
apps4av Jun 8, 2026
a70c932
11.1.4
apps4av Jun 14, 2026
abfd973
Merge pull request #535 from apps4av/add-revenuecat-pro
apps4av Jun 14, 2026
486c97f
11.1.4
apps4av Jun 14, 2026
e52f7c9
Merge pull request #536 from apps4av/add-revenuecat-pro
apps4av Jun 14, 2026
64b87e2
11.1.4
apps4av Jun 14, 2026
2df9c06
11.1.4
apps4av Jun 14, 2026
2b559c0
11.1.4
apps4av Jun 14, 2026
df2560e
LMFS url fix
apps4av Jun 14, 2026
f84a341
artifacts on server
apps4av Jun 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Android CI

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set app version
run: |
echo "APP_VERSION=$(sed -n 's/.*android:versionName="\([^"]*\)".*/\1/p' app/src/main/AndroidManifest.xml)" >> "$GITHUB_ENV"
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle

- name: Find and Replace RC Key
uses: richardrigutins/replace-in-files@v2
with:
files: '**/*.java'
search-text: '@@___revenuecat_android_api_key__@@'
replacement-text: ${{ secrets.ANDROID_REVENUECAT_API_KEY }}
encoding: 'utf8'
max-parallelism: 10

- name: Create Google Services JSON File
env:
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
run: rm -f app/google-services.json && (echo $GOOGLE_SERVICES_JSON | base64 -di > app/google-services.json)

- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build

- name: Sign APK with keystore
uses: r0adkll/sign-android-release@v1
id: sign_app
with:
releaseDirectory: app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.KEY_STORE }}
alias: ${{ secrets.KEY_STORE_ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASS }}
keyPassword: ${{ secrets.KEY_STORE_PASS }}
env:
BUILD_TOOLS_VERSION: "34.0.0"

- name: Prepare upload artifact
run: |
mkdir -p build/artifacts
cp "${{ steps.sign_app.outputs.signedReleaseFile }}" "build/artifacts/avare_${APP_VERSION}.apk"

- name: Upload release APK
uses: appleboy/scp-action@v0.1.7
with:
host: apps4av.org
username: apps4av
password: ${{ secrets.MAMBA_PASSWORD }}
port: 22
strip_components: 2
source: build/artifacts/*
target: /home/apps4av/builds
38 changes: 38 additions & 0 deletions .github/workflows/weather.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Weather CI


on:
schedule:
- cron: '*/10 * * * *'

jobs:
build:

runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v3
with:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
sudo apt-get update
sudo apt-get install --fix-missing gdal-bin python3-gdal imagemagick python3-bs4 libwww-perl libxml-parser-perl
pip install regex urllib3
- name: Build weather
run: |
cd extra/mamba && ./put_tenmin.sh

- name: SSH to mamba
uses: appleboy/scp-action@v0.1.7
with:
host: apps4av.org
username: apps4av
password: ${{ secrets.MAMBA_PASSWORD }}
port: 22
strip_components: 2
source: "extra/mamba/TFRs.zip,extra/mamba/weather.zip,extra/mamba/conus.zip"
target: /home/apps4av/mamba.dreamhosters.com/new
25 changes: 0 additions & 25 deletions .travis.yml

This file was deleted.

6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
** This project is deprecated/discontinued. See the new project under https://github.com/apps4av/avarex.



avare
=====

Note: A more modern multi platofrm version of Avare is available as AvareX on Android Play Store, Apple App Store, Windows App Store, and Linux Snapcraft Store.

Avare Aviation GPS for Android. Avare is pronounced "Ah-vAir" - like "aware" with a "v" and can be manually installed from our servers (see our website).

Download from the Google Play Store: https://play.google.com/store/apps/details?id=com.ds.avare&hl=en
Expand Down
48 changes: 41 additions & 7 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
android {
compileSdkVersion 33
buildToolsVersion '33.0.2'
compileSdk 35
buildToolsVersion '34.0.0'

defaultConfig {
applicationId "com.ds.avare"
minSdkVersion 20 // android 5 is minimum
targetSdkVersion 33
// RevenueCat Paywalls (purchases-ui) requires API 24 (Android 7.0)
minSdkVersion 24
targetSdk 35
}

compileOptions {
Expand Down Expand Up @@ -41,6 +42,22 @@ android {
useLibrary 'android.test.mock'
namespace 'com.ds.avare'

// 16 KB page-size workaround. The prebuilt
// libdatastore_shared_counter.so in androidx.datastore-core 1.1.x /
// 1.2.x ships with a 4 KB-aligned RELRO segment that fails to load
// on Android devices using 16 KB memory pages, which crashed the
// Play Console pre-launch lab with
// NoClassDefFoundError: Landroidx/datastore/DataStoreFile;
// The native lib is only required for cross-process DataStore, which
// neither Avare nor RevenueCat use, so excluding it lets DataStore
// fall back to its JVM file-lock path.
// Tracking: https://issuetracker.google.com/issues/476745201
packaging {
jniLibs {
excludes += ['**/libdatastore_shared_counter.so']
}
}

applicationVariants.all { variant ->
def productFlavor = variant.productFlavors[0] != null ? "${variant.productFlavors[0].name.capitalize()}" : ""
def buildType = "${variant.buildType.name.capitalize()}"
Expand All @@ -53,15 +70,32 @@ dependencies {
implementation 'oro:oro:2.0.8'
implementation 'org.xmlunit:xmlunit-matchers:2.3.0'
implementation 'androidx.core:core:1.3.2'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
implementation 'com.google.firebase:firebase-crashlytics:18.2.6'
implementation 'com.github.mik3y:usb-serial-for-android:3.4.6'
implementation 'androidx.exifinterface:exifinterface:1.3.7'

// Firebase (BoM-managed). Mirrors avarex: Firebase Auth backs the
// RevenueCat user identity. google-services.json must be present.
implementation platform('com.google.firebase:firebase-bom:34.13.0')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-auth'

// FirebaseUI Auth provides the email sign-in / register screen used by
// ProActivity (same UX as avarex's LoginScreen).
implementation 'com.firebaseui:firebase-ui-auth:9.1.1'

// AppCompat for the Pro/Login screen + activity result APIs
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.activity:activity:1.9.3'

// RevenueCat core SDK + Paywalls UI (optional subscriptions, mirrors avarex setup)
implementation 'com.revenuecat.purchases:purchases:9.29.0'
implementation 'com.revenuecat.purchases:purchases-ui:9.29.0'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:4.8.1'
testImplementation 'org.powermock:powermock-module-junit4:1.7.0RC2'
testImplementation 'org.powermock:powermock-api-mockito2:1.7.0RC2'
testImplementation 'org.powermock:powermock-classloading-xstream:1.7.0RC2'
testImplementation 'org.powermock:powermock-module-junit4-rule:1.7.0RC2'
testImplementation 'org.robolectric:robolectric:4.3'
testImplementation 'org.json:json:20220924'
}
17 changes: 15 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ Redistribution and use in source and binary forms, with or without modification,
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="381"
android:versionName="10.3.1"
android:versionCode="414"
android:versionName="11.1.4"
android:installLocation="auto">

<!-- Network State Permissions to detect Internet status -->
Expand All @@ -38,6 +38,15 @@ Redistribution and use in source and binary forms, with or without modification,
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />

<!--
Required by Firebase Analytics / Play Services on apps targeting
SDK 33+ that consume the Android Advertising ID. Matches the
"uses advertising ID" declaration in the Play Console; without
it the SDK returns a zeroed-out ad id and Play Console flags a
release warning.
-->
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />

<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />

Expand Down Expand Up @@ -111,6 +120,10 @@ Redistribution and use in source and binary forms, with or without modification,
<activity android:name=".PfdActivity"/>
<activity android:name=".RegisterActivity"/>
<activity android:name=".ThreeDActivity"/>
<activity
android:name=".ProActivity"
android:label="@string/ProServicesTitle"
android:theme="@style/Theme.AppCompat.NoActionBar"/>
<activity
android:name="com.ds.avare.MainActivity"
android:launchMode="singleTask"
Expand Down
Loading