mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Do not crash if source provides bad prefs
This commit is contained in:
		| @@ -13,6 +13,7 @@ import android.view.ContextThemeWrapper | ||||
| import android.view.LayoutInflater | ||||
| import android.view.View | ||||
| import android.view.ViewGroup | ||||
| import com.elvishew.xlog.XLog | ||||
| import com.jakewharton.rxbinding.view.clicks | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.EmptyPreferenceDataStore | ||||
| @@ -23,6 +24,7 @@ import eu.kanade.tachiyomi.source.online.LoginSource | ||||
| import eu.kanade.tachiyomi.ui.base.controller.NucleusController | ||||
| import eu.kanade.tachiyomi.ui.setting.preferenceCategory | ||||
| import eu.kanade.tachiyomi.util.LocaleHelper | ||||
| import eu.kanade.tachiyomi.util.toast | ||||
| import eu.kanade.tachiyomi.widget.preference.LoginPreference | ||||
| import eu.kanade.tachiyomi.widget.preference.SourceLoginDialog | ||||
| import kotlinx.android.synthetic.main.extension_detail_controller.* | ||||
| @@ -34,6 +36,10 @@ class ExtensionDetailsController(bundle: Bundle? = null) : | ||||
|         DialogPreference.TargetFragment, | ||||
|         SourceLoginDialog.Listener { | ||||
|  | ||||
|     // EXH --> | ||||
|     private val logger = XLog.tag("ExtensionDetailsController") | ||||
|     // EXH <-- | ||||
|  | ||||
|     private var lastOpenPreferencePosition: Int? = null | ||||
|  | ||||
|     private var preferenceScreen: PreferenceScreen? = null | ||||
| @@ -81,7 +87,16 @@ class ExtensionDetailsController(bundle: Bundle? = null) : | ||||
|  | ||||
|         for (source in extension.sources) { | ||||
|             if (source is ConfigurableSource) { | ||||
|                 addPreferencesForSource(screen, source, multiSource) | ||||
|                 // EXH --> | ||||
|                 try { | ||||
|                     // EXH <-- | ||||
|                     addPreferencesForSource(screen, source, multiSource) | ||||
|                     // EXH --> | ||||
|                 } catch(e: Exception) { | ||||
|                     logger.e("Failed to load preferences for source: ${source.name}!", e) | ||||
|                     context.toast("Failed to load preferences for this source!") | ||||
|                 } | ||||
|                 // EXH <-- | ||||
|             } | ||||
|         } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user