diff --git a/README.md b/README.md index 30bee3d..4a60620 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,9 @@ It also offers: This will only work on devices with Android 4.3 (API Level 18) and above. -Sample app available on the [Play Store](https://play.google.com/store/apps/details?id=uk.co.alt236.btlescan) + +Get it on Google Play + ## Including the Library in Your Project @@ -115,32 +117,35 @@ You can also lookup values and convert them to human friendly strings: * `CompanyIdentifierResolver.getCompanyName(int companyId, String fallback)`: Will try to resolve a Company identifier to the company name * `GattAttributeResolver.getAttributeName(String uuid, String fallback)`: Will try to convert a UUID to its name. -**Note:** The data can be found as ODS (Open Office Spreadsheets) in the documents folder. +**Note:** The data can be found as ODS (Open Office Spreadsheets) in the documents folder. ## Library Changelog -* v0.0.1 +* v0.0.1 * First public release -* v0.0.2: +* v0.0.2: * Attempting to create an iBeaconDevice from a device which is not an iBeacon will now throw an IllegalArgumentException exception. * Fixed a ConcurrentModificationException on getRunningAverageRssi() * Added some Estimote UUIDs * v1.0.0: - * Migrated project to Android Studio/ gradle - * Note that the API has slightly changed in this version. - * We now use the more generic `BeaconUtils.getBeaconType()` method instead of `IBeaconUtils.isThisAnIBeacon()` - * Fix for [issue 5](https://github.com/alt236/Bluetooth-LE-Library---Android/issues/5) + * Migrated project to Android Studio/ gradle + * Note that the API has slightly changed in this version. + * We now use the more generic `BeaconUtils.getBeaconType()` method instead of `IBeaconUtils.isThisAnIBeacon()` + * Fix for [issue 5](https://github.com/alt236/Bluetooth-LE-Library---Android/issues/5) * Fix for [issue 9](https://github.com/alt236/Bluetooth-LE-Library---Android/issues/9) ## Sample Application Changelog -* v0.0.1 - * First public release -* v0.0.2: - * Can now export scanned devices as a CSV file. -* v0.0.3: - * UI Refresh. +* v0.0.1 + * First public release +* v0.0.2: + * Can now export scanned devices as a CSV file. +* v0.0.3: + * UI Refresh. * v1.0.0: - * Migrated project to Android Studio/ gradle - * Using version v1.0.0 of the library project + * Migrated project to Android Studio/ gradle + * Using version v1.0.0 of the library project +* v1.1.0: + * App refactor and materialisation. + * Added runtime permissions. ## Permission Explanation You will need the following permissions to access the Bluetooth Hardware @@ -148,18 +153,15 @@ You will need the following permissions to access the Bluetooth Hardware * `android.permission.BLUETOOTH` * `android.permission.BLUETOOTH_ADMIN` +In addition one of the following is needed from API 23 and above to scan for BT LE devices: +* `android.permission.ACCESS_COARSE_LOCATION` +* `android.permission.ACCESS_FINE_LOCATION ` + ## TODO * Tidy up Javadoc. There is quite a lot of it that is template * Add parsers for common Ad Records. -## Sample App Screenshots - -![screenshot1](https://github.com/alt236/Bluetooth-LE-Library---Android/raw/master/screenshots/screenshot_1.png) -![screenshot2](https://github.com/alt236/Bluetooth-LE-Library---Android/raw/master/screenshots/screenshot_2.png) -![screenshot3](https://github.com/alt236/Bluetooth-LE-Library---Android/raw/master/screenshots/screenshot_3.png) -![screenshot4](https://github.com/alt236/Bluetooth-LE-Library---Android/raw/master/screenshots/screenshot_4.png) - ## Links * Github: [https://github.com/alt236/Bluetooth-LE-Library---Android]() @@ -169,9 +171,10 @@ Author: [Alexandros Schillings](https://github.com/alt236). * The Accuracy calculation algorithm was taken from: http://stackoverflow.com/questions/20416218/understanding-ibeacon-distancing * The AdRecord parser was taken from: https://github.com/devunwired/accessory-samples * The sample application has been adapted from Android's Bluetooth LE example +* Google Play and the Google Play logo are trademarks of Google Inc. All logos are the property of their respective owners. The code in this project is licensed under the Apache Software License 2.0. -Copyright (c) 2014 Alexandros Schillings. +Copyright (c) 2014-2017 Alexandros Schillings. diff --git a/image_assets/feature_graphic.png b/image_assets/feature_graphic.png new file mode 100644 index 0000000..7f0f652 Binary files /dev/null and b/image_assets/feature_graphic.png differ diff --git a/image_assets/screenshots/phone_screenshot_1.png b/image_assets/screenshots/phone_screenshot_1.png new file mode 100644 index 0000000..3b30f13 Binary files /dev/null and b/image_assets/screenshots/phone_screenshot_1.png differ diff --git a/image_assets/screenshots/phone_screenshot_2.png b/image_assets/screenshots/phone_screenshot_2.png new file mode 100644 index 0000000..cff7f5b Binary files /dev/null and b/image_assets/screenshots/phone_screenshot_2.png differ diff --git a/image_assets/screenshots/phone_screenshot_3.png b/image_assets/screenshots/phone_screenshot_3.png new file mode 100644 index 0000000..5686912 Binary files /dev/null and b/image_assets/screenshots/phone_screenshot_3.png differ diff --git a/image_assets/screenshots/phone_screenshot_4.png b/image_assets/screenshots/phone_screenshot_4.png new file mode 100644 index 0000000..72cab20 Binary files /dev/null and b/image_assets/screenshots/phone_screenshot_4.png differ diff --git a/sample_app/web_hi_res_512.png b/image_assets/web_hi_res_512.png similarity index 100% rename from sample_app/web_hi_res_512.png rename to image_assets/web_hi_res_512.png diff --git a/sample_app/build.gradle b/sample_app/build.gradle index 5cbefef..8d92baf 100644 --- a/sample_app/build.gradle +++ b/sample_app/build.gradle @@ -1,9 +1,9 @@ apply plugin: 'com.android.application' final int versionMajor = 1 -final int versionMinor = 0 +final int versionMinor = 1 final int versionPatch = 0 -final int androidVersionCode = 5 +final int androidVersionCode = 6 final int targetSdk = rootProject.targetSdkVersion; final int minSdkRed = rootProject.minSdkVersion; @@ -24,13 +24,14 @@ repositories { } dependencies { + compile fileTree(include: ['*.jar'], dir: 'libs') + compile project(':library') + compile 'com.jakewharton:butterknife:7.0.1' compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:recyclerview-v7:24.2.0' compile 'com.anthonycr.grant:permissions:1.0' compile 'uk.co.alt236:easycursor-android:1.0.0' - compile fileTree(include: ['*.jar'], dir: 'libs') - compile project(':library') testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-all:1.9.5' diff --git a/sample_app/src/main/AndroidManifest.xml b/sample_app/src/main/AndroidManifest.xml index 7eafc25..e7d47a0 100644 --- a/sample_app/src/main/AndroidManifest.xml +++ b/sample_app/src/main/AndroidManifest.xml @@ -4,7 +4,8 @@ - + +