@@ -31,14 +31,13 @@ const requestPermissions = async () => {
3131}
3232
3333export default function App ( ) {
34+ const central = new Central ( )
35+ const peripheral = new Peripheral ( )
36+
3437 const [ isCentral , setIsCentral ] = React . useState < boolean > ( false )
3538 const [ isPeripheral , setIsPeripheral ] = React . useState < boolean > ( false )
3639 const [ peripheralId , setPeripheralId ] = React . useState < string > ( )
37- const [ connected , setConnected ] = React . useState < boolean > ( false )
38- const [ central , setCentral ] = React . useState < Central > ( new Central ( ) )
39- const [ peripheral , setPeripheral ] = React . useState < Peripheral > (
40- new Peripheral ( )
41- )
40+ const [ isConnected , setIsConnected ] = React . useState < boolean > ( false )
4241
4342 React . useEffect ( ( ) => {
4443 const onDiscoverPeripheralListener = central . registerOnDiscoveredListener (
@@ -51,7 +50,7 @@ export default function App() {
5150 const onConnectedPeripheralListener = central . registerOnConnectedListener (
5251 ( { identifier } : { identifier : string } ) => {
5352 console . log ( `Connected to: ${ identifier } ` )
54- setConnected ( true )
53+ setIsConnected ( true )
5554 }
5655 )
5756
@@ -118,6 +117,15 @@ export default function App() {
118117 ) }
119118 { isCentral && (
120119 < >
120+ < Button
121+ title = "shutdown"
122+ onPress = { async ( ) => {
123+ await central . shutdown ( )
124+ setIsConnected ( false )
125+ setIsCentral ( false )
126+ setPeripheralId ( undefined )
127+ } }
128+ />
121129 < Button
122130 title = "set services"
123131 onPress = { async ( ) => {
@@ -134,13 +142,14 @@ export default function App() {
134142 await central . scan ( )
135143 } }
136144 />
145+
137146 { peripheralId && (
138147 < Button
139148 title = "connect"
140149 onPress = { async ( ) => await central . connect ( peripheralId ) }
141150 />
142151 ) }
143- { connected && (
152+ { isConnected && (
144153 < Button
145154 title = "write"
146155 onPress = { async ( ) => await central . sendMessage ( msg ) }
@@ -150,6 +159,14 @@ export default function App() {
150159 ) }
151160 { isPeripheral && (
152161 < >
162+ < Button
163+ title = "shutdown"
164+ onPress = { async ( ) => {
165+ await peripheral . shutdown ( )
166+ setIsConnected ( false )
167+ setIsPeripheral ( false )
168+ } }
169+ />
153170 < Button
154171 title = "set services"
155172 onPress = { async ( ) => {
0 commit comments