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

Commit 7c169689 authored by YUKAI HUNG's avatar YUKAI HUNG Committed by Automerger Merge Worker
Browse files

Merge "Add new method to get URI to monitor battery history data is updated"...

Merge "Add new method to get URI to monitor battery history data is updated" into sc-v2-dev am: ff823c65

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15218952

Change-Id: Ib8e91b84726f607d16e1b8dc144d853bf906ecf6
parents 70b22b2b ff823c65
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -19,8 +19,11 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.BatteryManager;
import android.os.Bundle;
import android.os.Handler;
import android.provider.SearchIndexableResource;
import android.util.Log;

@@ -31,6 +34,7 @@ import androidx.loader.content.Loader;

import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -63,6 +67,17 @@ public class PowerUsageAdvanced extends PowerUsageBase {
    private BatteryChartPreferenceController mBatteryChartPreferenceController;
    private BatteryAppListPreferenceController mBatteryAppListPreferenceController;

    private final ContentObserver mBatteryObserver =
            new ContentObserver(new Handler()) {
            @Override
            public void onChange(boolean selfChange) {
                Log.d(TAG, "onBatteryContentChange: " + selfChange);
                mIsChartDataLoaded = false;
                restartBatteryStatsLoader(
                        BatteryBroadcastReceiver.BatteryUpdateType.MANUAL);
            }
    };

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
@@ -104,6 +119,20 @@ public class PowerUsageAdvanced extends PowerUsageBase {
        super.onPause();
        // Resets the flag to reload usage data in onResume() callback.
        mIsChartDataLoaded = false;
        final Uri uri = mPowerUsageFeatureProvider.getBatteryHistoryUri();
        if (uri != null) {
            getContext().getContentResolver().unregisterContentObserver(mBatteryObserver);
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        final Uri uri = mPowerUsageFeatureProvider.getBatteryHistoryUri();
        if (uri != null) {
            getContext().getContentResolver().registerContentObserver(
                    uri, /*notifyForDescendants*/ true, mBatteryObserver);
        }
    }

    @Override
+6 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.SparseIntArray;

import com.android.internal.os.BatterySipper;
@@ -141,4 +142,9 @@ public interface PowerUsageFeatureProvider {
     * Returns battery history data with corresponding timestamp key.
     */
    Map<Long, Map<String, BatteryHistEntry>> getBatteryHistory(Context context);

    /**
     * Returns {@link Uri} to monitor battery history data is update.
     */
    Uri getBatteryHistoryUri();
}
+6 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.fuelgauge;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Process;
import android.util.SparseIntArray;

@@ -167,4 +168,9 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
    public Map<Long, Map<String, BatteryHistEntry>> getBatteryHistory(Context context) {
        return null;
    }

    @Override
    public Uri getBatteryHistoryUri() {
        return null;
    }
}