summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/widget
diff options
context:
space:
mode:
authorMaggie Benthall <mbenthall@google.com>2013-02-22 15:10:35 -0500
committerMaggie Benthall <mbenthall@google.com>2013-02-25 16:49:32 -0500
commitea6260d887a7065d65d94be58c05903b3d1fc359 (patch)
treeda1ed50e4e774cdd25f52fe27ff4cfb3540fa593 /src/com/android/settings/widget
parent1022e801bac5bbb17c6aeccf1384a5a21fdeb836 (diff)
downloadpackages_apps_Settings-ea6260d887a7065d65d94be58c05903b3d1fc359.zip
packages_apps_Settings-ea6260d887a7065d65d94be58c05903b3d1fc359.tar.gz
packages_apps_Settings-ea6260d887a7065d65d94be58c05903b3d1fc359.tar.bz2
Respect user restriction against toggling location sharing settings.
Change-Id: I1e629129fc9b3b224d4f4402b56d904df9edc43f
Diffstat (limited to 'src/com/android/settings/widget')
-rw-r--r--src/com/android/settings/widget/SettingsAppWidgetProvider.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/com/android/settings/widget/SettingsAppWidgetProvider.java b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
index 75a83cc..ac9df9f 100644
--- a/src/com/android/settings/widget/SettingsAppWidgetProvider.java
+++ b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
@@ -35,6 +35,7 @@ import android.os.IPowerManager;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.os.UserManager;
import android.provider.Settings;
import android.util.Log;
import android.widget.RemoteViews;
@@ -538,11 +539,18 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
new AsyncTask<Void, Void, Boolean>() {
@Override
protected Boolean doInBackground(Void... args) {
- Settings.Secure.setLocationProviderEnabled(
- resolver,
- LocationManager.GPS_PROVIDER,
- desiredState);
- return desiredState;
+ final UserManager um =
+ (UserManager) context.getSystemService(Context.USER_SERVICE);
+ if (um.isLocationSharingToggleAllowed()) {
+ Settings.Secure.setLocationProviderEnabled(
+ resolver,
+ LocationManager.GPS_PROVIDER,
+ desiredState);
+ return desiredState;
+ }
+ return Settings.Secure.isLocationProviderEnabled(
+ resolver,
+ LocationManager.GPS_PROVIDER);
}
@Override