Merge "Modify Power Widget Gps Icon To Represent Location. Instead of directly controlling gps on/off, it will control master location switch on/off." into klp-dev
diff --git a/res/drawable-hdpi/ic_appwidget_settings_gps_off_holo.png b/res/drawable-hdpi/ic_appwidget_settings_location_off_holo.png
similarity index 100%
rename from res/drawable-hdpi/ic_appwidget_settings_gps_off_holo.png
rename to res/drawable-hdpi/ic_appwidget_settings_location_off_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_gps_on_holo.png b/res/drawable-hdpi/ic_appwidget_settings_location_on_holo.png
similarity index 100%
rename from res/drawable-hdpi/ic_appwidget_settings_gps_on_holo.png
rename to res/drawable-hdpi/ic_appwidget_settings_location_on_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_appwidget_settings_gps_off_holo.png b/res/drawable-mdpi/ic_appwidget_settings_location_off_holo.png
similarity index 100%
rename from res/drawable-mdpi/ic_appwidget_settings_gps_off_holo.png
rename to res/drawable-mdpi/ic_appwidget_settings_location_off_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_appwidget_settings_gps_on_holo.png b/res/drawable-mdpi/ic_appwidget_settings_location_on_holo.png
similarity index 100%
rename from res/drawable-mdpi/ic_appwidget_settings_gps_on_holo.png
rename to res/drawable-mdpi/ic_appwidget_settings_location_on_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_appwidget_settings_gps_off_holo.png b/res/drawable-xhdpi/ic_appwidget_settings_location_off_holo.png
similarity index 100%
rename from res/drawable-xhdpi/ic_appwidget_settings_gps_off_holo.png
rename to res/drawable-xhdpi/ic_appwidget_settings_location_off_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_appwidget_settings_gps_on_holo.png b/res/drawable-xhdpi/ic_appwidget_settings_location_on_holo.png
similarity index 100%
rename from res/drawable-xhdpi/ic_appwidget_settings_gps_on_holo.png
rename to res/drawable-xhdpi/ic_appwidget_settings_location_on_holo.png
Binary files differ
diff --git a/res/layout/widget.xml b/res/layout/widget.xml
index d000a46..a125d80 100644
--- a/res/layout/widget.xml
+++ b/res/layout/widget.xml
@@ -95,7 +95,7 @@
/>
<LinearLayout
- android:id="@+id/btn_gps"
+ android:id="@+id/btn_location"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="match_parent"
@@ -106,7 +106,7 @@
android:orientation="vertical">
<ImageView
- android:id="@+id/img_gps"
+ android:id="@+id/img_location"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
@@ -115,7 +115,7 @@
/>
<ImageView
- android:id="@+id/ind_gps"
+ android:id="@+id/ind_location"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 2211f4f..a906040 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3698,8 +3698,8 @@
<string name="gadget_wifi">Wi\u2011Fi</string>
<!-- Spoken description for the Bluetooth power control gadget. -->
<string name="gadget_bluetooth">Bluetooth</string>
- <!-- Spoken description for the GPS power control gadget. -->
- <string name="gadget_gps">GPS</string>
+ <!-- Spoken description for the Location power control gadget. -->
+ <string name="gadget_location">Location</string>
<!-- Spoken description for the data synchronization gadget. -->
<string name="gadget_sync">Sync</string>
<!-- Template for brightness gadget toggle button description. -->
diff --git a/src/com/android/settings/widget/SettingsAppWidgetProvider.java b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
index 5d581d8..7beb17c 100644
--- a/src/com/android/settings/widget/SettingsAppWidgetProvider.java
+++ b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
@@ -59,7 +59,7 @@
private static final int BUTTON_WIFI = 0;
private static final int BUTTON_BRIGHTNESS = 1;
private static final int BUTTON_SYNC = 2;
- private static final int BUTTON_GPS = 3;
+ private static final int BUTTON_LOCATION = 3;
private static final int BUTTON_BLUETOOTH = 4;
// This widget keeps track of two sets of states:
@@ -102,7 +102,7 @@
private static final StateTracker sWifiState = new WifiStateTracker();
private static final StateTracker sBluetoothState = new BluetoothStateTracker();
- private static final StateTracker sGpsState = new GpsStateTracker();
+ private static final StateTracker sLocationState = new LocationStateTracker();
private static final StateTracker sSyncState = new SyncStateTracker();
private static SettingsObserver sSettingsObserver;
@@ -506,24 +506,23 @@
}
/**
- * Subclass of StateTracker for GPS state.
+ * Subclass of StateTracker for location state.
*/
- private static final class GpsStateTracker extends StateTracker {
- public int getContainerId() { return R.id.btn_gps; }
- public int getButtonId() { return R.id.img_gps; }
- public int getIndicatorId() { return R.id.ind_gps; }
- public int getButtonDescription() { return R.string.gadget_gps; }
+ private static final class LocationStateTracker extends StateTracker {
+ public int getContainerId() { return R.id.btn_location; }
+ public int getButtonId() { return R.id.img_location; }
+ public int getIndicatorId() { return R.id.ind_location; }
+ public int getButtonDescription() { return R.string.gadget_location; }
public int getButtonImageId(boolean on) {
- return on ? R.drawable.ic_appwidget_settings_gps_on_holo
- : R.drawable.ic_appwidget_settings_gps_off_holo;
+ return on ? R.drawable.ic_appwidget_settings_location_on_holo
+ : R.drawable.ic_appwidget_settings_location_off_holo;
}
@Override
public int getActualState(Context context) {
ContentResolver resolver = context.getContentResolver();
- boolean on = Settings.Secure.isLocationProviderEnabled(
- resolver, LocationManager.GPS_PROVIDER);
- return on ? STATE_ENABLED : STATE_DISABLED;
+ return Settings.Secure.isLocationMasterSwitchEnabled(resolver)
+ ? STATE_ENABLED : STATE_DISABLED;
}
@Override
@@ -542,15 +541,11 @@
final UserManager um =
(UserManager) context.getSystemService(Context.USER_SERVICE);
if (!um.hasUserRestriction(UserManager.DISALLOW_SHARE_LOCATION)) {
- Settings.Secure.setLocationProviderEnabled(
- resolver,
- LocationManager.GPS_PROVIDER,
- desiredState);
+ Settings.Secure.setLocationMasterSwitchEnabled(resolver, desiredState);
return desiredState;
}
- return Settings.Secure.isLocationProviderEnabled(
- resolver,
- LocationManager.GPS_PROVIDER);
+
+ return Settings.Secure.isLocationMasterSwitchEnabled(resolver);
}
@Override
@@ -669,8 +664,8 @@
views.setOnClickPendingIntent(R.id.btn_sync,
getLaunchPendingIntent(context,
BUTTON_SYNC));
- views.setOnClickPendingIntent(R.id.btn_gps,
- getLaunchPendingIntent(context, BUTTON_GPS));
+ views.setOnClickPendingIntent(R.id.btn_location,
+ getLaunchPendingIntent(context, BUTTON_LOCATION));
views.setOnClickPendingIntent(R.id.btn_bluetooth,
getLaunchPendingIntent(context,
BUTTON_BLUETOOTH));
@@ -701,7 +696,7 @@
private static void updateButtons(RemoteViews views, Context context) {
sWifiState.setImageViewResources(context, views);
sBluetoothState.setImageViewResources(context, views);
- sGpsState.setImageViewResources(context, views);
+ sLocationState.setImageViewResources(context, views);
sSyncState.setImageViewResources(context, views);
if (getBrightnessMode(context)) {
@@ -782,7 +777,7 @@
} else if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) {
sBluetoothState.onActualStateChange(context, intent);
} else if (LocationManager.PROVIDERS_CHANGED_ACTION.equals(action)) {
- sGpsState.onActualStateChange(context, intent);
+ sLocationState.onActualStateChange(context, intent);
} else if (ContentResolver.ACTION_SYNC_CONN_STATUS_CHANGED.equals(action)) {
sSyncState.onActualStateChange(context, intent);
} else if (intent.hasCategory(Intent.CATEGORY_ALTERNATIVE)) {
@@ -794,8 +789,8 @@
toggleBrightness(context);
} else if (buttonId == BUTTON_SYNC) {
sSyncState.toggleState(context);
- } else if (buttonId == BUTTON_GPS) {
- sGpsState.toggleState(context);
+ } else if (buttonId == BUTTON_LOCATION) {
+ sLocationState.toggleState(context);
} else if (buttonId == BUTTON_BLUETOOTH) {
sBluetoothState.toggleState(context);
}