Snap for 7587820 from 58f5978c08 to tm-release

Change-Id: I86fd5411cf73211c814c1b75c88553a2e9a491a6
This commit is contained in:
Android Build Coastguard Worker
2021-07-28 03:08:08 +00:00
26 changed files with 145 additions and 27 deletions
+1 -1
View File
@@ -26,6 +26,6 @@
<color name="all_apps_prediction_row_separator_dark">#3cffffff</color>
<!-- Taskbar -->
<color name="taskbar_background">#101010</color>
<color name="taskbar_background">@color/overview_scrim_dark</color>
<color name="taskbar_icon_selection_ripple">#E0E0E0</color>
</resources>
@@ -24,6 +24,7 @@ import android.animation.AnimatorSet;
import android.annotation.TargetApi;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Build;
import android.util.AttributeSet;
import android.view.MotionEvent;
@@ -36,11 +37,10 @@ import com.android.launcher3.statemanager.StateManager.StateListener;
import com.android.quickstep.FallbackActivityInterface;
import com.android.quickstep.GestureState;
import com.android.quickstep.RecentsActivity;
import com.android.quickstep.util.TaskViewSimulator;
import com.android.quickstep.util.SplitSelectStateController;
import com.android.quickstep.util.TaskViewSimulator;
import com.android.quickstep.views.OverviewActionsView;
import com.android.quickstep.views.RecentsView;
import com.android.quickstep.views.SplitPlaceholderView;
import com.android.quickstep.views.TaskView;
import com.android.systemui.shared.recents.model.Task;
import com.android.systemui.shared.recents.model.Task.TaskKey;
@@ -184,6 +184,7 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
} else {
if (mActivity.isInState(RecentsState.MODAL_TASK)) {
mActivity.getStateManager().goToState(DEFAULT);
resetModalVisuals();
}
}
}
@@ -221,4 +222,12 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
// Do not let touch escape to siblings below this view.
return result || mActivity.getStateManager().getState().overviewUi();
}
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Reset modal state if full configuration changes
setModalStateEnabled(false);
}
}
@@ -227,6 +227,7 @@ public class LauncherRecentsView extends RecentsView<BaseQuickstepLauncher, Laun
} else {
if (mActivity.isInState(LauncherState.OVERVIEW_MODAL_TASK)) {
mActivity.getStateManager().goToState(LauncherState.OVERVIEW);
resetModalVisuals();
}
}
}
@@ -254,9 +255,6 @@ public class LauncherRecentsView extends RecentsView<BaseQuickstepLauncher, Laun
super.onConfigurationChanged(newConfig);
// If overview is in modal state when rotate, reset it to overview state without running
// animation.
if (mActivity.isInState(OVERVIEW_MODAL_TASK)) {
mActivity.getStateManager().goToState(LauncherState.OVERVIEW, false);
resetModalVisuals();
}
setModalStateEnabled(false);
}
}
@@ -1383,6 +1383,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|| !mOrientationHandler.equals(oldOrientationHandler)) {
// Changed orientations, update controllers so they intercept accordingly.
mActivity.getDragLayer().recreateControllers();
setModalStateEnabled(false);
}
boolean isInLandscape = mOrientationState.getTouchRotation() != ROTATION_0
@@ -1864,7 +1865,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
public void onGestureAnimationEnd() {
mGestureActive = false;
if (mOrientationState.setGestureActive(false)) {
updateOrientationHandler();
updateOrientationHandler(/* forceRecreateDragLayerControllers = */ false);
}
setEnableFreeScroll(true);
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:inset="8dp">
<shape android:shape="rectangle">
<corners android:radius="@android:dimen/system_app_widget_background_radius" />
<solid android:color="#77000000" />
</shape>
</inset>
@@ -37,7 +37,7 @@
android:id="@+id/add_item_bottom_sheet_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="24dp"
android:paddingVertical="24dp"
android:background="@drawable/add_item_dialog_background"
android:orientation="vertical" >
@@ -46,6 +46,7 @@
android:id="@+id/widget_appName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:gravity="center_horizontal"
android:textColor="?android:attr/textColorPrimary"
android:textSize="24sp"
@@ -55,8 +56,10 @@
android:maxLines="1" />
<TextView
android:id="@+id/widget_drag_instruction"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:gravity="center_horizontal"
android:paddingTop="8dp"
android:text="@string/add_item_request_drag_hint"
@@ -75,12 +78,15 @@
android:id="@+id/widget_cell"
layout="@layout/widget_cell"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin" />
</ScrollView>
<LinearLayout
android:id="@+id/actions_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:gravity="center_vertical|end"
android:paddingVertical="8dp"
android:orientation="horizontal">
@@ -47,6 +47,7 @@
<include layout="@layout/widgets_table_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:layout_gravity="center_horizontal" />
</ScrollView>
</LinearLayout>
+1
View File
@@ -57,6 +57,7 @@
android:id="@+id/search_widgets_list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:visibility="gone"
android:clipToPadding="false" />
@@ -20,6 +20,7 @@
android:id="@+id/widgets_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:clipToPadding="false"
android:paddingTop="@dimen/widget_picker_view_pager_top_padding"
android:descendantFocusability="afterDescendants"
@@ -18,4 +18,5 @@
android:id="@+id/primary_widgets_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:clipToPadding="false" />
@@ -18,6 +18,7 @@
android:id="@+id/search_and_recommendations_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:layout_marginBottom="16dp"
android:orientation="vertical">
@@ -53,7 +54,6 @@
android:id="@+id/recommended_widget_table"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:layout_marginTop="8dp"
android:background="@drawable/widgets_recommendation_background"
android:paddingVertical="@dimen/recommended_widgets_table_vertical_padding"
-1
View File
@@ -19,7 +19,6 @@
android:id="@+id/widgets_list_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:paddingVertical="@dimen/widget_list_header_view_vertical_padding"
android:orientation="horizontal"
launcher:appIconSize="48dp">
-1
View File
@@ -6,7 +6,6 @@
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="24dp"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin"
android:background="@drawable/bg_widgets_searchbox">
<com.android.launcher3.ExtendedEditText
+1 -2
View File
@@ -17,5 +17,4 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widgets_table"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin" />
android:layout_height="wrap_content" />
+1 -1
View File
@@ -71,7 +71,7 @@
<string name="all_apps_button_label" msgid="8130441508702294465">"ऐप्लिकेशन सूची"</string>
<string name="all_apps_button_personal_label" msgid="1315764287305224468">"निजी ऐप्लिकेशन की सूची"</string>
<string name="all_apps_button_work_label" msgid="7270707118948892488">"काम से जुड़े ऐप्लिकेशन की सूची"</string>
<string name="remove_drop_target_label" msgid="7812859488053230776">"निकालें"</string>
<string name="remove_drop_target_label" msgid="7812859488053230776">"हटाएं"</string>
<string name="uninstall_drop_target_label" msgid="4722034217958379417">"अनइंस्टॉल करें"</string>
<string name="app_info_drop_target_label" msgid="692894985365717661">"ऐप्लिकेशन की जानकारी"</string>
<string name="install_drop_target_label" msgid="2539096853673231757">"इंस्‍टॉल करें"</string>
+3
View File
@@ -17,4 +17,7 @@
<resources>
<!-- DragController -->
<dimen name="drag_flingToDeleteMinVelocity">-1000dp</dimen>
<!-- Widgets pickers -->
<dimen name="widget_list_horizontal_margin">32dp</dimen>
</resources>
+1
View File
@@ -196,6 +196,7 @@
<dimen name="drop_target_text_size">16sp</dimen>
<dimen name="drop_target_shadow_elevation">2dp</dimen>
<dimen name="drop_target_bar_margin_horizontal">4dp</dimen>
<dimen name="drop_target_button_drawable_padding">8dp</dimen>
<!-- the distance an icon must be dragged before button drop targets accept it -->
<dimen name="drag_distanceThreshold">30dp</dimen>
+1 -1
View File
@@ -259,7 +259,7 @@
<!-- Drop targets -->
<style name="DropTargetButtonBase" parent="@android:style/TextAppearance.DeviceDefault">
<item name="android:drawablePadding">8dp</item>
<item name="android:drawablePadding">@dimen/drop_target_button_drawable_padding</item>
<item name="android:padding">14dp</item>
<item name="android:textColor">@color/drop_target_text</item>
<item name="android:textSize">@dimen/drop_target_text_size</item>
@@ -66,6 +66,8 @@ public abstract class ButtonDropTarget extends TextView
private final int mDragDistanceThreshold;
/** The size of the drawable shown in the drop target. */
private final int mDrawableSize;
/** The padding, in pixels, between the text and drawable. */
private final int mDrawablePadding;
protected CharSequence mText;
protected Drawable mDrawable;
@@ -85,6 +87,8 @@ public abstract class ButtonDropTarget extends TextView
Resources resources = getResources();
mDragDistanceThreshold = resources.getDimensionPixelSize(R.dimen.drag_distanceThreshold);
mDrawableSize = resources.getDimensionPixelSize(R.dimen.drop_target_text_size);
mDrawablePadding = resources.getDimensionPixelSize(
R.dimen.drop_target_button_drawable_padding);
}
@Override
@@ -301,6 +305,8 @@ public abstract class ButtonDropTarget extends TextView
mTextVisible = isVisible;
setText(newText);
setCompoundDrawablesRelative(mDrawable, null, null, null);
int drawablePadding = mTextVisible ? mDrawablePadding : 0;
setCompoundDrawablePadding(drawablePadding);
}
}
@@ -175,8 +175,8 @@ public final class FeatureFlags {
"ENABLE_SMARTSPACE_UNIVERSAL", false,
"Replace Smartspace with a version rendered by System UI.");
public static final BooleanFlag ENABLE_SMARTSPACE_ENHANCED = new DeviceFlag(
"ENABLE_SMARTSPACE_ENHANCED", false,
public static final BooleanFlag ENABLE_SMARTSPACE_ENHANCED = getDebugFlag(
"ENABLE_SMARTSPACE_ENHANCED", true,
"Replace Smartspace with the enhanced version. "
+ "Ignored if ENABLE_SMARTSPACE_UNIVERSAL is enabled.");
@@ -165,7 +165,7 @@ public class PreviewSurfaceRenderer {
@Override
public void run() {
DeviceProfile deviceProfile = mIdp.getDeviceProfile(mContext);
DeviceProfile deviceProfile = mIdp.getDeviceProfile(previewContext);
String query = (deviceProfile.isTwoPanels ? LauncherSettings.Favorites.SCREEN
+ " = " + Workspace.LEFT_PANEL_ID + " or " : "")
+ LauncherSettings.Favorites.SCREEN + " = " + Workspace.FIRST_SCREEN_ID
@@ -49,6 +49,8 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi
private final Rect mInsets;
private ScrollView mWidgetPreviewScrollView;
private int mContentHorizontalMarginInPx;
public AddItemWidgetsBottomSheet(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
@@ -56,6 +58,8 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi
public AddItemWidgetsBottomSheet(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mInsets = new Rect();
mContentHorizontalMarginInPx = getResources().getDimensionPixelSize(
R.dimen.widget_list_horizontal_margin);
}
/**
@@ -173,6 +177,26 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi
}
mContent.setPadding(mContent.getPaddingStart(),
mContent.getPaddingTop(), mContent.getPaddingEnd(), mInsets.bottom);
int contentHorizontalMarginInPx = getResources().getDimensionPixelSize(
R.dimen.widget_list_horizontal_margin);
if (contentHorizontalMarginInPx != mContentHorizontalMarginInPx) {
setContentHorizontalMargin(findViewById(R.id.widget_appName),
contentHorizontalMarginInPx);
setContentHorizontalMargin(findViewById(R.id.widget_drag_instruction),
contentHorizontalMarginInPx);
setContentHorizontalMargin(findViewById(R.id.widget_cell), contentHorizontalMarginInPx);
setContentHorizontalMargin(findViewById(R.id.actions_container),
contentHorizontalMarginInPx);
mContentHorizontalMarginInPx = contentHorizontalMarginInPx;
}
return windowInsets;
}
private static void setContentHorizontalMargin(View view, int contentHorizontalMargin) {
ViewGroup.MarginLayoutParams layoutParams =
((ViewGroup.MarginLayoutParams) view.getLayoutParams());
layoutParams.setMarginStart(contentHorizontalMargin);
layoutParams.setMarginEnd(contentHorizontalMargin);
}
}
@@ -66,8 +66,12 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView<Launcher>
/* Touch handling related member variables. */
private Toast mWidgetInstructionToast;
private int mContentHorizontalMarginInPx;
public BaseWidgetSheet(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mContentHorizontalMarginInPx = getResources().getDimensionPixelSize(
R.dimen.widget_list_horizontal_margin);
}
protected int getScrimColor(Context context) {
@@ -119,8 +123,16 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView<Launcher>
@Override
public void setInsets(Rect insets) {
mInsets.set(insets);
int contentHorizontalMarginInPx = getResources().getDimensionPixelSize(
R.dimen.widget_list_horizontal_margin);
if (contentHorizontalMarginInPx != mContentHorizontalMarginInPx) {
onContentHorizontalMarginChanged(contentHorizontalMarginInPx);
mContentHorizontalMarginInPx = contentHorizontalMarginInPx;
}
}
/** Called when the horizontal margin of the content view has changed. */
protected abstract void onContentHorizontalMarginChanged(int contentHorizontalMarginInPx);
/**
* Measures the dimension of this view and its children by taking system insets, navigation bar,
@@ -25,6 +25,7 @@ import android.text.StaticLayout;
import android.text.TextPaint;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.View;
import android.widget.RemoteViews;
import com.android.launcher3.R;
@@ -54,6 +55,11 @@ public class DeferredAppWidgetHostView extends LauncherAppWidgetHostView {
// Not allowed
}
@Override
public void addView(View child) {
// Not allowed
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
@@ -70,11 +70,10 @@ public class WidgetsBottomSheet extends BaseWidgetSheet {
private static final int DEFAULT_CLOSE_DURATION = 200;
private static final long EDUCATION_TIP_DELAY_MS = 300;
private final int mWidgetSheetContentHorizontalPadding;
private ItemInfo mOriginalItemInfo;
private final int mMaxTableHeight;
private int mMaxHorizontalSpan = DEFAULT_MAX_HORIZONTAL_SPANS;
private final int mWidgetCellHorizontalPadding;
private final OnLayoutChangeListener mLayoutChangeListenerToShowTips =
new OnLayoutChangeListener() {
@@ -119,9 +118,8 @@ public class WidgetsBottomSheet extends BaseWidgetSheet {
if (!hasSeenEducationTip()) {
addOnLayoutChangeListener(mLayoutChangeListenerToShowTips);
}
mWidgetSheetContentHorizontalPadding = getResources().getDimensionPixelSize(
R.dimen.widget_list_horizontal_margin);
mWidgetCellHorizontalPadding = getResources().getDimensionPixelSize(
R.dimen.widget_cell_horizontal_padding);
}
@Override
@@ -142,8 +140,7 @@ public class WidgetsBottomSheet extends BaseWidgetSheet {
private boolean updateMaxSpansPerRow() {
if (getMeasuredWidth() == 0) return false;
int maxHorizontalSpan = computeMaxHorizontalSpans(mContent,
mWidgetSheetContentHorizontalPadding);
int maxHorizontalSpan = computeMaxHorizontalSpans(mContent, mWidgetCellHorizontalPadding);
if (mMaxHorizontalSpan != maxHorizontalSpan) {
// Ensure the table layout is showing widgets in the right column after measure.
mMaxHorizontalSpan = maxHorizontalSpan;
@@ -274,6 +271,14 @@ public class WidgetsBottomSheet extends BaseWidgetSheet {
}
}
@Override
protected void onContentHorizontalMarginChanged(int contentHorizontalMarginInPx) {
ViewGroup.MarginLayoutParams layoutParams =
((ViewGroup.MarginLayoutParams) findViewById(R.id.widgets_table).getLayoutParams());
layoutParams.setMarginStart(contentHorizontalMarginInPx);
layoutParams.setMarginEnd(contentHorizontalMarginInPx);
}
@Override
protected Pair<View, String> getAccessibilityTarget() {
return Pair.create(findViewById(R.id.title), getContext().getString(
@@ -358,6 +358,29 @@ public class WidgetsFullSheet extends BaseWidgetSheet
bottomPadding);
}
@Override
protected void onContentHorizontalMarginChanged(int contentHorizontalMarginInPx) {
setContentViewChildHorizontalMargin(mSearchAndRecommendationViewHolder.mContainer,
contentHorizontalMarginInPx);
if (mViewPager == null) {
setContentViewChildHorizontalMargin(
mAdapters.get(AdapterHolder.PRIMARY).mWidgetsRecyclerView,
contentHorizontalMarginInPx);
} else {
setContentViewChildHorizontalMargin(mViewPager, contentHorizontalMarginInPx);
}
setContentViewChildHorizontalMargin(
mAdapters.get(AdapterHolder.SEARCH).mWidgetsRecyclerView,
contentHorizontalMarginInPx);
}
private static void setContentViewChildHorizontalMargin(View view, int horizontalMarginInPx) {
ViewGroup.MarginLayoutParams layoutParams =
(ViewGroup.MarginLayoutParams) view.getLayoutParams();
layoutParams.setMarginStart(horizontalMarginInPx);
layoutParams.setMarginEnd(horizontalMarginInPx);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
doMeasure(widthMeasureSpec, heightMeasureSpec);