OSDN Git Service

QS: Don't set flashlight state when we don't have an id
authorJason Monk <jmonk@google.com>
Tue, 4 Oct 2016 18:50:11 +0000 (14:50 -0400)
committerJason Monk <jmonk@google.com>
Tue, 4 Oct 2016 18:50:11 +0000 (14:50 -0400)
Also add a dump to FlashlightController for better visibility.

Change-Id: I7e826c58598ccc18e211aaab31a2e4d039234fc1
Fixes: 31352536

packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java

index 26a8527..04124b5 100644 (file)
@@ -3405,6 +3405,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
         if (KeyguardUpdateMonitor.getInstance(mContext) != null) {
             KeyguardUpdateMonitor.getInstance(mContext).dump(fd, pw, args);
         }
+        if (mFlashlightController != null) {
+            mFlashlightController.dump(fd, pw, args);
+        }
 
         FalsingManager.getInstance(mContext).dump(pw);
         FalsingLog.dump(pw);
index 91b21ed..4e9fc76 100644 (file)
@@ -27,6 +27,8 @@ import android.os.Process;
 import android.text.TextUtils;
 import android.util.Log;
 
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 
@@ -80,6 +82,7 @@ public class FlashlightController {
     public void setFlashlight(boolean enabled) {
         boolean pendingError = false;
         synchronized (this) {
+            if (mCameraId == null) return;
             if (mFlashlightEnabled != enabled) {
                 mFlashlightEnabled = enabled;
                 try {
@@ -235,6 +238,17 @@ public class FlashlightController {
         }
     };
 
+    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        pw.println("FlashlightController state:");
+
+        pw.print("  mCameraId=");
+        pw.println(mCameraId);
+        pw.print("  mFlashlightEnabled=");
+        pw.println(mFlashlightEnabled);
+        pw.print("  mTorchAvailable=");
+        pw.println(mTorchAvailable);
+    }
+
     public interface FlashlightListener {
 
         /**