Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alt beacon master #4

Open
wants to merge 215 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
5cb31f3
Fix javadoc generation so it uses Doclava and doesn't fail
davidgyoung Mar 5, 2018
ad062a5
Allow beacon service to run as foreground service if configured in ma…
davidgyoung Mar 25, 2018
3a141d2
add warning about disabling scan jobs on Android 8+
davidgyoung Apr 25, 2018
8bcb46c
Fix runtime crashes reported from the field.
davidgyoung Apr 25, 2018
1ed1314
Add warning about setting short scan periods on Android 8
davidgyoung Apr 27, 2018
b18e3d8
Switch to using programmatic configuration of optional foreground ser…
davidgyoung May 5, 2018
60153ac
Adds connectable property to BeaconTransmitter
mharper May 8, 2018
95a60e0
Updates CHANGELOG
mharper May 9, 2018
55172f2
revise changelog to show change against developmet
davidgyoung May 10, 2018
07d03e7
Merge pull request #683 from AltBeacon/connectable
davidgyoung May 10, 2018
6ccbaec
update changelog
davidgyoung May 16, 2018
058a970
Merge branch 'master' into warn-about-short-scan-periods
davidgyoung May 16, 2018
5662ef5
Merge branch 'master' into fix-medic-crashes
davidgyoung May 16, 2018
cfe2458
update changelog
davidgyoung May 16, 2018
28b7607
Merge branch 'master' into warn-of-scan-job-disabling-consequences
davidgyoung May 16, 2018
25f7205
update changelog
davidgyoung May 16, 2018
6abb648
Merge pull request #651 from AltBeacon/fix-javadoc
davidgyoung May 16, 2018
1272331
Merge pull request #677 from AltBeacon/warn-about-short-scan-periods
davidgyoung May 16, 2018
5db18a8
Merge pull request #675 from AltBeacon/fix-medic-crashes
davidgyoung May 16, 2018
a906104
Merge branch 'master' into warn-of-scan-job-disabling-consequences
davidgyoung May 16, 2018
e379012
update changelog for 2.14 release
davidgyoung May 17, 2018
c590020
Merge pull request #687 from AltBeacon/release-2.14
davidgyoung May 17, 2018
1b50ab9
Merge pull request #674 from AltBeacon/warn-of-scan-job-disabling-con…
davidgyoung May 17, 2018
734632e
Add missing changelog entry for latest release
davidgyoung May 17, 2018
13d2c5e
Merge branch 'master' into support-foreground-service
davidgyoung Jun 1, 2018
fe00158
bump SDK to 27 along with build tools
davidgyoung Jun 1, 2018
a813e2c
only add empty scan filter on 8.1+ to avoid problems on older devides
davidgyoung Jun 1, 2018
a5ff0e2
bump SDK to 27 along with build tools
davidgyoung Jun 1, 2018
c9daa84
Try to fix broken circle-ci build by accepting license
davidgyoung Jun 1, 2018
aa691d2
Try to fix broken circle-ci build by accepting license
davidgyoung Jun 1, 2018
12b7b77
try to fix circle-ci by accepting license on sdk 27
davidgyoung Jun 1, 2018
f1c2165
try to fix circle-ci by accepting license on sdk 27
davidgyoung Jun 1, 2018
b8c66f5
update changelog. protect against NPE on reading manifest metadata
davidgyoung Jun 5, 2018
07e63d6
update change log
davidgyoung Jun 5, 2018
09aa21d
Invert conditional logic for logging "disable ScanJob" warning
mannodermaus Jun 8, 2018
857b9bf
Merge pull request #693 from AltBeacon/scan-filters-only-with-8.1
davidgyoung Jun 11, 2018
8453645
Merge branch 'master' into mannodermaus-fix/disable-scheduled-scan-wa…
davidgyoung Jun 11, 2018
5152595
update changelog
davidgyoung Jun 11, 2018
b298024
Merge branch 'mannodermaus-fix/disable-scheduled-scan-warning'
davidgyoung Jun 11, 2018
6b4a829
cancel schedule jobs if job schedule in use afer last consumer unbound
davidgyoung Jun 11, 2018
992cae1
Fix crash parsing malformed Eddystone-URL packet with negative URL le…
davidgyoung Jun 13, 2018
d9a7fb0
add changelog
davidgyoung Jun 13, 2018
17f2463
Merge pull request #703 from AltBeacon/fix-crash-caused-by-malformed-…
davidgyoung Jun 13, 2018
30eaa69
Merge branch 'master' into support-foreground-service
davidgyoung Jun 22, 2018
0f8e9fb
Merge pull request #663 from AltBeacon/support-foreground-service
davidgyoung Jul 4, 2018
b25da19
changelog updated for 2.15 release
davidgyoung Jul 4, 2018
9c14a6a
Merge pull request #709 from AltBeacon/release-2.15
davidgyoung Jul 4, 2018
c287043
Merge branch 'master' into fix-unbind-for-job-scheduler
davidgyoung Jul 5, 2018
d89f7c1
update changelog
davidgyoung Jul 5, 2018
6a7ac2c
Merge pull request #702 from AltBeacon/fix-unbind-for-job-scheduler
davidgyoung Jul 5, 2018
1b560f2
Fix NPE on RangedBeacon per #638
davidgyoung Aug 2, 2018
66a1baa
Add Changelog entry
davidgyoung Aug 2, 2018
0534328
Fix PR number in changelog
davidgyoung Aug 2, 2018
90513d2
Protect agains NPE in finalizeBeacons
davidgyoung Aug 3, 2018
2305a30
Fix Android 8 blocking of BeaconIntentProcessor when using foreground…
davidgyoung Aug 11, 2018
a24c192
update changelog
davidgyoung Aug 11, 2018
5a55918
Replace deprecated compile in README
paolorotolo Aug 13, 2018
06c2833
Merge pull request #722 from paolorotolo/patch-1
davidgyoung Aug 13, 2018
be2e811
Address #701 with catch of excpetion thrown by Android internals
davidgyoung Aug 15, 2018
51f3acd
Merge branch 'master' into fix-android-8-foreground-service-intent-bl…
davidgyoung Aug 19, 2018
57f4df8
Merge branch 'master' into catch-runtime-exception-stopping-scan
davidgyoung Sep 1, 2018
faee403
add changelog entry
davidgyoung Sep 1, 2018
dca3c6f
Merge pull request #724 from AltBeacon/catch-runtime-exception-stoppi…
davidgyoung Sep 1, 2018
13dcd91
Merge branch 'master' into fix-android-8-foreground-service-intent-bl…
davidgyoung Sep 1, 2018
cbda519
Merge branch 'master' into fix-ranged-beacon-null-pointer
davidgyoung Sep 1, 2018
1dd7545
Merge pull request #720 from AltBeacon/fix-android-8-foreground-servi…
davidgyoung Sep 1, 2018
9a1361d
Merge branch 'master' into fix-ranged-beacon-null-pointer
davidgyoung Sep 1, 2018
edee7c4
Merge pull request #716 from AltBeacon/fix-ranged-beacon-null-pointer
davidgyoung Sep 1, 2018
ff5ecdd
update changelog for 2.15.1 release
davidgyoung Sep 1, 2018
6bfc1f6
allow simulated beacons again, broken after a previous change to chec…
davidgyoung Sep 9, 2018
65ca180
Fix leaked NotificationProcessor registrations caused by binding and …
davidgyoung Oct 3, 2018
ccb2071
Start foreground service in a way supported on Android 8
davidgyoung Oct 3, 2018
c1ebee5
add changelog entry
davidgyoung Oct 3, 2018
af8298e
Merge pull request #745 from AltBeacon/fix-leaked-notification-processor
davidgyoung Oct 3, 2018
eed4b8f
Fix leaked NotificationProcessor in ScanJobsScheduler when scheduling…
adrinieto Oct 4, 2018
75f756f
explicitly bind to BeaconService even if starting in foreground for A…
davidgyoung Oct 5, 2018
94300d5
update changelog
davidgyoung Oct 8, 2018
866063e
Update BeaconManager.java
davidgyoung Oct 10, 2018
58cbb5f
Prevent crashes caused by OutOfMemoryError when Android cannot alloca…
davidgyoung Oct 10, 2018
e2aa6e0
update changelog
davidgyoung Oct 10, 2018
022ec3e
Merge branch 'master' into fix-start-foreground-service-at-boot
davidgyoung Oct 10, 2018
3a68941
add changelog
davidgyoung Oct 10, 2018
d8ca3a6
Merge branch 'fix-start-foreground-service-at-boot' of https://github…
davidgyoung Oct 10, 2018
cd7001c
Merge pull request #746 from AltBeacon/fix-start-foreground-service-a…
davidgyoung Oct 10, 2018
3d199c6
Merge branch 'master' into fix-simulator
davidgyoung Oct 10, 2018
4eff1f9
uncomment code accidentally committed
davidgyoung Oct 10, 2018
8e3fac5
Adding auto-generated CircleCI 2.0 config file
davidgyoung Oct 10, 2018
1ee61ee
remove android upgrade from circle config
davidgyoung Oct 10, 2018
109ecb3
change to modified sample circleci config
davidgyoung Oct 10, 2018
c825bc5
Merge pull request #752 from AltBeacon/circleci-20-test
davidgyoung Oct 10, 2018
a520e60
Merge branch 'master' into fix-simulator
davidgyoung Oct 10, 2018
02471db
Merge branch 'master' into fix-simulator
davidgyoung Oct 10, 2018
d17ed42
add explicit refrence to android test library
davidgyoung Oct 10, 2018
992d9f0
update changelog
davidgyoung Oct 17, 2018
1990ba7
Merge pull request #751 from AltBeacon/fix-simulator
davidgyoung Oct 17, 2018
7e16c69
Merge pull request #750 from AltBeacon/fix-android-8-out-of-memory-crash
davidgyoung Oct 17, 2018
2d83782
update changelog for release
davidgyoung Oct 17, 2018
4c6ef72
Fix bug preventing callbacks after unbind/bind when using scan jobs.
davidgyoung Nov 5, 2018
2aca42c
update changelog
davidgyoung Nov 5, 2018
7f5ff5b
Fix secondary crash of library caused by primary problem of being una…
davidgyoung Nov 6, 2018
c2ec386
update changelog
davidgyoung Nov 6, 2018
e0d5b44
Attempt to make service stopping more reliable by manually calling st…
davidgyoung Nov 6, 2018
099e201
disable BluetoothCrashResolver if Android version is 5.0 or higher
davidgyoung Nov 7, 2018
1e9c4a5
update changelog
davidgyoung Nov 7, 2018
d7b0884
Attempt to prevent crash on stopping foreground service by moving up …
davidgyoung Nov 8, 2018
7dbb6b3
update changelog
davidgyoung Nov 8, 2018
6e7e5f7
Protect against a NPE on iteration of regions
davidgyoung Nov 10, 2018
7acce45
update changelg
davidgyoung Nov 10, 2018
7df874d
Merge pull request #766 from AltBeacon/fix-npe-on-cycled-le-scanner
davidgyoung Nov 10, 2018
4393793
Merge branch 'master' into fix-rebind-with-scan-job
davidgyoung Nov 10, 2018
446ccc9
Fix #780: NullPointerException on startScan()
adrinieto Nov 21, 2018
870affc
update changelog
davidgyoung Nov 22, 2018
32d3209
Merge branch 'master' into disable-crash-resolver-above-android-k
davidgyoung Nov 22, 2018
6c266a6
Merge pull request #768 from AltBeacon/disable-crash-resolver-above-a…
davidgyoung Nov 22, 2018
953d11c
Merge pull request #765 from AltBeacon/fix-rebind-with-scan-job
davidgyoung Nov 22, 2018
ff94def
Merge branch 'master' into make-service-stop-more-reliable
davidgyoung Nov 22, 2018
c9c8419
Merge pull request #767 from AltBeacon/make-service-stop-more-reliable
davidgyoung Nov 22, 2018
e5c2618
Fix thread leak by terminating ScanHelper executor threads when stopp…
davidgyoung Nov 24, 2018
cccb1f5
update changelog
davidgyoung Nov 24, 2018
81da41a
Merge branch 'master' into fix-thread-leak
davidgyoung Nov 24, 2018
57ee579
Merge pull request #785 from AltBeacon/fix-thread-leak
davidgyoung Nov 28, 2018
9dcd2f6
Fixed null pointer from un-instantiated BluetoothCrashResolver use in…
mportersurge Dec 3, 2018
ac99bea
Merge pull request #790 from becoinc/fix-thread-leak-convene
davidgyoung Dec 3, 2018
e8763d4
Fix broken samsung screen off scans on 8.1+ by adding non-empty scan …
davidgyoung Dec 10, 2018
3626ac2
update changelog
davidgyoung Dec 11, 2018
747f014
update changelog
davidgyoung Dec 11, 2018
83b8a78
Merge branch 'master' of https://github.com/AltBeacon/android-beacon-…
davidgyoung Dec 11, 2018
97dc195
Merge branch 'master' into fix-samsung-screen-off-scans
davidgyoung Dec 11, 2018
1795953
Merge pull request #798 from AltBeacon/fix-samsung-screen-off-scans
davidgyoung Dec 11, 2018
fbd67f5
update changelog for 2.15.3 release
davidgyoung Dec 11, 2018
9eb71fd
Merge branch 'fix-thread-leak'
davidgyoung Dec 11, 2018
68c0411
Fix changelog for merge not put into 2.15.3 and put into 2.15.4
davidgyoung Dec 11, 2018
ca6fd02
Fix reversed logic on service shutdown preventing cleanup
davidgyoung Dec 20, 2018
1414c04
Bump up to gradle-4.10.3. It goes with another change in gradle files.
TonyTangAndroid Dec 20, 2018
6b9ab4e
Bump to Android Studio to 3.2.1 and build-tools to 28.0.3
TonyTangAndroid Dec 20, 2018
a5242f8
Support these version upgrade hint because I do not know a way to
TonyTangAndroid Dec 20, 2018
7c26604
Bump up gradle to 4.1.
TonyTangAndroid Dec 20, 2018
27a1acf
Fix logger issues that is rooted from ASOP.
TonyTangAndroid Dec 20, 2018
e58a8b1
use google rather than http url
TonyTangAndroid Dec 20, 2018
00070c2
Unify the target API. BTW, MonitoringStatusTest.java is a flaky test.
TonyTangAndroid Dec 20, 2018
9f75bd0
update changelog
davidgyoung Dec 22, 2018
87a1389
Merge branch 'master' of https://github.com/UsherAndroid/android-beac…
davidgyoung Jan 7, 2019
8c89de7
Fix intermittent failures on MonitoringStatusTest by clearly setting …
davidgyoung Jan 9, 2019
3ed7076
update changelog
davidgyoung Jan 9, 2019
d027d2b
Organize the build script (#4)
TonyTangAndroid Jan 10, 2019
fa3464d
Update the version info in readme.
Jan 11, 2019
b9876b4
Merge pull request #811 from TonyTangAndroid/clean_up
davidgyoung Jan 11, 2019
32b2382
Change RegionBootstrap method signature and separate the context from…
Feb 5, 2019
efb912b
Simplify context usage and update javadoc
Feb 6, 2019
6334c52
ScanHelper.java NullPointerException Handling
kababu007 Feb 7, 2019
33bb9d9
log text change
Feb 7, 2019
12296a6
updating the latest file
Feb 8, 2019
67a3494
updated changelog
Feb 9, 2019
b168978
Revise changelog entry to match conventions
davidgyoung Feb 10, 2019
3a97a7f
Update CHANGELOG.md
davidgyoung Feb 10, 2019
69eda0d
Merge pull request #824 from kababu007/kababu007-patch-nullpointexcep…
davidgyoung Feb 10, 2019
c5425b2
Merge branch 'regionbootstrap-context' of https://github.com/tekinalp…
davidgyoung Feb 10, 2019
467f3a0
update changelog
davidgyoung Feb 10, 2019
e3bb7ac
Merge branch 'tekinalper-regionbootstrap-context'
davidgyoung Feb 10, 2019
f979f86
update changelog for release 2.16
davidgyoung Feb 10, 2019
6caace1
update circle ci commands to accept license to fix broken circleci build
davidgyoung Feb 10, 2019
dad40c0
try using y vs yes to accept sdk licenses in circleci
davidgyoung Feb 10, 2019
c7b59a4
try double piping to true after license acceptance to get around stra…
davidgyoung Feb 10, 2019
756a70f
Add missing monitor notifiers to RegionBootstrap, preventing callback…
davidgyoung Feb 10, 2019
603d2a7
Merge pull request #827 from AltBeacon/fix-broken-region-bootstrap
davidgyoung Feb 10, 2019
40cb0bf
Don't cal startForegroundService if we have already bound to the serv…
davidgyoung Feb 10, 2019
6f1f703
update changelog
davidgyoung Feb 10, 2019
091d499
add missing changelog
davidgyoung Feb 10, 2019
411d058
Merge branch 'master' into fix-crash-on-starting-foreground-service
davidgyoung Feb 10, 2019
9f5a6a6
Merge pull request #828 from AltBeacon/fix-crash-on-starting-foregrou…
davidgyoung Feb 10, 2019
9e2d42d
update changelog for 2.16.1 release
davidgyoung Feb 10, 2019
378e8e2
Fix buildscript for release builds and upload to jcenter
davidgyoung Feb 10, 2019
e18f6b5
Merge pull request #829 from AltBeacon/fix-buildscript-for-release
davidgyoung Mar 7, 2019
b84498b
Fix failed callbacks by registering local broadcast receiver at job s…
davidgyoung Mar 9, 2019
15e9984
update change log
davidgyoung Mar 18, 2019
ee2b37c
Merge pull request #842 from AltBeacon/fix-failed-callbacks
davidgyoung Mar 18, 2019
ae237fd
cancel scheduled jobs as soon as setEnableScheduledJobs is called wit…
stephenruda Mar 22, 2019
9763d24
update changelogZZ
davidgyoung Apr 4, 2019
3fe2c6a
Merge branch 'stephenruda-cancel-scheduled-jobs-immediately'
davidgyoung Apr 4, 2019
76a3643
Only apply Samsung-specific non-empty scan filters when the screen is…
Apr 7, 2019
f4f0c09
Merge branch 'master' into protect-against-npe-on-iteration2
davidgyoung Apr 19, 2019
93ac367
Fix incorrectly merged CHANGELOG
davidgyoung Apr 19, 2019
f7f3a32
Merge pull request #770 from AltBeacon/protect-against-npe-on-iteration2
davidgyoung Apr 19, 2019
d3c1490
Move ScanJob startup work to non-UI thread in case of hang on state r…
davidgyoung May 15, 2019
9104cb2
Merge pull request #855 from mannodermaus/feature/samsung81-fix-scree…
davidgyoung May 23, 2019
a5ba01b
update changelog for last merge
davidgyoung May 23, 2019
eca0dea
Fix thread leak caused by scheduling ScanJob when no consumers bound …
davidgyoung May 28, 2019
1807398
update changelog
davidgyoung May 29, 2019
967c58d
Prevent crashes on alarms going of when a different user active by ca…
davidgyoung May 29, 2019
139545e
Merge pull request #878 from AltBeacon/fix-restore-hang-on-ui-thread
davidgyoung May 29, 2019
7d346db
Merge pull request #885 from AltBeacon/fix-unbound-thread-leak
davidgyoung May 29, 2019
720dcaa
Merge pull request #886 from AltBeacon/fix-alarm-crash-on-user-switch
davidgyoung May 29, 2019
e9ef5dd
update changelog for release
davidgyoung May 29, 2019
826dccd
Fix thread leak when monitoring/ranging 0 regions and changes FG stat…
davidgyoung May 30, 2019
4602817
update changelog
davidgyoung May 30, 2019
31a235a
Protect against NPE on failed restore of ScanState
davidgyoung Jun 4, 2019
464e919
Fix IllegalArgumentException from ending user switch watching
davidgyoung Jun 4, 2019
9f1072c
catch NPE in BluetoothMedic#runScanTest
VanHoangTran Jun 5, 2019
12785dd
add changelog
davidgyoung Jun 5, 2019
bdd68b9
protect against npe with ScanHelper when ScanJob thread is slow to start
davidgyoung Jun 5, 2019
99606c2
update changelog
davidgyoung Jun 5, 2019
b1a46d5
update changelog
davidgyoung Jun 5, 2019
4c75e26
Merge branch 'fix-npe-on-failed-scan-state-restore' into 2.16.3-beta1
davidgyoung Jun 5, 2019
0001342
Merge branch 'job-scheduler-thread-leaks2' into 2.16.3-beta1
davidgyoung Jun 5, 2019
bebca7a
Merge branch 'fix-iae-from-user-switch-watching' into 2.16.3-beta1
davidgyoung Jun 5, 2019
2bc0de0
Attempt to fix crash when ScanJob starts scanning right after it stop…
davidgyoung Jun 25, 2019
9f7950b
WIP Gradle 5 upgrade. Remove eclipse tasks. Change JavaDoc plugin.
davidgyoung Jun 29, 2019
d7b5d2d
Fix additional crash reported in #904
davidgyoung Jul 3, 2019
4d58053
better protect against race condition with onStartJob/onStopJob with …
davidgyoung Jul 5, 2019
e20d518
Fix gradle deprecation warning by using snapshot javadoc plugin
davidgyoung Jul 5, 2019
57a5f1c
Merge pull request #900 from AltBeacon/gradle-5
davidgyoung Jul 5, 2019
ffdfe84
Merge branch 'master' into fix-crash-on-job-stop
davidgyoung Jul 5, 2019
2bb4773
Correct broken synchronization in last commit leading to improper shu…
davidgyoung Jul 8, 2019
b3129cf
Merge pull request #896 from AltBeacon/fix-crash-on-job-stop
davidgyoung Jul 9, 2019
6838cbf
Fixing merge conflict
BobbyHoltzner Jul 23, 2019
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
33 changes: 33 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
version: 2
jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-25-alpha
environment:
JVM_OPTS: -Xmx3200m
steps:
- run: yes | sdkmanager --licenses || true
- run: yes | sdkmanager --update || exit 0
- checkout
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "./build.gradle" }}
# - run:
# name: Chmod permissions #if permission for Gradlew Dependencies fail, use this.
# command: sudo chmod +x ./gradlew
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "./build.gradle" }}
- run:
name: Run Tests
command: ./gradlew test
- store_artifacts:
path: ./build/reports
destination: reports
- store_test_results:
path: ./build/test-results
# See https://circleci.com/docs/2.0/deployment-integrations/ for deploy examples
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
language: java

jdk: oraclejdk7
jdk: oraclejdk8

before_install:
- export TERM=dumb
- cp gradle.properties.dist gradle.properties
- sudo apt-get install -qq libstdc++6:i386 lib32z1
- export COMPONENTS=build-tools-19.0.3,android-19,extra-android-m2repository
- export COMPONENTS=build-tools-28.0.3,android-28,extra-android-m2repository
- curl -L https://raw.github.com/embarkmobile/android-sdk-installer/version-1/android-sdk-installer | bash /dev/stdin --install=$COMPONENTS
- source ~/.android-sdk-installer/env
install:
Expand Down
83 changes: 83 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,86 @@
### Development

- Fix thread leak with 0 regions and settings applied, (#888, David G. Young)
- Prevent NPE when ScanState restore hangs or ScanJob thread is slow to start (#890, David G. Young)
- Prevent crash from IAE when ending scan cycle (#891, David G. Young)
- Prevent NPE in BluetoothMedic#runScanTest. (#893 Van Hoang Tran)

### 2.16.2 / 2019-05-29

- Prevent crash on alarms going off with a different user active (#886, David G. Young)
- Fix thread leak caused by scheduling ScanJob when no consumers bound. (#885, David G. Young)
- Protect against a NPE when changing ranged regions. (#770, David G. Young)
- Fix intermittent failed ranging/monitoring callbacks in race conditions. (#842, David G. Young)
- Prevent duplicate callbacks on Android 8+ with a foreground service by stopping ScanJob. (#847, Stephen Ruda)
- Only apply Samsung-specific non-empty scan filters when the screen is off (#855, Marcel Schnelle)

### 2.16.1 / 2019-02-10

- Fix crash on starting scanning with a forground service configured when multiple BeaconConsumer
instances bound. (#828, David G. Young)
- Fix broken RegionBoostrap callbacks caused by change in previous release (#829, David G. Young)

### 2.16 / 2019-02-10

- New Region Bootstrap constructors allowing separate context and notifir (#821, Alper Tekin)
- Fix intermittent crash caused by internal Android NPE (#824, kababu007)
- Update gradle and robolectric (#805, Tony Tang)
- Fix problem on service shutdown that leaked threads and left scanning on (#804, David G. Young)

### 2.15.4 / 2018-12-11

- Fix crash on BluetoothCrashResolver (#790, Michael Porter)

### 2.15.3 / 2018-12-11

- Samsung screen-off scans on Android 8.1+ fixed. (#798, David G. Young)
- Fix bug preventing callbacks after unbind/bind when using ScanJobs. (#765, David G. Young)
- Prevent NPE on access CycledLEScanner after OOM on Android 8+. (#766, David G. Young)
- Make switching back and forth between a foreground service and scan jobs more reliable
(#767, David G. Young)
- Disable BluetoothCrashResolver on Android 5+ as a it is not helpful can can create log noise.
(#768, David G. Young)
- Prevent NPE on start scan. (#780, Adrián Nieto Rodríguez)
- Fix thread leak leading to OOM Exceptions when using ScanJobs (#785, David G. Young)

### 2.15.2 / 2018-10-17

- Prevent infrequent out of memory crashes on Android 8+ (#750 Pappas Christodoulos, David G. Young)
- Prevent duplicate ranging/monitoring callbacks casued by bind/unbind with a service
(#748, Adrián Nieto Rodríguez, #745, David G. Young)
- Allow starting foreground service at boot (#746, David G. Young)
- Re-enable broken BeaconSimulator (#751, David G. Young)

### 2.15.1 / 2018-09-01

- Prevent crash caused by internal Android exception when stopping scanning (#724, David G. Young)
- Fix Android 8 crashing apps on background monitoring/ranging data delivery (#720, David G. Young)
- Fix intermittent NPE on ranging beacons (#716, Federico Bertoli, David G. Young)
- Stop running scheduled jobs to do scans after last consumer unbound. (#702, David G. Young)

### 2.15 / 2018-07-04

Enhancements:
- Optional foreground beacon scanning service for faster background detections on Android 8+
(#663, David G. Young)

Bug Fixes:
- Fixes inability to detect on some 5.x Samsung Devices without scan filters. (#693, David G. Young)
- Fix inverted logic for "disable ScanJob" warning (#700, Marcel Schnelle)
- Fix crash on scanning an Eddystone-URL packet with a negative-length URL. (#703, David G. Young)

### 2.14 / 2018-05-17

Enhancements:

- Add warnings about disabling scheduled scan jobs on Android 8+ (#674, David G. Young)
- Add warning about setting short scan periods on Android 8 (#677, David G. Young)
- BeaconTransmitter advertisements may be configured as connectable (#683, Michael Harper)

Bug Fixes:
- Fix crashes of BluetoothMedic caused by Bluetooth being turned off (#675, David G. Young)
- Fix flawed in BeaconManager.isBound method on Android 8 (#655, David G. Young)

### 2.13.1 / 2018-03-05

[Full Changelog](https://github.com/AltBeacon/android-beacon-library/compare/2.13.1...2.13)
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ to use the JCenter Repository
```groovy
dependencies {
...
compile 'org.altbeacon:android-beacon-library:${altbeacon.version}'
implementation 'org.altbeacon:android-beacon-library:${altbeacon.version}'
...
}
```
Expand All @@ -58,14 +58,14 @@ replacing `${altbeacon.version}` with the version you wish to use.
## How to build this Library

This project uses an AndroidStudio/gradle build system and is known working with Android Studio
2.1 and Gradle 2.2.1
3.4.1 and Gradle 5.1.1

Key Gradle build targets:

./gradlew test # run unit tests
./gradlew build # development build
./gradlew release -Prelease # release build
./gradlew generatereleaseJavadoc -Prelease
./gradlew generateReleaseJavadoc

## License

Expand Down
176 changes: 15 additions & 161 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,176 +1,30 @@
ext {
isSnapshot = !project.hasProperty('release')
isSnapCi = System.getenv('SNAP_CI') != null
isSnapPullRequest = System.getenv('SNAP_PULL_REQUEST_NUMBER') != null
}

/*
* Gets the version name from the latest Git tag
*/
def getVersionName = {
def stdout = new ByteArrayOutputStream()
try {
exec {
commandLine 'git', 'describe', '--tags'
standardOutput = stdout
}
return stdout.toString().trim()
}
catch (e) {
println("Can't get version from git: " + e);
return "adhoc"
}
}

buildscript {
repositories {
google()
jcenter()
maven {
url 'https://maven.google.com'
}
maven {
url 'https://dl.google.com/dl/android/maven2/'
mavenCentral()
repositories {
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
}

dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
classpath 'com.android.tools.build:gradle:3.4.1'
//noinspection GradleDependency
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.1'
//noinspection GradleDependency
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:3.0.3'
// The 3.0 version of this plugin does not support Gradle 5, The latest source does support
// Grale 5. So we are using a snapshot until the 4.0 version is released.
//classpath "com.vanniktech:gradle-android-javadoc-plugin:0.3.0"
dependencies {
classpath "com.vanniktech:gradle-android-javadoc-plugin:0.4.0-SNAPSHOT"
}
}
}

apply plugin: 'com.android.library'

apply from: 'gradle/eclipse.gradle'

allprojects {
version = "${getVersionName()}${isSnapshot == true ? "-SNAPSHOT" : ""}"
group = "org.altbeacon"

repositories {
google()
jcenter()
maven {
url 'https://maven.google.com'
}
maven {
url 'https://dl.google.com/dl/android/maven2/'
}
}
}

android {
compileSdkVersion 26
buildToolsVersion '26.0.2'

defaultConfig {
// Unfortunately 'com.android.support:appcompat-v7:26.0.0'
// requires minSdkVersion 14, forcing a bump verson minSdkVersion 7
// But since only 0.8% of Android devices have < SDK 14 as of Une 2017, this will become
// the new min version for this library in order to target Android O
minSdkVersion 14
targetSdkVersion 26
versionCode 1
versionName version
consumerProguardFiles 'proguard-rules.pro'
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

compileOptions {
encoding "UTF-8"
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

lintOptions {
abortOnError false
}

packagingOptions {
exclude 'LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
}
}

dependencies {
compile fileTree ( dir: 'libs', include: ['*.jar'] )
compile 'com.android.support:appcompat-v7:26.0.0'
compile 'com.android.support:support-annotations:26.0.0'

testCompile('junit:junit:4.12') {
exclude group: 'org.hamcrest'
}
testCompile('org.hamcrest:hamcrest-junit:2.0.0.0') {
exclude group: 'junit'
}
testCompile('com.squareup:fest-android:1.0.+@aar')
testCompile('org.robolectric:robolectric:3.0') {
exclude group: 'junit'
}
testCompile('org.mockito:mockito-core:1.10.19') {
exclude group: 'org.hamcrest'
}
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
exclude group: 'org.hamcrest'
})
androidTestCompile 'org.apache.commons:commons-math3:3.6.1'
}

apply plugin: 'idea'

idea {
module {
testOutputDir = file('build/test-classes/debug')
}
}

task renameAarForRelease(type: Copy, dependsOn: build) {
description = "Rename the aar for easy release publishing"

from "$buildDir/outputs/aar/" //${project.name}-release.aar
into "$buildDir/outputs/aar/" //${project.name}-${project.version}.aar"
include "${project.name}-release.aar"
rename { String fileName ->
fileName = "${project.name}-${project.version}.aar"
}
}

task distribution(dependsOn: [bundleEclipse, build, clean, renameAarForRelease]) << {
println "Building with version=$version"
}

task release(dependsOn: 'distribution') << {
println('Doing release build')
}

android.libraryVariants.all { variant ->

task("generate${variant.name}Javadoc", type: Javadoc) {
title = "Android Beacon Library $version API"
description "Generates Javadoc for $variant.name."
source = variant.javaCompile.source
ext.androidJar =
"${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath = files(variant.javaCompile.classpath.files, ext.androidJar)
options.linksOffline "http://d.android.com/reference/", "${android.sdkDirectory}/docs/reference"
exclude '**/BuildConfig.java'
exclude '**/R.java'
}

}

build.mustRunAfter clean

apply from: 'gradle/credentials.gradle'
apply from: 'gradle/compile.gradle'
apply from: 'gradle/publishing.gradle'
apply from: 'gradle/bintray.gradle'
apply from: 'gradle/artifactory.gradle'

artifactoryPublish {
// Skip deploying to artifactory if building a pull request
onlyIf { !isSnapPullRequest }
}
2 changes: 1 addition & 1 deletion circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ machine:
version: openjdk8
dependencies:
pre:
- echo y | android update sdk --no-ui --all --filter "tools,android-26,build-tools-26.0.2,platform-tools,extra-android-m2repository,extra-google-m2repository"
- echo y | android update sdk --no-ui --all --filter "tools,android-28,build-tools-28.0.3,platform-tools,extra-android-m2repository,extra-google-m2repository"
general:
branches:
ignore:
2 changes: 1 addition & 1 deletion eclipse-support/project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
target=android-18
target=android-28
android.library=true
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ project_connection = scm:git:https://github.com/AltBeacon/android-beacon-library
project_dev_connection = scm:git:[email protected]:AltBeacon/android-beacon-library.git
project_bintray_repo = android
project_bintray_org = altbeacon
android.enableUnitTestBinaryResources=true
Loading