@@ -21,8 +21,6 @@ import com.intellij.openapi.vfs.VirtualFile
2121import com.intellij.openapi.vfs.VirtualFileVisitor
2222import com.tinify.Tinify
2323import org.apache.commons.lang.StringUtils
24- import rx.Observable
25- import rx.schedulers.Schedulers
2624import java.io.IOException
2725import java.util.*
2826import java.util.concurrent.Executors
@@ -31,7 +29,7 @@ import java.util.concurrent.Executors
3129 * Created by alvince on 2017/6/28.
3230 *
3331 * @author alvince.zy@gmail.com
34- * @version 1.0.1, 7 /21/2017
32+ * @version 1.0.1, 1 /21/2018
3533 * @since 1.0
3634 */
3735class TinyPicUploadAction : TinifyAction () {
@@ -60,14 +58,7 @@ class TinyPicUploadAction : TinifyAction() {
6058 tinifySource.clear()
6159 val descriptor = FileChooserDescriptor (true , true , false , false , false , true )
6260 val selectedFiles = FileChooser .chooseFiles(descriptor, project, project.baseDir)
63- Observable .just(selectedFiles)
64- .subscribeOn(Schedulers .io())
65- .filter { selectedFiles.isNotEmpty() }
66- .subscribe({
67- selectedFiles.forEach { parseFilePicked(it) }
68- // logger.debug("${tinifySource.toArray()}")
69- uploadAndTinify()
70- }, { it.printStackTrace() })
61+ FilePickTask (selectedFiles).start()
7162 }
7263
7364 @Suppress(" name_shadowing" )
@@ -109,6 +100,16 @@ class TinyPicUploadAction : TinifyAction() {
109100 }
110101
111102
103+ internal inner class FilePickTask (private val files : Array <VirtualFile >) : Thread() {
104+ override fun run () {
105+ super .run ()
106+ if (files.isNotEmpty()) {
107+ files.forEach { parseFilePicked(it) }
108+ uploadAndTinify()
109+ }
110+ }
111+ }
112+
112113 internal inner class TaskRunnable (file : VirtualFile ) : Runnable {
113114 private val name: String = file.path
114115 private val flowable: TinifyFlowable = TinifyFlowable (file)
0 commit comments