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

Merging in latest updates from AltBeacon #2

Merged
merged 97 commits into from
Oct 29, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 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
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
31 changes: 31 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
version: 2
jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-25-alpha
environment:
JVM_OPTS: -Xmx3200m
steps:
- 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
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
### 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
4 changes: 2 additions & 2 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 @@ -65,7 +65,7 @@ Key Gradle build targets:
./gradlew test # run unit tests
./gradlew build # development build
./gradlew release -Prelease # release build
./gradlew generatereleaseJavadoc -Prelease
./gradlew generateJavadoc

## License

Expand Down
30 changes: 25 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,16 @@ allprojects {
}

android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
compileSdkVersion 28
buildToolsVersion '28.0.0'

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
targetSdkVersion 28
versionCode 1
versionName version
consumerProguardFiles 'proguard-rules.pro'
Expand All @@ -94,11 +94,18 @@ android {
}
}

configurations {
doclava
}



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'
compile 'com.android.support:support-v4:28.0.0-rc02'
compile 'com.android.support:support-annotations:28.0.0-rc02'

testCompile 'com.google.android:android-test:4.1.1.4'
testCompile('junit:junit:4.12') {
exclude group: 'org.hamcrest'
}
Expand All @@ -117,6 +124,7 @@ dependencies {
exclude group: 'org.hamcrest'
})
androidTestCompile 'org.apache.commons:commons-math3:3.6.1'
doclava 'com.google.doclava:doclava:1.0.6'
}

apply plugin: 'idea'
Expand Down Expand Up @@ -162,6 +170,18 @@ android.libraryVariants.all { variant ->

}

task generateJavadoc(type: Javadoc, dependsOn: project.configurations.doclava) {
failOnError = true
title = null
source = android.sourceSets.main.java.srcDirs
options.doclet = "com.google.doclava.Doclava"
options.docletpath = configurations.doclava.files.asType(List)
classpath +=
project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.compile

destinationDir = file("../javadocs/")
}

build.mustRunAfter clean

apply from: 'gradle/credentials.gradle'
Expand Down
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-27,build-tools-27.0.3,platform-tools,extra-android-m2repository,extra-google-m2repository"
general:
branches:
ignore:
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@
* This is used with ScanJob and supports delivering intents even under Android O background
* restrictions preventing starting a new IntentService.
*
* It is not used with the BeaconService, as local broadcast intents cannot be deliverd across
* different processes which the BeaconService supports.
* It is not used with the BeaconService, if running in a separate process, as local broadcast
* intents cannot be deliverd across different processes which the BeaconService supports.
*
* @see BeaconIntentProcessor for the equivalent use with BeaconService.
* @see BeaconIntentProcessor for the equivalent use with BeaconService in a separate process.
**
* Internal library class. Do not use directly from outside the library
*
Expand Down
Loading