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

Commit 70f58835 authored by William Leshner's avatar William Leshner Committed by Android (Google) Code Review
Browse files

Merge "Fix a bug with the screen incorrectly turning off on power button press." into main

parents 377bcd05 c46e4fc6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -256,6 +256,7 @@ java_library_static {
        "stats_flags_lib",
        "core_os_flags_lib",
        "connectivity_flags_lib",
        "dreams_flags_lib",
    ],
    javac_shard_size: 50,
    javacflags: [
+11 −0
Original line number Diff line number Diff line
aconfig_declarations {
    name: "dreams_flags",
    package: "com.android.server.dreams",
    container: "system",
    srcs: ["*.aconfig"],
}

java_aconfig_library {
    name: "dreams_flags_lib",
    aconfig_declarations: "dreams_flags",
}
+21 −3
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import android.database.ContentObserver;
import android.hardware.display.AmbientDisplayConfiguration;
import android.net.Uri;
import android.os.BatteryManager;
import android.os.BatteryManagerInternal;
import android.os.Binder;
import android.os.Build;
import android.os.Handler;
@@ -118,6 +119,7 @@ public final class DreamManagerService extends SystemService {
    private final DreamController mController;
    private final PowerManager mPowerManager;
    private final PowerManagerInternal mPowerManagerInternal;
    private final BatteryManagerInternal mBatteryManagerInternal;
    private final PowerManager.WakeLock mDozeWakeLock;
    private final ActivityTaskManagerInternal mAtmInternal;
    private final PackageManagerInternal mPmInternal;
@@ -186,8 +188,12 @@ public final class DreamManagerService extends SystemService {
    private final BroadcastReceiver mChargingReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (Flags.useBatteryChangedBroadcast()) {
                mIsCharging = mBatteryManagerInternal.isPowered(BatteryManager.BATTERY_PLUGGED_ANY);
            } else {
                mIsCharging = (BatteryManager.ACTION_CHARGING.equals(intent.getAction()));
            }
        }
    };

    private final BroadcastReceiver mDockStateReceiver = new BroadcastReceiver() {
@@ -251,6 +257,12 @@ public final class DreamManagerService extends SystemService {
                com.android.internal.R.bool.config_keepDreamingWhenUnplugging);
        mDreamsDisabledByAmbientModeSuppressionConfig = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig);

        if (Flags.useBatteryChangedBroadcast()) {
            mBatteryManagerInternal = getLocalService(BatteryManagerInternal.class);
        } else {
            mBatteryManagerInternal = null;
        }
    }

    @Override
@@ -279,9 +291,15 @@ public final class DreamManagerService extends SystemService {

            mContext.registerReceiver(
                    mDockStateReceiver, new IntentFilter(Intent.ACTION_DOCK_EVENT));

            IntentFilter chargingIntentFilter = new IntentFilter();
            if (Flags.useBatteryChangedBroadcast()) {
                chargingIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
                chargingIntentFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
            } else {
                chargingIntentFilter.addAction(BatteryManager.ACTION_CHARGING);
                chargingIntentFilter.addAction(BatteryManager.ACTION_DISCHARGING);
            }
            mContext.registerReceiver(mChargingReceiver, chargingIntentFilter);

            mSettingsObserver = new SettingsObserver(mHandler);
+12 −0
Original line number Diff line number Diff line
package: "com.android.server.dreams"
container: "system"

flag {
    name: "use_battery_changed_broadcast"
    namespace: "communal"
    description: "Use ACTION_BATTERY_CHANGED broadcast to track charging state"
    bug: "329125239"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}
 No newline at end of file