QS: Fix brightness/edit disappearing with too few tiles
- Make sure the tile layout doesn't have negative height Test: runtest systemui Fixes: 34593873 Change-Id: I392aa925cde1b2147a86cda63cd9e84cd3026a90
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ public class FakeTunerService extends TunerService {
|
||||
public FakeTunerService(Context context, LeakCheckedTest test) {
|
||||
super(context);
|
||||
mBaseLeakChecker = new BaseLeakChecker<>(test, "tunable");
|
||||
destroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user