public MenuExecutor(GalleryActivity activity, SelectionManager selectionManager) { mActivity = Utils.checkNotNull(activity); mSelectionManager = Utils.checkNotNull(selectionManager); mHandler = new SynchronizedHandler(mActivity.getGLRoot()) { @Override public void handleMessage(Message message) { switch (message.what) { case MSG_TASK_COMPLETE: { stopTaskAndDismissDialog(); if (message.obj != null) { ProgressListener listener = (ProgressListener) message.obj; listener.onProgressComplete(message.arg1); } mSelectionManager.leaveSelectionMode(); break; } case MSG_TASK_UPDATE: { if (mDialog != null) mDialog.setProgress(message.arg1); if (message.obj != null) { ProgressListener listener = (ProgressListener) message.obj; listener.onProgressUpdate(message.arg1); } break; } case MSG_DO_SHARE: { ((Activity) mActivity).startActivity((Intent) message.obj); break; } } } }; }