BLUETOOTH_CONNECT permission requested for Bluetooth trigger editor in Google Play version
This commit is contained in:
@@ -73,6 +73,7 @@
|
|||||||
<uses-permission android:name="android.hardware.sensor.proximity"/>
|
<uses-permission android:name="android.hardware.sensor.proximity"/>
|
||||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
||||||
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
||||||
|
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||||
<uses-permission
|
<uses-permission
|
||||||
android:name="android.permission.WRITE_SECURE_SETTINGS"
|
android:name="android.permission.WRITE_SECURE_SETTINGS"
|
||||||
tools:ignore="ProtectedPermissions" />
|
tools:ignore="ProtectedPermissions" />
|
||||||
|
|||||||
@@ -71,6 +71,7 @@
|
|||||||
<uses-permission android:name="android.hardware.sensor.proximity"/>
|
<uses-permission android:name="android.hardware.sensor.proximity"/>
|
||||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
||||||
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
||||||
|
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||||
<uses-permission
|
<uses-permission
|
||||||
android:name="android.permission.WRITE_SECURE_SETTINGS"
|
android:name="android.permission.WRITE_SECURE_SETTINGS"
|
||||||
tools:ignore="ProtectedPermissions" />
|
tools:ignore="ProtectedPermissions" />
|
||||||
|
|||||||
@@ -67,6 +67,7 @@
|
|||||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
|
||||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||||
<uses-permission android:name="android.hardware.sensor.proximity"/>
|
<uses-permission android:name="android.hardware.sensor.proximity"/>
|
||||||
|
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||||
<uses-permission
|
<uses-permission
|
||||||
android:name="android.permission.WRITE_SECURE_SETTINGS"
|
android:name="android.permission.WRITE_SECURE_SETTINGS"
|
||||||
tools:ignore="ProtectedPermissions" />
|
tools:ignore="ProtectedPermissions" />
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package com.jens.automation2;
|
package com.jens.automation2;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.bluetooth.BluetoothDevice;
|
import android.bluetooth.BluetoothDevice;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -16,17 +18,20 @@ import android.widget.Spinner;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import com.jens.automation2.receivers.BluetoothReceiver;
|
import com.jens.automation2.receivers.BluetoothReceiver;
|
||||||
|
|
||||||
public class ActivityManageTriggerBluetooth extends Activity
|
public class ActivityManageTriggerBluetooth extends Activity
|
||||||
{
|
{
|
||||||
|
final static int requestPermissionCodeBluetoothConnect = 4711;
|
||||||
protected static Trigger editedBluetoothTrigger;
|
protected static Trigger editedBluetoothTrigger;
|
||||||
RadioButton radioAnyBluetoothDevice, radioNoDevice, radioDeviceFromList, radioBluetoothConnected, radioBluetoothDisconnected, radioBluetoothInRange, radioBluetoothOutRange;
|
RadioButton radioAnyBluetoothDevice, radioNoDevice, radioDeviceFromList, radioBluetoothConnected, radioBluetoothDisconnected, radioBluetoothInRange, radioBluetoothOutRange;
|
||||||
Button bSaveBluetoothTrigger;
|
Button bSaveBluetoothTrigger;
|
||||||
Spinner spinnerBluetoothDevices;
|
Spinner spinnerBluetoothDevices;
|
||||||
TextView tvBluetoothNotPresentNotice;
|
TextView tvBluetoothNotPresentNotice;
|
||||||
|
|
||||||
ArrayAdapter<String> bluetoothDevicesSpinnerAdapter;
|
ArrayAdapter<String> bluetoothDevicesSpinnerAdapter = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState)
|
protected void onCreate(Bundle savedInstanceState)
|
||||||
@@ -47,8 +52,6 @@ public class ActivityManageTriggerBluetooth extends Activity
|
|||||||
spinnerBluetoothDevices = (Spinner)findViewById(R.id.spinnerBluetoothDevices);
|
spinnerBluetoothDevices = (Spinner)findViewById(R.id.spinnerBluetoothDevices);
|
||||||
tvBluetoothNotPresentNotice = (TextView)findViewById(R.id.tvBluetoothNotPresentNotice);
|
tvBluetoothNotPresentNotice = (TextView)findViewById(R.id.tvBluetoothNotPresentNotice);
|
||||||
|
|
||||||
bluetoothDevicesSpinnerAdapter = new ArrayAdapter<String>(this, R.layout.text_view_for_poi_listview_mediumtextsize, BluetoothReceiver.getAllPairedBluetoothDevicesStrings());
|
|
||||||
|
|
||||||
if(!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH))
|
if(!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH))
|
||||||
tvBluetoothNotPresentNotice.setVisibility(View.VISIBLE);
|
tvBluetoothNotPresentNotice.setVisibility(View.VISIBLE);
|
||||||
else
|
else
|
||||||
@@ -76,16 +79,36 @@ public class ActivityManageTriggerBluetooth extends Activity
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(Miscellaneous.getTargetSDK(ActivityManageTriggerBluetooth.this) >= 31 && !ActivityPermissions.havePermission(Manifest.permission.BLUETOOTH_CONNECT, ActivityManageTriggerBluetooth.this))
|
||||||
|
requestPermissions(new String[] {Manifest.permission.BLUETOOTH_CONNECT }, requestPermissionCodeBluetoothConnect);
|
||||||
|
else
|
||||||
refreshBluetoothDeviceSpinner();
|
refreshBluetoothDeviceSpinner();
|
||||||
|
|
||||||
spinnerBluetoothDevices.setEnabled(false);
|
spinnerBluetoothDevices.setEnabled(false);
|
||||||
|
|
||||||
if(editedBluetoothTrigger.getBluetoothDeviceAddress() != null && editedBluetoothTrigger.getBluetoothDeviceAddress().length() > 0)
|
if(editedBluetoothTrigger.getBluetoothDeviceAddress() != null && editedBluetoothTrigger.getBluetoothDeviceAddress().length() > 0)
|
||||||
loadVariableIntoGui();
|
loadVariableIntoGui();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults)
|
||||||
|
{
|
||||||
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
|
|
||||||
|
if(requestCode == requestPermissionCodeBluetoothConnect)
|
||||||
|
{
|
||||||
|
if(permissions[0].equals(Manifest.permission.BLUETOOTH_CONNECT) && grantResults[0] == PackageManager.PERMISSION_GRANTED)
|
||||||
|
refreshBluetoothDeviceSpinner();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected void refreshBluetoothDeviceSpinner()
|
protected void refreshBluetoothDeviceSpinner()
|
||||||
{
|
{
|
||||||
Miscellaneous.logEvent("i", "Spinner", "Attempting to update spinnerBluetoothDevices", 4);
|
Miscellaneous.logEvent("i", "Spinner", "Attempting to update spinnerBluetoothDevices", 4);
|
||||||
|
|
||||||
|
if(bluetoothDevicesSpinnerAdapter == null)
|
||||||
|
bluetoothDevicesSpinnerAdapter = new ArrayAdapter<String>(this, R.layout.text_view_for_poi_listview_mediumtextsize, BluetoothReceiver.getAllPairedBluetoothDevicesStrings());
|
||||||
|
|
||||||
if(spinnerBluetoothDevices.getAdapter() == null)
|
if(spinnerBluetoothDevices.getAdapter() == null)
|
||||||
{
|
{
|
||||||
spinnerBluetoothDevices.setAdapter(bluetoothDevicesSpinnerAdapter);
|
spinnerBluetoothDevices.setAdapter(bluetoothDevicesSpinnerAdapter);
|
||||||
|
|||||||
@@ -149,17 +149,17 @@ public class ActivityManageTriggerProximity extends Activity
|
|||||||
sbProximityTest.setProgress((int)sensorEvent.values[0]);
|
sbProximityTest.setProgress((int)sensorEvent.values[0]);
|
||||||
tvProximityCurrentValue.setText((String.valueOf(sensorEvent.values[0])));
|
tvProximityCurrentValue.setText((String.valueOf(sensorEvent.values[0])));
|
||||||
|
|
||||||
if (sensorEvent.values[0] == 0)
|
// if (sensorEvent.values[0] == 0)
|
||||||
{
|
// {
|
||||||
// here we are setting our status to our textview..
|
// here we are setting our status to our textview..
|
||||||
// if sensor event return 0 then object is closed
|
// if sensor event return 0 then object is closed
|
||||||
// to sensor else object is away from sensor.
|
// to sensor else object is away from sensor.
|
||||||
// sensorStatusTV.setText("Near");
|
// sensorStatusTV.setText("Near");
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
// sensorStatusTV.setText("Away");
|
// sensorStatusTV.setText("Away");
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
* Fixed: Crash in Play Store version when starting the service
|
* Fixed: Crash in Play Store version when starting the service
|
||||||
* Fixed: trigger url result was not stored correctly in a variable
|
* Fixed: trigger url result was not stored correctly in a variable
|
||||||
* Fixed: Crash when clicking +/- when creating/editing TimeFrame trigger
|
* Fixed: Crash when clicking +/- when creating/editing TimeFrame trigger
|
||||||
|
* Fixed: Permission BLUETOOTH_CONNECT requested for Bluetooth trigger editor in Google Play version
|
||||||
* Added Possibility to select UI theme, hence enabling modern UI designs
|
* Added Possibility to select UI theme, hence enabling modern UI designs
|
||||||
Reference in New Issue
Block a user