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

Commit 8f414f2e authored by Yanting Yang's avatar Yanting Yang Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE of AppVersionPreferenceController" into sc-dev

parents 6da93860 e4b3b969
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings.applications.appinfo;

import android.content.Context;
import android.content.pm.PackageInfo;
import android.text.BidiFormatter;

import com.android.settings.R;
@@ -29,7 +30,13 @@ public class AppVersionPreferenceController extends AppInfoPreferenceControllerB

    @Override
    public CharSequence getSummary() {
        // TODO(b/168333280): Review the null case in detail since this is just a quick
        // workaround to fix NPE.
        final PackageInfo packageInfo = mParent.getPackageInfo();
        if (packageInfo == null) {
            return null;
        }
        return mContext.getString(R.string.version_text,
                BidiFormatter.getInstance().unicodeWrap(mParent.getPackageInfo().versionName));
                BidiFormatter.getInstance().unicodeWrap(packageInfo.versionName));
    }
}
+11 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.settings.applications.appinfo;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -62,4 +64,13 @@ public class AppVersionPreferenceControllerTest {

        verify(mPreference).setSummary("version test1234");
    }

    @Test
    public void updateState_packageInfoNull_shouldNotCrash() {
        when(mFragment.getPackageInfo()).thenReturn(null);

        mController.updateState(mPreference);

        assertThat(mController.getSummary()).isNull();
    }
}