Mostly just resizing and placement of things.
Change-Id: I28dbe22b0b0633bbe2bd484879e29349510dde29
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:padding="@dimen/qs_panel_padding"
+ android:paddingEnd="@dimen/qs_panel_padding"
android:visibility="invisible"
- android:background="@drawable/btn_borderless_rect" >
+ android:background="@drawable/btn_borderless_rect"
+ android:gravity="center">
+
+ <ImageView
+ android:id="@*android:id/up"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ android:layout_marginEnd="16dp"
+ android:padding="16dp"
+ android:clickable="true"
+ android:background="?android:attr/selectableItemBackground"
+ android:src="?android:attr/homeAsUpIndicator" />
<TextView
android:id="@android:id/title"
android:clickable="false"
android:textAppearance="@style/TextAppearance.QS.DetailHeader" />
-</com.android.keyguard.AlphaOptimizedLinearLayout>
\ No newline at end of file
+</com.android.keyguard.AlphaOptimizedLinearLayout>
android:id="@android:id/icon"
android:layout_width="24dp"
android:layout_height="24dp"
- android:layout_marginEnd="12dp" />
+ android:layout_marginEnd="20dp" />
<LinearLayout
android:layout_width="0dp"
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res-auto"
+ android:layout_height="48dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
style="@style/BrightnessDialogContainer">
<LinearLayout
android:id="@+id/date_time_group"
android:layout_width="wrap_content"
- android:layout_height="28dp"
+ android:layout_height="25dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:orientation="horizontal">
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="16dp"
- android:layout_marginTop="2dp"
+ android:layout_marginTop="4dp"
android:id="@+id/clock" />
<com.android.systemui.statusbar.policy.DateView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="6dp"
- android:layout_marginTop="8dp"
+ android:layout_marginTop="4dp"
android:drawableStart="@drawable/header_dot"
android:drawablePadding="6dp"
android:singleLine="true"
android:id="@+id/alarm_status"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:layout_marginTop="8dp"
+ android:layout_marginTop="4dp"
android:drawablePadding="6dp"
android:drawableStart="@drawable/ic_access_alarms_small"
android:textColor="#64ffffff"
android:background="#0000"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="30dp"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp"
+ android:layout_marginTop="25dp"
+ android:layout_marginStart="12dp"
+ android:layout_marginEnd="12dp"
android:layout_alignParentEnd="true"
android:clipChildren="false"
android:clipToPadding="false" />
layout="@layout/qs_detail_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
+ android:layout_marginTop="28dp"
/>
<com.android.systemui.statusbar.AlphaOptimizedImageView
<dimen name="close_handle_underlap">32dp</dimen>
<!-- Height of the status bar header bar -->
- <dimen name="status_bar_header_height">90dp</dimen>
+ <dimen name="status_bar_header_height">80dp</dimen>
<!-- Height of the status bar header bar when expanded -->
<dimen name="status_bar_header_height_expanded">116dp</dimen>
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
-
+import android.widget.Space;
import com.android.systemui.R;
import java.util.ArrayList;
@Override
public void addTile(TileRecord tile) {
- tile.tileView.setLayoutParams(generateLayoutParams());
- addView(tile.tileView, getChildCount() - 1 /* Leave icon at end */);
+ addView(tile.tileView, getChildCount() - 1 /* Leave icon at end */,
+ generateLayoutParams());
+ // Add a spacer.
+ addView(new Space(mContext), getChildCount() - 1 /* Leave icon at end */,
+ generateSpaceParams());
}
- private LayoutParams generateLayoutParams() {
+ private LayoutParams generateSpaceParams() {
int size = mContext.getResources().getDimensionPixelSize(R.dimen.qs_quick_tile_size);
LayoutParams lp = new LayoutParams(0, size);
lp.weight = 1;
return lp;
}
+ private LayoutParams generateLayoutParams() {
+ int size = mContext.getResources().getDimensionPixelSize(R.dimen.qs_quick_tile_size);
+ LayoutParams lp = new LayoutParams(size, size);
+ lp.gravity = Gravity.CENTER;
+ return lp;
+ }
+
@Override
public void removeTile(TileRecord tile) {
- removeView(tile.tileView);
+ int childIndex = getChildIndex(tile.tileView);
+ // Remove the tile.
+ removeViewAt(childIndex);
+ // Remove its spacer as well.
+ removeViewAt(childIndex);
+ }
+
+ private int getChildIndex(QSTileBaseView tileView) {
+ final int N = getChildCount();
+ for (int i = 0; i < N; i++) {
+ if (getChildAt(i) == tileView) {
+ return i;
+ }
+ }
+ return -1;
}
@Override
public abstract int getCollapsedHeight();
public abstract int getExpandedHeight();
+
public abstract void setExpanded(boolean b);
public abstract void setExpansion(float headerExpansionFraction);
public abstract void setListening(boolean listening);
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
-
import com.android.keyguard.KeyguardStatusView;
import com.android.systemui.R;
import com.android.systemui.qs.QSPanel;
private float mDateTimeTranslation;
private MultiUserSwitch mMultiUserSwitch;
private ImageView mMultiUserAvatar;
+ private View mQsDetailHeaderBack;
+
+ private final int[] mTmpInt2 = new int[2];
public QuickStatusBarHeader(Context context, AttributeSet attrs) {
super(context, attrs);
mDateTimeTranslation = mContext.getResources().getDimension(
R.dimen.qs_date_anim_translation);
mDateTimeGroup = (ViewGroup) findViewById(R.id.date_time_group);
+ mDateTimeGroup.findViewById(R.id.empty_time_view).setVisibility(View.GONE);
mExpandedGroup = (ViewGroup) findViewById(R.id.expanded_group);
mHeaderQsPanel = (QuickQSPanel) findViewById(R.id.quick_qs_panel);
mQsDetailHeader = findViewById(R.id.qs_detail_header);
mQsDetailHeader.setAlpha(0);
+ mQsDetailHeaderBack = mQsDetailHeader.findViewById(com.android.internal.R.id.up);
mQsDetailHeaderTitle = (TextView) mQsDetailHeader.findViewById(android.R.id.title);
mQsDetailHeaderSwitch = (Switch) mQsDetailHeader.findViewById(android.R.id.toggle);
mQsDetailHeaderProgress = (ImageView) findViewById(R.id.qs_detail_header_progress);
}
});
}
+ mQsDetailHeaderBack.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ v.getLocationInWindow(mTmpInt2);
+ mTmpInt2[0] += v.getWidth() / 2;
+ mTmpInt2[1] += v.getHeight() / 2;
+ mQsPanel.showDetailAdapter(false, null, mTmpInt2);
+ }
+ });
} else {
mQsDetailHeader.setClickable(false);
}