Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ebf4a31 authored by Steve Kondik's avatar Steve Kondik Committed by Gerrit Code Review
Browse files

Merge "Profiles: add sync and mobile data override (1/2)" into ics

parents ea098965 6d114183
Loading
Loading
Loading
Loading
+17 −0
Original line number Original line Diff line number Diff line
package android.app;
package android.app;


import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothAdapter;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Context;
import android.location.LocationManager;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager;
import android.net.wimax.WimaxHelper;
import android.net.wimax.WimaxHelper;
import android.os.Parcel;
import android.os.Parcel;
@@ -22,10 +24,12 @@ public final class ConnectionSettings implements Parcelable {
    private boolean mOverride;
    private boolean mOverride;
    private boolean mDirty;
    private boolean mDirty;


    public static final int PROFILE_CONNECTION_MOBILEDATA = 0;
    public static final int PROFILE_CONNECTION_WIFI = 1;
    public static final int PROFILE_CONNECTION_WIFI = 1;
    public static final int PROFILE_CONNECTION_WIFIAP = 2;
    public static final int PROFILE_CONNECTION_WIFIAP = 2;
    public static final int PROFILE_CONNECTION_WIMAX = 3;
    public static final int PROFILE_CONNECTION_WIMAX = 3;
    public static final int PROFILE_CONNECTION_GPS = 4;
    public static final int PROFILE_CONNECTION_GPS = 4;
    public static final int PROFILE_CONNECTION_SYNC = 5;
    public static final int PROFILE_CONNECTION_BLUETOOTH = 7;
    public static final int PROFILE_CONNECTION_BLUETOOTH = 7;


    /** @hide */
    /** @hide */
@@ -87,11 +91,18 @@ public final class ConnectionSettings implements Parcelable {
        BluetoothAdapter bta = BluetoothAdapter.getDefaultAdapter();
        BluetoothAdapter bta = BluetoothAdapter.getDefaultAdapter();
        LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
        LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
        WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);


        boolean forcedState = getValue() == 1;
        boolean forcedState = getValue() == 1;
        boolean currentState;
        boolean currentState;


        switch (getConnectionId()) {
        switch (getConnectionId()) {
            case PROFILE_CONNECTION_MOBILEDATA:
                currentState = cm.getMobileDataEnabled();
                if (forcedState != currentState) {
                    cm.setMobileDataEnabled(forcedState);
                }
                break;
            case PROFILE_CONNECTION_BLUETOOTH:
            case PROFILE_CONNECTION_BLUETOOTH:
                currentState = bta.isEnabled();
                currentState = bta.isEnabled();
                if (forcedState && !currentState) {
                if (forcedState && !currentState) {
@@ -107,6 +118,12 @@ public final class ConnectionSettings implements Parcelable {
                            LocationManager.GPS_PROVIDER, forcedState);
                            LocationManager.GPS_PROVIDER, forcedState);
                }
                }
                break;
                break;
            case PROFILE_CONNECTION_SYNC:
                currentState = ContentResolver.getMasterSyncAutomatically();
                if (forcedState != currentState) {
                    ContentResolver.setMasterSyncAutomatically(forcedState);
                }
                break;
            case PROFILE_CONNECTION_WIFI:
            case PROFILE_CONNECTION_WIFI:
                int wifiApState = wm.getWifiApState();
                int wifiApState = wm.getWifiApState();
                currentState = wm.isWifiEnabled();
                currentState = wm.isWifiEnabled();