mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Minor changes
This commit is contained in:
		| @@ -61,23 +61,13 @@ public class Page implements NetworkHelper.ProgressListener { | ||||
|  | ||||
|     public void setStatus(int status) { | ||||
|         this.status = status; | ||||
|         if (statusSubject != null) | ||||
|             statusSubject.onNext(status); | ||||
|         notifyStatus(); | ||||
|     } | ||||
|  | ||||
|     public int getProgress() { | ||||
|         return progress; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return "Page{" + | ||||
|                 "pageNumber=" + pageNumber + | ||||
|                 ", url='" + url + '\'' + | ||||
|                 ", imageUrl='" + imageUrl + '\'' + | ||||
|                 '}'; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void update(long bytesRead, long contentLength, boolean done) { | ||||
|         progress = (int) ((100 * bytesRead) / contentLength); | ||||
| @@ -85,6 +75,12 @@ public class Page implements NetworkHelper.ProgressListener { | ||||
|  | ||||
|     public void setStatusSubject(BehaviorSubject<Integer> subject) { | ||||
|         this.statusSubject = subject; | ||||
|         notifyStatus(); | ||||
|     } | ||||
|  | ||||
|     private void notifyStatus() { | ||||
|         if (statusSubject != null) | ||||
|             statusSubject.onNext(status); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -71,7 +71,6 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> { | ||||
|  | ||||
|     @Override | ||||
|     protected void onDestroy() { | ||||
|         EventBus.getDefault().removeStickyEvent(SourceChapterEvent.class); | ||||
|         source.savePageList(chapter.url, pageList); | ||||
|         saveChapter(); | ||||
|         super.onDestroy(); | ||||
| @@ -79,14 +78,13 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> { | ||||
|  | ||||
|     @EventBusHook | ||||
|     public void onEventMainThread(SourceChapterEvent event) { | ||||
|         if (source == null || chapter == null) { | ||||
|             source = event.getSource(); | ||||
|             chapter = event.getChapter(); | ||||
|             if (chapter.last_page_read != 0) | ||||
|                 currentPage = chapter.last_page_read; | ||||
|         source = event.getSource(); | ||||
|         chapter = event.getChapter(); | ||||
|         if (chapter.last_page_read != 0 && !chapter.read) | ||||
|             currentPage = chapter.last_page_read; | ||||
|  | ||||
|             start(1); | ||||
|         } | ||||
|         start(1); | ||||
|         EventBus.getDefault().removeStickyEvent(SourceChapterEvent.class); | ||||
|     } | ||||
|  | ||||
|     private Observable<List<Page>> getPageListObservable() { | ||||
|   | ||||
| @@ -14,6 +14,7 @@ import com.davemorrissey.labs.subscaleview.ImageSource; | ||||
| import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; | ||||
|  | ||||
| import java.util.concurrent.TimeUnit; | ||||
| import java.util.concurrent.atomic.AtomicInteger; | ||||
|  | ||||
| import butterknife.Bind; | ||||
| import butterknife.ButterKnife; | ||||
| @@ -124,29 +125,32 @@ public class ReaderPageFragment extends Fragment { | ||||
|     } | ||||
|  | ||||
|     private void observeStatus() { | ||||
|         if (page == null) | ||||
|         if (page == null || statusSubscription != null) | ||||
|             return; | ||||
|  | ||||
|         if (page.getStatus() == Page.READY) { | ||||
|             showImage(); | ||||
|         } else { | ||||
|             BehaviorSubject<Integer> statusSubject = BehaviorSubject.create(); | ||||
|             page.setStatusSubject(statusSubject); | ||||
|         BehaviorSubject<Integer> statusSubject = BehaviorSubject.create(); | ||||
|         page.setStatusSubject(statusSubject); | ||||
|  | ||||
|             statusSubscription = statusSubject | ||||
|                     .observeOn(AndroidSchedulers.mainThread()) | ||||
|                     .subscribe(this::processStatus); | ||||
|         } | ||||
|         statusSubscription = statusSubject | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .subscribe(this::processStatus); | ||||
|     } | ||||
|  | ||||
|     private void observeProgress() { | ||||
|         if (progressSubscription != null) | ||||
|             return; | ||||
|  | ||||
|         final AtomicInteger currentValue = new AtomicInteger(-1); | ||||
|  | ||||
|         progressSubscription = Observable.interval(75, TimeUnit.MILLISECONDS) | ||||
|                 .subscribeOn(Schedulers.io()) | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .subscribe(tick -> { | ||||
|                     if (page.getProgress() != 0) | ||||
|                         progressText.setText( | ||||
|                                 getString(R.string.download_progress, page.getProgress())); | ||||
|                     // Refresh UI only if progress change | ||||
|                     if (page.getProgress() != currentValue.get()) { | ||||
|                         currentValue.set(page.getProgress()); | ||||
|                         progressText.setText(getString(R.string.download_progress, page.getProgress())); | ||||
|                     } | ||||
|                 }); | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user