pull/35/head^2
			
			
		
		
							parent
							
								
									4356e9e30e
								
							
						
					
					
						commit
						26d040c39b
					
				@ -1,14 +1,17 @@ | 
				
			|||||||
package io.legado.app.data.dao | 
					package io.legado.app.data.dao | 
				
			||||||
 | 
					
 | 
				
			||||||
import androidx.lifecycle.LiveData | 
					import androidx.lifecycle.LiveData | 
				
			||||||
 | 
					import androidx.room.Insert | 
				
			||||||
 | 
					import androidx.room.OnConflictStrategy | 
				
			||||||
import androidx.room.Query | 
					import androidx.room.Query | 
				
			||||||
import io.legado.app.data.entities.RssArticle | 
					import io.legado.app.data.entities.RssArticle | 
				
			||||||
 | 
					
 | 
				
			||||||
interface RssArticleDao { | 
					interface RssArticleDao { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Query("select * from rssArticles where origin = :origin") | 
					    @Query("select * from rssArticles where origin = :origin order by time desc") | 
				
			||||||
    fun liveByOrigin(origin: String): LiveData<List<RssArticle>> | 
					    fun liveByOrigin(origin: String): LiveData<List<RssArticle>> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Insert(onConflict = OnConflictStrategy.REPLACE) | 
				
			||||||
 | 
					    fun insert(vararg rssArticle: RssArticle) | 
				
			||||||
} | 
					} | 
				
			||||||
@ -1,12 +1,20 @@ | 
				
			|||||||
package io.legado.app.ui.rss.article | 
					package io.legado.app.ui.rss.article | 
				
			||||||
 | 
					
 | 
				
			||||||
import android.app.Application | 
					import android.app.Application | 
				
			||||||
 | 
					import io.legado.app.App | 
				
			||||||
import io.legado.app.base.BaseViewModel | 
					import io.legado.app.base.BaseViewModel | 
				
			||||||
 | 
					import io.legado.app.model.rss.RssParser | 
				
			||||||
 | 
					import java.net.URL | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class RssArticlesViewModel(application: Application) : BaseViewModel(application) { | 
					class RssArticlesViewModel(application: Application) : BaseViewModel(application) { | 
				
			||||||
 | 
					
 | 
				
			||||||
    fun loadContent(url: String) { | 
					    fun loadContent(url: String) { | 
				
			||||||
 | 
					        execute { | 
				
			||||||
 | 
					            val xml = URL(url).readText() | 
				
			||||||
 | 
					            RssParser.parseXML(xml).let { | 
				
			||||||
 | 
					                App.db.rssArtivleDao().insert(*it.toTypedArray()) | 
				
			||||||
 | 
					            } | 
				
			||||||
 | 
					        } | 
				
			||||||
    } | 
					    } | 
				
			||||||
} | 
					} | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue