dubai: camera: Ignore face unlock and ASI front camera usage
These use the front camera frequently but aren't critical to functionality, so we don't need to disrupt 5G services. Change-Id: I0d23c3bfec936ddefcabb93e6a579a5eb11b3574
This commit is contained in:
parent
9b139ed94d
commit
3e6bd8cf18
2 changed files with 15 additions and 8 deletions
|
@ -8,6 +8,7 @@
|
|||
android:sharedUserId="android.uid.system">
|
||||
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER" />
|
||||
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
||||
<uses-permission android:name="com.qualcomm.permission.USE_QCRIL_MSG_TUNNEL" />
|
||||
|
|
|
@ -24,6 +24,7 @@ import android.telephony.TelephonyManager;
|
|||
import android.util.Log;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
public class DubaiCameraService extends Service {
|
||||
|
@ -34,6 +35,11 @@ public class DubaiCameraService extends Service {
|
|||
private static final String FRONT_CAMERA_ID = "1";
|
||||
private static final int OFFENDING_NR_BAND = 78;
|
||||
|
||||
private static final Set<String> IGNORED_PACKAGES = Set.of(
|
||||
"co.aospa.sense", // face unlock
|
||||
"com.google.android.as" // auto rotate, screen attention etc
|
||||
);
|
||||
|
||||
private CameraManager mCameraManager;
|
||||
private SubscriptionManager mSubManager;
|
||||
private TelephonyManager mTelephonyManager;
|
||||
|
@ -49,19 +55,19 @@ public class DubaiCameraService extends Service {
|
|||
private final CameraManager.AvailabilityCallback mCameraCallback =
|
||||
new CameraManager.AvailabilityCallback() {
|
||||
@Override
|
||||
public void onCameraAvailable(String cameraId) {
|
||||
dlog("onCameraAvailable id:" + cameraId);
|
||||
if (cameraId.equals(FRONT_CAMERA_ID)) {
|
||||
mIsFrontCamInUse = false;
|
||||
public void onCameraOpened(String cameraId, String packageId) {
|
||||
dlog("onCameraOpened id=" + cameraId + " package=" + packageId);
|
||||
if (cameraId.equals(FRONT_CAMERA_ID) && !IGNORED_PACKAGES.contains(packageId)) {
|
||||
mIsFrontCamInUse = true;
|
||||
update5gState();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCameraUnavailable(String cameraId) {
|
||||
dlog("onCameraUnavailable id:" + cameraId);
|
||||
if (cameraId.equals(FRONT_CAMERA_ID)) {
|
||||
mIsFrontCamInUse = true;
|
||||
public void onCameraClosed(String cameraId) {
|
||||
dlog("onCameraClosed id=" + cameraId);
|
||||
if (cameraId.equals(FRONT_CAMERA_ID) && mIsFrontCamInUse) {
|
||||
mIsFrontCamInUse = false;
|
||||
update5gState();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue