diff options
Diffstat (limited to 'packages/SystemUI/src/com/android')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java index 7301525..26b6daa 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java @@ -18,21 +18,17 @@ package com.android.systemui.qs; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; -import android.app.ActivityManager; import android.app.AlertDialog; -import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; -import android.content.IntentFilter; import android.graphics.Canvas; import android.graphics.PointF; import android.graphics.drawable.Drawable; -import android.provider.Settings; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.util.Log; +import android.util.TypedValue; import android.view.DragEvent; import android.view.LayoutInflater; import android.view.View; @@ -40,7 +36,6 @@ import android.view.ViewGroup; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; -import android.widget.Toast; import com.android.internal.logging.MetricsLogger; import com.android.systemui.R; import com.android.systemui.qs.tiles.EditTile; @@ -50,7 +45,7 @@ import com.android.systemui.settings.ToggleSlider; import com.android.systemui.statusbar.phone.QSTileHost; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.tuner.QsTuner; -import cyanogenmod.providers.CMSettings; +import com.viewpagerindicator.CirclePageIndicator; import java.util.ArrayList; import java.util.Arrays; @@ -70,6 +65,7 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On protected QSViewPager mViewPager; protected PagerAdapter mPagerAdapter; QSPanelTopView mQsPanelTop; + CirclePageIndicator mPageIndicator; private DragTileRecord mDraggingRecord; private boolean mEditing; @@ -120,8 +116,10 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On }); mViewPager = new QSViewPager(getContext()); + mPageIndicator = new CirclePageIndicator(getContext()); addView(mDetail); addView(mViewPager); + addView(mPageIndicator); addView(mFooter.getView()); mClipper = new QSDetailClipper(mDetail); @@ -178,7 +176,11 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On return view == object; } }; - mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + mViewPager.setAdapter(mPagerAdapter); + mViewPager.setCurrentItem(0); + + mPageIndicator.setViewPager(mViewPager); + mPageIndicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { @@ -210,8 +212,6 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On } }); - mViewPager.setAdapter(mPagerAdapter); - mViewPager.setCurrentItem(0); setClipChildren(false); updateResources(); @@ -470,14 +470,13 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On final int width = MeasureSpec.getSize(widthMeasureSpec); mQsPanelTop.measure(exactly(width), MeasureSpec.UNSPECIFIED); - - final int brightnessHeight = mQsPanelTop.getMeasuredHeight(); - - mFooter.getView().measure(exactly(width), MeasureSpec.UNSPECIFIED); - mViewPager.measure(exactly(width), MeasureSpec.UNSPECIFIED); + mPageIndicator.measure(exactly(width), MeasureSpec.UNSPECIFIED); + mFooter.getView().measure(exactly(width), MeasureSpec.UNSPECIFIED); - int h = brightnessHeight + mViewPager.getMeasuredHeight(); + int h = mQsPanelTop.getMeasuredHeight() + + mViewPager.getMeasuredHeight() + + mPageIndicator.getMeasuredHeight(); if (mFooter.hasFooter()) { h += mFooter.getView().getMeasuredHeight(); } @@ -507,12 +506,20 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On if (DEBUG_DRAG) Log.d(TAG, "onLayout()"); final int w = getWidth(); - mQsPanelTop.layout(0, t, mQsPanelTop.getMeasuredWidth(), - t + mQsPanelTop.getMeasuredHeight()); + int top = 0; + mQsPanelTop.layout(0, top, w, top + mQsPanelTop.getMeasuredHeight()); + top += mQsPanelTop.getMeasuredHeight(); + mViewPager.layout(0, top, w, top + mViewPager.getMeasuredHeight()); + top += mViewPager.getMeasuredHeight(); + + // layout page indicator below view pager + mPageIndicator.layout(0, top, w, top + mPageIndicator.getMeasuredHeight()); + + // detail takes up whole height final int dh = Math.max(mDetail.getMeasuredHeight(), mViewPager.getMeasuredHeight()); - mViewPager.layout(0, t + mQsPanelTop.getMeasuredHeight(), w, t + dh); - mDetail.layout(0, t, mDetail.getMeasuredWidth(), t + dh); + mDetail.layout(0, 0, mDetail.getMeasuredWidth(), getMeasuredHeight()); + if (mFooter.hasFooter()) { View footer = mFooter.getView(); footer.layout(0, getMeasuredHeight() - footer.getMeasuredHeight(), |