diff options
Diffstat (limited to 'com/android/settingslib/wrapper/LocationManagerWrapper.java')
-rw-r--r-- | com/android/settingslib/wrapper/LocationManagerWrapper.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/com/android/settingslib/wrapper/LocationManagerWrapper.java b/com/android/settingslib/wrapper/LocationManagerWrapper.java new file mode 100644 index 00000000..1a268a60 --- /dev/null +++ b/com/android/settingslib/wrapper/LocationManagerWrapper.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.wrapper; + +import android.location.LocationManager; +import android.os.UserHandle; + +/** + * This class replicates some methods of android.location.LocationManager that are new and not + * yet available in our current version of Robolectric. It provides a thin wrapper to call the real + * methods in production and a mock in tests. + */ +public class LocationManagerWrapper { + + private LocationManager mLocationManager; + + public LocationManagerWrapper(LocationManager locationManager) { + mLocationManager = locationManager; + } + + /** Returns the real {@code LocationManager} object */ + public LocationManager getLocationManager() { + return mLocationManager; + } + + /** Wraps {@code LocationManager.isProviderEnabled} method */ + public boolean isProviderEnabled(String provider) { + return mLocationManager.isProviderEnabled(provider); + } + + /** Wraps {@code LocationManager.setProviderEnabledForUser} method */ + public void setProviderEnabledForUser(String provider, boolean enabled, UserHandle userHandle) { + mLocationManager.setProviderEnabledForUser(provider, enabled, userHandle); + } + + /** Wraps {@code LocationManager.isLocationEnabled} method */ + public boolean isLocationEnabled() { + return mLocationManager.isLocationEnabled(); + } + + /** Wraps {@code LocationManager.isLocationEnabledForUser} method */ + public boolean isLocationEnabledForUser(UserHandle userHandle) { + return mLocationManager.isLocationEnabledForUser(userHandle); + } + + /** Wraps {@code LocationManager.setLocationEnabledForUser} method */ + public void setLocationEnabledForUser(boolean enabled, UserHandle userHandle) { + mLocationManager.setLocationEnabledForUser(enabled, userHandle); + } +} |