From fad877cf570b4f07e2637b04484bad84b831c384 Mon Sep 17 00:00:00 2001 From: Jerameel Date: Wed, 8 May 2019 21:04:11 +0800 Subject: [PATCH] updated for android 26 --- .../.idea/caches/build_file_checksums.ser | Bin 0 -> 537 bytes .../.idea/caches/gradle_models.ser | Bin 0 -> 59630 bytes .../.idea/codeStyles/Project.xml | 29 +++++++++++++++++ Android/BlunoBasicDemo/.idea/gradle.xml | 4 +++ Android/BlunoBasicDemo/.idea/misc.xml | 30 ++++++++---------- Android/BlunoBasicDemo/.idea/modules.xml | 2 ++ Android/BlunoBasicDemo/.idea/vcs.xml | 2 +- Android/BlunoBasicDemo/app/build.gradle | 10 +++--- .../app/src/main/AndroidManifest.xml | 3 +- .../angelo/blunobasicdemo/MainActivity.java | 28 +++++++++++++--- .../app/src/main/res/layout/activity_main.xml | 8 ++--- .../src/main/res/layout/listitem_device.xml | 3 +- .../app/src/main/res/values/styles.xml | 2 +- Android/BlunoBasicDemo/build.gradle | 8 +++++ 14 files changed, 94 insertions(+), 35 deletions(-) create mode 100644 Android/BlunoBasicDemo/.idea/caches/build_file_checksums.ser create mode 100644 Android/BlunoBasicDemo/.idea/caches/gradle_models.ser create mode 100644 Android/BlunoBasicDemo/.idea/codeStyles/Project.xml diff --git a/Android/BlunoBasicDemo/.idea/caches/build_file_checksums.ser b/Android/BlunoBasicDemo/.idea/caches/build_file_checksums.ser new file mode 100644 index 0000000000000000000000000000000000000000..ce2fd998633c2a6e9ae07d2e378a10b59b49cfd7 GIT binary patch literal 537 zcmZ4UmVvdnh`~NNKUXg?FQq6yGexf?KR>5fFEb@IQ7^qHF(oHeub?PDD>b=9F91S2 zm1gFoxMk*~I%lLNXBU^|7Q2L-Ts|(GuF1r}uGBYr_F>vMNC#JY1CYR(Fc`|U8WE7x|w`MIh3S*b;d zxv8l+`cT*C<1yrlY|qVphD|Il8#rgY`QcOtbYEgYfj)N67_Cs~?r}O+9#?R%%+4*x Gv;qM8tGCYp literal 0 HcmV?d00001 diff --git a/Android/BlunoBasicDemo/.idea/caches/gradle_models.ser b/Android/BlunoBasicDemo/.idea/caches/gradle_models.ser new file mode 100644 index 0000000000000000000000000000000000000000..774a26f19014b87081542c7b3ba9d2c77b6d2914 GIT binary patch literal 59630 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 literal 0 HcmV?d00001 diff --git a/Android/BlunoBasicDemo/.idea/codeStyles/Project.xml b/Android/BlunoBasicDemo/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..30aa626 --- /dev/null +++ b/Android/BlunoBasicDemo/.idea/codeStyles/Project.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Android/BlunoBasicDemo/.idea/gradle.xml b/Android/BlunoBasicDemo/.idea/gradle.xml index 39139a6..9d9baf8 100644 --- a/Android/BlunoBasicDemo/.idea/gradle.xml +++ b/Android/BlunoBasicDemo/.idea/gradle.xml @@ -3,6 +3,9 @@ diff --git a/Android/BlunoBasicDemo/.idea/misc.xml b/Android/BlunoBasicDemo/.idea/misc.xml index 8e2533e..a98dac1 100644 --- a/Android/BlunoBasicDemo/.idea/misc.xml +++ b/Android/BlunoBasicDemo/.idea/misc.xml @@ -1,43 +1,41 @@ - - - - - - - - - - - - - - + diff --git a/Android/BlunoBasicDemo/.idea/modules.xml b/Android/BlunoBasicDemo/.idea/modules.xml index 130956c..dc8a49d 100644 --- a/Android/BlunoBasicDemo/.idea/modules.xml +++ b/Android/BlunoBasicDemo/.idea/modules.xml @@ -3,6 +3,8 @@ + + diff --git a/Android/BlunoBasicDemo/.idea/vcs.xml b/Android/BlunoBasicDemo/.idea/vcs.xml index 6564d52..b2bdec2 100644 --- a/Android/BlunoBasicDemo/.idea/vcs.xml +++ b/Android/BlunoBasicDemo/.idea/vcs.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/Android/BlunoBasicDemo/app/build.gradle b/Android/BlunoBasicDemo/app/build.gradle index 3c0c393..660aa2b 100644 --- a/Android/BlunoBasicDemo/app/build.gradle +++ b/Android/BlunoBasicDemo/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 21 - buildToolsVersion "21.1.2" + compileSdkVersion 26 + buildToolsVersion "28.0.3" defaultConfig { applicationId "com.dfrobot.angelo.blunobasicdemo" - minSdkVersion 18 - targetSdkVersion 21 + minSdkVersion 26 + targetSdkVersion 26 versionCode 1 versionName "1.0" } @@ -22,5 +22,5 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:21.0.3' + compile 'com.android.support:appcompat-v7:26.1.0' } diff --git a/Android/BlunoBasicDemo/app/src/main/AndroidManifest.xml b/Android/BlunoBasicDemo/app/src/main/AndroidManifest.xml index 8732f8c..e3f4d91 100644 --- a/Android/BlunoBasicDemo/app/src/main/AndroidManifest.xml +++ b/Android/BlunoBasicDemo/app/src/main/AndroidManifest.xml @@ -8,7 +8,8 @@ devices only. If you want to make your app available to devices that don't supp you should omit this in the manifest. Instead, determine BLE capability by using PackageManager.hasSystemFeature(FEATURE_BLUETOOTH_LE) --> - + + diff --git a/Android/BlunoBasicDemo/app/src/main/java/com/dfrobot/angelo/blunobasicdemo/MainActivity.java b/Android/BlunoBasicDemo/app/src/main/java/com/dfrobot/angelo/blunobasicdemo/MainActivity.java index 1ed3858..f47b2b4 100644 --- a/Android/BlunoBasicDemo/app/src/main/java/com/dfrobot/angelo/blunobasicdemo/MainActivity.java +++ b/Android/BlunoBasicDemo/app/src/main/java/com/dfrobot/angelo/blunobasicdemo/MainActivity.java @@ -1,14 +1,20 @@ package com.dfrobot.angelo.blunobasicdemo; +import android.Manifest; +import android.app.AlertDialog; import android.content.Context; +import android.content.pm.PackageManager; import android.os.Bundle; import android.content.Intent; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ScrollView; import android.widget.TextView; +import android.widget.Toast; public class MainActivity extends BlunoLibrary { private Button buttonScan; @@ -21,9 +27,8 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); onCreateProcess(); //onCreate Process by BlunoLibrary - - - serialBegin(115200); //set the Uart Baudrate on BLE chip to 115200 + requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, 1); + serialBegin(115200); //set the Uart Baudrate on BLE chip to 115200 serialReceivedText=(TextView) findViewById(R.id.serialReveicedText); //initial the EditText of the received data serialSendText=(EditText) findViewById(R.id.serialSendText); //initial the EditText of the sending data @@ -45,8 +50,21 @@ public void onClick(View v) { @Override public void onClick(View v) { // TODO Auto-generated method stub - - buttonScanOnClickProcess(); //Alert Dialog for selecting the BLE device + int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION); + if (permissionCheck != PackageManager.PERMISSION_GRANTED){ + boolean requestCheck = ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION); + if (requestCheck){ + requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, 1); + }else { + new AlertDialog.Builder(MainActivity.this) + .setTitle("Permission Required") + .setMessage("Please enable location permission to use this application.") + .setNeutralButton("I Understand", null) + .show(); + } + }else { + buttonScanOnClickProcess(); //Alert Dialog for selecting the BLE device + } } }); } diff --git a/Android/BlunoBasicDemo/app/src/main/res/layout/activity_main.xml b/Android/BlunoBasicDemo/app/src/main/res/layout/activity_main.xml index 9576a17..3bcc135 100644 --- a/Android/BlunoBasicDemo/app/src/main/res/layout/activity_main.xml +++ b/Android/BlunoBasicDemo/app/src/main/res/layout/activity_main.xml @@ -21,7 +21,7 @@