Merge "Fix NPE of AppVersionPreferenceController" into sc-dev

This commit is contained in:
Yanting Yang
2021-03-18 04:48:54 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 1 deletions

View File

@@ -17,6 +17,7 @@
package com.android.settings.applications.appinfo; package com.android.settings.applications.appinfo;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageInfo;
import android.text.BidiFormatter; import android.text.BidiFormatter;
import com.android.settings.R; import com.android.settings.R;
@@ -29,7 +30,13 @@ public class AppVersionPreferenceController extends AppInfoPreferenceControllerB
@Override @Override
public CharSequence getSummary() { 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, 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; 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.mock;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -62,4 +64,13 @@ public class AppVersionPreferenceControllerTest {
verify(mPreference).setSummary("version test1234"); verify(mPreference).setSummary("version test1234");
} }
@Test
public void updateState_packageInfoNull_shouldNotCrash() {
when(mFragment.getPackageInfo()).thenReturn(null);
mController.updateState(mPreference);
assertThat(mController.getSummary()).isNull();
}
} }