Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2742c9c2 authored by Joe Onorato's avatar Joe Onorato Committed by Android Git Automerger
Browse files

am 163c28b5: Merge "Managed dialogs should run on the same thread as their...

am 163c28b5: Merge "Managed dialogs should run on the same thread as their activity." into gingerbread

* commit '163c28b5':
  Managed dialogs should run on the same thread as their activity.
parents 062443f2 163c28b5
Loading
Loading
Loading
Loading
+20 −6
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ public class UsbStorageActivity extends Activity
    private static final int DLG_CONFIRM_KILL_STORAGE_USERS = 1;
    private static final int DLG_ERROR_SHARING = 2;
    static final boolean localLOGV = false;
    private boolean mDestroyed;

    // UI thread
    private Handler mUIHandler;
@@ -136,6 +137,12 @@ public class UsbStorageActivity extends Activity
        mProgressBar = (ProgressBar) findViewById(com.android.internal.R.id.progress);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mDestroyed = true;
    }

    private void switchDisplay(final boolean usbStorageInUse) {
        mUIHandler.post(new Runnable() {
            @Override
@@ -232,10 +239,17 @@ public class UsbStorageActivity extends Activity
        return null;
    }

    private void showDialogInner(int id) {
    private void scheduleShowDialog(final int id) {
        mUIHandler.post(new Runnable() {
            @Override
            public void run() {
                if (!mDestroyed) {
                    removeDialog(id);
                    showDialog(id);
                }
            }
        });
    }

    private void switchUsbMassStorage(final boolean on) {
        // things to do on the UI thread
@@ -276,7 +290,7 @@ public class UsbStorageActivity extends Activity
        IMountService ims = getMountService();
        if (ims == null) {
            // Display error dialog
            showDialogInner(DLG_ERROR_SHARING);
            scheduleShowDialog(DLG_ERROR_SHARING);
        }
        String extStoragePath = Environment.getExternalStorageDirectory().toString();
        boolean showDialog = false;
@@ -294,11 +308,11 @@ public class UsbStorageActivity extends Activity
            }
        } catch (RemoteException e) {
            // Display error dialog
            showDialogInner(DLG_ERROR_SHARING);
            scheduleShowDialog(DLG_ERROR_SHARING);
        }
        if (showDialog) {
            // Display dialog to user
            showDialogInner(DLG_CONFIRM_KILL_STORAGE_USERS);
            scheduleShowDialog(DLG_CONFIRM_KILL_STORAGE_USERS);
        } else {
            if (localLOGV) Log.i(TAG, "Enabling UMS");
            switchUsbMassStorage(true);