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