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

Commit fc770ea3 authored by Benson Huang's avatar Benson Huang Committed by Nicholas Sauer
Browse files

[FM] FM will not change to FM main view after re-plugging in the earphone

Launch FM and play -> Plug out headphone quickly ->
Plug in headphone quickly -> Repeat step 2~3 several
times -> Check the FM screen, FM will not change to FM
main view after re-plugging in the earphone.

The fix is to let FM change to main activity after re-plugging
in the earphone.

Bug 18836352
from: https://partner-android-review.googlesource.com/#/c/192346/



Change-Id: Ib924356e83f794560b91e47b5b35f2087eb876d7
Signed-off-by: default avatarBenson Huang <benson.huang@mediatek.com>
parent 0dedb6b1
Loading
Loading
Loading
Loading
+27 −5
Original line number Diff line number Diff line
@@ -246,6 +246,7 @@ public class FmMainActivity extends Activity implements FmFavoriteEditDialog.Edi
                    // if receive headset plug out, need set headset mode on ui
                    if (hasAntenna) {
                        if (mIsActivityForeground) {
                            cancelNoHeadsetAnimation();
                            playMainAnimation();
                        } else {
                            changeToMainLayout();
@@ -253,6 +254,7 @@ public class FmMainActivity extends Activity implements FmFavoriteEditDialog.Edi
                    } else {
                        mMenuItemHeadset.setIcon(R.drawable.btn_fm_headset_selector);
                        if (mIsActivityForeground) {
                            cancelMainAnimation();
                            playNoHeadsetAnimation();
                        } else {
                            changeToNoHeadsetLayout();
@@ -394,10 +396,11 @@ public class FmMainActivity extends Activity implements FmFavoriteEditDialog.Edi

        @Override
        public void onAnimationEnd(Animation animation) {
            if (!isAntennaAvailable()) {
                return;
            }
            changeToMainLayout();
            mNoEarPhoneTxt.clearAnimation();
            mNoHeadsetImgView.clearAnimation();
            mNoEarphoneTextLayout.clearAnimation();
            cancelMainAnimation();
            Animation anim = AnimationUtils.loadAnimation(mContext,
                    R.anim.main_alpha_in);
            mMainLayout.startAnimation(anim);
@@ -420,9 +423,11 @@ public class FmMainActivity extends Activity implements FmFavoriteEditDialog.Edi

        @Override
        public void onAnimationEnd(Animation animation) {
            if (isAntennaAvailable()) {
                return;
            }
            changeToNoHeadsetLayout();
            mMainLayout.clearAnimation();
            mBtnPlayContainer.clearAnimation();
            cancelNoHeadsetAnimation();
            Animation anim = AnimationUtils.loadAnimation(mContext,
                    R.anim.noeaphone_alpha_in);
            mNoHeadsetLayout.startAnimation(anim);
@@ -1176,6 +1181,15 @@ public class FmMainActivity extends Activity implements FmFavoriteEditDialog.Edi
        mNoEarphoneTextLayout.startAnimation(animation);
    }

    /*
     * clear main layout animation
     */
    private void cancelMainAnimation() {
        mNoEarPhoneTxt.clearAnimation();
        mNoHeadsetImgView.clearAnimation();
        mNoEarphoneTextLayout.clearAnimation();
    }

    /*
     * play change to no headset layout animation
     */
@@ -1194,6 +1208,14 @@ public class FmMainActivity extends Activity implements FmFavoriteEditDialog.Edi
        mBtnPlayContainer.startAnimation(animation);
    }

    /*
     * clear no headset layout animation
     */
    private void cancelNoHeadsetAnimation() {
        mMainLayout.clearAnimation();
        mBtnPlayContainer.clearAnimation();
    }

    /**
     * change to main layout
     */