summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-09-25 16:51:10 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-25 16:51:11 -0700
commit282c51d3912995308901b45d22d1801eec50df41 (patch)
treeb65a98566709f4ba1d004867d94c6f0dcfd5a1ba /packages/SystemUI/src
parent61ad1bacf8985e088c039d90123bf0d2a5de94fe (diff)
parentc86b23b9a6bc4763ff3fbe8d0ae8a9b2e21a1649 (diff)
downloadframeworks_base-282c51d3912995308901b45d22d1801eec50df41.zip
frameworks_base-282c51d3912995308901b45d22d1801eec50df41.tar.gz
frameworks_base-282c51d3912995308901b45d22d1801eec50df41.tar.bz2
Merge "Updating time/alarm tiles, fixing issue with empty space under QuickSettings (Bug 7205141, Bug 7222371)" into jb-mr1-dev
Diffstat (limited to 'packages/SystemUI/src')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java35
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsContainerView.java29
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java29
3 files changed, 64 insertions, 29 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
index 53be1dc..0e52204 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
@@ -265,21 +265,17 @@ class QuickSettings {
timeTile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- // TODO: Jump into the alarm application
+ // TODO: Jump into the clock application
Intent intent = new Intent();
intent.setComponent(new ComponentName(
"com.google.android.deskclock",
- "com.android.deskclock.AlarmClock"));
+ "com.android.deskclock.DeskClock"));
startSettingsActivity(intent);
}
});
mModel.addTimeTile(timeTile, new QuickSettingsModel.RefreshCallback() {
@Override
- public void refreshView(QuickSettingsTileView view, State alarmState) {
- TextView tv = (TextView) view.findViewById(R.id.alarm_textview);
- tv.setText(alarmState.label);
- tv.setVisibility(alarmState.enabled ? View.VISIBLE : View.GONE);
- }
+ public void refreshView(QuickSettingsTileView view, State alarmState) {}
});
parent.addView(timeTile);
mDynamicSpannedTiles.add(timeTile);
@@ -487,6 +483,31 @@ class QuickSettings {
}
private void addTemporaryTiles(final ViewGroup parent, final LayoutInflater inflater) {
+ // Alarm tile
+ QuickSettingsTileView alarmTile = (QuickSettingsTileView)
+ inflater.inflate(R.layout.quick_settings_tile, parent, false);
+ alarmTile.setContent(R.layout.quick_settings_tile_alarm, inflater);
+ alarmTile.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // TODO: Jump into the alarm application
+ Intent intent = new Intent();
+ intent.setComponent(new ComponentName(
+ "com.google.android.deskclock",
+ "com.android.deskclock.AlarmClock"));
+ startSettingsActivity(intent);
+ }
+ });
+ mModel.addAlarmTile(alarmTile, new QuickSettingsModel.RefreshCallback() {
+ @Override
+ public void refreshView(QuickSettingsTileView view, State alarmState) {
+ TextView tv = (TextView) view.findViewById(R.id.alarm_textview);
+ tv.setText(alarmState.label);
+ view.setVisibility(alarmState.enabled ? View.VISIBLE : View.GONE);
+ }
+ });
+ parent.addView(alarmTile);
+
// Location
QuickSettingsTileView locationTile = (QuickSettingsTileView)
inflater.inflate(R.layout.quick_settings_tile, parent, false);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsContainerView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsContainerView.java
index e2190fe..4e8339e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsContainerView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsContainerView.java
@@ -20,6 +20,7 @@ import android.animation.LayoutTransition;
import android.content.Context;
import android.content.res.Resources;
import android.util.AttributeSet;
+import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
@@ -73,20 +74,22 @@ class QuickSettingsContainerView extends FrameLayout {
for (int i = 0; i < N; ++i) {
// Update the child's width
QuickSettingsTileView v = (QuickSettingsTileView) getChildAt(i);
- ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
- int colSpan = v.getColumnSpan();
- lp.width = (int) ((colSpan * cellWidth) + (colSpan - 1) * mCellGap);
-
- // Measure the child
- int newWidthSpec = MeasureSpec.makeMeasureSpec(lp.width, MeasureSpec.EXACTLY);
- int newHeightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY);
- v.measure(newWidthSpec, newHeightSpec);
-
- // Save the cell height
- if (cellHeight <= 0) {
- cellHeight = v.getMeasuredHeight();
+ if (v.getVisibility() != View.GONE) {
+ ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
+ int colSpan = v.getColumnSpan();
+ lp.width = (int) ((colSpan * cellWidth) + (colSpan - 1) * mCellGap);
+
+ // Measure the child
+ int newWidthSpec = MeasureSpec.makeMeasureSpec(lp.width, MeasureSpec.EXACTLY);
+ int newHeightSpec = MeasureSpec.makeMeasureSpec(lp.height, MeasureSpec.EXACTLY);
+ v.measure(newWidthSpec, newHeightSpec);
+
+ // Save the cell height
+ if (cellHeight <= 0) {
+ cellHeight = v.getMeasuredHeight();
+ }
+ cursor += colSpan;
}
- cursor += colSpan;
}
// Set the measured dimensions. We always fill the tray width, but wrap to the height of
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
index 3f74388..04633bf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
@@ -137,8 +137,12 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
private UserState mUserState = new UserState();
private QuickSettingsTileView mTimeTile;
- private RefreshCallback mTimeAlarmCallback;
- private State mTimeAlarmState = new State();
+ private RefreshCallback mTimeCallback;
+ private State mTimeState = new State();
+
+ private QuickSettingsTileView mAlarmTile;
+ private RefreshCallback mAlarmCallback;
+ private State mAlarmState = new State();
private QuickSettingsTileView mAirplaneModeTile;
private RefreshCallback mAirplaneModeCallback;
@@ -212,17 +216,24 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
// Time
void addTimeTile(QuickSettingsTileView view, RefreshCallback cb) {
mTimeTile = view;
- mTimeAlarmCallback = cb;
- mTimeAlarmCallback.refreshView(view, mTimeAlarmState);
+ mTimeCallback = cb;
+ mTimeCallback.refreshView(view, mTimeState);
+ }
+
+ // Alarm
+ void addAlarmTile(QuickSettingsTileView view, RefreshCallback cb) {
+ mAlarmTile = view;
+ mAlarmCallback = cb;
+ mAlarmCallback.refreshView(view, mAlarmState);
}
void onAlarmChanged(Intent intent) {
- mTimeAlarmState.enabled = intent.getBooleanExtra("alarmSet", false);
- mTimeAlarmCallback.refreshView(mTimeTile, mTimeAlarmState);
+ mAlarmState.enabled = intent.getBooleanExtra("alarmSet", false);
+ mAlarmCallback.refreshView(mAlarmTile, mAlarmState);
}
void onNextAlarmChanged() {
- mTimeAlarmState.label = Settings.System.getString(mContext.getContentResolver(),
+ mAlarmState.label = Settings.System.getString(mContext.getContentResolver(),
Settings.System.NEXT_ALARM_FORMATTED);
- mTimeAlarmCallback.refreshView(mTimeTile, mTimeAlarmState);
+ mAlarmCallback.refreshView(mAlarmTile, mAlarmState);
}
// Airplane Mode
@@ -330,7 +341,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
mRSSIState.signalIconId = enabled && (mobileSignalIconId > 0)
? mobileSignalIconId
: R.drawable.ic_qs_signal_no_signal;
- mRSSIState.dataTypeIconId = enabled && (dataTypeIconId > 0)
+ mRSSIState.dataTypeIconId = enabled && (dataTypeIconId > 0) && !mWifiState.enabled
? dataTypeIconId
: 0;
mRSSIState.label = enabled