|  |  |  | @ -24,22 +24,22 @@ import java.util.* | 
			
		
	
		
			
				
					|  |  |  |  |  */ | 
			
		
	
		
			
				
					|  |  |  |  | class ReaderProvider : ContentProvider() { | 
			
		
	
		
			
				
					|  |  |  |  |     private enum class RequestCode { | 
			
		
	
		
			
				
					|  |  |  |  |         saveSource, saveSources, saveBook, deleteSources, getSource, getSources, getBookshelf, getChapterList, getBookContent | 
			
		
	
		
			
				
					|  |  |  |  |         SaveSource, SaveSources, SaveBook, DeleteSources, GetSource, GetSources, GetBookshelf, GetChapterList, GetBookContent | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     private val postBodyKey = "json" | 
			
		
	
		
			
				
					|  |  |  |  |     private val sMatcher by lazy { | 
			
		
	
		
			
				
					|  |  |  |  |         UriMatcher(UriMatcher.NO_MATCH).apply { | 
			
		
	
		
			
				
					|  |  |  |  |             "${context?.applicationInfo?.packageName}.readerProvider".also { authority -> | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "source/insert", RequestCode.saveSource.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "sources/insert", RequestCode.saveSources.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "book/insert", RequestCode.saveBook.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "sources/delete", RequestCode.deleteSources.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "source/query", RequestCode.getSource.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "sources/query", RequestCode.getSources.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "books/query", RequestCode.getBookshelf.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "book/chapter/query", RequestCode.getChapterList.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "book/content/query", RequestCode.getBookContent.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "source/insert", RequestCode.SaveSource.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "sources/insert", RequestCode.SaveSources.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "book/insert", RequestCode.SaveBook.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "sources/delete", RequestCode.DeleteSources.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "source/query", RequestCode.GetSource.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "sources/query", RequestCode.GetSources.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "books/query", RequestCode.GetBookshelf.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "book/chapter/query", RequestCode.GetChapterList.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |                 addURI(authority, "book/content/query", RequestCode.GetBookContent.ordinal) | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  |  | @ -55,7 +55,7 @@ class ReaderProvider : ContentProvider() { | 
			
		
	
		
			
				
					|  |  |  |  |     ): Int { | 
			
		
	
		
			
				
					|  |  |  |  |         if (sMatcher.match(uri) < 0) return -1 | 
			
		
	
		
			
				
					|  |  |  |  |         when (RequestCode.values()[sMatcher.match(uri)]) { | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.deleteSources -> SourceController.deleteSources(selection) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.DeleteSources -> SourceController.deleteSources(selection) | 
			
		
	
		
			
				
					|  |  |  |  |             else -> throw IllegalStateException( | 
			
		
	
		
			
				
					|  |  |  |  |                 "Unexpected value: " + RequestCode.values()[sMatcher.match(uri)].name | 
			
		
	
		
			
				
					|  |  |  |  |             ) | 
			
		
	
	
		
			
				
					|  |  |  | @ -70,13 +70,13 @@ class ReaderProvider : ContentProvider() { | 
			
		
	
		
			
				
					|  |  |  |  |     override fun insert(uri: Uri, values: ContentValues?): Uri? { | 
			
		
	
		
			
				
					|  |  |  |  |         if (sMatcher.match(uri) < 0) return null | 
			
		
	
		
			
				
					|  |  |  |  |         when (RequestCode.values()[sMatcher.match(uri)]) { | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.saveSource -> values?.let { | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.SaveSource -> values?.let { | 
			
		
	
		
			
				
					|  |  |  |  |                 SourceController.saveSource(values.getAsString(postBodyKey)) | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.saveBook -> values?.let { | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.SaveBook -> values?.let { | 
			
		
	
		
			
				
					|  |  |  |  |                 BookshelfController.saveBook(values.getAsString(postBodyKey)) | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.saveSources -> values?.let { | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.SaveSources -> values?.let { | 
			
		
	
		
			
				
					|  |  |  |  |                 SourceController.saveSources(values.getAsString(postBodyKey)) | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             else -> throw IllegalStateException( | 
			
		
	
	
		
			
				
					|  |  |  | @ -98,11 +98,11 @@ class ReaderProvider : ContentProvider() { | 
			
		
	
		
			
				
					|  |  |  |  |             map["index"] = arrayListOf(it) | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return if (sMatcher.match(uri) < 0) null else when (RequestCode.values()[sMatcher.match(uri)]) { | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.getSource -> SimpleCursor(SourceController.getSource(map)) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.getSources -> SimpleCursor(SourceController.sources) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.getBookshelf -> SimpleCursor(BookshelfController.bookshelf) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.getBookContent -> SimpleCursor(BookshelfController.getBookContent(map)) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.getChapterList -> SimpleCursor(BookshelfController.getChapterList(map)) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.GetSource -> SimpleCursor(SourceController.getSource(map)) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.GetSources -> SimpleCursor(SourceController.sources) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.GetBookshelf -> SimpleCursor(BookshelfController.bookshelf) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.GetBookContent -> SimpleCursor(BookshelfController.getBookContent(map)) | 
			
		
	
		
			
				
					|  |  |  |  |             RequestCode.GetChapterList -> SimpleCursor(BookshelfController.getChapterList(map)) | 
			
		
	
		
			
				
					|  |  |  |  |             else -> throw IllegalStateException( | 
			
		
	
		
			
				
					|  |  |  |  |                 "Unexpected value: " + RequestCode.values()[sMatcher.match(uri)].name | 
			
		
	
		
			
				
					|  |  |  |  |             ) | 
			
		
	
	
		
			
				
					|  |  |  | 
 |