mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Limit package name overriding to Android 8+ (related to #6846)
This commit is contained in:
		| @@ -1,5 +1,6 @@ | ||||
| package eu.kanade.tachiyomi | ||||
|  | ||||
| import android.annotation.SuppressLint | ||||
| import android.app.ActivityManager | ||||
| import android.app.Application | ||||
| import android.app.PendingIntent | ||||
| @@ -57,6 +58,7 @@ open class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory { | ||||
|  | ||||
|     private val disableIncognitoReceiver = DisableIncognitoReceiver() | ||||
|  | ||||
|     @SuppressLint("LaunchActivityFromNotification") | ||||
|     override fun onCreate() { | ||||
|         super<Application>.onCreate() | ||||
|  | ||||
| @@ -151,14 +153,20 @@ open class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory { | ||||
|     } | ||||
|  | ||||
|     override fun getPackageName(): String { | ||||
|         try { | ||||
|             // Override the value passed as X-Requested-With in WebView requests | ||||
|             val stackTrace = Looper.getMainLooper().thread.stackTrace | ||||
|             val chromiumElement = stackTrace.find { it.className.equals("org.chromium.base.BuildInfo", ignoreCase = true) } | ||||
|             if (chromiumElement?.methodName.equals("getAll", ignoreCase = true)) { | ||||
|                 return WebViewUtil.SPOOF_PACKAGE_NAME | ||||
|         // This causes freezes in Android 6/7 for some reason | ||||
|         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { | ||||
|             try { | ||||
|                 // Override the value passed as X-Requested-With in WebView requests | ||||
|                 val stackTrace = Looper.getMainLooper().thread.stackTrace | ||||
|                 val chromiumElement = stackTrace.find { | ||||
|                     it.className.equals("org.chromium.base.BuildInfo", | ||||
|                         ignoreCase = true) | ||||
|                 } | ||||
|                 if (chromiumElement?.methodName.equals("getAll", ignoreCase = true)) { | ||||
|                     return WebViewUtil.SPOOF_PACKAGE_NAME | ||||
|                 } | ||||
|             } catch (e: Exception) { | ||||
|             } | ||||
|         } catch (e: Exception) { | ||||
|         } | ||||
|         return super.getPackageName() | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user