parent
b8bc0e8b59
commit
514dd5173a
@ -0,0 +1,14 @@ |
|||||||
|
package io.legado.app.data.api |
||||||
|
|
||||||
|
import kotlinx.coroutines.Deferred |
||||||
|
import retrofit2.http.* |
||||||
|
|
||||||
|
interface CommonHttpApi { |
||||||
|
|
||||||
|
@GET |
||||||
|
fun get(@Url url: String, @QueryMap map: Map<String, String>): Deferred<String> |
||||||
|
|
||||||
|
@FormUrlEncoded |
||||||
|
@POST |
||||||
|
fun post(@Url url: String, @FieldMap map: Map<String, String>): Deferred<String> |
||||||
|
} |
@ -1,18 +1,39 @@ |
|||||||
package io.legado.app.ui.search |
package io.legado.app.ui.search |
||||||
|
|
||||||
import android.app.Application |
import android.app.Application |
||||||
|
import android.util.Log |
||||||
import androidx.lifecycle.LiveData |
import androidx.lifecycle.LiveData |
||||||
import androidx.lifecycle.MutableLiveData |
import androidx.lifecycle.MutableLiveData |
||||||
import io.legado.app.base.BaseViewModel |
import io.legado.app.base.BaseViewModel |
||||||
|
import io.legado.app.data.api.CommonHttpApi |
||||||
import io.legado.app.data.entities.SearchBook |
import io.legado.app.data.entities.SearchBook |
||||||
|
import io.legado.app.help.http.HttpHelper |
||||||
|
import kotlinx.coroutines.Dispatchers.IO |
||||||
|
import kotlinx.coroutines.withContext |
||||||
|
|
||||||
class SearchViewModel(application: Application) : BaseViewModel(application) { |
class SearchViewModel(application: Application) : BaseViewModel(application) { |
||||||
|
|
||||||
val searchBooks: LiveData<List<SearchBook>> = MutableLiveData() |
val searchBooks: LiveData<List<SearchBook>> = MutableLiveData() |
||||||
|
|
||||||
public fun search(){ |
public fun search(start: () -> Unit, finally: () -> Unit) { |
||||||
|
launchOnUI( |
||||||
|
{ |
||||||
|
start() |
||||||
|
val searchResponse = withContext(IO) { |
||||||
|
HttpHelper.getApiService( |
||||||
|
"http:www.baidu.com", |
||||||
|
CommonHttpApi::class.java |
||||||
|
).get("", mutableMapOf()) |
||||||
|
} |
||||||
|
|
||||||
|
val result = searchResponse.await() |
||||||
|
}, |
||||||
|
{ Log.i("TAG", "${it.message}") }, |
||||||
|
{ finally() }) |
||||||
|
|
||||||
|
// GlobalScope.launch { |
||||||
|
// |
||||||
|
// } |
||||||
} |
} |
||||||
|
|
||||||
} |
} |
||||||
|
Loading…
Reference in new issue