am 8934e670: Merge "Limit item count in QS detail" into lmp-mr1-dev
* commit '8934e67051a7c2598ad94699037701c4c6bf83ca': Limit item count in QS detail
This commit is contained in:
@@ -49,4 +49,8 @@
|
||||
android:textAppearance="@style/TextAppearance.QS.DetailEmpty" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/min_height_spacer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"/>
|
||||
</com.android.systemui.qs.QSDetailItems>
|
||||
23
packages/SystemUI/res/values-h560dp/config.xml
Normal file
23
packages/SystemUI/res/values-h560dp/config.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (C) 2014 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
|
||||
-->
|
||||
|
||||
<resources>
|
||||
<!-- The maximum number of items to be displayed in quick settings -->
|
||||
<integer name="quick_settings_detail_max_item_count">8</integer>
|
||||
</resources>
|
||||
|
||||
@@ -131,6 +131,9 @@
|
||||
<integer name="quick_settings_brightness_dialog_short_timeout">2000</integer>
|
||||
<integer name="quick_settings_brightness_dialog_long_timeout">4000</integer>
|
||||
|
||||
<!-- The maximum number of items to be displayed in quick settings -->
|
||||
<integer name="quick_settings_detail_max_item_count">7</integer>
|
||||
|
||||
<integer name="blinds_pop_duration_ms">10</integer>
|
||||
|
||||
<!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
|
||||
|
||||
@@ -51,8 +51,10 @@ public class QSDetailItems extends FrameLayout {
|
||||
private boolean mItemsVisible = true;
|
||||
private LinearLayout mItems;
|
||||
private View mEmpty;
|
||||
private View mMinHeightSpacer;
|
||||
private TextView mEmptyText;
|
||||
private ImageView mEmptyIcon;
|
||||
private int mMaxItems;
|
||||
|
||||
public QSDetailItems(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
@@ -77,6 +79,12 @@ public class QSDetailItems extends FrameLayout {
|
||||
mEmpty.setVisibility(GONE);
|
||||
mEmptyText = (TextView) mEmpty.findViewById(android.R.id.title);
|
||||
mEmptyIcon = (ImageView) mEmpty.findViewById(android.R.id.icon);
|
||||
mMinHeightSpacer = findViewById(R.id.min_height_spacer);
|
||||
|
||||
// By default, a detail item view has fixed size.
|
||||
mMaxItems = getResources().getInteger(
|
||||
R.integer.quick_settings_detail_max_item_count);
|
||||
setMinHeightInItems(mMaxItems);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -102,6 +110,16 @@ public class QSDetailItems extends FrameLayout {
|
||||
mEmptyText.setText(text);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the minimum height of this detail view, in item count.
|
||||
*/
|
||||
public void setMinHeightInItems(int minHeightInItems) {
|
||||
ViewGroup.LayoutParams lp = mMinHeightSpacer.getLayoutParams();
|
||||
lp.height = minHeightInItems * getResources().getDimensionPixelSize(
|
||||
R.dimen.qs_detail_item_height);
|
||||
mMinHeightSpacer.setLayoutParams(lp);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
@@ -135,7 +153,7 @@ public class QSDetailItems extends FrameLayout {
|
||||
}
|
||||
|
||||
private void handleSetItems(Item[] items) {
|
||||
final int itemCount = items != null ? items.length : 0;
|
||||
final int itemCount = items != null ? Math.min(items.length, mMaxItems) : 0;
|
||||
mEmpty.setVisibility(itemCount == 0 ? VISIBLE : GONE);
|
||||
mItems.setVisibility(itemCount == 0 ? GONE : VISIBLE);
|
||||
for (int i = mItems.getChildCount() - 1; i >= itemCount; i--) {
|
||||
|
||||
@@ -185,6 +185,7 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> {
|
||||
mItems.setEmptyState(R.drawable.ic_qs_bluetooth_detail_empty,
|
||||
R.string.quick_settings_bluetooth_detail_empty_text);
|
||||
mItems.setCallback(this);
|
||||
mItems.setMinHeightInItems(0);
|
||||
updateItems();
|
||||
setItemsVisible(mState.value);
|
||||
return mItems;
|
||||
|
||||
Reference in New Issue
Block a user