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

Commit 9a539a46 authored by Wesley Wang's avatar Wesley Wang Committed by Yanting Yang
Browse files

Invoke close() method for BatteryUsageStats to close cursor window

 - Invoke close() method for BatteryUsageStats to close cursor window,
   avoid OOM.

Bug: 245385410
Test: make SettingsRoboTests
Change-Id: I68f36a42a33d2546cb191cec88f5431e24dd5b84
(cherry picked from commit f164be38)
parent 1d04eb6e
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -169,6 +169,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController
    public void onPause() {
        mParent.getLoaderManager().destroyLoader(
                AppInfoDashboardFragment.LOADER_BATTERY_USAGE_STATS);
        closeBatteryUsageStats();
    }

    private void loadBatteryDiffEntries() {
@@ -292,6 +293,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController
        @Override
        public void onLoadFinished(Loader<BatteryUsageStats> loader,
                BatteryUsageStats batteryUsageStats) {
            closeBatteryUsageStats();
            mBatteryUsageStats = batteryUsageStats;
            AppBatteryPreferenceController.this.onLoadFinished();
        }
@@ -300,4 +302,16 @@ public class AppBatteryPreferenceController extends BasePreferenceController
        public void onLoaderReset(Loader<BatteryUsageStats> loader) {
        }
    }

    private void closeBatteryUsageStats() {
        if (mBatteryUsageStats != null) {
            try {
                mBatteryUsageStats.close();
            } catch (Exception e) {
                Log.e(TAG, "BatteryUsageStats.close() failed", e);
            } finally {
                mBatteryUsageStats = null;
            }
        }
    }
}