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

Commit 051353e7 authored by Priyank Singh's avatar Priyank Singh
Browse files

Wrapping the inflater into InjectionInflationController.

Normal inflater is not aware how to call the other constructor when __constructor__(context,attr) is not available.

Bug: 131083319
Bug: 129706831
Test: Manual
Change-Id: I89c8efe460aa294174281e4fd6e81bb90e66e42c
parent 067b9dc4
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -38,6 +38,8 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.systemui.Dependency;
import com.android.systemui.Dependency;
import com.android.systemui.SystemUIFactory;
import com.android.systemui.util.InjectionInflationController;


public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSecurityView {
public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSecurityView {
    private static final boolean DEBUG = KeyguardConstants.DEBUG;
    private static final boolean DEBUG = KeyguardConstants.DEBUG;
@@ -67,6 +69,7 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
    private KeyguardSecurityView mCurrentSecurityView;
    private KeyguardSecurityView mCurrentSecurityView;
    private SecurityCallback mSecurityCallback;
    private SecurityCallback mSecurityCallback;
    private AlertDialog mAlertDialog;
    private AlertDialog mAlertDialog;
    private InjectionInflationController mInjectionInflationController;


    private final KeyguardUpdateMonitor mUpdateMonitor;
    private final KeyguardUpdateMonitor mUpdateMonitor;


@@ -101,6 +104,9 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
        mSecurityModel = new KeyguardSecurityModel(context);
        mSecurityModel = new KeyguardSecurityModel(context);
        mLockPatternUtils = new LockPatternUtils(context);
        mLockPatternUtils = new LockPatternUtils(context);
        mUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
        mUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext);

        mInjectionInflationController =  new InjectionInflationController(
            SystemUIFactory.getInstance().getRootComponent());
    }
    }


    public void setSecurityCallback(SecurityCallback callback) {
    public void setSecurityCallback(SecurityCallback callback) {
@@ -157,7 +163,8 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
        if (view == null && layoutId != 0) {
        if (view == null && layoutId != 0) {
            final LayoutInflater inflater = LayoutInflater.from(mContext);
            final LayoutInflater inflater = LayoutInflater.from(mContext);
            if (DEBUG) Log.v(TAG, "inflating id = " + layoutId);
            if (DEBUG) Log.v(TAG, "inflating id = " + layoutId);
            View v = inflater.inflate(layoutId, mSecurityViewFlipper, false);
            View v = mInjectionInflationController.injectable(inflater)
                    .inflate(layoutId, mSecurityViewFlipper, false);
            mSecurityViewFlipper.addView(v);
            mSecurityViewFlipper.addView(v);
            updateSecurityView(v);
            updateSecurityView(v);
            view = (KeyguardSecurityView)v;
            view = (KeyguardSecurityView)v;