Merge "Fix footer not being hidden in detail panels" into oc-dev
This commit is contained in:
@@ -73,6 +73,7 @@ public class QSDetail extends LinearLayout {
|
|||||||
private int mOpenY;
|
private int mOpenY;
|
||||||
private boolean mAnimatingOpen;
|
private boolean mAnimatingOpen;
|
||||||
private boolean mSwitchState;
|
private boolean mSwitchState;
|
||||||
|
private View mFooter;
|
||||||
|
|
||||||
public QSDetail(Context context, @Nullable AttributeSet attrs) {
|
public QSDetail(Context context, @Nullable AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
@@ -116,9 +117,10 @@ public class QSDetail extends LinearLayout {
|
|||||||
mDetailDoneButton.setOnClickListener(doneListener);
|
mDetailDoneButton.setOnClickListener(doneListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setQsPanel(QSPanel panel, QuickStatusBarHeader header) {
|
public void setQsPanel(QSPanel panel, QuickStatusBarHeader header, View footer) {
|
||||||
mQsPanel = panel;
|
mQsPanel = panel;
|
||||||
mHeader = header;
|
mHeader = header;
|
||||||
|
mFooter = footer;
|
||||||
mHeader.setCallback(mQsPanelCallback);
|
mHeader.setCallback(mQsPanelCallback);
|
||||||
mQsPanel.setCallback(mQsPanelCallback);
|
mQsPanel.setCallback(mQsPanelCallback);
|
||||||
}
|
}
|
||||||
@@ -214,6 +216,7 @@ public class QSDetail extends LinearLayout {
|
|||||||
mDetailAdapter = null;
|
mDetailAdapter = null;
|
||||||
listener = mTeardownDetailWhenDone;
|
listener = mTeardownDetailWhenDone;
|
||||||
mHeader.setVisibility(View.VISIBLE);
|
mHeader.setVisibility(View.VISIBLE);
|
||||||
|
mFooter.setVisibility(View.VISIBLE);
|
||||||
mQsPanel.setGridContentVisibility(true);
|
mQsPanel.setGridContentVisibility(true);
|
||||||
mQsPanelCallback.onScanStateChanged(false);
|
mQsPanelCallback.onScanStateChanged(false);
|
||||||
}
|
}
|
||||||
@@ -345,6 +348,7 @@ public class QSDetail extends LinearLayout {
|
|||||||
if (mDetailAdapter != null) {
|
if (mDetailAdapter != null) {
|
||||||
mQsPanel.setGridContentVisibility(false);
|
mQsPanel.setGridContentVisibility(false);
|
||||||
mHeader.setVisibility(View.INVISIBLE);
|
mHeader.setVisibility(View.INVISIBLE);
|
||||||
|
mFooter.setVisibility(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
mAnimatingOpen = false;
|
mAnimatingOpen = false;
|
||||||
checkPendingAnimations();
|
checkPendingAnimations();
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ public class QSFragment extends Fragment implements QS {
|
|||||||
mContainer = view.findViewById(id.quick_settings_container);
|
mContainer = view.findViewById(id.quick_settings_container);
|
||||||
mGutterHeight = getContext().getResources().getDimensionPixelSize(R.dimen.qs_gutter_height);
|
mGutterHeight = getContext().getResources().getDimensionPixelSize(R.dimen.qs_gutter_height);
|
||||||
|
|
||||||
mQSDetail.setQsPanel(mQSPanel, mHeader);
|
mQSDetail.setQsPanel(mQSPanel, mHeader, mFooter);
|
||||||
|
|
||||||
// If the quick settings row is not shown, then there is no need for the animation from
|
// If the quick settings row is not shown, then there is no need for the animation from
|
||||||
// the row to the full QS panel.
|
// the row to the full QS panel.
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ import static org.mockito.Mockito.mock;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Ignore;
|
||||||
import android.support.test.filters.SmallTest;
|
import android.support.test.filters.SmallTest;
|
||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
import android.testing.TestableLooper;
|
import android.testing.TestableLooper;
|
||||||
@@ -37,8 +39,6 @@ import com.android.systemui.SysuiTestCase;
|
|||||||
import com.android.systemui.plugins.ActivityStarter;
|
import com.android.systemui.plugins.ActivityStarter;
|
||||||
import com.android.systemui.plugins.qs.DetailAdapter;
|
import com.android.systemui.plugins.qs.DetailAdapter;
|
||||||
|
|
||||||
import org.junit.After;
|
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -65,7 +65,7 @@ public class QSDetailTest extends SysuiTestCase {
|
|||||||
mQsDetail = (QSDetail) LayoutInflater.from(mContext).inflate(R.layout.qs_detail, null);
|
mQsDetail = (QSDetail) LayoutInflater.from(mContext).inflate(R.layout.qs_detail, null);
|
||||||
mQsPanel = mock(QSPanel.class);
|
mQsPanel = mock(QSPanel.class);
|
||||||
mQuickHeader = mock(QuickStatusBarHeader.class);
|
mQuickHeader = mock(QuickStatusBarHeader.class);
|
||||||
mQsDetail.setQsPanel(mQsPanel, mQuickHeader);
|
mQsDetail.setQsPanel(mQsPanel, mQuickHeader, mock(View.class));
|
||||||
|
|
||||||
mMockDetailAdapter = mock(DetailAdapter.class);
|
mMockDetailAdapter = mock(DetailAdapter.class);
|
||||||
when(mMockDetailAdapter.createDetailView(any(), any(), any()))
|
when(mMockDetailAdapter.createDetailView(any(), any(), any()))
|
||||||
|
|||||||
Reference in New Issue
Block a user