Loading services/core/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -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: [ Loading services/core/java/com/android/server/dreams/Android.bp 0 → 100644 +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", } services/core/java/com/android/server/dreams/DreamManagerService.java +21 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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() { Loading Loading @@ -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 Loading Loading @@ -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); Loading services/core/java/com/android/server/dreams/flags.aconfig 0 → 100644 +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 Loading
services/core/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -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: [ Loading
services/core/java/com/android/server/dreams/Android.bp 0 → 100644 +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", }
services/core/java/com/android/server/dreams/DreamManagerService.java +21 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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() { Loading Loading @@ -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 Loading Loading @@ -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); Loading
services/core/java/com/android/server/dreams/flags.aconfig 0 → 100644 +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