mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Remove bundled fallback file picker
This commit is contained in:
		| @@ -146,7 +146,7 @@ class BackupNotifier(private val context: Context) { | ||||
|                 val uri = destFile.getUriCompat(context) | ||||
|  | ||||
|                 addAction( | ||||
|                     R.drawable.nnf_ic_file_folder, | ||||
|                     R.drawable.ic_folder_24dp, | ||||
|                     context.getString(R.string.action_open_log), | ||||
|                     NotificationReceiver.openErrorLogPendingActivity(context, uri) | ||||
|                 ) | ||||
|   | ||||
| @@ -109,7 +109,7 @@ class LibraryUpdateNotifier(private val context: Context) { | ||||
|  | ||||
|                 setContentIntent(errorLogIntent) | ||||
|                 addAction( | ||||
|                     R.drawable.nnf_ic_file_folder, | ||||
|                     R.drawable.ic_folder_24dp, | ||||
|                     context.getString(R.string.action_open_log), | ||||
|                     errorLogIntent | ||||
|                 ) | ||||
|   | ||||
| @@ -39,7 +39,6 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory | ||||
| import eu.kanade.tachiyomi.util.preference.summaryRes | ||||
| import eu.kanade.tachiyomi.util.preference.switchPreference | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.util.system.getFilePicker | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| @@ -125,13 +124,11 @@ class SettingsBackupController : SettingsController() { | ||||
|                 titleRes = R.string.pref_backup_directory | ||||
|  | ||||
|                 onClick { | ||||
|                     val currentDir = preferences.backupsDirectory().get() | ||||
|                     try { | ||||
|                         val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE) | ||||
|                         startActivityForResult(intent, CODE_BACKUP_DIR) | ||||
|                     } catch (e: ActivityNotFoundException) { | ||||
|                         // Fall back to custom picker on error | ||||
|                         startActivityForResult(preferences.context.getFilePicker(currentDir), CODE_BACKUP_DIR) | ||||
|                         activity?.toast(R.string.file_picker_error) | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
| @@ -277,8 +274,7 @@ class SettingsBackupController : SettingsController() { | ||||
|  | ||||
|             startActivityForResult(intent, code) | ||||
|         } catch (e: ActivityNotFoundException) { | ||||
|             // Handle errors where the Android ROM doesn't support the built in picker | ||||
|             startActivityForResult(preferences.context.getFilePicker(currentDir), code) | ||||
|             activity?.toast(R.string.file_picker_error) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -27,7 +27,7 @@ import eu.kanade.tachiyomi.util.preference.preference | ||||
| import eu.kanade.tachiyomi.util.preference.preferenceCategory | ||||
| import eu.kanade.tachiyomi.util.preference.switchPreference | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.util.system.getFilePicker | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import uy.kohesive.injekt.Injekt | ||||
| @@ -155,12 +155,12 @@ class SettingsDownloadController : SettingsController() { | ||||
|         preferences.downloadsDirectory().set(path.toString()) | ||||
|     } | ||||
|  | ||||
|     fun customDirectorySelected(currentDir: String) { | ||||
|     fun customDirectorySelected() { | ||||
|         val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE) | ||||
|         try { | ||||
|             startActivityForResult(intent, DOWNLOAD_DIR) | ||||
|         } catch (e: ActivityNotFoundException) { | ||||
|             startActivityForResult(preferences.context.getFilePicker(currentDir), DOWNLOAD_DIR) | ||||
|             activity?.toast(R.string.file_picker_error) | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -181,7 +181,7 @@ class SettingsDownloadController : SettingsController() { | ||||
|                 ) { _, position, text -> | ||||
|                     val target = targetController as? SettingsDownloadController | ||||
|                     if (position == externalDirs.lastIndex) { | ||||
|                         target?.customDirectorySelected(currentDir) | ||||
|                         target?.customDirectorySelected() | ||||
|                     } else { | ||||
|                         target?.predefinedDirectorySelected(text.toString()) | ||||
|                     } | ||||
|   | ||||
| @@ -29,10 +29,8 @@ import androidx.core.graphics.green | ||||
| import androidx.core.graphics.red | ||||
| import androidx.core.net.toUri | ||||
| import androidx.localbroadcastmanager.content.LocalBroadcastManager | ||||
| import com.nononsenseapps.filepicker.FilePickerActivity | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.util.lang.truncateCenter | ||||
| import eu.kanade.tachiyomi.widget.CustomLayoutPickerActivity | ||||
| import kotlin.math.roundToInt | ||||
|  | ||||
| /** | ||||
| @@ -98,19 +96,6 @@ fun Context.notification(channelId: String, block: (NotificationCompat.Builder.( | ||||
|     return builder.build() | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Helper method to construct an Intent to use a custom file picker. | ||||
|  * @param currentDir the path the file picker will open with. | ||||
|  * @return an Intent to start the file picker activity. | ||||
|  */ | ||||
| fun Context.getFilePicker(currentDir: String): Intent { | ||||
|     return Intent(this, CustomLayoutPickerActivity::class.java) | ||||
|         .putExtra(FilePickerActivity.EXTRA_ALLOW_MULTIPLE, false) | ||||
|         .putExtra(FilePickerActivity.EXTRA_ALLOW_CREATE_DIR, true) | ||||
|         .putExtra(FilePickerActivity.EXTRA_MODE, FilePickerActivity.MODE_DIR) | ||||
|         .putExtra(FilePickerActivity.EXTRA_START_PATH, currentDir) | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Checks if the give permission is granted. | ||||
|  * | ||||
|   | ||||
| @@ -1,33 +0,0 @@ | ||||
| package eu.kanade.tachiyomi.widget | ||||
|  | ||||
| import android.view.ViewGroup | ||||
| import androidx.recyclerview.widget.RecyclerView | ||||
| import com.nononsenseapps.filepicker.AbstractFilePickerFragment | ||||
| import com.nononsenseapps.filepicker.FilePickerActivity | ||||
| import com.nononsenseapps.filepicker.FilePickerFragment | ||||
| import com.nononsenseapps.filepicker.LogicHandler | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.util.view.inflate | ||||
| import java.io.File | ||||
|  | ||||
| class CustomLayoutPickerActivity : FilePickerActivity() { | ||||
|  | ||||
|     override fun getFragment(startPath: String?, mode: Int, allowMultiple: Boolean, allowCreateDir: Boolean): | ||||
|         AbstractFilePickerFragment<File> { | ||||
|             val fragment = CustomLayoutFilePickerFragment() | ||||
|             fragment.setArgs(startPath, mode, allowMultiple, allowCreateDir) | ||||
|             return fragment | ||||
|         } | ||||
| } | ||||
|  | ||||
| class CustomLayoutFilePickerFragment : FilePickerFragment() { | ||||
|     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { | ||||
|         return when (viewType) { | ||||
|             LogicHandler.VIEWTYPE_DIR -> { | ||||
|                 val view = parent.inflate(R.layout.common_listitem_dir) | ||||
|                 DirViewHolder(view) | ||||
|             } | ||||
|             else -> super.onCreateViewHolder(parent, viewType) | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user