diff options
| author | Winson Chung <winsonc@google.com> | 2012-09-25 16:51:10 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-09-25 16:51:11 -0700 |
| commit | 282c51d3912995308901b45d22d1801eec50df41 (patch) | |
| tree | b65a98566709f4ba1d004867d94c6f0dcfd5a1ba | |
| parent | 61ad1bacf8985e088c039d90123bf0d2a5de94fe (diff) | |
| parent | c86b23b9a6bc4763ff3fbe8d0ae8a9b2e21a1649 (diff) | |
| download | frameworks_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
17 files changed, 103 insertions, 53 deletions
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_circle.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_circle.png Binary files differnew file mode 100644 index 0000000..f724ea5 --- /dev/null +++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_circle.png diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_hour.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_hour.png Binary files differnew file mode 100644 index 0000000..979ca08 --- /dev/null +++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_hour.png diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_minute.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_minute.png Binary files differnew file mode 100644 index 0000000..eef78c1 --- /dev/null +++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_clock_minute.png diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_circle.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_circle.png Binary files differnew file mode 100644 index 0000000..27904f2 --- /dev/null +++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_circle.png diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_hour.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_hour.png Binary files differnew file mode 100644 index 0000000..4dca96a --- /dev/null +++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_hour.png diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_minute.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_minute.png Binary files differnew file mode 100644 index 0000000..12e7818 --- /dev/null +++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_clock_minute.png diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_circle.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_circle.png Binary files differnew file mode 100644 index 0000000..c7864ba --- /dev/null +++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_circle.png diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_hour.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_hour.png Binary files differnew file mode 100644 index 0000000..a293c0b --- /dev/null +++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_hour.png diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_minute.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_minute.png Binary files differnew file mode 100644 index 0000000..bb0c17c --- /dev/null +++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_clock_minute.png diff --git a/packages/SystemUI/res/drawable/qs_tile_background.xml b/packages/SystemUI/res/drawable/qs_tile_background.xml index 83dadd8..96891c1 100644 --- a/packages/SystemUI/res/drawable/qs_tile_background.xml +++ b/packages/SystemUI/res/drawable/qs_tile_background.xml @@ -18,9 +18,9 @@ --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> - <color android:color="#252725" /> + <color android:color="#212121" /> </item> <item> - <color android:color="#1B1D1B" /> + <color android:color="#161616" /> </item> </selector> diff --git a/packages/SystemUI/res/layout/quick_settings_tile_alarm.xml b/packages/SystemUI/res/layout/quick_settings_tile_alarm.xml new file mode 100644 index 0000000..0327bee --- /dev/null +++ b/packages/SystemUI/res/layout/quick_settings_tile_alarm.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2012 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" + style="@style/TextAppearance.QuickSettings.TileView" + android:id="@+id/alarm_textview" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:gravity="center" + android:drawableTop="@drawable/ic_qs_alarm_on" + />
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/quick_settings_tile_time.xml b/packages/SystemUI/res/layout/quick_settings_tile_time.xml index f09e0cb..4ffbf52 100644 --- a/packages/SystemUI/res/layout/quick_settings_tile_time.xml +++ b/packages/SystemUI/res/layout/quick_settings_tile_time.xml @@ -19,30 +19,20 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="vertical"> - <com.android.systemui.statusbar.policy.Clock - android:textAppearance="@style/TextAppearance.QuickSettings.Clock" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_horizontal" - android:paddingTop="3dp" - android:paddingBottom="3dp" - android:singleLine="true" + <AnalogClock + android:id="@+id/analog_clock" + android:layout_width="32dp" + android:layout_height="32dp" + android:layout_gravity="center" + android:layout_marginBottom="10dp" + android:dial="@drawable/ic_qs_clock_circle" + android:hand_hour="@drawable/ic_qs_clock_hour" + android:hand_minute="@drawable/ic_qs_clock_minute" /> <com.android.systemui.statusbar.policy.QuickSettingsDateView - android:textAppearance="@style/TextAppearance.QuickSettings.Date" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_horizontal" - /> - <TextView - android:textAppearance="@style/TextAppearance.QuickSettings.Alarm" - android:id="@+id/alarm_textview" + android:textAppearance="@style/TextAppearance.QuickSettings.TileView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" - android:paddingTop="2dp" - android:paddingBottom="4dp" - android:drawableLeft="@drawable/ic_qs_alarm_on" - android:drawablePadding="4dp" /> </LinearLayout>
\ No newline at end of file diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 90fe558..46c3903 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -187,6 +187,6 @@ <dimen name="quick_settings_cell_height">110dp</dimen> <!-- The padding between each tile within the QuickSettings layout --> - <dimen name="quick_settings_cell_gap">5dp</dimen> + <dimen name="quick_settings_cell_gap">4dp</dimen> </resources> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index f6fe8d0..d666fc3 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -80,7 +80,7 @@ <item name="android:drawablePadding">12dp</item> <item name="android:textSize">12dp</item> <item name="android:textStyle">normal</item> - <item name="android:textColor">#ff8d908c</item> + <item name="android:textColor">#CCCCCC</item> <item name="android:textAllCaps">true</item> <item name="android:singleLine">true</item> <item name="android:ellipsize">marquee</item> 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 |
