The method that emits the "main activity restarting": what's actually happening there? Is it possible that some event that needs to propagate to the IOIO framework doesn't make it through? Looks like the destroy()/create() sequence is what makes things work. Can you debug a little and figure out what is it that they do that makes a difference?
On Wed, May 20, 2015 at 5:34 PM, hwut <[email protected]> wrote: > Sorry, I see what you mean about the IOIOLib logs now. I'm using the most > recent version, version 5, and a bluetooth connection between the Android > and IOIO. > > Here is the log when I first open the app. All "blar" tags are my own > generated tags. > > 05-20 17:27:21.921: D/IOIOConnectionRegistry(23052): Successfully added > bootstrap class: ioio.lib.impl.SocketIOIOConnectionBootstrap > 05-20 17:27:21.921: D/IOIOConnectionRegistry(23052): Bootstrap class not > found: ioio.lib.android.accessory.AccessoryConnectionBootstrap. Not adding. > 05-20 17:27:21.931: D/IOIOConnectionRegistry(23052): Successfully added > bootstrap class: ioio.lib.android.bluetooth.BluetoothIOIOConnectionBootstrap > 05-20 17:27:21.931: D/IOIOConnectionRegistry(23052): Bootstrap class not > found: ioio.lib.android.device.DeviceConnectionBootstrap. Not adding. > 05-20 17:27:21.951: I/blar(23052): main activity being created > 05-20 17:27:22.021: I/blar(23052): AndroidApplicationHelper create() > 05-20 17:27:22.021: I/blar(23052): AndroidIOIOConnectionManager create() > 05-20 17:27:22.031: I/blar(23052): main activity starting > 05-20 17:27:22.031: I/blar(23052): AndroidApplicationHelper start() > 05-20 17:27:22.031: I/blar(23052): AndroidIOIOConnectionManager start() > 05-20 17:27:22.041: I/blar(23052): main activity resuming > 05-20 17:27:22.051: D/IOIOImpl(23052): Waiting for IOIO connection > 05-20 17:27:22.051: V/IOIOImpl(23052): Waiting for underlying connection > 05-20 17:27:22.071: V/BluetoothIOIOConnection(23052): Attempting to > connect to Bluetooth device: IOIO (5C:82) > 05-20 17:27:23.131: V/BluetoothIOIOConnection(23052): Established > connection to device IOIO (5C:82) address: 00:1B:DC:06:5C:82 > 05-20 17:27:23.131: V/IOIOImpl(23052): Waiting for handshake > 05-20 17:27:23.131: V/IOIOImpl(23052): Querying for required interface ID > 05-20 17:27:23.141: V/IOIOImpl(23052): Required interface ID is supported > 05-20 17:27:23.141: I/IOIOImpl(23052): IOIO connection established > > This is what happens when scan() is called, and reconnection of the IOIO > is successful. The main activity had been destroyed and recreated. > > 05-20 17:27:27.671: I/blar(23052): scan() called > 05-20 17:27:27.701: I/blar(23052): main activity pausing > 05-20 17:27:28.531: I/blar(23052): main activity stopping > 05-20 17:27:28.531: I/blar(23052): AndroidApplicationHelper stop() > 05-20 17:27:28.531: D/IOIOImpl(23052): Client requested disconnect. > 05-20 17:27:28.531: V/BluetoothIOIOConnection(23052): Client initiated > disconnect > 05-20 17:27:28.531: D/IOIOImpl(23052): Client requested disconnect. > 05-20 17:27:28.531: I/IOIOProtocol(23052): IOIO disconnected > 05-20 17:27:28.531: I/blar(23052): IOIO_thread disconnected > 05-20 17:27:28.541: D/IOIOBaseApplicationHelper(23052): IOIOThread is > exiting > 05-20 17:27:28.541: I/blar(23052): AndroidIOIOConnectionManager stop() > 05-20 17:27:34.171: I/blar(23052): main activity being destroyed > 05-20 17:27:34.171: I/blar(23052): AndroidApplicationHelper destroy() > 05-20 17:27:34.171: I/blar(23052): AndroidIOIOConnectionManager destroy() > 05-20 17:27:34.191: I/blar(23052): main activity being created > 05-20 17:27:34.221: I/blar(23052): AndroidApplicationHelper create() > 05-20 17:27:34.221: I/blar(23052): AndroidIOIOConnectionManager create() > 05-20 17:27:34.231: I/blar(23052): main activity starting > 05-20 17:27:34.231: I/blar(23052): AndroidApplicationHelper start() > 05-20 17:27:34.231: I/blar(23052): AndroidIOIOConnectionManager start() > 05-20 17:27:34.251: D/IOIOImpl(23052): Waiting for IOIO connection > 05-20 17:27:34.251: V/IOIOImpl(23052): Waiting for underlying connection > 05-20 17:27:34.251: V/BluetoothIOIOConnection(23052): Attempting to > connect to Bluetooth device: IOIO (5C:82) > 05-20 17:27:34.271: I/blar(23052): main activity resuming > 05-20 17:27:34.521: V/BluetoothIOIOConnection(23052): Established > connection to device IOIO (5C:82) address: 00:1B:DC:06:5C:82 > 05-20 17:27:34.521: V/IOIOImpl(23052): Waiting for handshake > 05-20 17:27:34.521: V/IOIOImpl(23052): Querying for required interface ID > 05-20 17:27:34.531: V/IOIOImpl(23052): Required interface ID is supported > 05-20 17:27:34.541: I/IOIOImpl(23052): IOIO connection established > > This is what happens when the reconnection doesn't work: > > 05-20 17:27:47.001: I/blar(23052): scan() called > 05-20 17:27:47.031: I/blar(23052): main activity pausing > 05-20 17:27:48.811: I/blar(23052): main activity stopping > 05-20 17:27:48.811: I/blar(23052): AndroidApplicationHelper stop() > 05-20 17:27:48.811: D/IOIOImpl(23052): Client requested disconnect. > 05-20 17:27:48.811: V/BluetoothIOIOConnection(23052): Client initiated > disconnect > 05-20 17:27:48.821: I/IOIOProtocol(23052): IOIO disconnected > 05-20 17:27:48.821: I/blar(23052): IOIO_thread disconnected > 05-20 17:27:48.821: D/IOIOBaseApplicationHelper(23052): IOIOThread is > exiting > 05-20 17:27:48.821: I/blar(23052): AndroidIOIOConnectionManager stop() > 05-20 17:27:53.021: I/blar(23052): main activity restarting > 05-20 17:27:53.021: I/blar(23052): main activity starting > 05-20 17:27:53.021: I/blar(23052): AndroidApplicationHelper start() > 05-20 17:27:53.021: I/blar(23052): AndroidIOIOConnectionManager start() > 05-20 17:27:53.031: I/blar(23052): main activity resuming > > > On Tuesday, May 19, 2015 at 3:01:29 PM UTC-7, Ytai wrote: >> >> You seem to have omitted the logs generated by IOIOLib itself. Can you >> include them? Which version of the library is this? What type of connection >> are you using between the Android and IOIO? >> On May 19, 2015 2:51 PM, "hwut" <[email protected]> wrote: >> >>> Sure, here is a log of the case that causes the problem: >>> >>> 05-19 14:15:08.018: I/abr.main(17259): scan() called >>> 05-19 14:15:08.038: I/abr.main(17259): main activity pausing >>> 05-19 14:15:09.828: I/abr.main(17259): main activity stopping >>> 05-19 14:15:09.828: I/AndroidApplicationHelper(17259): >>> AndroidApplicationHelper stop() >>> 05-19 14:15:09.838: I/IOIO_thread(17259): IOIO_thread disconnected >>> 05-19 14:15:09.838: I/AndroidIOIOConnectionManager(17259): >>> AndroidIOIOConnectionManager stop() >>> 05-19 14:15:14.068: I/abr.main(17259): main activity restarting >>> 05-19 14:15:14.068: I/abr.main(17259): main activity starting >>> 05-19 14:15:14.068: I/AndroidApplicationHelper(17259): >>> AndroidApplicationHelper start() >>> 05-19 14:15:14.068: I/AndroidIOIOConnectionManager(17259): >>> AndroidIOIOConnectionManager start() >>> 05-19 14:15:14.068: I/abr.main(17259): main activity resuming >>> >>> Occasionally, when starting the new activity, the main activity will be >>> destroyed. In this case the IOIO connection does come back. >>> >>> 05-19 14:45:19.398: I/abr.main(2984): scan() called >>> 05-19 14:45:19.438: I/abr.main(2984): main activity pausing >>> 05-19 14:45:20.318: I/abr.main(2984): main activity stopping >>> 05-19 14:45:20.318: I/AndroidApplicationHelper(2984): >>> AndroidApplicationHelper stop() >>> 05-19 14:45:20.328: I/IOIO_thread(2984): IOIO_thread disconnected >>> 05-19 14:45:20.328: I/AndroidIOIOConnectionManager(2984): >>> AndroidIOIOConnectionManager stop() >>> 05-19 14:45:25.868: I/abr.main(2984): main activity being destroyed >>> 05-19 14:45:25.868: I/AndroidApplicationHelper(2984): >>> AndroidApplicationHelper destroy() >>> 05-19 14:45:25.868: I/AndroidIOIOConnectionManager(2984): >>> AndroidIOIOConnectionManager destroy() >>> 05-19 14:45:25.898: I/abr.main(2984): main activity being created >>> 05-19 14:45:25.958: I/AndroidApplicationHelper(2984): >>> AndroidApplicationHelper create() >>> 05-19 14:45:25.958: I/AndroidIOIOConnectionManager(2984): >>> AndroidIOIOConnectionManager create() >>> 05-19 14:45:25.968: I/abr.main(2984): main activity starting >>> 05-19 14:45:25.968: I/AndroidApplicationHelper(2984): >>> AndroidApplicationHelper start() >>> 05-19 14:45:25.968: I/AndroidIOIOConnectionManager(2984): >>> AndroidIOIOConnectionManager start() >>> 05-19 14:45:25.978: I/abr.main(2984): main activity resuming >>> 05-19 14:45:25.988: I/abr.main(2984): main activity pausing >>> 05-19 14:45:26.018: I/abr.main(2984): main activity resuming >>> >>> On Monday, May 18, 2015 at 9:18:12 PM UTC-7, Ytai wrote: >>>> >>>> Can you add some logs and figure out the exact sequence of lifecycle >>>> calls (e.g. onStart(), onStop(), etc.) in your scenario? Also include the >>>> relevant IOIO logs so we can see whether a connection is closed properly >>>> before switching. >>>> >>>> On Mon, May 18, 2015 at 3:15 PM, Tiffany Hwu <[email protected]> wrote: >>>> >>>>> I have a main activity that extends IOIOActivity. Within this main >>>>> activity I have function called scan(), which calls >>>>> startActivityForResult() to open up a new activity to scan a QR code using >>>>> the Android phone. The usual life cycle for main activity in this case is >>>>> to pause, stop, let the QR activity scan, start, then resume. Accordingly, >>>>> I think the >>>>> >>>>> IOIOAndroidApplicationHelper should reestablish the IOIO connection at >>>>> the start stage. However, this doesn't happen and the IOIO connection is >>>>> gone when the main activity resumes. Any ideas on why this is happening? I >>>>> can post some code if more clarity is needed. Thanks! >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "ioio-users" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at http://groups.google.com/group/ioio-users. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "ioio-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/ioio-users. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > You received this message because you are subscribed to the Google Groups > "ioio-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/ioio-users. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "ioio-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/ioio-users. For more options, visit https://groups.google.com/d/optout.
