Merge "Restoring generating artifacts" into sc-v2-dev
diff --git a/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java b/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java
index 65be624..b83e26e 100644
--- a/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java
+++ b/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java
@@ -17,7 +17,6 @@
import android.content.Context;
import android.content.res.Resources;
-import android.util.Log;
import android.view.MotionEvent;
import android.view.VelocityTracker;
@@ -86,12 +85,7 @@
mSpeedSomewhatFast = res.getDimension(R.dimen.motion_pause_detector_speed_somewhat_fast);
mSpeedFast = res.getDimension(R.dimen.motion_pause_detector_speed_fast);
mForcePauseTimeout = new Alarm();
- mForcePauseTimeout.setOnAlarmListener(alarm -> {
- if (TestProtocol.sDebugTracing) {
- Log.d(TestProtocol.MOTION_PAUSE_TIMEOUT, "onAlarm");
- }
- updatePaused(true /* isPaused */);
- });
+ mForcePauseTimeout.setOnAlarmListener(alarm -> updatePaused(true /* isPaused */));
mMakePauseHarderToTrigger = makePauseHarderToTrigger;
mVelocityProvider = new SystemVelocityProvider(axis);
}
@@ -128,9 +122,6 @@
long timeoutMs = TestProtocol.sForcePauseTimeout != null
? TestProtocol.sForcePauseTimeout
: mMakePauseHarderToTrigger ? HARDER_TRIGGER_TIMEOUT : FORCE_PAUSE_TIMEOUT;
- if (TestProtocol.sDebugTracing) {
- Log.d(TestProtocol.MOTION_PAUSE_TIMEOUT, "setAlarm: " + timeoutMs);
- }
mForcePauseTimeout.setAlarm(timeoutMs);
float newVelocity = mVelocityProvider.addMotionEvent(ev, ev.getPointerId(pointerIndex));
if (mPreviousVelocity != null) {
@@ -172,9 +163,6 @@
}
}
}
- if (TestProtocol.sDebugTracing) {
- Log.d(TestProtocol.MOTION_PAUSE_TIMEOUT, "checkMotionPaused: " + isPaused);
- }
updatePaused(isPaused);
}
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
index 164e755..e5e560a 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
@@ -37,7 +37,6 @@
import com.android.launcher3.tapl.OverviewActions;
import com.android.launcher3.tapl.OverviewTask;
import com.android.launcher3.ui.TaplTestsLauncher3;
-import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch;
import com.android.quickstep.views.RecentsView;
@@ -158,7 +157,6 @@
@Test
@NavigationModeSwitch
@PortraitLandscape
- @ScreenRecord //b/193125090
public void testOverviewActions() throws Exception {
// Experimenting for b/165029151:
final Overview overview = mLauncher.pressHome().switchToOverview();
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index c05016d..d05b69e 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -177,11 +177,20 @@
<attr name="borderSpacingDps" format="float" />
<attr name="iconImageSize" format="float" />
- <!-- landscapeIconSize defaults to iconSize, if not specified -->
+ <!-- landscapeIconSize defaults to iconImageSize, if not specified -->
<attr name="landscapeIconSize" format="float" />
+ <!-- twoPanelPortraitIconSize defaults to iconImageSize, if not specified -->
+ <attr name="twoPanelPortraitIconSize" format="float" />
+ <!-- twoPanelLandscapeIconSize defaults to landscapeIconSize, if not specified -->
+ <attr name="twoPanelLandscapeIconSize" format="float" />
+
<attr name="iconTextSize" format="float" />
<!-- landscapeIconTextSize defaults to iconTextSize, if not specified -->
<attr name="landscapeIconTextSize" format="float" />
+ <!-- twoPanelPortraitIconTextSize defaults to iconTextSize, if not specified -->
+ <attr name="twoPanelPortraitIconTextSize" format="float" />
+ <!-- twoPanelLandscapeIconTextSize defaults to landscapeIconTextSize, if not specified -->
+ <attr name="twoPanelLandscapeIconTextSize" format="float" />
<!-- If set, this display option is used to determine the default grid -->
<attr name="canBeDefault" format="boolean|integer" >
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 7acec1f..eb058e8 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -612,12 +612,30 @@
iconScale = Math.min(1f, scale);
cellScaleToFit = scale;
-
// Workspace
final boolean isVerticalLayout = isVerticalBarLayout();
- float invIconSizeDp = isLandscape ? inv.landscapeIconSize : inv.iconSize;
+ float invIconSizeDp;
+ float invIconTextSizeSp;
+
+ if (isTwoPanels) {
+ if (isLandscape) {
+ invIconSizeDp = inv.twoPanelLandscapeIconSize;
+ invIconTextSizeSp = inv.twoPanelLandscapeIconTextSize;
+ } else {
+ invIconSizeDp = inv.twoPanelPortraitIconSize;
+ invIconTextSizeSp = inv.twoPanelPortraitIconTextSize;
+ }
+ } else {
+ if (isLandscape) {
+ invIconSizeDp = inv.landscapeIconSize;
+ invIconTextSizeSp = inv.landscapeIconTextSize;
+ } else {
+ invIconSizeDp = inv.iconSize;
+ invIconTextSizeSp = inv.iconTextSize;
+ }
+ }
+
iconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, iconScale));
- float invIconTextSizeSp = isLandscape ? inv.landscapeIconTextSize : inv.iconTextSize;
iconTextSizePx = (int) (pxFromSp(invIconTextSizeSp, mMetrics) * iconScale);
iconDrawablePaddingPx = (int) (iconDrawablePaddingOriginalPx * iconScale);
diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java
index 10b3f98..b93bfd6 100644
--- a/src/com/android/launcher3/InvariantDeviceProfile.java
+++ b/src/com/android/launcher3/InvariantDeviceProfile.java
@@ -94,7 +94,11 @@
public int numFolderColumns;
public float iconSize;
public float landscapeIconSize;
+ public float twoPanelPortraitIconSize;
+ public float twoPanelLandscapeIconSize;
public float landscapeIconTextSize;
+ public float twoPanelPortraitIconTextSize;
+ public float twoPanelLandscapeIconTextSize;
public int iconBitmapSize;
public int fillResIconDpi;
public float iconTextSize;
@@ -157,9 +161,13 @@
numFolderColumns = p.numFolderColumns;
iconSize = p.iconSize;
landscapeIconSize = p.landscapeIconSize;
+ twoPanelPortraitIconSize = p.twoPanelPortraitIconSize;
+ twoPanelLandscapeIconSize = p.twoPanelLandscapeIconSize;
iconBitmapSize = p.iconBitmapSize;
iconTextSize = p.iconTextSize;
landscapeIconTextSize = p.landscapeIconTextSize;
+ twoPanelPortraitIconTextSize = p.twoPanelPortraitIconTextSize;
+ twoPanelLandscapeIconTextSize = p.twoPanelLandscapeIconTextSize;
numShownHotseatIcons = p.numShownHotseatIcons;
numDatabaseHotseatIcons = p.numDatabaseHotseatIcons;
numAllAppsColumns = p.numAllAppsColumns;
@@ -277,9 +285,13 @@
iconSize = displayOption.iconSize;
landscapeIconSize = displayOption.landscapeIconSize;
+ twoPanelPortraitIconSize = displayOption.twoPanelPortraitIconSize;
+ twoPanelLandscapeIconSize = displayOption.twoPanelLandscapeIconSize;
iconBitmapSize = ResourceUtils.pxFromDp(iconSize, metrics);
iconTextSize = displayOption.iconTextSize;
landscapeIconTextSize = displayOption.landscapeIconTextSize;
+ twoPanelPortraitIconTextSize = displayOption.twoPanelPortraitIconTextSize;
+ twoPanelLandscapeIconTextSize = displayOption.twoPanelLandscapeIconTextSize;
fillResIconDpi = getLauncherIconDensity(iconBitmapSize);
minCellHeight = displayOption.minCellHeight;
@@ -653,7 +665,11 @@
private float iconSize;
private float iconTextSize;
private float landscapeIconSize;
+ private float twoPanelPortraitIconSize;
+ private float twoPanelLandscapeIconSize;
private float landscapeIconTextSize;
+ private float twoPanelPortraitIconTextSize;
+ private float twoPanelLandscapeIconTextSize;
private float allAppsIconSize;
private float allAppsIconTextSize;
@@ -676,9 +692,19 @@
iconSize = a.getFloat(R.styleable.ProfileDisplayOption_iconImageSize, 0);
landscapeIconSize = a.getFloat(R.styleable.ProfileDisplayOption_landscapeIconSize,
iconSize);
+ twoPanelPortraitIconSize = a.getFloat(
+ R.styleable.ProfileDisplayOption_twoPanelPortraitIconSize, iconSize);
+ twoPanelLandscapeIconSize = a.getFloat(
+ R.styleable.ProfileDisplayOption_twoPanelLandscapeIconSize,
+ landscapeIconSize);
iconTextSize = a.getFloat(R.styleable.ProfileDisplayOption_iconTextSize, 0);
landscapeIconTextSize = a.getFloat(
R.styleable.ProfileDisplayOption_landscapeIconTextSize, iconTextSize);
+ twoPanelPortraitIconTextSize = a.getFloat(
+ R.styleable.ProfileDisplayOption_twoPanelPortraitIconTextSize, iconTextSize);
+ twoPanelLandscapeIconTextSize = a.getFloat(
+ R.styleable.ProfileDisplayOption_twoPanelLandscapeIconTextSize,
+ landscapeIconTextSize);
allAppsIconSize = a.getFloat(R.styleable.ProfileDisplayOption_allAppsIconSize,
iconSize);
@@ -704,9 +730,13 @@
private DisplayOption multiply(float w) {
iconSize *= w;
landscapeIconSize *= w;
+ twoPanelPortraitIconSize *= w;
+ twoPanelLandscapeIconSize *= w;
allAppsIconSize *= w;
iconTextSize *= w;
landscapeIconTextSize *= w;
+ twoPanelPortraitIconTextSize *= w;
+ twoPanelLandscapeIconTextSize *= w;
allAppsIconTextSize *= w;
minCellHeight *= w;
minCellWidth *= w;
@@ -717,9 +747,13 @@
private DisplayOption add(DisplayOption p) {
iconSize += p.iconSize;
landscapeIconSize += p.landscapeIconSize;
+ twoPanelPortraitIconSize += p.twoPanelPortraitIconSize;
+ twoPanelLandscapeIconSize += p.twoPanelLandscapeIconSize;
allAppsIconSize += p.allAppsIconSize;
iconTextSize += p.iconTextSize;
landscapeIconTextSize += p.landscapeIconTextSize;
+ twoPanelPortraitIconTextSize += p.twoPanelPortraitIconTextSize;
+ twoPanelLandscapeIconTextSize += p.twoPanelLandscapeIconTextSize;
allAppsIconTextSize += p.allAppsIconTextSize;
minCellHeight += p.minCellHeight;
minCellWidth += p.minCellWidth;
diff --git a/src/com/android/launcher3/testing/TestLogging.java b/src/com/android/launcher3/testing/TestLogging.java
index 6cdd3ca..103b565 100644
--- a/src/com/android/launcher3/testing/TestLogging.java
+++ b/src/com/android/launcher3/testing/TestLogging.java
@@ -17,6 +17,7 @@
package com.android.launcher3.testing;
import android.util.Log;
+import android.view.InputEvent;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -48,17 +49,24 @@
}
}
+ private static void registerEventNotFromTest(InputEvent event) {
+ if (!sHadEventsNotFromTest && event.getDeviceId() != -1) {
+ sHadEventsNotFromTest = true;
+ Log.d(TestProtocol.PERMANENT_DIAG_TAG, "First event not from test: " + event);
+ }
+ }
+
public static void recordKeyEvent(String sequence, String message, KeyEvent event) {
if (Utilities.IS_RUNNING_IN_TEST_HARNESS) {
recordEventSlow(sequence, message + ": " + event);
- if (event.getDeviceId() != -1) sHadEventsNotFromTest = true;
+ registerEventNotFromTest(event);
}
}
public static void recordMotionEvent(String sequence, String message, MotionEvent event) {
if (Utilities.IS_RUNNING_IN_TEST_HARNESS && event.getAction() != MotionEvent.ACTION_MOVE) {
recordEventSlow(sequence, message + ": " + event);
- if (event.getDeviceId() != -1) sHadEventsNotFromTest = true;
+ registerEventNotFromTest(event);
}
}
diff --git a/src/com/android/launcher3/testing/TestProtocol.java b/src/com/android/launcher3/testing/TestProtocol.java
index 38cbbe7..1c5b31b 100644
--- a/src/com/android/launcher3/testing/TestProtocol.java
+++ b/src/com/android/launcher3/testing/TestProtocol.java
@@ -118,6 +118,5 @@
public static final String WORK_PROFILE_REMOVED = "b/159671700";
public static final String FALLBACK_ACTIVITY_NO_SET = "b/181019015";
public static final String THIRD_PARTY_LAUNCHER_NOT_SET = "b/187080582";
- public static final String MOTION_PAUSE_TIMEOUT = "b/194114179";
public static final String TASK_VIEW_ID_CRASH = "b/195430732";
}
diff --git a/src/com/android/launcher3/widget/PendingAppWidgetHostView.java b/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
index d3a0190..57a6d3f 100644
--- a/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
+++ b/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
@@ -85,7 +85,7 @@
setBackgroundResource(R.drawable.pending_widget_bg);
setWillNotDraw(false);
- updateAppWidget(null);
+ super.updateAppWidget(null);
setOnClickListener(ItemClickHandler.INSTANCE);
if (info.pendingItemInfo == null) {
diff --git a/src/com/android/launcher3/widget/WidgetCell.java b/src/com/android/launcher3/widget/WidgetCell.java
index a8ed154..bd444db 100644
--- a/src/com/android/launcher3/widget/WidgetCell.java
+++ b/src/com/android/launcher3/widget/WidgetCell.java
@@ -483,6 +483,20 @@
mAppWidgetHostViewPreview.measure(
makeMeasureSpec(MAX_MEASURE_SPEC_DIMENSION, MeasureSpec.UNSPECIFIED),
makeMeasureSpec(MAX_MEASURE_SPEC_DIMENSION, MeasureSpec.UNSPECIFIED));
+ if (mRemoteViewsPreview != null) {
+ // If RemoteViews contains multiple sizes, the best fit sized RemoteViews will be
+ // selected in onLayout. To work out the right measurement, let's layout and then
+ // measure again.
+ mAppWidgetHostViewPreview.layout(
+ /* left= */ 0,
+ /* top= */ 0,
+ /* right= */ mTargetPreviewWidth,
+ /* bottom= */ mTargetPreviewHeight);
+ mAppWidgetHostViewPreview.measure(
+ makeMeasureSpec(mTargetPreviewWidth, MeasureSpec.UNSPECIFIED),
+ makeMeasureSpec(mTargetPreviewHeight, MeasureSpec.UNSPECIFIED));
+
+ }
View widgetContent = mAppWidgetHostViewPreview.getChildAt(0);
int appWidgetContentWidth = widgetContent.getMeasuredWidth();
int appWidgetContentHeight = widgetContent.getMeasuredHeight();
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 8b9ae69..065af00 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -66,7 +66,6 @@
import com.android.launcher3.ResourceUtils;
import com.android.launcher3.testing.TestProtocol;
-import com.android.systemui.shared.system.ContextUtils;
import com.android.systemui.shared.system.QuickStepContract;
import org.junit.Assert;
@@ -246,16 +245,12 @@
ComponentName cn = new ComponentName(pi.packageName, pi.name);
if (pm.getComponentEnabledSetting(cn) != COMPONENT_ENABLED_STATE_ENABLED) {
- if (TestHelpers.isInLauncherProcess()) {
+ mInstrumentation.getUiAutomation().adoptShellPermissionIdentity(
+ android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE);
+ try {
pm.setComponentEnabledSetting(cn, COMPONENT_ENABLED_STATE_ENABLED, DONT_KILL_APP);
- } else {
- try {
- final int userId = ContextUtils.getUserId(getContext());
- mDevice.executeShellCommand(
- "pm enable --user " + userId + " " + cn.flattenToString());
- } catch (IOException e) {
- fail(e.toString());
- }
+ } finally {
+ mInstrumentation.getUiAutomation().dropShellPermissionIdentity();
}
}
}
@@ -305,7 +300,7 @@
public boolean isTwoPanels() {
return getTestInfo(TestProtocol.REQUEST_IS_TWO_PANELS)
- .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD);
+ .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD);
}
private void setForcePauseTimeout(long timeout) {