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

Commit dd1341ec authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Add initInternal to ViewController.

ViewController's init method was not ideal to override. On the one hand,
if you put a call super.init() first your onViewAttach method is called
before you're subclass's init.

Further, if you put your own code befer super.init(), you are still left
with the problem that your init is not automatically idempotent, and
multiple calls to #init() could result in multiple executions of your
code unless you handle it yourself.

With this change, #initInternal() is introduced, giving ViewControllers
a place to put their run-once code such that it runs before any
view-attachment callbacks are fired.

Fixes: 171472009
Test: manual
Change-Id: I2e284024c82e3f7c7b6f29f22a1ffa3c8aae9fcb
parent 311a1510
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -81,8 +81,7 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
    abstract void resetState();
    abstract void resetState();


    @Override
    @Override
    public void init() {
    public void initInternal() {
        super.init();
        mMessageAreaController.init();
        mMessageAreaController.init();
    }
    }


+1 −2
Original line number Original line Diff line number Diff line
@@ -92,8 +92,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
     * Attach the controller to the view it relates to.
     * Attach the controller to the view it relates to.
     */
     */
    @Override
    @Override
    public void init() {
    public void initInternal() {
        super.init();
        mKeyguardSliceViewController.init();
        mKeyguardSliceViewController.init();
    }
    }


+1 −2
Original line number Original line Diff line number Diff line
@@ -178,8 +178,7 @@ public class KeyguardHostViewController extends ViewController<KeyguardHostView>
    }
    }


    /** Initialize the Controller. */
    /** Initialize the Controller. */
    public void init() {
    public void initInternal() {
        super.init();
        mKeyguardSecurityContainerController.init();
        mKeyguardSecurityContainerController.init();
    }
    }


+2 −2
Original line number Original line Diff line number Diff line
@@ -190,8 +190,8 @@ public class KeyguardPatternViewController
    }
    }


    @Override
    @Override
    public void init() {
    public void initInternal() {
        super.init();
        super.initInternal();
        mMessageAreaController.init();
        mMessageAreaController.init();
    }
    }


+1 −2
Original line number Original line Diff line number Diff line
@@ -169,8 +169,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
    }
    }


    @Override
    @Override
    public void init() {
    public void initInternal() {
        super.init();
        mSecurityViewFlipperController.init();
        mSecurityViewFlipperController.init();
    }
    }


Loading