diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 2010aca7249497a3b46802c0d4249a132a3afb1b..5255ee1bb7cfff661b5b75b4c76aa0b0a1761155 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -95,6 +95,8 @@ import com.android.server.display.whitebalance.DisplayWhiteBalanceFactory;
 import com.android.server.display.whitebalance.DisplayWhiteBalanceSettings;
 import com.android.server.policy.WindowManagerPolicy;
 
+import com.libremobileos.providers.LMOSettings;
+
 import java.io.PrintWriter;
 import java.util.Objects;
 
@@ -995,6 +997,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                     Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_FOR_ALS),
                     /* notifyForDescendants= */ false, mSettingsObserver, UserHandle.USER_CURRENT);
         }
+        mContext.getContentResolver().registerContentObserver(
+                Settings.System.getUriFor(LMOSettings.System.AUTO_BRIGHTNESS_ONE_SHOT),
+                false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL);
         handleBrightnessModeChange();
     }
 
@@ -2419,6 +2424,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                 .setPendingScreenBrightness(mDisplayBrightnessController
                         .getScreenBrightnessSetting());
         mAutomaticBrightnessStrategy.updatePendingAutoBrightnessAdjustments();
+        mAutomaticBrightnessStrategy.setAutoBrightnessOneShotEnabled(
+                getAutoBrightnessOneShotSetting());
         sendUpdatePowerState();
     }
 
@@ -2431,6 +2438,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
                 == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
     }
 
+    private boolean getAutoBrightnessOneShotSetting() {
+        return Settings.System.getIntForUser(
+                mContext.getContentResolver(), LMOSettings.System.AUTO_BRIGHTNESS_ONE_SHOT,
+                0, UserHandle.USER_CURRENT) == 1;
+    }
 
     @Override
     public float getScreenBrightnessSetting() {