Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 08779261 authored by Priyanka Advani's avatar Priyanka Advani Committed by Android (Google) Code Review
Browse files

Revert^3 "Turn ContentProvider injection failures into errors."

This reverts commit d69c2b92.

Reason for revert: Droid-monitored triggered revert for likely culprit of b/328818888. Will be verifying through ABTD for confirmation and before submitting the revert.

Change-Id: I03c471de2f5dedebddafa63a111ad11e49c06b96
parent d69c2b92
Loading
Loading
Loading
Loading
+5 −6
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.BroadcastReceiver
import android.content.ContentProvider
import android.content.ContentProvider
import android.content.Context
import android.content.Context
import android.content.Intent
import android.content.Intent
import android.util.Log
import androidx.core.app.AppComponentFactory
import androidx.core.app.AppComponentFactory
import com.android.systemui.dagger.ContextComponentHelper
import com.android.systemui.dagger.ContextComponentHelper
import com.android.systemui.dagger.SysUIComponent
import com.android.systemui.dagger.SysUIComponent
@@ -90,8 +91,7 @@ abstract class SystemUIAppComponentFactoryBase : AppComponentFactory() {
        return app
        return app
    }
    }


    @UsesReflection(
    @UsesReflection(KeepTarget(instanceOfClassConstant = SysUIComponent::class, methodName = "inject"))
            KeepTarget(instanceOfClassConstant = SysUIComponent::class, methodName = "inject"))
    override fun instantiateProviderCompat(cl: ClassLoader, className: String): ContentProvider {
    override fun instantiateProviderCompat(cl: ClassLoader, className: String): ContentProvider {
        val contentProvider = super.instantiateProviderCompat(cl, className)
        val contentProvider = super.instantiateProviderCompat(cl, className)
        if (contentProvider is ContextInitializer) {
        if (contentProvider is ContextInitializer) {
@@ -103,12 +103,11 @@ abstract class SystemUIAppComponentFactoryBase : AppComponentFactory() {
                        .getMethod("inject", contentProvider.javaClass)
                        .getMethod("inject", contentProvider.javaClass)
                    injectMethod.invoke(rootComponent, contentProvider)
                    injectMethod.invoke(rootComponent, contentProvider)
                } catch (e: NoSuchMethodException) {
                } catch (e: NoSuchMethodException) {
                    throw RuntimeException("No injector for class: " + contentProvider.javaClass, e)
                    Log.w(TAG, "No injector for class: " + contentProvider.javaClass, e)
                } catch (e: IllegalAccessException) {
                } catch (e: IllegalAccessException) {
                    throw RuntimeException("Injector inaccessible for class: " +
                    Log.w(TAG, "No injector for class: " + contentProvider.javaClass, e)
                            contentProvider.javaClass, e)
                } catch (e: InvocationTargetException) {
                } catch (e: InvocationTargetException) {
                    throw RuntimeException("Error while injecting: " + contentProvider.javaClass, e)
                    Log.w(TAG, "No injector for class: " + contentProvider.javaClass, e)
                }
                }
                initializer
                initializer
            }
            }