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

Commit 714d59fa authored by Songchun Fan's avatar Songchun Fan
Browse files

[PackageUsage] fix NPE

This is called by `mPm.getPackageUsage().maybeWriteAsync(mPm.mSettings.getPackagesLocked())` under `mPm.mLock` so it's unclear why any pkgSetting would be null. Perhaps there are other usages not shown in the stack  trace. Adding null pointer checks to avoid crashes.

BUG: 229823551
Test: builds
Change-Id: Ia33bb59824e774b02249a1e9872bc6e418dec658
parent f38c1aa1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -66,7 +66,8 @@ class PackageUsage extends AbstractStatsBase<Map<String, PackageSetting>> {
            out.write(sb.toString().getBytes(StandardCharsets.US_ASCII));

            for (PackageSetting pkgSetting : pkgSettings.values()) {
                if (pkgSetting.getPkgState().getLatestPackageUseTimeInMills() == 0L) {
                if (pkgSetting == null || pkgSetting.getPkgState() == null
                        || pkgSetting.getPkgState().getLatestPackageUseTimeInMills() == 0L) {
                    continue;
                }
                sb.setLength(0);