Changeset f04c0cd in companion


Ignore:
Timestamp:
Jun 13, 2014, 2:27:45 PM (3 years ago)
Author:
pralonga <aurelien.pralong@…>
Branches:
master
Parents:
df6d0e8
Message:

Fixed bug : network called on UI Thread

Signed-off-by: pralonga <aurelien.pralong@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/org/subsurface/DiveListActivity.java

    rc231681 rf04c0cd  
    250250         * @param divelog DiveLocationLog of the dive
    251251         */
    252         public void sendMapDiveLog(DiveLocationLog divelog) {
     252        public void sendMapDiveLog(final DiveLocationLog divelog) {
    253253                if (UserController.instance.autoSend()) {
    254                         try {
    255                                 DiveController.instance.sendDiveLog(divelog);
    256                                 Toast.makeText(DiveListActivity.this, getString(R.string.confirmation_dive_picked_sent, divelog.getName()), Toast.LENGTH_SHORT).show();
    257                         } catch (final WsException e) {
    258                                 runOnUiThread(new Runnable() {
    259                                         public void run() {
    260                                                 Toast.makeText(DiveListActivity.this, e.getCode(), Toast.LENGTH_SHORT).show();
     254                        new Thread(new Runnable() {
     255                                public void run() {
     256                                        try {
     257                                                DiveController.instance.sendDiveLog(divelog);
     258                                                runOnUiThread(new Runnable() {
     259                                                        public void run() {
     260                                                                Toast.makeText(DiveListActivity.this, getString(R.string.confirmation_dive_picked_sent, divelog.getName()), Toast.LENGTH_SHORT).show();
     261                                                        }
     262                                                });
     263                                        } catch (final WsException e) {
     264                                                runOnUiThread(new Runnable() {
     265                                                        public void run() {
     266                                                                Toast.makeText(DiveListActivity.this, e.getCode(), Toast.LENGTH_SHORT).show();
     267                                                        }
     268                                                });
     269                                        } catch (Exception e) {
     270                                                Log.d(TAG, "Could not send dive " + divelog.getName(), e);
     271                                                runOnUiThread(new Runnable() {
     272                                                        public void run() {
     273                                                                Toast.makeText(DiveListActivity.this, R.string.error_send, Toast.LENGTH_SHORT).show();
     274                                                        }
     275                                                });
    261276                                        }
    262                                 });
    263                         } catch (Exception e) {
    264                                 Log.d(TAG, "Could not send dive " + divelog.getName(), e);
    265                                 runOnUiThread(new Runnable() {
    266                                         public void run() {
    267                                                 Toast.makeText(DiveListActivity.this, R.string.error_send, Toast.LENGTH_SHORT).show();
    268                                         }
    269                                 });
    270                         }
     277                                }
     278                        }).start();
    271279                } else {
    272280                        DiveController.instance.updateDiveLog(divelog);
Note: See TracChangeset for help on using the changeset viewer.