OSDN Git Service

Merge "AOD: Refactor doze brigthness controllers, add AOD auto brightness support...
authorTreeHugger Robot <treehugger-gerrit@google.com>
Fri, 30 Jun 2017 21:37:43 +0000 (21:37 +0000)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Fri, 30 Jun 2017 21:37:43 +0000 (21:37 +0000)
1  2 
packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java

@@@ -46,26 -48,36 +48,37 @@@ public class DozeFactory 
          WakeLock wakeLock = new DelayedWakeLock(handler,
                  WakeLock.createPartial(context, "Doze"));
  
-         DozeMachine machine = new DozeMachine(
-                 DozeSuspendScreenStatePreventingAdapter.wrapIfNeeded(
-                         DozeScreenStatePreventingAdapter.wrapIfNeeded(dozeService, params), params),
-                 config,
-                 wakeLock);
+         DozeMachine.Service wrappedService = DozeSuspendScreenStatePreventingAdapter.wrapIfNeeded(
+                 DozeScreenStatePreventingAdapter.wrapIfNeeded(dozeService, params), params);
+         DozeMachine machine = new DozeMachine(wrappedService, config, wakeLock);
          machine.setParts(new DozeMachine.Part[]{
 -                createDozeTriggers(context, sensorManager, host, config, params, handler, wakeLock,
 -                        machine),
 +                new DozePauser(handler, machine, alarmManager),
 +                createDozeTriggers(context, sensorManager, host, alarmManager, config, params,
 +                        handler, wakeLock, machine),
                  createDozeUi(context, host, wakeLock, machine, handler, alarmManager),
+                 createDozeScreenState(wrappedService),
+                 createDozeScreenBrightness(context, wrappedService, sensorManager, handler),
          });
  
          return machine;
      }
  
+     private DozeMachine.Part createDozeScreenState(DozeMachine.Service service) {
+         return new DozeScreenState(service);
+     }
+     private DozeMachine.Part createDozeScreenBrightness(Context context,
+             DozeMachine.Service service, SensorManager sensorManager, Handler handler) {
+         Sensor sensor = DozeSensors.findSensorWithType(sensorManager,
+                 context.getString(R.string.doze_brightness_sensor_type));
+         return new DozeScreenBrightness(context, service, sensorManager, sensor, handler);
+     }
      private DozeTriggers createDozeTriggers(Context context, SensorManager sensorManager,
 -            DozeHost host, AmbientDisplayConfiguration config, DozeParameters params,
 -            Handler handler, WakeLock wakeLock, DozeMachine machine) {
 +            DozeHost host, AlarmManager alarmManager, AmbientDisplayConfiguration config,
 +            DozeParameters params, Handler handler, WakeLock wakeLock, DozeMachine machine) {
          boolean allowPulseTriggers = true;
 -        return new DozeTriggers(context, machine, host, config, params,
 +        return new DozeTriggers(context, machine, host, alarmManager, config, params,
                  sensorManager, handler, wakeLock, allowPulseTriggers);
      }