There's a difference between "promoting" and "showing a simple, terse 
example".  This I think is the latter.  I'm pretty sure if you ask any of 
the on-staff developer advocates if you should be writing 
production-quality code like this, they will probably say no, using a 
better mechanism.  But this is short and to the point.  The best 
production-worthy example would, unfortunately, take at least twice as many 
lines of code.

Also, this particular BT API is deprecated.

Doug

On Sunday, June 21, 2015 at 7:40:10 AM UTC-7, RLScott wrote:
>
> Google is still promoting runOnUiThread in their sample Bluetooth Low 
> Energy device scan callback code:
>
> private BluetoothAdapter.LeScanCallback mLeScanCallback =
>         new BluetoothAdapter.LeScanCallback() {
>     @Override
>     public void onLeScan(final BluetoothDevice device, int rssi,
>             byte[] scanRecord) {
>         runOnUiThread(new Runnable() {
>            @Override
>            public void run() {
>                mLeDeviceListAdapter.addDevice(device);
>                mLeDeviceListAdapter.notifyDataSetChanged();
>            }
>        });
>    }
> };
>
> -Robert Scott
> Hopkins, MN
>
>
>
> On Tuesday, June 9, 2015 at 12:39:13 PM UTC-6, Sam Duke wrote:
>>
>> Due to the nature of config changes, the runnable submitted to 
>> runOnUiThread may be executed after an activity has been destroyed (i.e. on 
>> a stale activity). Therefore this API can cause all sorts of subtle bugs 
>> with config changes and events never reaching the UI. I can't think of a 
>> single case where it would be safe to use this. You should already have hit 
>> the main thread by the time you are doing anything inside the runnable... I 
>> think all it does is encourage poor patterns...
>>
>> Given this, is it not time to deprecate this API?
>>
>>
>>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to