mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Crash fixes
This commit is contained in:
		| @@ -1,6 +1,7 @@ | ||||
| package eu.kanade.mangafeed.data.cache; | ||||
|  | ||||
| import android.content.Context; | ||||
| import android.text.TextUtils; | ||||
| import android.widget.ImageView; | ||||
|  | ||||
| import com.bumptech.glide.Glide; | ||||
| @@ -43,6 +44,9 @@ public class CoverCache { | ||||
|     // Download the cover with Glide (it can avoid repeating requests) and save the file on this cache | ||||
|     // Optionally, load the image in the given image view when the resource is ready, if not null | ||||
|     public void save(String thumbnailUrl, LazyHeaders headers, ImageView imageView) { | ||||
|         if (TextUtils.isEmpty(thumbnailUrl)) | ||||
|             return; | ||||
|  | ||||
|         GlideUrl url = new GlideUrl(thumbnailUrl, headers); | ||||
|         Glide.with(context) | ||||
|                 .load(url) | ||||
| @@ -93,6 +97,9 @@ public class CoverCache { | ||||
|  | ||||
|     // Delete the cover from cache | ||||
|     public boolean delete(String thumbnailUrl) { | ||||
|         if (TextUtils.isEmpty(thumbnailUrl)) | ||||
|             return false; | ||||
|  | ||||
|         File file = new File(cacheDir, DiskUtils.hashKeyForDisk(thumbnailUrl)); | ||||
|         return file.exists() && file.delete(); | ||||
|     } | ||||
|   | ||||
| @@ -4,7 +4,6 @@ import android.os.Bundle; | ||||
| import android.text.TextUtils; | ||||
| import android.util.Pair; | ||||
|  | ||||
| import com.bumptech.glide.Glide; | ||||
| import com.pushtorefresh.storio.sqlite.operations.put.PutResult; | ||||
|  | ||||
| import java.util.List; | ||||
| @@ -20,6 +19,7 @@ import eu.kanade.mangafeed.data.source.base.Source; | ||||
| import eu.kanade.mangafeed.data.source.model.MangasPage; | ||||
| import eu.kanade.mangafeed.ui.base.presenter.BasePresenter; | ||||
| import eu.kanade.mangafeed.util.RxPager; | ||||
| import icepick.State; | ||||
| import rx.Observable; | ||||
| import rx.android.schedulers.AndroidSchedulers; | ||||
| import rx.schedulers.Schedulers; | ||||
| @@ -34,6 +34,7 @@ public class CataloguePresenter extends BasePresenter<CatalogueFragment> { | ||||
|     @Inject PreferencesHelper prefs; | ||||
|  | ||||
|     private Source source; | ||||
|     @State int sourceId; | ||||
|  | ||||
|     private String query; | ||||
|  | ||||
| @@ -78,19 +79,14 @@ public class CataloguePresenter extends BasePresenter<CatalogueFragment> { | ||||
|     } | ||||
|  | ||||
|     private void onProcessRestart() { | ||||
|         source = sourceManager.get(sourceId); | ||||
|         stop(GET_MANGA_LIST); | ||||
|         stop(GET_MANGA_DETAIL); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     protected void onDestroy() { | ||||
|         // Catalogue covers are probably not going to be needed for a long time | ||||
|         Glide.get(getContext()).clearMemory(); | ||||
|         super.onDestroy(); | ||||
|     } | ||||
|  | ||||
|     public void startRequesting(Source source) { | ||||
|         this.source = source; | ||||
|         sourceId = source.getId(); | ||||
|         restartRequest(null); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,6 @@ import android.support.v7.widget.LinearLayoutManager; | ||||
| import android.support.v7.widget.RecyclerView; | ||||
| import android.view.LayoutInflater; | ||||
| import android.view.Menu; | ||||
| import android.view.MenuInflater; | ||||
| import android.view.MenuItem; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
| @@ -62,12 +61,6 @@ public class ChaptersFragment extends BaseRxFragment<ChaptersPresenter> implemen | ||||
|         return new ChaptersFragment(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onCreate(Bundle savedState) { | ||||
|         super.onCreate(savedState); | ||||
|         setHasOptionsMenu(true); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public View onCreateView(LayoutInflater inflater, ViewGroup container, | ||||
|                              Bundle savedInstanceState) { | ||||
| @@ -122,22 +115,6 @@ public class ChaptersFragment extends BaseRxFragment<ChaptersPresenter> implemen | ||||
|         super.onPause(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { | ||||
|         inflater.inflate(R.menu.chapters, menu); | ||||
|         super.onCreateOptionsMenu(menu, inflater); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean onOptionsItemSelected(MenuItem item) { | ||||
|         switch (item.getItemId()) { | ||||
|             case R.id.action_refresh: | ||||
|                 fetchChapters(); | ||||
|                 break; | ||||
|         } | ||||
|         return super.onOptionsItemSelected(item); | ||||
|     } | ||||
|  | ||||
|     public void onNextChapters(List<Chapter> chapters) { | ||||
|         // If the list is empty, fetch chapters from source if the conditions are met | ||||
|         // We use presenter chapters instead because they are always unfiltered | ||||
| @@ -156,8 +133,10 @@ public class ChaptersFragment extends BaseRxFragment<ChaptersPresenter> implemen | ||||
|     } | ||||
|  | ||||
|     public void fetchChapters() { | ||||
|         swipeRefresh.setRefreshing(true); | ||||
|         getPresenter().fetchChaptersFromSource(); | ||||
|         if (getPresenter().getManga() != null) { | ||||
|             swipeRefresh.setRefreshing(true); | ||||
|             getPresenter().fetchChaptersFromSource(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public void onFetchChaptersDone() { | ||||
|   | ||||
| @@ -21,6 +21,7 @@ import eu.kanade.mangafeed.event.DownloadChaptersEvent; | ||||
| import eu.kanade.mangafeed.event.ReaderEvent; | ||||
| import eu.kanade.mangafeed.ui.base.presenter.BasePresenter; | ||||
| import eu.kanade.mangafeed.util.EventBusHook; | ||||
| import icepick.State; | ||||
| import rx.Observable; | ||||
| import rx.android.schedulers.AndroidSchedulers; | ||||
| import rx.schedulers.Schedulers; | ||||
| @@ -40,7 +41,7 @@ public class ChaptersPresenter extends BasePresenter<ChaptersFragment> { | ||||
|     private boolean sortOrderAToZ = true; | ||||
|     private boolean onlyUnread = true; | ||||
|     private boolean onlyDownloaded; | ||||
|     private boolean hasRequested; | ||||
|     @State boolean hasRequested; | ||||
|  | ||||
|     private PublishSubject<List<Chapter>> chaptersSubject; | ||||
|  | ||||
|   | ||||
| @@ -25,7 +25,7 @@ public abstract class PagerReader extends BaseReader { | ||||
|     protected void initializePager(Pager pager) { | ||||
|         this.pager = pager; | ||||
|         pager.setLayoutParams(new ViewGroup.LayoutParams(MATCH_PARENT, MATCH_PARENT)); | ||||
|         pager.setOffscreenPageLimit(2); | ||||
|         pager.setOffscreenPageLimit(1); | ||||
|         pager.setId(R.id.view_pager); | ||||
|         pager.setOnChapterBoundariesOutListener(new OnChapterBoundariesOutListener() { | ||||
|             @Override | ||||
|   | ||||
		Reference in New Issue
	
	Block a user