Merge "Fix NPE of AppVersionPreferenceController" into sc-dev am: 8f414f2e0f

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13886027

Change-Id: I98435d5ac5e267d6eb8ad7e1757a2add2bbec742
This commit is contained in:
Yanting Yang
2021-03-18 05:09:35 +00:00
committed by Automerger Merge Worker
2 changed files with 19 additions and 1 deletions

View File

@@ -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));
}
}

View File

@@ -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();
}
}