Merge "Fix NPE of AppVersionPreferenceController" into sc-dev
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user