mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Remove bundled fallback file picker
This commit is contained in:
		| @@ -80,10 +80,6 @@ | ||||
|         <activity | ||||
|             android:name=".ui.webview.WebViewActivity" | ||||
|             android:configChanges="uiMode|orientation|screenSize" /> | ||||
|         <activity | ||||
|             android:name=".widget.CustomLayoutPickerActivity" | ||||
|             android:label="@string/app_name" | ||||
|             android:theme="@style/FilePickerTheme" /> | ||||
|         <activity | ||||
|             android:name=".ui.setting.track.AnilistLoginActivity" | ||||
|             android:label="Anilist"> | ||||
|   | ||||
| @@ -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) | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										9
									
								
								app/src/main/res/drawable/ic_folder_24dp.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								app/src/main/res/drawable/ic_folder_24dp.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     android:width="24dp" | ||||
|     android:height="24dp" | ||||
|     android:viewportWidth="24" | ||||
|     android:viewportHeight="24"> | ||||
|     <path | ||||
|         android:fillColor="#FF000000" | ||||
|         android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z" /> | ||||
| </vector> | ||||
| @@ -1,38 +0,0 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|     xmlns:tools="http://schemas.android.com/tools" | ||||
|     android:id="@+id/nnf_item_container" | ||||
|     android:layout_width="match_parent" | ||||
|     android:layout_height="?android:listPreferredItemHeight" | ||||
|     android:background="?selectableItemBackground" | ||||
|     android:focusable="true" | ||||
|     android:minHeight="?android:listPreferredItemHeight" | ||||
|     android:nextFocusLeft="@+id/nnf_button_cancel" | ||||
|     android:nextFocusRight="@+id/nnf_button_ok" | ||||
|     android:orientation="horizontal"> | ||||
|  | ||||
|     <ImageView | ||||
|         android:id="@+id/item_icon" | ||||
|         android:layout_width="?android:listPreferredItemHeight" | ||||
|         android:layout_height="?android:listPreferredItemHeight" | ||||
|         android:adjustViewBounds="true" | ||||
|         android:scaleType="center" | ||||
|         android:src="@drawable/nnf_ic_file_folder" | ||||
|         android:visibility="visible" | ||||
|         app:tint="?attr/colorAccent" | ||||
|         tools:ignore="ContentDescription" /> | ||||
|  | ||||
|     <TextView | ||||
|         android:id="@android:id/text1" | ||||
|         android:layout_width="0dp" | ||||
|         android:layout_height="match_parent" | ||||
|         android:layout_weight="1" | ||||
|         android:ellipsize="end" | ||||
|         android:gravity="center_vertical" | ||||
|         android:maxLines="1" | ||||
|         android:padding="8dp" | ||||
|         android:singleLine="true" | ||||
|         android:text="@string/nnf_name" /> | ||||
|  | ||||
| </LinearLayout> | ||||
| @@ -665,6 +665,7 @@ | ||||
|     <!-- File Picker Titles --> | ||||
|     <string name="file_select_cover">Select cover image</string> | ||||
|     <string name="file_select_backup">Select backup file</string> | ||||
|     <string name="file_picker_error">No file picker app found</string> | ||||
|  | ||||
|     <!--UpdateCheck--> | ||||
|     <string name="update_check_confirm">Download</string> | ||||
|   | ||||
| @@ -325,22 +325,4 @@ | ||||
|         <item name="android:textSize">15sp</item> | ||||
|     </style> | ||||
|  | ||||
|  | ||||
|     <!--===--> | ||||
|     <!--OLD--> | ||||
|     <!--===--> | ||||
|     <style name="FilePickerTheme" parent="NNF_BaseTheme.Light"> | ||||
|         <item name="colorPrimary">@color/colorPrimary</item> | ||||
|         <item name="colorPrimaryDark">@color/colorPrimary</item> | ||||
|         <item name="colorAccent">@color/colorAccentLight</item> | ||||
|         <item name="colorButtonNormal">@color/colorPrimary</item> | ||||
|         <item name="android:textSize">14sp</item> | ||||
|  | ||||
|         <item name="alertDialogTheme">@style/FilePickerAlertDialogTheme</item> | ||||
|  | ||||
|         <item name="nnf_toolbarTheme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> | ||||
|     </style> | ||||
|  | ||||
|     <style name="FilePickerAlertDialogTheme" parent="Theme.MaterialComponents.Light.Dialog.Alert" /> | ||||
|  | ||||
| </resources> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user