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

Commit 761d89ef authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "QS: Fix missing flashlight tile" into nyc-mr1-dev

parents ca37695e 2266714b
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.statusbar.policy;

import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
@@ -42,6 +43,7 @@ public class FlashlightController {
    private static final int DISPATCH_AVAILABILITY_CHANGED = 2;

    private final CameraManager mCameraManager;
    private final Context mContext;
    /** Call {@link #ensureHandler()} before using */
    private Handler mHandler;

@@ -51,20 +53,22 @@ public class FlashlightController {
    /** Lock on {@code this} when accessing */
    private boolean mFlashlightEnabled;

    private final String mCameraId;
    private String mCameraId;
    private boolean mTorchAvailable;

    public FlashlightController(Context mContext) {
    public FlashlightController(Context context) {
        mContext = context;
        mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);

        String cameraId = null;
        tryInitCamera();
    }

    private void tryInitCamera() {
        try {
            cameraId = getCameraId();
            mCameraId = getCameraId();
        } catch (Throwable e) {
            Log.e(TAG, "Couldn't initialize.", e);
            return;
        } finally {
            mCameraId = cameraId;
        }

        if (mCameraId != null) {
@@ -94,7 +98,7 @@ public class FlashlightController {
    }

    public boolean hasFlashlight() {
        return mCameraId != null;
        return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
    }

    public synchronized boolean isEnabled() {
@@ -107,6 +111,9 @@ public class FlashlightController {

    public void addListener(FlashlightListener l) {
        synchronized (mListeners) {
            if (mCameraId == null) {
                tryInitCamera();
            }
            cleanUpListenersLocked(l);
            mListeners.add(new WeakReference<>(l));
        }