Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
2adcea8
more combine weather
apps4av Oct 9, 2022
6b4c620
removed runway bitmap sizing as it was crashing the app.
apps4av Oct 9, 2022
38f01ba
Avare-371 (https://github.com/apps4av/avare/issues/371): Have ADSB me…
shanelenagh Oct 8, 2022
1d7685c
Added preference (defaulted to false) to selectively enable ground tr…
shanelenagh Oct 9, 2022
f2fb6cf
Added mininum speed audible alerts preference (and fixed one bug with…
shanelenagh Oct 9, 2022
2819c71
Increase accuracy of closing (TCPA) alert by subtracting time to spea…
shanelenagh Oct 12, 2022
4bead9f
Minor cleanup and refactoring
shanelenagh Oct 12, 2022
b0677e1
Pushed sound sequence duration logic to new method on soundPlayer; al…
shanelenagh Oct 12, 2022
71cf7ff
Snapping WIP of AA rewrite using shorter clips, and several fairness …
shanelenagh Oct 16, 2022
d9d20d6
Fixed bug in new number-speaking method, and adjusted UT's to cover it
shanelenagh Oct 16, 2022
31c5d3f
Made CE method final, for performance (and should not be overriden an…
shanelenagh Oct 16, 2022
1b62147
Various fixes and changes to add vertical velocity in alert calculati…
shanelenagh Oct 21, 2022
8ef1ae2
Removed erroneous comment that I put in (thought it was there from up…
shanelenagh Oct 21, 2022
3c6f31b
Ungroomed AA 2.0 WIP (got colloquial alerts working, with added suppo…
shanelenagh Oct 24, 2022
b073af6
Changing audio stream ident to notification, to give separate control…
shanelenagh Oct 24, 2022
865bd21
Baselining latest WIP, including preference re-org (everything but ne…
shanelenagh Oct 26, 2022
b73d687
New sound samples--somewhat muted (pop filter was too aggressive), bu…
shanelenagh Oct 27, 2022
c1c7de2
Final (FLW) alert queue fairness tweaks, and two audio file fixes
shanelenagh Oct 27, 2022
487cb57
Made critically close alerts respect the mininumum alert separation (…
shanelenagh Oct 28, 2022
0140bcb
Added some comments on the new 'cylinder' checks for the base audible…
shanelenagh Oct 28, 2022
9283297
Tightened up the 'at' audio
shanelenagh Oct 28, 2022
d2906c2
Fixed a couple preference titles, and optimized preference retrieval …
shanelenagh Oct 28, 2022
b47bb38
Only retrieve closing alerts preferences if needed (small optimization)
shanelenagh Oct 29, 2022
796cac6
Put in default for vspeed to indicate not available (e.g., IO data in…
shanelenagh Oct 30, 2022
1c308ca
No reason this variable (set once) can't be final too
shanelenagh Oct 30, 2022
0535154
Moving synch code to outside of traffic handler loop, to prevent repe…
shanelenagh Oct 31, 2022
293805b
Restoring chirp file that was incorrectly removed
shanelenagh Oct 31, 2022
e75cb70
Moved var setting that was causing ref issues with lambda, prevending GC
shanelenagh Nov 1, 2022
2404cc3
1.) Added new full callsign traffic ID option (with new/refactored pr…
shanelenagh Nov 2, 2022
6b01901
More optimization of thread wait/notify synch; one preference spellin…
shanelenagh Nov 4, 2022
fea6190
Numerous optimizations and tweaks: 1.) much smarter wait/notify synch…
shanelenagh Nov 4, 2022
bd0e494
A few micro-optimizations (yeah, I know): 1.) properly use the volati…
shanelenagh Nov 13, 2022
cdc4eb3
Micro-optimization (yes, I know) and cleanup
shanelenagh Nov 14, 2022
a2f51a0
Micro-optimization (yes, I know) and cleanup
shanelenagh Nov 14, 2022
1970046
Made distance callout description more concise, to allow to fit bette…
shanelenagh Nov 15, 2022
8e5e68b
Adding filter for alerts that are to a traffic object with a callsign…
shanelenagh Nov 15, 2022
d0219eb
Made closing alert cancel entire alert if ultimate "closing time" is …
shanelenagh Nov 18, 2022
5a1edda
Made invocation of audible alerts far more efficient in cases of mult…
shanelenagh Nov 18, 2022
ce60ed3
Broke out numerical format from distance callout, as it applies to se…
shanelenagh Nov 30, 2022
d101917
Optimization: Move retrieval of ground traffic display properly outsi…
shanelenagh Nov 30, 2022
08378cf
Changed label of pref to plural for consistency with others
shanelenagh Nov 30, 2022
39e674b
Several preferences cleanup items (text conciseness/clarity, and defa…
shanelenagh Dec 1, 2022
5c6dc2d
Style, var naming, and commenting, with one access modifier restricti…
shanelenagh Dec 1, 2022
8b6cb40
Another pref verbiage conciseness change (for smaller screens)
shanelenagh Dec 1, 2022
149c5c1
Added missing preference glue for new number format preference
shanelenagh Dec 3, 2022
28c532e
Some cleanup (removed 2 dead methods, and access-restricted another)
shanelenagh Dec 3, 2022
ef57123
Corrected and cleaned up some ownship vertical speed code
shanelenagh Dec 3, 2022
2b8455e
Setting default for ADSB ground traffic display on location view for …
shanelenagh Dec 5, 2022
c567726
Changed from (the ICAO standard of) "decimal" to (the FAA standard of…
shanelenagh Dec 5, 2022
a006b78
Added new Alert Speaking Rate/Pitch feature
shanelenagh Dec 5, 2022
3ccdcc3
Shortened "within" sound clip a bit
shanelenagh Dec 5, 2022
3f12db3
Tweaked ADSB Ground Traffic Display preference verbiage
shanelenagh Dec 5, 2022
7df26ea
New unit tests for audible alert changes, paricularly low-level messa…
shanelenagh Dec 5, 2022
6230ef7
Removed dead code from audible alerts changes
shanelenagh Dec 5, 2022
a2d8d87
Restored old (but compile-failing) unit tests, along with Gradle depe…
shanelenagh Dec 5, 2022
4a38dc1
Added Ludicrous Fast speaking speed
shanelenagh Dec 7, 2022
7939f9c
Added try/catch blocks around free-form preferences, for safe default…
shanelenagh Dec 7, 2022
122e6d8
Update help.html
JohnW4SBA Jan 25, 2023
cf28e9d
10.2.6. updated help.
apps4av Jan 28, 2023
4da994c
fixed plate tagging
apps4av Feb 3, 2023
f3403b5
added USB out autopilot
apps4av Feb 25, 2023
307a23d
Merge pull request #491 from apps4av/master
apps4av Feb 26, 2023
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
8 changes: 4 additions & 4 deletions app/google-services.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,20 @@
},
"oauth_client": [
{
"client_id": "private_client_id",
"client_id": "954248734559-ssksg9m6vjn1tjqk4i4mv5jjk7pib1j9.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "private_key"
"current_key": "AIzaSyDL1ls9pyufkMpuSbLT7Zk4Zvspeita05A"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "private_client_id",
"client_id": "954248734559-ssksg9m6vjn1tjqk4i4mv5jjk7pib1j9.apps.googleusercontent.com",
"client_type": 3
}
]
Expand All @@ -37,4 +37,4 @@
}
],
"configuration_version": "1"
}
}
101 changes: 101 additions & 0 deletions app/src/main/java/com/ds/avare/content/ContentProviderHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,21 @@ public static Taf getTaf(Context ctx, String station) {
return taf;
}

/**
*
* @param taf
* @return
*/
public static void setTaf(Context ctx, Taf taf) {

ContentValues newValues = new ContentValues();

newValues.put(WeatherContract.TAF_STATION, taf.getStationId());
newValues.put(WeatherContract.TAF_TEXT, taf.getRawText());
newValues.put(WeatherContract.TAF_TIME, taf.getTime());
ctx.getContentResolver().insert(WeatherContract.CONTENT_URI_TAF, newValues);
}

/**
*
* @param station
Expand Down Expand Up @@ -194,6 +209,24 @@ public static Metar getMetar(Context ctx, String station) {
return metar;
}

/**
*
* @param metar
* @return
*/
public static void setMetar(Context ctx, Metar metar) {

ContentValues newValues = new ContentValues();

newValues.put(WeatherContract.METAR_STATION, metar.getStationId());
newValues.put(WeatherContract.METAR_TEXT, metar.getRawText());
newValues.put(WeatherContract.METAR_TIME, metar.getTime());
newValues.put(WeatherContract.METAR_FLIGHT_CATEGORY, metar.getFlightCategory());
newValues.put(WeatherContract.METAR_LATITUDE, metar.getLat());
newValues.put(WeatherContract.METAR_LONGITUDE, metar.getLon());
ctx.getContentResolver().insert(WeatherContract.CONTENT_URI_METAR, newValues);
}


/**
*
Expand Down Expand Up @@ -234,6 +267,29 @@ public static LinkedList<AirSigMet> getAirSigMets(Context ctx) {
return airsig;
}

/**
*
* @param a
* @return
*/
public static void setAirSigMet(Context ctx, AirSigMet a) {

ContentValues newValues = new ContentValues();

newValues.put(WeatherContract.AIRMET_TEXT, a.getRawText());
newValues.put(WeatherContract.AIRMET_TIME_FROM, a.getTimeFrom());
newValues.put(WeatherContract.AIRMET_TIME_TO, a.getTimeTo());
newValues.put(WeatherContract.AIRMET_POINTS, a.getPoints());
newValues.put(WeatherContract.AIRMET_MSL_MIN, a.getMinFt());
newValues.put(WeatherContract.AIRMET_MSL_MAX, a.getMaxFt());
newValues.put(WeatherContract.AIRMET_MOVEMENT_DIRECTION, a.getMovementDeg());
newValues.put(WeatherContract.AIRMET_MOVEMENT_SPEED, a.getMovementKt());
newValues.put(WeatherContract.AIRMET_HAZARD, a.getHazard());
newValues.put(WeatherContract.AIRMET_SEVERITY, a.getSeverity());
newValues.put(WeatherContract.AIRMET_TYPE, a.getReportType());
ctx.getContentResolver().insert(WeatherContract.CONTENT_URI_AIRMET, newValues);
}

/**
*
* @return
Expand Down Expand Up @@ -290,6 +346,24 @@ public int compare(Airep a1, Airep a2) {
return list;
}

/**
*
* @param a
* @return
*/
public static void setAirep(Context ctx, Airep a) {

ContentValues newValues = new ContentValues();

newValues.put(WeatherContract.PIREP_TEXT, a.getRawText());
newValues.put(WeatherContract.PIREP_TIME, a.getTime());
newValues.put(WeatherContract.PIREP_LONGITUDE, a.getLon());
newValues.put(WeatherContract.PIREP_LATITUDE, a.getLat());
newValues.put(WeatherContract.PIREP_TYPE, a.getReportType());

ctx.getContentResolver().insert(WeatherContract.CONTENT_URI_PIREP, newValues);
}


/**
*
Expand Down Expand Up @@ -339,6 +413,33 @@ public static WindsAloft getWindsAloft(Context ctx, double lon, double lat) {
return wa;
}

/**
*
* @param a
* @return
*/
public static void setWindsAloft(Context ctx, WindsAloft wa) {

ContentValues newValues = new ContentValues();

newValues.put(WeatherContract.WIND_STATION, wa.getStation());
newValues.put(WeatherContract.WIND_TIME, wa.getTime());
newValues.put(WeatherContract.WIND_LONGITUDE, wa.getLon());
newValues.put(WeatherContract.WIND_LATITUDE, wa.getLat());
newValues.put(WeatherContract.WIND_3K, wa.getW3k());
newValues.put(WeatherContract.WIND_6K, wa.getW6k());
newValues.put(WeatherContract.WIND_9K, wa.getW9k());
newValues.put(WeatherContract.WIND_12K, wa.getW12k());
newValues.put(WeatherContract.WIND_18K, wa.getW18k());
newValues.put(WeatherContract.WIND_24K, wa.getW24k());
newValues.put(WeatherContract.WIND_30K, wa.getW30k());
newValues.put(WeatherContract.WIND_34K, wa.getW34k());
newValues.put(WeatherContract.WIND_39K, wa.getW39k());

ctx.getContentResolver().insert(WeatherContract.CONTENT_URI_WIND, newValues);
}


/**
*
* @return
Expand Down
22 changes: 22 additions & 0 deletions app/src/main/java/com/ds/avare/content/DataSource.java
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,28 @@ public LinkedList<AirSigMet> getAirSigMets() {
return ContentProviderHelper.getAirSigMets(mContext);
}


public void setTaf(Taf taf) {
ContentProviderHelper.setTaf(mContext, taf);
}

public void setMetar(Metar metar) {
ContentProviderHelper.setMetar(mContext, metar);
}

public void setAirep(Airep airep) {
ContentProviderHelper.setAirep(mContext, airep);
}

public void setWindsAloft(WindsAloft wa) {
ContentProviderHelper.setWindsAloft(mContext, wa);
}

public void setAirSigMet(AirSigMet asm) {
ContentProviderHelper.setAirSigMet(mContext, asm);
}


public LinkedList<Cifp> findProcedure(String name, String approach) {
return ContentProviderHelper.findProcedure(mContext, name, approach);
}
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/com/ds/avare/content/WeatherContract.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ public static Uri buildMetarUri(long id){
public static final String METAR_TIME = "issue_time";
public static final String METAR_STATION = "station_id";
public static final String METAR_FLIGHT_CATEGORY = "flight_category";
public static final String METAR_LATITUDE = "latitude";
public static final String METAR_LONGITUDE = "longitude";

public static final String BASE_WIND = "wa";
public static final Uri CONTENT_URI_WIND = Uri.withAppendedPath(AUTHORITY_URI, BASE_WIND);
Expand Down
76 changes: 76 additions & 0 deletions app/src/main/java/com/ds/avare/content/WeatherDatabaseHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

import com.ds.avare.utils.WeatherHelper;

/**
* Created by zkhan on 3/13/17.
*/
Expand All @@ -18,6 +20,80 @@ public WeatherDatabaseHelper(Context context, String folder) {

@Override
public void onCreate(SQLiteDatabase db) {

try {
db.execSQL(
"CREATE TABLE " + WeatherContract.TABLE_AIRMET + " (" +
WeatherContract.AIRMET_TEXT + " TEXT, " +
WeatherContract.AIRMET_TIME_FROM + " TEXT, " +
WeatherContract.AIRMET_TIME_TO + " TEXT, " +
WeatherContract.AIRMET_POINTS + " TEXT, " +
WeatherContract.AIRMET_MSL_MIN + " TEXT, " +
WeatherContract.AIRMET_MSL_MAX + " TEXT, " +
WeatherContract.AIRMET_MOVEMENT_DIRECTION + " TEXT, " +
WeatherContract.AIRMET_MOVEMENT_SPEED + " TEXT, " +
WeatherContract.AIRMET_HAZARD + " TEXT, " +
WeatherContract.AIRMET_SEVERITY + " TEXT, " +
WeatherContract.AIRMET_TYPE + " TEXT);");
}
catch (Exception e) {
}

try {
db.execSQL(
"CREATE TABLE " + WeatherContract.TABLE_PIREP + " (" +
WeatherContract.PIREP_TEXT + " TEXT, " +
WeatherContract.PIREP_TIME + " TEXT, " +
WeatherContract.PIREP_LONGITUDE + " FLOAT, " +
WeatherContract.PIREP_LATITUDE + " FLOAT, " +
WeatherContract.PIREP_TYPE + " TEXT);");
}
catch (Exception e) {
}

try {
db.execSQL(
"CREATE TABLE " + WeatherContract.TABLE_TAF + " (" +
WeatherContract.TAF_TEXT + " TEXT, " +
WeatherContract.TAF_TIME + " TEXT, " +
WeatherContract.TAF_STATION + " TEXT UNIQUE ON CONFLICT REPLACE);");
}
catch (Exception e) {
}

try {
db.execSQL(
"CREATE TABLE " + WeatherContract.TABLE_METAR + " (" +
WeatherContract.METAR_TEXT + " TEXT, " +
WeatherContract.METAR_TIME + " TEXT, " +
WeatherContract.METAR_STATION + " TEXT UNIQUE ON CONFLICT REPLACE, " +
WeatherContract.METAR_FLIGHT_CATEGORY + " TEXT, " +
WeatherContract.METAR_LONGITUDE + " FLOAT, " +
WeatherContract.METAR_LATITUDE + " FLOAT);");
}
catch (Exception e) {
}

try {
db.execSQL(
"CREATE TABLE " + WeatherContract.TABLE_WIND + " (" +
WeatherContract.WIND_STATION + " TEXT, " +
WeatherContract.WIND_TIME + " TEXT, " +
WeatherContract.WIND_LONGITUDE + " FLOAT, " +
WeatherContract.WIND_LATITUDE + " FLOAT, " +
WeatherContract.WIND_3K + " TEXT, " +
WeatherContract.WIND_6K + " TEXT, " +
WeatherContract.WIND_9K + " TEXT, " +
WeatherContract.WIND_12K + " TEXT, " +
WeatherContract.WIND_18K + " TEXT, " +
WeatherContract.WIND_24K + " TEXT, " +
WeatherContract.WIND_30K + " TEXT, " +
WeatherContract.WIND_34K + " TEXT, " +
WeatherContract.WIND_39K + " TEXT);");
}
catch (Exception e) {
}

}

@Override
Expand Down
Loading