Merge "QS: Fix brightness/edit disappearing with too few tiles"

This commit is contained in:
Jason Monk
2017-02-07 18:23:51 +00:00
committed by Android (Google) Code Review
4 changed files with 13 additions and 22 deletions

View File

@@ -99,8 +99,9 @@ public class TileLayout extends ViewGroup implements QSTileLayout {
record.tileView.measure(exactly(mCellWidth), exactly(mCellHeight));
previousView = record.tileView.updateAccessibilityOrder(previousView);
}
setMeasuredDimension(width,
(mCellHeight + mCellMargin) * rows + (mCellMarginTop - mCellMargin));
int height = (mCellHeight + mCellMargin) * rows + (mCellMarginTop - mCellMargin);
if (height < 0) height = 0;
setMeasuredDimension(width, height);
}
private static int exactly(int size) {

View File

@@ -15,11 +15,6 @@
package com.android.systemui.qs;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import android.os.Handler;
import android.os.Looper;
import android.support.test.runner.AndroidJUnit4;
import com.android.systemui.Dependency;
import com.android.systemui.FragmentTestCase;
@@ -27,28 +22,16 @@ import com.android.systemui.R;
import com.android.systemui.statusbar.phone.QSTileHost;
import com.android.systemui.statusbar.phone.QuickStatusBarHeader;
import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BluetoothController;
import com.android.systemui.statusbar.policy.CastController;
import com.android.systemui.statusbar.policy.FlashlightController;
import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.KeyguardMonitor;
import com.android.systemui.statusbar.policy.LocationController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NextAlarmController;
import com.android.systemui.statusbar.policy.RotationLockController;
import com.android.systemui.statusbar.policy.SecurityController;
import com.android.systemui.statusbar.policy.UserInfoController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.utils.leaks.LeakCheckedTest;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.ArrayList;
import android.os.Handler;
import android.os.Looper;
import android.support.test.runner.AndroidJUnit4;
@RunWith(AndroidJUnit4.class)
public class QSFragmentTest extends FragmentTestCase {

View File

@@ -161,4 +161,10 @@ public class TileLayoutTest extends SysuiTestCase {
assertEquals(top1.getValue().intValue(), top2.getValue().intValue());
assertEquals(bottom1.getValue().intValue(), bottom2.getValue().intValue());
}
@Test
public void testEmptyHeight() {
mTileLayout.measure(mLayoutSizeForOneTile, mLayoutSizeForOneTile);
assertEquals(0, mTileLayout.getMeasuredHeight());
}
}

View File

@@ -25,6 +25,7 @@ public class FakeTunerService extends TunerService {
public FakeTunerService(Context context, LeakCheckedTest test) {
super(context);
mBaseLeakChecker = new BaseLeakChecker<>(test, "tunable");
destroy();
}
@Override