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

Commit 6a15ad7d authored by Yorke Lee's avatar Yorke Lee
Browse files

DO NOT MERGE Fix crash when recreating activity and receiving dial intent

* Initialize all member variable button references at onCreate to
avoid potential NPEs
* Make sure we call mDialpadFragment.buildOptionsMenu only when
it is guaranteed to have been attached.

Bug: 13653973
Change-Id: I407072503cebaf77ec9ef86d8a7ab23302eed6d6
parent 8c30c2ce
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -336,7 +336,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
                    }
                });


        setupFakeActionBarItems();
        prepareSearchView();

        if (UI.FILTER_CONTACTS_ACTION.equals(intent.getAction())
@@ -353,7 +353,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
    @Override
    protected void onResume() {
        super.onResume();
        setupFakeActionBarItems();
        if (mFirstLaunch) {
            displayFragment(getIntent());
        } else if (!phoneIsInUse() && mInCallDialpadUp) {
@@ -552,6 +551,11 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
        ft.commit();
        mDialButton.setVisibility(shouldShowOnscreenDialButton() ? View.VISIBLE : View.GONE);
        mDialpadButton.setVisibility(View.GONE);

        if (mDialpadOverflowMenu == null) {
            mDialpadOverflowMenu = mDialpadFragment.buildOptionsMenu(mMenuButton);
        }

        mMenuButton.setOnTouchListener(mDialpadOverflowMenu.getDragToOpenListener());
    }

@@ -680,17 +684,12 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
            if (mOverflowMenu == null) {
                mOverflowMenu = buildOptionsMenu(mMenuButton);
            }
            if (mDialpadOverflowMenu == null) {
                mDialpadOverflowMenu = mDialpadFragment.buildOptionsMenu(mMenuButton);
            }
            // Initial state is with dialpad fragment not shown
            mMenuButton.setOnTouchListener(mOverflowMenu.getDragToOpenListener());
        }

        mFakeActionBar = findViewById(R.id.fake_action_bar);

        mCallHistoryButton = findViewById(R.id.call_history_button);
        // mCallHistoryButton.setMinimumWidth(fakeMenuItemWidth);
        mCallHistoryButton.setOnClickListener(this);

        mDialButton = findViewById(R.id.dial_button);
@@ -698,7 +697,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
        mDialButton.setOnLongClickListener(this);

        mDialpadButton = findViewById(R.id.dialpad_button);
        // DialpadButton.setMinimumWidth(fakeMenuItemWidth);
        mDialpadButton.setOnClickListener(this);
    }