Respect user restriction against toggling location sharing settings.

Change-Id: I1e629129fc9b3b224d4f4402b56d904df9edc43f
This commit is contained in:
Maggie Benthall
2013-02-22 15:10:35 -05:00
parent 1022e801ba
commit ea6260d887
2 changed files with 38 additions and 11 deletions

View File

@@ -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