• R/O
  • HTTP
  • SSH
  • HTTPS

ThetaThoughtShutter: Commit

Ricoh Theta x Nurosky Shutter


Commit MetaInfo

Révision3a0c26fa091098fdfbf838fc1015b386e533e6a5 (tree)
l'heure2021-02-23 22:21:05
AuteurMRSa <mrsa@myad...>
CommiterMRSa

Message de Log

不要なパーミッションの整理など。

Change Summary

Modification

--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -5,12 +5,9 @@
55 <uses-feature android:name="com.theta360.receptor.v" android:required="true"/>
66 <uses-feature android:name="com.theta360.receptor.z1" android:required="true"/>
77
8- <uses-permission android:name="android.permission.BLUETOOTH" />
98 <uses-permission android:name="android.permission.INTERNET" />
10- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
119 <uses-permission android:name="android.permission.BLUETOOTH" />
1210 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
13- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
1411 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
1512
1613 <application
--- a/app/src/main/java/jp/osdn/gokigen/thetathoughtshutter/MainActivity.kt
+++ b/app/src/main/java/jp/osdn/gokigen/thetathoughtshutter/MainActivity.kt
@@ -1,9 +1,13 @@
11 package jp.osdn.gokigen.thetathoughtshutter
22
3+import android.Manifest
34 import android.bluetooth.BluetoothDevice
5+import android.content.pm.PackageManager
46 import android.os.Bundle
57 import android.util.Log
68 import android.view.KeyEvent
9+import androidx.core.app.ActivityCompat
10+import androidx.core.content.ContextCompat
711 import com.theta360.pluginlibrary.activity.PluginActivity
812 import com.theta360.pluginlibrary.callback.KeyCallback
913 import com.theta360.pluginlibrary.receiver.KeyReceiver
@@ -21,7 +25,6 @@ import jp.osdn.gokigen.thetathoughtshutter.theta.ThetaSetupBluetoothSPP
2125 import jp.osdn.gokigen.thetathoughtshutter.theta.operation.IOperationCallback
2226 import jp.osdn.gokigen.thetathoughtshutter.theta.status.ThetaCameraStatusWatcher
2327 import java.util.*
24-import kotlin.collections.HashMap
2528
2629 class MainActivity : PluginActivity(), IBluetoothScanResult, IDetectSensingReceiver
2730 {
@@ -34,15 +37,54 @@ class MainActivity : PluginActivity(), IBluetoothScanResult, IDetectSensingRecei
3437 companion object
3538 {
3639 private val TAG = MainActivity::class.java.simpleName
40+ private const val REQUEST_CODE_PERMISSIONS = 10
41+ private val REQUIRED_PERMISSIONS = arrayOf(
42+ Manifest.permission.INTERNET,
43+ Manifest.permission.BLUETOOTH,
44+ Manifest.permission.BLUETOOTH_ADMIN,
45+ Manifest.permission.ACCESS_COARSE_LOCATION,
46+ )
3747 }
3848
49+ private fun allPermissionsGranted() = REQUIRED_PERMISSIONS.all {
50+ ContextCompat.checkSelfPermission(baseContext, it) == PackageManager.PERMISSION_GRANTED
51+ }
52+
53+
3954 override fun onCreate(savedInstanceState: Bundle?)
4055 {
4156 super.onCreate(savedInstanceState)
4257 setContentView(layout.activity_main)
43-
4458 setAutoClose(true)
59+ updateStatus(applicationStatus.status)
60+
61+ if (allPermissionsGranted())
62+ {
63+ initializeKeyOperation()
64+ }
65+ else
66+ {
67+ ActivityCompat.requestPermissions(this, REQUIRED_PERMISSIONS, REQUEST_CODE_PERMISSIONS)
68+ }
69+ }
70+
71+ override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray)
72+ {
73+ if (requestCode == REQUEST_CODE_PERMISSIONS)
74+ {
75+ if (allPermissionsGranted())
76+ {
77+ initializeKeyOperation()
78+ }
79+ else
80+ {
81+ finish()
82+ }
83+ }
84+ }
4585
86+ private fun initializeKeyOperation()
87+ {
4688 setKeyCallback(object : KeyCallback {
4789 override fun onKeyDown(keyCode: Int, event: KeyEvent?) {
4890
@@ -83,6 +125,7 @@ class MainActivity : PluginActivity(), IBluetoothScanResult, IDetectSensingRecei
83125 updateStatus(applicationStatus.status)
84126 }
85127
128+
86129 // Bluetooth SPPで EEGに接続する
87130 private fun connectToEEG()
88131 {
Afficher sur ancien navigateur de dépôt.