summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2010-09-27 11:52:39 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-27 11:52:39 -0700
commit38f331bece1e8c1c06ba51ee5a4a9ffc5615495b (patch)
tree43880748deb3bb0851ec88b1acf99eb2dea0d260
parent4d34b227b482b702b8640d7307cdb7358cd1c362 (diff)
parentf8093b330adf3f307b203fcc8b568ec7be9348b8 (diff)
downloadpackages_apps_settings-38f331bece1e8c1c06ba51ee5a4a9ffc5615495b.zip
packages_apps_settings-38f331bece1e8c1c06ba51ee5a4a9ffc5615495b.tar.gz
packages_apps_settings-38f331bece1e8c1c06ba51ee5a4a9ffc5615495b.tar.bz2
am f8093b33: Merge "Fix the indicators in the button bar. The middle ones were showing the left indicators incorrectly." into gingerbread
Merge commit 'f8093b330adf3f307b203fcc8b568ec7be9348b8' into gingerbread-plus-aosp * commit 'f8093b330adf3f307b203fcc8b568ec7be9348b8': Fix the indicators in the button bar. The middle ones were showing the left indicators incorrectly.
-rw-r--r--src/com/android/settings/widget/SettingsAppWidgetProvider.java39
1 files changed, 35 insertions, 4 deletions
diff --git a/src/com/android/settings/widget/SettingsAppWidgetProvider.java b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
index 444b8d4..533b5e4 100644
--- a/src/com/android/settings/widget/SettingsAppWidgetProvider.java
+++ b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
@@ -68,6 +68,28 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
private static final int STATE_UNKNOWN = 4;
private static final int STATE_INTERMEDIATE = 5;
+ // Position in the widget bar, to enable different graphics for left, center and right buttons
+ private static final int POS_LEFT = 0;
+ private static final int POS_CENTER = 1;
+ private static final int POS_RIGHT = 2;
+
+ private static final int[] IND_DRAWABLE_OFF = {
+ R.drawable.appwidget_settings_ind_off_l,
+ R.drawable.appwidget_settings_ind_off_c,
+ R.drawable.appwidget_settings_ind_off_r
+ };
+
+ private static final int[] IND_DRAWABLE_MID = {
+ R.drawable.appwidget_settings_ind_mid_l,
+ R.drawable.appwidget_settings_ind_mid_c,
+ R.drawable.appwidget_settings_ind_mid_r
+ };
+
+ private static final int[] IND_DRAWABLE_ON = {
+ R.drawable.appwidget_settings_ind_on_l,
+ R.drawable.appwidget_settings_ind_on_c,
+ R.drawable.appwidget_settings_ind_on_r
+ };
/**
* Minimum and maximum brightnesses. Don't go to 0 since that makes the display unusable
@@ -152,22 +174,28 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
public abstract int getButtonImageId(boolean on);
/**
+ * Returns the position in the button bar - either POS_LEFT, POS_RIGHT or POS_CENTER.
+ */
+ public int getPosition() { return POS_CENTER; }
+
+ /**
* Updates the remote views depending on the state (off, on,
* turning off, turning on) of the setting.
*/
public final void setImageViewResources(Context context, RemoteViews views) {
int buttonId = getButtonId();
int indicatorId = getIndicatorId();
+ int pos = getPosition();
switch (getTriState(context)) {
case STATE_DISABLED:
views.setImageViewResource(buttonId, getButtonImageId(false));
views.setImageViewResource(
- indicatorId, R.drawable.appwidget_settings_ind_off_l);
+ indicatorId, IND_DRAWABLE_OFF[pos]);
break;
case STATE_ENABLED:
views.setImageViewResource(buttonId, getButtonImageId(true));
views.setImageViewResource(
- indicatorId, R.drawable.appwidget_settings_ind_on_l);
+ indicatorId, IND_DRAWABLE_ON[pos]);
break;
case STATE_INTERMEDIATE:
// In the transitional state, the bottom green bar
@@ -178,11 +206,11 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
if (isTurningOn()) {
views.setImageViewResource(buttonId, getButtonImageId(true));
views.setImageViewResource(
- indicatorId, R.drawable.appwidget_settings_ind_mid_l);
+ indicatorId, IND_DRAWABLE_MID[pos]);
} else {
views.setImageViewResource(buttonId, getButtonImageId(false));
views.setImageViewResource(
- indicatorId, R.drawable.appwidget_settings_ind_off_l);
+ indicatorId, IND_DRAWABLE_OFF[pos]);
}
break;
}
@@ -299,6 +327,9 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
}
@Override
+ public int getPosition() { return POS_LEFT; }
+
+ @Override
public int getActualState(Context context) {
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (wifiManager != null) {