@@ -595,7 +595,7 @@ fun removeMissingPatchesAndStart() {
595595 val flags = PackageManager .GET_SIGNING_CERTIFICATES or PackageManager .GET_SIGNATURES
596596 @Suppress(" DEPRECATION" )
597597 val pkgInfo = app.packageManager.getPackageArchiveInfo(file.absolutePath, flags) ? : return null
598-
598+ @Suppress( " DEPRECATION " )
599599 val signature: Signature ? =
600600 if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .P ) {
601601 pkgInfo.signingInfo?.apkContentsSigners?.firstOrNull()
@@ -1619,6 +1619,7 @@ fun removeMissingPatchesAndStart() {
16191619 }
16201620
16211621 try {
1622+ @Suppress(" DEPRECATION" )
16221623 ContextCompat .startActivity(app, plan.intent, null )
16231624 } catch (error: ActivityNotFoundException ) {
16241625 installerManager.cleanup(plan)
@@ -1661,7 +1662,7 @@ fun removeMissingPatchesAndStart() {
16611662 installerManager.cleanup(plan)
16621663 updateInstallingState(false )
16631664 stopInstallProgressToasts()
1664- val installType = if (plan? .token is InstallerManager .Token .Component ) InstallType .CUSTOM else InstallType .DEFAULT
1665+ val installType = if (plan.token is InstallerManager .Token .Component ) InstallType .CUSTOM else InstallType .DEFAULT
16651666 markInstallSuccess(packageName)
16661667 suppressFailureAfterSuccess = true
16671668
@@ -1837,26 +1838,20 @@ fun removeMissingPatchesAndStart() {
18371838 val shouldPreserveInput =
18381839 selectedForRun is SelectedApp .Local && (selectedForRun.temporary || forceKeepLocalInput)
18391840
1840- // Get patch options from PatchOptionsPreferencesManager based on package name
1841- val patchOptions = runBlocking {
1842- when (packageName) {
1843- PACKAGE_YOUTUBE_MUSIC -> patchOptionsPrefs.exportYouTubeMusicPatchOptions()
1844- else -> patchOptionsPrefs.exportYouTubePatchOptions()
1845- }
1846- }
1847-
1848- // Merge with existing options from input
1849- val mergedOptions = input.options.toMutableMap()
1850- patchOptions.forEach { (bundleUid, bundlePatchOptions) ->
1851- val existing = mergedOptions[bundleUid]?.toMutableMap() ? : mutableMapOf ()
1841+ // Completely isolate Morphe and Expert modes
1842+ val useMorpheMode = prefs.useMorpheHomeScreen.getBlocking()
18521843
1853- bundlePatchOptions.forEach { (patchName, patchOptionValues) ->
1854- val existingPatch = existing[patchName]?.toMutableMap() ? : mutableMapOf ()
1855- existingPatch.putAll(patchOptionValues)
1856- existing[patchName] = existingPatch
1844+ val mergedOptions = if (useMorpheMode) {
1845+ // Morphe mode: Use ONLY preferences manager options
1846+ runBlocking {
1847+ when (packageName) {
1848+ PACKAGE_YOUTUBE_MUSIC -> patchOptionsPrefs.exportYouTubeMusicPatchOptions()
1849+ else -> patchOptionsPrefs.exportYouTubePatchOptions()
1850+ }
18571851 }
1858-
1859- mergedOptions[bundleUid] = existing
1852+ } else {
1853+ // Expert mode: Use ONLY input options
1854+ input.options
18601855 }
18611856
18621857 return PatcherWorker .Args (
0 commit comments