1 /* 2 * Copyright (C) 2019 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.systemui.util.sensors; 18 19 import com.android.systemui.util.concurrency.DelayableExecutor; 20 import com.android.systemui.util.concurrency.FakeExecution; 21 22 public class FakeProximitySensor extends ProximitySensorImpl { 23 private boolean mAvailable; 24 private boolean mRegistered; 25 FakeProximitySensor( ThresholdSensor primary, ThresholdSensor secondary, DelayableExecutor delayableExecutor )26 public FakeProximitySensor( 27 ThresholdSensor primary, 28 ThresholdSensor secondary, 29 DelayableExecutor delayableExecutor 30 ) { 31 super( 32 primary, 33 secondary == null ? new FakeThresholdSensor() : secondary, 34 delayableExecutor, 35 new FakeExecution() 36 ); 37 mAvailable = true; 38 } 39 setSensorAvailable(boolean available)40 public void setSensorAvailable(boolean available) { 41 mAvailable = available; 42 } 43 setLastEvent(ThresholdSensorEvent event)44 public void setLastEvent(ThresholdSensorEvent event) { 45 mLastEvent = event; 46 } 47 48 @Override isRegistered()49 public boolean isRegistered() { 50 return mRegistered; 51 } 52 53 @Override isLoaded()54 public boolean isLoaded() { 55 return mAvailable; 56 } 57 58 @Override registerInternal()59 protected void registerInternal() { 60 mRegistered = !mPaused; 61 } 62 63 @Override unregisterInternal()64 protected void unregisterInternal() { 65 mRegistered = false; 66 } 67 } 68