Merge "Better diagnose Launcher state when there is an open folder." into udc-dev
diff --git a/quickstep/res/layout-land/keyboard_quick_switch_taskview.xml b/quickstep/res/layout-land/keyboard_quick_switch_taskview.xml
index ebcbdcd..04e87be 100644
--- a/quickstep/res/layout-land/keyboard_quick_switch_taskview.xml
+++ b/quickstep/res/layout-land/keyboard_quick_switch_taskview.xml
@@ -25,28 +25,40 @@
android:clipToOutline="true"
launcher:borderColor="?androidprv:attr/materialColorOutline">
- <include
- layout="@layout/keyboard_quick_switch_thumbnail"
- android:id="@+id/thumbnail1"
- android:layout_width="0dp"
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/content"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toStartOf="@id/thumbnail2"/>
+ app:layout_constraintEnd_toEndOf="parent">
- <include
- layout="@layout/keyboard_quick_switch_thumbnail"
- android:id="@+id/thumbnail2"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:visibility="gone"
- android:layout_marginStart="@dimen/keyboard_quick_switch_split_view_spacing"
+ <include
+ layout="@layout/keyboard_quick_switch_thumbnail"
+ android:id="@+id/thumbnail1"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toEndOf="@id/thumbnail1"
- app:layout_constraintEnd_toEndOf="parent"/>
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/thumbnail2"/>
+
+ <include
+ layout="@layout/keyboard_quick_switch_thumbnail"
+ android:id="@+id/thumbnail2"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:visibility="gone"
+ android:layout_marginStart="@dimen/keyboard_quick_switch_split_view_spacing"
+
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toEndOf="@id/thumbnail1"
+ app:layout_constraintEnd_toEndOf="parent"/>
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
</com.android.launcher3.taskbar.KeyboardQuickSwitchTaskView>
diff --git a/quickstep/res/layout/keyboard_quick_switch_overview.xml b/quickstep/res/layout/keyboard_quick_switch_overview.xml
index 8c97c68..062a9c9 100644
--- a/quickstep/res/layout/keyboard_quick_switch_overview.xml
+++ b/quickstep/res/layout/keyboard_quick_switch_overview.xml
@@ -20,35 +20,47 @@
xmlns:launcher="http://schemas.android.com/apk/res-auto"
android:layout_width="@dimen/keyboard_quick_switch_taskview_width"
android:layout_height="@dimen/keyboard_quick_switch_taskview_height"
- android:background="@drawable/keyboard_quick_switch_overview_button_background"
android:clipToOutline="true"
android:importantForAccessibility="yes"
launcher:borderColor="?androidprv:attr/materialColorOutline">
- <ImageView
- android:id="@+id/icon"
- android:layout_width="@dimen/keyboard_quick_switch_recents_icon_size"
- android:layout_height="@dimen/keyboard_quick_switch_recents_icon_size"
- android:layout_marginBottom="8dp"
- android:src="@drawable/ic_empty_recents"
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/keyboard_quick_switch_overview_button_background"
- app:tint="?androidprv:attr/materialColorOnSurface"
- app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toTopOf="@id/text"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent"/>
-
- <TextView
- style="@style/KeyboardQuickSwitchOverview"
- android:id="@+id/text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAlignment="center"
-
- app:layout_constraintTop_toBottomOf="@id/icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent"/>
+ app:layout_constraintEnd_toEndOf="parent">
+
+ <ImageView
+ android:id="@+id/icon"
+ android:layout_width="@dimen/keyboard_quick_switch_recents_icon_size"
+ android:layout_height="@dimen/keyboard_quick_switch_recents_icon_size"
+ android:layout_marginBottom="8dp"
+ android:src="@drawable/ic_empty_recents"
+
+ app:tint="?androidprv:attr/materialColorOnSurface"
+ app:layout_constraintVertical_chainStyle="packed"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toTopOf="@id/text"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"/>
+
+ <TextView
+ style="@style/KeyboardQuickSwitchOverview"
+ android:id="@+id/text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAlignment="center"
+
+ app:layout_constraintTop_toBottomOf="@id/icon"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"/>
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
</com.android.launcher3.taskbar.KeyboardQuickSwitchTaskView>
diff --git a/quickstep/res/layout/keyboard_quick_switch_taskview.xml b/quickstep/res/layout/keyboard_quick_switch_taskview.xml
index 5e2d52a..691df6e 100644
--- a/quickstep/res/layout/keyboard_quick_switch_taskview.xml
+++ b/quickstep/res/layout/keyboard_quick_switch_taskview.xml
@@ -25,6 +25,16 @@
android:clipToOutline="true"
launcher:borderColor="?androidprv:attr/materialColorOutline">
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent">
+
<include
layout="@layout/keyboard_quick_switch_thumbnail"
android:id="@+id/thumbnail1"
@@ -49,4 +59,6 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
</com.android.launcher3.taskbar.KeyboardQuickSwitchTaskView>
diff --git a/quickstep/res/layout/keyboard_quick_switch_view.xml b/quickstep/res/layout/keyboard_quick_switch_view.xml
index 64d3f67..58c0c40 100644
--- a/quickstep/res/layout/keyboard_quick_switch_view.xml
+++ b/quickstep/res/layout/keyboard_quick_switch_view.xml
@@ -18,7 +18,6 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingVertical="@dimen/keyboard_quick_switch_view_spacing"
android:layout_marginTop="@dimen/keyboard_quick_switch_margin_top"
android:layout_marginHorizontal="@dimen/keyboard_quick_switch_margin_ends"
android:background="@drawable/keyboard_quick_switch_view_background"
@@ -44,7 +43,9 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/content"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
+ android:layout_height="wrap_content"
+ android:paddingVertical="@dimen/keyboard_quick_switch_view_spacing"
+ android:clipToPadding="false"/>
</HorizontalScrollView>
diff --git a/quickstep/res/values-as/strings.xml b/quickstep/res/values-as/strings.xml
index c424ca1..825a396 100644
--- a/quickstep/res/values-as/strings.xml
+++ b/quickstep/res/values-as/strings.xml
@@ -24,7 +24,7 @@
<string name="recents_empty_message" msgid="7040467240571714191">"কোনো শেহতীয়া বস্তু নাই"</string>
<string name="accessibility_app_usage_settings" msgid="6312864233673544149">"এপে ব্যৱহাৰ কৰা ডেটাৰ ছেটিং"</string>
<string name="recents_clear_all" msgid="5328176793634888831">"আটাইবোৰ মচক"</string>
- <string name="accessibility_recent_apps" msgid="4058661986695117371">"শেহতীয়া এপসমূহ"</string>
+ <string name="accessibility_recent_apps" msgid="4058661986695117371">"শেহতীয়া এপ্সমূহ"</string>
<string name="task_view_closed" msgid="9170038230110856166">"কাৰ্য বন্ধ কৰা হ’ল"</string>
<string name="task_contents_description_with_remaining_time" msgid="4479688746574672685">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="REMAINING_TIME">%2$s</xliff:g>"</string>
<string name="shorter_duration_less_than_one_minute" msgid="4722015666335015336">"< ১ মিনিট"</string>
diff --git a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
index 3510fbe..34316db 100644
--- a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
+++ b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
@@ -36,6 +36,7 @@
import com.android.launcher3.allapps.FloatingHeaderRow;
import com.android.launcher3.allapps.FloatingHeaderView;
import com.android.launcher3.anim.AlphaUpdateListener;
+import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.keyboard.FocusIndicatorHelper;
import com.android.launcher3.keyboard.FocusIndicatorHelper.SimpleFocusIndicatorHelper;
import com.android.launcher3.model.data.ItemInfo;
@@ -105,12 +106,22 @@
mActivityContext.getAppsView().getAppsStore().unregisterIconContainer(this);
}
}
+
+ // Set the predicted row in All Apps' text line to 1.
+ if (FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get()
+ || FeatureFlags.ENABLE_TWOLINE_DEVICESEARCH.get()) {
+ for (int i = 0; i < getChildCount(); i++) {
+ BubbleTextView icon = (BubbleTextView) getChildAt(i);
+ icon.setMaxLines(1);
+ }
+ }
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(getExpectedHeight(),
MeasureSpec.EXACTLY));
+ updateVisibility();
}
@Override
diff --git a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchTaskView.java b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchTaskView.java
index 84129fd..926ede1 100644
--- a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchTaskView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchTaskView.java
@@ -23,6 +23,7 @@
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.util.AttributeSet;
+import android.view.View;
import android.widget.ImageView;
import androidx.annotation.NonNull;
@@ -45,6 +46,7 @@
@Nullable private ImageView mThumbnailView1;
@Nullable private ImageView mThumbnailView2;
+ @Nullable private View mContent;
public KeyboardQuickSwitchTaskView(@NonNull Context context) {
this(context, null);
@@ -84,7 +86,20 @@
.getColor(
R.styleable.TaskView_borderColor,
DEFAULT_BORDER_COLOR),
- /* invalidateViewCallback= */ KeyboardQuickSwitchTaskView.this::invalidate);
+ /* invalidateViewCallback= */ KeyboardQuickSwitchTaskView.this::invalidate,
+ /* viewScaleTargetProvider= */ new BorderAnimator.ViewScaleTargetProvider() {
+ @NonNull
+ @Override
+ public View getContainerView() {
+ return KeyboardQuickSwitchTaskView.this;
+ }
+
+ @NonNull
+ @Override
+ public View getContentView() {
+ return mContent;
+ }
+ });
}
@Override
@@ -93,6 +108,7 @@
mThumbnailView1 = findViewById(R.id.thumbnail1);
mThumbnailView2 = findViewById(R.id.thumbnail2);
+ mContent = findViewById(R.id.content);
}
@NonNull
diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleView.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleView.java
index 5eec6a4..83e4571 100644
--- a/quickstep/src/com/android/launcher3/taskbar/StashedHandleView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleView.java
@@ -30,6 +30,10 @@
import com.android.launcher3.LauncherAnimUtils;
import com.android.launcher3.R;
+/**
+ * View to render a handle that changes color based on the background to ensure contrast. Used for
+ * the taskbar when stashed as well as the bubble bar when stashed.
+ */
public class StashedHandleView extends View {
private static final long COLOR_CHANGE_DURATION = 120;
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index fe1c9d7..809d715 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -1129,4 +1129,9 @@
public int getTaskbarAllAppsTopPadding() {
return mControllers.taskbarAllAppsController.getTaskbarAllAppsTopPadding();
}
+
+ @VisibleForTesting
+ public int getTaskbarAllAppsScroll() {
+ return mControllers.taskbarAllAppsController.getTaskbarAllAppsScroll();
+ }
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
index 3d8bf9e..ca29afb 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
@@ -168,9 +168,14 @@
DeviceProfile oldDp = mTaskbarActivityContext.getDeviceProfile();
boolean isOrientationChange =
(configDiff & ActivityInfo.CONFIG_ORIENTATION) != 0;
+
+ int newOrientation = newConfig.windowConfiguration.getRotation();
+ int oldOrientation = mOldConfig.windowConfiguration.getRotation();
int oldWidth = isOrientationChange ? oldDp.heightPx : oldDp.widthPx;
int oldHeight = isOrientationChange ? oldDp.widthPx : oldDp.heightPx;
- if (dp.widthPx == oldWidth && dp.heightPx == oldHeight) {
+
+ if ((dp.widthPx == oldWidth && dp.heightPx == oldHeight)
+ || (newOrientation == oldOrientation)) {
configDiffForRecreate &= ~ActivityInfo.CONFIG_SCREEN_SIZE;
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsController.java b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsController.java
index 0c9dc5b..4266c71 100644
--- a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsController.java
@@ -149,4 +149,10 @@
// Allow null-pointer since this should only be null if the apps view is not showing.
return mAppsView.getActiveRecyclerView().getClipBounds().top;
}
+
+ @VisibleForTesting
+ public int getTaskbarAllAppsScroll() {
+ // Allow null-pointer since this should only be null if the apps view is not showing.
+ return mAppsView.getActiveRecyclerView().computeVerticalScrollOffset();
+ }
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java
index deac42f..4145ac6 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java
@@ -47,10 +47,11 @@
private final int mIconSize;
// Initialized in init.
+ private BubbleStashController mBubbleStashController;
private View.OnClickListener mBubbleClickListener;
private View.OnClickListener mBubbleBarClickListener;
- // These are exposed to BubbleStashController to animate for stashing/un-stashing
+ // These are exposed to {@link BubbleStashController} to animate for stashing/un-stashing
private final MultiValueAlpha mBubbleBarAlpha;
private final AnimatedFloat mBubbleBarScale = new AnimatedFloat(this::updateScale);
private final AnimatedFloat mBubbleBarTranslationY = new AnimatedFloat(
@@ -73,6 +74,8 @@
}
public void init(TaskbarControllers controllers, BubbleControllers bubbleControllers) {
+ mBubbleStashController = bubbleControllers.bubbleStashController;
+
mActivity.addOnDeviceProfileChangeListener(dp ->
mBarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarHeight
);
@@ -171,8 +174,7 @@
// TODO: (b/273592694) animate it
private void updateVisibilityForStateChange() {
- // TODO: check if it's stashed
- if (!mHiddenForSysui && !mHiddenForNoBubbles) {
+ if (!mHiddenForSysui && !mBubbleStashController.isStashed() && !mHiddenForNoBubbles) {
mBarView.setVisibility(VISIBLE);
} else {
mBarView.setVisibility(INVISIBLE);
@@ -271,6 +273,10 @@
* from SystemUI.
*/
public void setExpandedFromSysui(boolean isExpanded) {
- // TODO: Tell bubble bar stash controller to stash or unstash the bubble bar
+ if (!isExpanded) {
+ mBubbleStashController.stashBubbleBar();
+ } else {
+ mBubbleStashController.showBubbleBar(true /* expand the bubbles */);
+ }
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleControllers.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleControllers.java
index e92d4fb..8b07062 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleControllers.java
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleControllers.java
@@ -24,6 +24,8 @@
public class BubbleControllers {
public final BubbleBarViewController bubbleBarViewController;
+ public final BubbleStashController bubbleStashController;
+ public final BubbleStashedHandleViewController bubbleStashedHandleViewController;
private final RunnableList mPostInitRunnables = new RunnableList();
@@ -32,8 +34,12 @@
* * Call init
* * Call onDestroy
*/
- public BubbleControllers(BubbleBarViewController bubbleBarViewController) {
+ public BubbleControllers(BubbleBarViewController bubbleBarViewController,
+ BubbleStashController bubbleStashController,
+ BubbleStashedHandleViewController bubbleStashedHandleViewController) {
this.bubbleBarViewController = bubbleBarViewController;
+ this.bubbleStashController = bubbleStashController;
+ this.bubbleStashedHandleViewController = bubbleStashedHandleViewController;
}
/**
@@ -43,6 +49,8 @@
*/
public void init(TaskbarControllers taskbarControllers) {
bubbleBarViewController.init(taskbarControllers, this);
+ bubbleStashedHandleViewController.init(taskbarControllers, this);
+ bubbleStashController.init(taskbarControllers, this);
mPostInitRunnables.executeAllAndDestroy();
}
@@ -61,6 +69,6 @@
* Cleans up all controllers.
*/
public void onDestroy() {
- // TODO
+ bubbleStashedHandleViewController.onDestroy();
}
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashController.java
new file mode 100644
index 0000000..0ab53b0
--- /dev/null
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashController.java
@@ -0,0 +1,277 @@
+/*
+ * Copyright (C) 2023 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.
+ */
+package com.android.launcher3.taskbar.bubbles;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.annotation.Nullable;
+import android.view.InsetsController;
+
+import com.android.launcher3.anim.AnimatedFloat;
+import com.android.launcher3.taskbar.StashedHandleViewController;
+import com.android.launcher3.taskbar.TaskbarActivityContext;
+import com.android.launcher3.taskbar.TaskbarControllers;
+import com.android.launcher3.taskbar.TaskbarStashController;
+import com.android.launcher3.util.MultiPropertyFactory;
+
+/**
+ * Coordinates between controllers such as BubbleBarView and BubbleHandleViewController to
+ * create a cohesive animation between stashed/unstashed states.
+ */
+public class BubbleStashController {
+
+ private static final String TAG = BubbleStashController.class.getSimpleName();
+
+ /**
+ * How long to stash/unstash.
+ */
+ public static final long BAR_STASH_DURATION = InsetsController.ANIMATION_DURATION_RESIZE;
+
+ /**
+ * The scale bubble bar animates to when being stashed.
+ */
+ private static final float STASHED_BAR_SCALE = 0.5f;
+
+ protected final TaskbarActivityContext mActivity;
+
+ // Initialized in init.
+ private TaskbarControllers mControllers;
+ private BubbleBarViewController mBarViewController;
+ private BubbleStashedHandleViewController mHandleViewController;
+ private TaskbarStashController mTaskbarStashController;
+
+ private MultiPropertyFactory.MultiProperty mIconAlphaForStash;
+ private AnimatedFloat mIconScaleForStash;
+ private AnimatedFloat mIconTranslationYForStash;
+ private MultiPropertyFactory.MultiProperty mBubbleStashedHandleAlpha;
+
+ private boolean mRequestedStashState;
+ private boolean mRequestedExpandedState;
+
+ private boolean mIsStashed;
+ private int mStashedHeight;
+ private int mUnstashedHeight;
+ private boolean mBubblesShowingOnHome;
+ private boolean mBubblesShowingOnOverview;
+
+ @Nullable
+ private AnimatorSet mAnimator;
+
+ public BubbleStashController(TaskbarActivityContext activity) {
+ mActivity = activity;
+ }
+
+ public void init(TaskbarControllers controllers, BubbleControllers bubbleControllers) {
+ mControllers = controllers;
+ mBarViewController = bubbleControllers.bubbleBarViewController;
+ mHandleViewController = bubbleControllers.bubbleStashedHandleViewController;
+ mTaskbarStashController = controllers.taskbarStashController;
+
+ mIconAlphaForStash = mBarViewController.getBubbleBarAlpha().get(0);
+ mIconScaleForStash = mBarViewController.getBubbleBarScale();
+ mIconTranslationYForStash = mBarViewController.getBubbleBarTranslationY();
+
+ mBubbleStashedHandleAlpha = mHandleViewController.getStashedHandleAlpha().get(
+ StashedHandleViewController.ALPHA_INDEX_STASHED);
+
+ mStashedHeight = mHandleViewController.getStashedHeight();
+ mUnstashedHeight = mHandleViewController.getUnstashedHeight();
+
+ bubbleControllers.runAfterInit(() -> {
+ if (mTaskbarStashController.isStashed()) {
+ stashBubbleBar();
+ } else {
+ showBubbleBar(false /* expandBubbles */);
+ }
+ });
+ }
+
+ /**
+ * Returns the touchable height of the bubble bar based on it's stashed state.
+ */
+ public int getTouchableHeight() {
+ return mIsStashed ? mStashedHeight : mUnstashedHeight;
+ }
+
+ /**
+ * Returns whether the bubble bar is currently stashed.
+ */
+ public boolean isStashed() {
+ return mIsStashed;
+ }
+
+ /**
+ * Called when launcher enters or exits the home page. Bubbles are unstashed on home.
+ */
+ public void setBubblesShowingOnHome(boolean onHome) {
+ if (mBubblesShowingOnHome != onHome) {
+ mBubblesShowingOnHome = onHome;
+ if (mBubblesShowingOnHome) {
+ showBubbleBar(/* expanded= */ false);
+ } else if (!mBarViewController.isExpanded()) {
+ stashBubbleBar();
+ }
+ }
+ }
+
+ /** Whether bubbles are showing on the launcher home page. */
+ public boolean isBubblesShowingOnHome() {
+ return mBubblesShowingOnHome;
+ }
+
+ // TODO: when tapping on an app in overview, this is a bit delayed compared to taskbar stashing
+ /** Called when launcher enters or exits overview. Bubbles are unstashed on overview. */
+ public void setBubblesShowingOnOverview(boolean onOverview) {
+ if (mBubblesShowingOnOverview != onOverview) {
+ mBubblesShowingOnOverview = onOverview;
+ if (!mBubblesShowingOnOverview && !mBarViewController.isExpanded()) {
+ stashBubbleBar();
+ }
+ }
+ }
+
+ /** Called when sysui locked state changes, when locked, bubble bar is stashed. */
+ public void onSysuiLockedStateChange(boolean isSysuiLocked) {
+ if (isSysuiLocked) {
+ // TODO: should the normal path flip mBubblesOnHome / check if this is needed
+ // If we're locked, we're no longer showing on home.
+ mBubblesShowingOnHome = false;
+ mBubblesShowingOnOverview = false;
+ stashBubbleBar();
+ }
+ }
+
+ /**
+ * Stashes the bubble bar if allowed based on other state (e.g. on home and overview the
+ * bar does not stash).
+ */
+ public void stashBubbleBar() {
+ mRequestedStashState = true;
+ mRequestedExpandedState = false;
+ updateStashedAndExpandedState();
+ }
+
+ /**
+ * Shows the bubble bar, and expands bubbles depending on {@param expandBubbles}.
+ */
+ public void showBubbleBar(boolean expandBubbles) {
+ mRequestedStashState = false;
+ mRequestedExpandedState = expandBubbles;
+ updateStashedAndExpandedState();
+ }
+
+ private void updateStashedAndExpandedState() {
+ if (mBarViewController.isHiddenForNoBubbles()) {
+ // If there are no bubbles the bar and handle are invisible, nothing to do here.
+ return;
+ }
+ boolean isStashed = mRequestedStashState
+ && !mBubblesShowingOnHome
+ && !mBubblesShowingOnOverview;
+ if (mIsStashed != isStashed) {
+ mIsStashed = isStashed;
+ if (mAnimator != null) {
+ mAnimator.cancel();
+ }
+ mAnimator = createStashAnimator(mIsStashed, BAR_STASH_DURATION);
+ mAnimator.start();
+ onIsStashedChanged();
+ }
+ if (mBarViewController.isExpanded() != mRequestedExpandedState) {
+ mBarViewController.setExpanded(mRequestedExpandedState);
+ }
+ }
+
+ /**
+ * Create a stash animation.
+ *
+ * @param isStashed whether it's a stash animation or an unstash animation
+ * @param duration duration of the animation
+ * @return the animation
+ */
+ private AnimatorSet createStashAnimator(boolean isStashed, long duration) {
+ AnimatorSet animatorSet = new AnimatorSet();
+ final float stashTranslation = (mUnstashedHeight - mStashedHeight) / 2f;
+
+ AnimatorSet fullLengthAnimatorSet = new AnimatorSet();
+ // Not exactly half and may overlap. See [first|second]HalfDurationScale below.
+ AnimatorSet firstHalfAnimatorSet = new AnimatorSet();
+ AnimatorSet secondHalfAnimatorSet = new AnimatorSet();
+
+ final float firstHalfDurationScale;
+ final float secondHalfDurationScale;
+
+ if (isStashed) {
+ firstHalfDurationScale = 0.75f;
+ secondHalfDurationScale = 0.5f;
+
+ fullLengthAnimatorSet.play(mIconTranslationYForStash.animateToValue(stashTranslation));
+
+ firstHalfAnimatorSet.playTogether(
+ mIconAlphaForStash.animateToValue(0),
+ mIconScaleForStash.animateToValue(STASHED_BAR_SCALE));
+ secondHalfAnimatorSet.playTogether(
+ mBubbleStashedHandleAlpha.animateToValue(1));
+ } else {
+ firstHalfDurationScale = 0.5f;
+ secondHalfDurationScale = 0.75f;
+
+ // If we're on home, adjust the translation so the bubble bar aligns with hotseat.
+ final float hotseatTransY = mActivity.getDeviceProfile().getTaskbarOffsetY();
+ final float translationY = mBubblesShowingOnHome ? hotseatTransY : 0;
+ fullLengthAnimatorSet.playTogether(
+ mIconScaleForStash.animateToValue(1),
+ mIconTranslationYForStash.animateToValue(translationY));
+
+ firstHalfAnimatorSet.playTogether(
+ mBubbleStashedHandleAlpha.animateToValue(0)
+ );
+ secondHalfAnimatorSet.playTogether(
+ mIconAlphaForStash.animateToValue(1)
+ );
+ }
+
+ fullLengthAnimatorSet.play(mHandleViewController.createRevealAnimToIsStashed(isStashed));
+
+ fullLengthAnimatorSet.setDuration(duration);
+ firstHalfAnimatorSet.setDuration((long) (duration * firstHalfDurationScale));
+ secondHalfAnimatorSet.setDuration((long) (duration * secondHalfDurationScale));
+ secondHalfAnimatorSet.setStartDelay((long) (duration * (1 - secondHalfDurationScale)));
+
+ animatorSet.playTogether(fullLengthAnimatorSet, firstHalfAnimatorSet,
+ secondHalfAnimatorSet);
+ animatorSet.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mAnimator = null;
+ mControllers.runAfterInit(() -> {
+ if (isStashed) {
+ mBarViewController.setExpanded(false);
+ }
+ });
+ }
+ });
+ return animatorSet;
+ }
+
+ private void onIsStashedChanged() {
+ mControllers.runAfterInit(() -> {
+ mHandleViewController.onIsStashedChanged();
+ // TODO: when stash changes tell taskbarInsetsController the insets have changed.
+ });
+ }
+}
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java
new file mode 100644
index 0000000..2170a5d
--- /dev/null
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java
@@ -0,0 +1,262 @@
+/*
+ * Copyright (C) 2023 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.
+ */
+package com.android.launcher3.taskbar.bubbles;
+
+import static android.view.View.INVISIBLE;
+import static android.view.View.VISIBLE;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ValueAnimator;
+import android.content.res.Resources;
+import android.graphics.Outline;
+import android.graphics.Rect;
+import android.view.View;
+import android.view.ViewOutlineProvider;
+
+import com.android.launcher3.R;
+import com.android.launcher3.anim.RevealOutlineAnimation;
+import com.android.launcher3.anim.RoundedRectRevealOutlineProvider;
+import com.android.launcher3.taskbar.StashedHandleView;
+import com.android.launcher3.taskbar.TaskbarActivityContext;
+import com.android.launcher3.taskbar.TaskbarControllers;
+import com.android.launcher3.util.Executors;
+import com.android.launcher3.util.MultiPropertyFactory;
+import com.android.launcher3.util.MultiValueAlpha;
+import com.android.systemui.shared.navigationbar.RegionSamplingHelper;
+
+/**
+ * Handles properties/data collection, then passes the results to our stashed handle View to render.
+ */
+public class BubbleStashedHandleViewController {
+
+ private final TaskbarActivityContext mActivity;
+ private final StashedHandleView mStashedHandleView;
+ private final MultiValueAlpha mTaskbarStashedHandleAlpha;
+
+ // Initialized in init.
+ private BubbleBarViewController mBarViewController;
+ private BubbleStashController mBubbleStashController;
+ private RegionSamplingHelper mRegionSamplingHelper;
+ private int mBarSize;
+ private int mStashedHandleWidth;
+ private int mStashedHandleHeight;
+
+ // The bounds we want to clip to in the settled state when showing the stashed handle.
+ private final Rect mStashedHandleBounds = new Rect();
+
+ // When the reveal animation is cancelled, we can assume it's about to create a new animation,
+ // which should start off at the same point the cancelled one left off.
+ private float mStartProgressForNextRevealAnim;
+ private boolean mWasLastRevealAnimReversed;
+
+ // XXX: if there are more of these maybe do state flags instead
+ private boolean mHiddenForSysui;
+ private boolean mHiddenForNoBubbles;
+ private boolean mHiddenForHomeButtonDisabled;
+
+ public BubbleStashedHandleViewController(TaskbarActivityContext activity,
+ StashedHandleView stashedHandleView) {
+ mActivity = activity;
+ mStashedHandleView = stashedHandleView;
+ mTaskbarStashedHandleAlpha = new MultiValueAlpha(mStashedHandleView, 1);
+ }
+
+ public void init(TaskbarControllers controllers, BubbleControllers bubbleControllers) {
+ mBarViewController = bubbleControllers.bubbleBarViewController;
+ mBubbleStashController = bubbleControllers.bubbleStashController;
+
+ Resources resources = mActivity.getResources();
+ mStashedHandleHeight = resources.getDimensionPixelSize(
+ R.dimen.bubblebar_stashed_handle_height);
+ mStashedHandleWidth = resources.getDimensionPixelSize(
+ R.dimen.bubblebar_stashed_handle_width);
+ mBarSize = resources.getDimensionPixelSize(R.dimen.bubblebar_size);
+
+ final int bottomMargin = resources.getDimensionPixelSize(
+ R.dimen.transient_taskbar_bottom_margin);
+ mStashedHandleView.getLayoutParams().height = mBarSize + bottomMargin;
+
+ mTaskbarStashedHandleAlpha.get(0).setValue(0);
+
+ final int stashedTaskbarHeight = resources.getDimensionPixelSize(
+ R.dimen.bubblebar_stashed_size);
+ mStashedHandleView.setOutlineProvider(new ViewOutlineProvider() {
+ @Override
+ public void getOutline(View view, Outline outline) {
+ float stashedHandleRadius = view.getHeight() / 2f;
+ outline.setRoundRect(mStashedHandleBounds, stashedHandleRadius);
+ }
+ });
+
+ mRegionSamplingHelper = new RegionSamplingHelper(mStashedHandleView,
+ new RegionSamplingHelper.SamplingCallback() {
+ @Override
+ public void onRegionDarknessChanged(boolean isRegionDark) {
+ mStashedHandleView.updateHandleColor(isRegionDark, true /* animate */);
+ }
+
+ @Override
+ public Rect getSampledRegion(View sampledView) {
+ return mStashedHandleView.getSampledRegion();
+ }
+ }, Executors.UI_HELPER_EXECUTOR);
+
+ mStashedHandleView.addOnLayoutChangeListener((view, i, i1, i2, i3, i4, i5, i6, i7) -> {
+ // As more bubbles get added, the icon bounds become larger. To ensure a consistent
+ // handle bar position, we pin it to the edge of the screen.
+ Rect bubblebarRect = mBarViewController.getBubbleBarBounds();
+ final int stashedCenterY = view.getHeight() - stashedTaskbarHeight / 2;
+
+ mStashedHandleBounds.set(
+ bubblebarRect.right - mStashedHandleWidth,
+ stashedCenterY - mStashedHandleHeight / 2,
+ bubblebarRect.right,
+ stashedCenterY + mStashedHandleHeight / 2);
+ mStashedHandleView.updateSampledRegion(mStashedHandleBounds);
+
+ view.setPivotX(view.getWidth());
+ view.setPivotY(view.getHeight() - stashedTaskbarHeight / 2f);
+ });
+ }
+
+ public void onDestroy() {
+ mRegionSamplingHelper.stopAndDestroy();
+ mRegionSamplingHelper = null;
+ }
+
+ /**
+ * Returns the height of the stashed handle.
+ */
+ public int getStashedHeight() {
+ return mStashedHandleHeight;
+ }
+
+ /**
+ * Returns the height when the bubble bar is unstashed (so the height of the bubble bar).
+ */
+ public int getUnstashedHeight() {
+ return mBarSize;
+ }
+
+ /**
+ * Called when system ui state changes. Bubbles don't show when the device is locked.
+ */
+ public void setHiddenForSysui(boolean hidden) {
+ if (mHiddenForSysui != hidden) {
+ mHiddenForSysui = hidden;
+ updateVisibilityForStateChange();
+ }
+ }
+
+ /**
+ * Called when the handle should be hidden (or shown) because there are no bubbles
+ * (or 1+ bubbles).
+ */
+ public void setHiddenForBubbles(boolean hidden) {
+ if (mHiddenForNoBubbles != hidden) {
+ mHiddenForNoBubbles = hidden;
+ updateVisibilityForStateChange();
+ }
+ }
+
+ /**
+ * Called when the home button is enabled / disabled. Bubbles don't show if home is disabled.
+ */
+ // TODO: is this needed for bubbles?
+ public void setIsHomeButtonDisabled(boolean homeDisabled) {
+ mHiddenForHomeButtonDisabled = homeDisabled;
+ updateVisibilityForStateChange();
+ }
+
+ // TODO: (b/273592694) animate it?
+ private void updateVisibilityForStateChange() {
+ if (!mHiddenForSysui && !mHiddenForHomeButtonDisabled && !mHiddenForNoBubbles) {
+ mStashedHandleView.setVisibility(VISIBLE);
+ } else {
+ mStashedHandleView.setVisibility(INVISIBLE);
+ }
+ updateRegionSampling();
+ }
+
+ /**
+ * Called when bubble bar is stash state changes so that updates to the stashed handle color
+ * can be started or stopped.
+ */
+ public void onIsStashedChanged() {
+ updateRegionSampling();
+ }
+
+ private void updateRegionSampling() {
+ boolean handleVisible = mStashedHandleView.getVisibility() == VISIBLE
+ && mBubbleStashController.isStashed();
+ mRegionSamplingHelper.setWindowVisible(handleVisible);
+ if (handleVisible) {
+ mStashedHandleView.updateSampledRegion(mStashedHandleBounds);
+ mRegionSamplingHelper.start(mStashedHandleView.getSampledRegion());
+ } else {
+ mRegionSamplingHelper.stop();
+ }
+ }
+
+ /**
+ * Sets the translation of the stashed handle during the swipe up gesture.
+ */
+ public void setTranslationYForSwipe(float transY) {
+ mStashedHandleView.setTranslationY(transY);
+ }
+
+ /**
+ * Used by {@link BubbleStashController} to animate the handle when stashing or un stashing.
+ */
+ public MultiPropertyFactory<View> getStashedHandleAlpha() {
+ return mTaskbarStashedHandleAlpha;
+ }
+
+ /**
+ * Creates and returns an Animator that updates the stashed handle shape and size.
+ * When stashed, the shape is a thin rounded pill. When unstashed, the shape morphs into
+ * the size of where the bubble bar icons will be.
+ */
+ public Animator createRevealAnimToIsStashed(boolean isStashed) {
+ Rect bubbleBarBounds = new Rect(mBarViewController.getBubbleBarBounds());
+
+ // Account for the full visual height of the bubble bar
+ int heightDiff = (mBarSize - bubbleBarBounds.height()) / 2;
+ bubbleBarBounds.top -= heightDiff;
+ bubbleBarBounds.bottom += heightDiff;
+ float stashedHandleRadius = mStashedHandleView.getHeight() / 2f;
+ final RevealOutlineAnimation handleRevealProvider = new RoundedRectRevealOutlineProvider(
+ stashedHandleRadius, stashedHandleRadius, bubbleBarBounds, mStashedHandleBounds);
+
+ boolean isReversed = !isStashed;
+ boolean changingDirection = mWasLastRevealAnimReversed != isReversed;
+ mWasLastRevealAnimReversed = isReversed;
+ if (changingDirection) {
+ mStartProgressForNextRevealAnim = 1f - mStartProgressForNextRevealAnim;
+ }
+
+ ValueAnimator revealAnim = handleRevealProvider.createRevealAnimator(mStashedHandleView,
+ isReversed, mStartProgressForNextRevealAnim);
+ revealAnim.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mStartProgressForNextRevealAnim = ((ValueAnimator) animation).getAnimatedFraction();
+ }
+ });
+ return revealAnim;
+ }
+}
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
index 683f4ea..395833f 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
@@ -21,7 +21,6 @@
import static android.view.MotionEvent.ACTION_UP;
import static android.view.WindowManager.LayoutParams.FLAG_SLIPPERY;
-import static com.android.launcher3.MotionEventsUtils.isTrackpadMotionEvent;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SWIPE_DOWN_WORKSPACE_NOTISHADE_OPEN;
import android.graphics.PointF;
@@ -106,8 +105,7 @@
// Currently input dispatcher will not do touch transfer if there are more than
// one touch pointer. Hence, even if slope passed, only set the slippery flag
// when there is single touch event. (context: InputDispatcher.cpp line 1445)
- if (dy > mTouchSlop && dy > Math.abs(dx) && (isTrackpadMotionEvent(ev)
- || ev.getPointerCount() == 1)) {
+ if (dy > mTouchSlop && dy > Math.abs(dx) && ev.getPointerCount() == 1) {
ev.setAction(ACTION_DOWN);
dispatchTouchEvent(ev);
setWindowSlippery(true);
@@ -161,8 +159,7 @@
} else {
// For NORMAL state, only listen if the event originated above the navbar height
DeviceProfile dp = mLauncher.getDeviceProfile();
- if (!isTrackpadMotionEvent(ev) && ev.getY() > (mLauncher.getDragLayer().getHeight()
- - dp.getInsets().bottom)) {
+ if (ev.getY() > (mLauncher.getDragLayer().getHeight() - dp.getInsets().bottom)) {
return false;
}
}
diff --git a/quickstep/src/com/android/quickstep/LauncherBackAnimationController.java b/quickstep/src/com/android/quickstep/LauncherBackAnimationController.java
index 3979444..9f416b6 100644
--- a/quickstep/src/com/android/quickstep/LauncherBackAnimationController.java
+++ b/quickstep/src/com/android/quickstep/LauncherBackAnimationController.java
@@ -141,8 +141,8 @@
@Override
public void onBackCancelled() {
handler.post(() -> {
- resetPositionAnimated();
- mProgressAnimator.reset();
+ mProgressAnimator.onBackCancelled(
+ LauncherBackAnimationController.this::resetPositionAnimated);
});
}
diff --git a/quickstep/src/com/android/quickstep/QuickstepTestInformationHandler.java b/quickstep/src/com/android/quickstep/QuickstepTestInformationHandler.java
index 5391f4d..5df4734 100644
--- a/quickstep/src/com/android/quickstep/QuickstepTestInformationHandler.java
+++ b/quickstep/src/com/android/quickstep/QuickstepTestInformationHandler.java
@@ -125,6 +125,13 @@
.getTaskbarAllAppsTopPadding());
}
+ case TestProtocol.REQUEST_TASKBAR_APPS_LIST_SCROLL_Y: {
+ return getTISBinderUIProperty(Bundle::putInt, tisBinder ->
+ tisBinder.getTaskbarManager()
+ .getCurrentActivityContext()
+ .getTaskbarAllAppsScroll());
+ }
+
case TestProtocol.REQUEST_ENABLE_BLOCK_TIMEOUT:
runOnTISBinder(tisBinder -> {
enableBlockingTimeout(tisBinder, true);
diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationController.java b/quickstep/src/com/android/quickstep/RecentsAnimationController.java
index 4adfae5..f8e09e1 100644
--- a/quickstep/src/com/android/quickstep/RecentsAnimationController.java
+++ b/quickstep/src/com/android/quickstep/RecentsAnimationController.java
@@ -150,10 +150,17 @@
@UiThread
public void finishController(boolean toRecents, Runnable callback, boolean sendUserLeaveHint) {
- if (mFinishRequested) {
- // If finishing, add to pending finish callbacks, otherwise, if finished, adding to the
- // destroyed RunnableList will just trigger the callback to be called immediately
- mPendingFinishCallbacks.add(callback);
+ finishController(toRecents, callback, sendUserLeaveHint, false /* forceFinish */);
+ }
+
+ @UiThread
+ public void finishController(boolean toRecents, Runnable callback, boolean sendUserLeaveHint,
+ boolean forceFinish) {
+ mPendingFinishCallbacks.add(callback);
+ if (!forceFinish && mFinishRequested) {
+ // If finish has already been requested, then add the callback to the pending list.
+ // If already finished, then adding it to the destroyed RunnableList will just
+ // trigger the callback to be called immediately
return;
}
ActiveGestureLog.INSTANCE.addLog(
@@ -165,15 +172,19 @@
mFinishRequested = true;
mFinishTargetIsLauncher = toRecents;
mOnFinishedListener.accept(this);
- mPendingFinishCallbacks.add(callback);
- UI_HELPER_EXECUTOR.execute(() -> {
+ Runnable finishCb = () -> {
mController.finish(toRecents, sendUserLeaveHint);
InteractionJankMonitorWrapper.end(InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
InteractionJankMonitorWrapper.end(InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_HOME);
InteractionJankMonitorWrapper.end(
InteractionJankMonitorWrapper.CUJ_APP_SWIPE_TO_RECENTS);
MAIN_EXECUTOR.execute(mPendingFinishCallbacks::executeAllAndDestroy);
- });
+ };
+ if (forceFinish) {
+ finishCb.run();
+ } else {
+ UI_HELPER_EXECUTOR.execute(finishCb);
+ }
}
/**
diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java
index c3c1197..c8c6292 100644
--- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java
+++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java
@@ -115,7 +115,7 @@
}
}
// But force-finish it anyways
- finishRunningRecentsAnimation(false /* toHome */);
+ finishRunningRecentsAnimation(false /* toHome */, true /* forceFinish */);
if (mCallbacks != null) {
// If mCallbacks still != null, that means we are getting this startRecentsAnimation()
@@ -291,13 +291,26 @@
* Finishes the running recents animation.
*/
public void finishRunningRecentsAnimation(boolean toHome) {
+ finishRunningRecentsAnimation(toHome, false /* forceFinish */);
+ }
+
+ /**
+ * Finishes the running recents animation.
+ * @param forceFinish will synchronously finish the controller
+ */
+ private void finishRunningRecentsAnimation(boolean toHome, boolean forceFinish) {
if (mController != null) {
ActiveGestureLog.INSTANCE.addLog(
/* event= */ "finishRunningRecentsAnimation", toHome);
mCallbacks.notifyAnimationCanceled();
- Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), toHome
- ? mController::finishAnimationToHome
- : mController::finishAnimationToApp);
+ if (forceFinish) {
+ mController.finishController(toHome, null, false /* sendUserLeaveHint */,
+ true /* forceFinish */);
+ } else {
+ Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), toHome
+ ? mController::finishAnimationToHome
+ : mController::finishAnimationToApp);
+ }
cleanUpRecentsAnimation();
}
}
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java
index fdf0c6a..0531b47 100644
--- a/quickstep/src/com/android/quickstep/TouchInteractionService.java
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -871,7 +871,6 @@
}
if (ENABLE_TRACKPAD_GESTURE.get() && mGestureState.isTrackpadGesture()
- && mGestureState.getActivityInterface().isResumed()
&& !previousGestureState.isRecentsAnimationRunning()) {
reasonString = newCompoundString(reasonPrefix)
.append(SUBSTRING_PREFIX)
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java
index 601533d..a8963f6 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java
@@ -294,8 +294,14 @@
boolean haveNotPassedSlopOnContinuedGesture =
!mPassedSlopOnThisGesture && mPassedPilferInputSlop;
double degrees = Math.toDegrees(Math.atan(upDist / horizontalDist));
- boolean isLikelyToStartNewTask = haveNotPassedSlopOnContinuedGesture
- || degrees <= OVERVIEW_MIN_DEGREES;
+
+ // Regarding degrees >= -OVERVIEW_MIN_DEGREES - Trackpad gestures can start anywhere
+ // on the screen, allowing downward swipes. We want to impose the same angle in that
+ // scenario.
+ boolean swipeWithinQuickSwitchRange = degrees <= OVERVIEW_MIN_DEGREES
+ && (!mGestureState.isTrackpadGesture() || degrees >= -OVERVIEW_MIN_DEGREES);
+ boolean isLikelyToStartNewTask =
+ haveNotPassedSlopOnContinuedGesture || swipeWithinQuickSwitchRange;
if (!mPassedPilferInputSlop) {
if (passedSlop) {
diff --git a/quickstep/src/com/android/quickstep/util/BorderAnimator.java b/quickstep/src/com/android/quickstep/util/BorderAnimator.java
index c30661c..c43fb27 100644
--- a/quickstep/src/com/android/quickstep/util/BorderAnimator.java
+++ b/quickstep/src/com/android/quickstep/util/BorderAnimator.java
@@ -16,11 +16,13 @@
package com.android.quickstep.util;
import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
import android.annotation.ColorInt;
import android.annotation.Nullable;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
+import android.view.View;
import android.view.animation.Interpolator;
import androidx.annotation.NonNull;
@@ -34,7 +36,9 @@
* Utility class for drawing a rounded-rect border around a view.
* <p>
* To use this class:
- * 1. Create an instance in the target view.
+ * 1. Create an instance in the target view. NOTE: The border will animate outwards from the
+ * provided border bounds. If the border will not be visible outside of those bounds, then a
+ * {@link ViewScaleTargetProvider} must be provided in the constructor.
* 2. Override the target view's {@link android.view.View#draw(Canvas)} method and call
* {@link BorderAnimator#drawBorder(Canvas)} after {@code super.draw(canvas)}.
* 3. Call {@link BorderAnimator#buildAnimator(boolean)} and start the animation or call
@@ -55,6 +59,7 @@
@Px private final int mBorderWidthPx;
@Px private final int mBorderRadiusPx;
@NonNull private final Runnable mInvalidateViewCallback;
+ @Nullable private final ViewScaleTargetProvider mViewScaleTargetProvider;
private final long mAppearanceDurationMs;
private final long mDisappearanceDurationMs;
@NonNull private final Interpolator mInterpolator;
@@ -75,6 +80,22 @@
borderRadiusPx,
borderColor,
invalidateViewCallback,
+ /* viewScaleTargetProvider= */ null);
+ }
+
+ public BorderAnimator(
+ @NonNull BorderBoundsBuilder borderBoundsBuilder,
+ int borderWidthPx,
+ int borderRadiusPx,
+ @ColorInt int borderColor,
+ @NonNull Runnable invalidateViewCallback,
+ @Nullable ViewScaleTargetProvider viewScaleTargetProvider) {
+ this(borderBoundsBuilder,
+ borderWidthPx,
+ borderRadiusPx,
+ borderColor,
+ invalidateViewCallback,
+ viewScaleTargetProvider,
DEFAULT_APPEARANCE_ANIMATION_DURATION_MS,
DEFAULT_DISAPPEARANCE_ANIMATION_DURATION_MS,
DEFAULT_INTERPOLATOR);
@@ -86,6 +107,7 @@
int borderRadiusPx,
@ColorInt int borderColor,
@NonNull Runnable invalidateViewCallback,
+ @Nullable ViewScaleTargetProvider viewScaleTargetProvider,
long appearanceDurationMs,
long disappearanceDurationMs,
@NonNull Interpolator interpolator) {
@@ -93,6 +115,7 @@
mBorderWidthPx = borderWidthPx;
mBorderRadiusPx = borderRadiusPx;
mInvalidateViewCallback = invalidateViewCallback;
+ mViewScaleTargetProvider = viewScaleTargetProvider;
mAppearanceDurationMs = appearanceDurationMs;
mDisappearanceDurationMs = disappearanceDurationMs;
mInterpolator = interpolator;
@@ -106,8 +129,10 @@
float interpolatedProgress = mInterpolator.getInterpolation(
mBorderAnimationProgress.value);
float borderWidth = mBorderWidthPx * interpolatedProgress;
- // Inset the border by half the width to create an inwards-growth animation
- mAlignmentAdjustment = borderWidth / 2f;
+ // Outset the border by half the width to create an outwards-growth animation
+ mAlignmentAdjustment = (-borderWidth / 2f)
+ // Inset the border if we are scaling the container up
+ + (mViewScaleTargetProvider == null ? 0 : mBorderWidthPx);
mBorderPaint.setAlpha(Math.round(255 * interpolatedProgress));
mBorderPaint.setStrokeWidth(borderWidth);
@@ -121,13 +146,16 @@
* calling super.
*/
public void drawBorder(Canvas canvas) {
+ // Increase the radius if we are scaling the container up
+ float radiusAdjustment = mViewScaleTargetProvider == null
+ ? -mAlignmentAdjustment : mAlignmentAdjustment;
canvas.drawRoundRect(
/* left= */ mBorderBounds.left + mAlignmentAdjustment,
/* top= */ mBorderBounds.top + mAlignmentAdjustment,
/* right= */ mBorderBounds.right - mAlignmentAdjustment,
/* bottom= */ mBorderBounds.bottom - mAlignmentAdjustment,
- /* rx= */ mBorderRadiusPx - mAlignmentAdjustment,
- /* ry= */ mBorderRadiusPx - mAlignmentAdjustment,
+ /* rx= */ mBorderRadiusPx + radiusAdjustment,
+ /* ry= */ mBorderRadiusPx + radiusAdjustment,
/* paint= */ mBorderPaint);
}
@@ -141,22 +169,81 @@
mRunningBorderAnimation.setDuration(
isAppearing ? mAppearanceDurationMs : mDisappearanceDurationMs);
+ mRunningBorderAnimation.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationStart(Animator animation) {
+ setViewScales();
+ }
+ });
mRunningBorderAnimation.addListener(
- AnimatorListeners.forEndCallback(() -> mRunningBorderAnimation = null));
+ AnimatorListeners.forEndCallback(() -> {
+ mRunningBorderAnimation = null;
+ if (isAppearing) {
+ return;
+ }
+ resetViewScales();
+ }));
return mRunningBorderAnimation;
}
/**
* Immediately shows/hides the border without an animation.
- *
+ * <p>
* To animate the appearance/disappearance, see {@link BorderAnimator#buildAnimator(boolean)}
*/
public void setBorderVisible(boolean visible) {
if (mRunningBorderAnimation != null) {
mRunningBorderAnimation.end();
}
+ mBorderBoundsBuilder.updateBorderBounds(mBorderBounds);
+ if (visible) {
+ setViewScales();
+ }
mBorderAnimationProgress.updateValue(visible ? 1f : 0f);
+ if (!visible) {
+ resetViewScales();
+ }
+ }
+
+ private void setViewScales() {
+ if (mViewScaleTargetProvider == null) {
+ return;
+ }
+ View container = mViewScaleTargetProvider.getContainerView();
+ float width = container.getWidth();
+ float height = container.getHeight();
+ // scale up just enough to make room for the border
+ float scaleX = 1f + ((2 * mBorderWidthPx) / width);
+ float scaleY = 1f + ((2 * mBorderWidthPx) / height);
+
+ container.setPivotX(width / 2);
+ container.setPivotY(height / 2);
+ container.setScaleX(scaleX);
+ container.setScaleY(scaleY);
+
+ View contentView = mViewScaleTargetProvider.getContentView();
+ contentView.setPivotX(contentView.getWidth() / 2f);
+ contentView.setPivotY(contentView.getHeight() / 2f);
+ contentView.setScaleX(1f / scaleX);
+ contentView.setScaleY(1f / scaleY);
+ }
+
+ private void resetViewScales() {
+ if (mViewScaleTargetProvider == null) {
+ return;
+ }
+ View container = mViewScaleTargetProvider.getContainerView();
+ container.setPivotX(container.getWidth());
+ container.setPivotY(container.getHeight());
+ container.setScaleX(1f);
+ container.setScaleY(1f);
+
+ View contentView = mViewScaleTargetProvider.getContentView();
+ contentView.setPivotX(contentView.getWidth() / 2f);
+ contentView.setPivotY(contentView.getHeight() / 2f);
+ contentView.setScaleX(1f);
+ contentView.setScaleY(1f);
}
/**
@@ -169,4 +256,25 @@
*/
void updateBorderBounds(Rect rect);
}
+
+ /**
+ * Provider for scaling target views for the beginning and end of this animation.
+ */
+ public interface ViewScaleTargetProvider {
+
+ /**
+ * Returns the content view's container. This view will be scaled up to make room for the
+ * border.
+ */
+ @NonNull
+ View getContainerView();
+
+ /**
+ * Returns the content view. This view will be scaled down reciprocally to the container's
+ * up-scaling to maintain its original size. This should be the view containing all of the
+ * content being surrounded by the border.
+ */
+ @NonNull
+ View getContentView();
+ }
}
diff --git a/res/color/app_title_text_light.xml b/res/color-night-v31/widget_picker_primary_surface_color_dark.xml
similarity index 86%
copy from res/color/app_title_text_light.xml
copy to res/color-night-v31/widget_picker_primary_surface_color_dark.xml
index bb52973..13ceaa0 100644
--- a/res/color/app_title_text_light.xml
+++ b/res/color-night-v31/widget_picker_primary_surface_color_dark.xml
@@ -13,6 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="?android:attr/textColorPrimary"/>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item
+ android:color="@android:color/system_neutral1_900"
+ android:lStar="12" />
</selector>
diff --git a/res/color/app_title_text_light.xml b/res/color-night-v31/widget_picker_secondary_surface_color_dark.xml
similarity index 86%
copy from res/color/app_title_text_light.xml
copy to res/color-night-v31/widget_picker_secondary_surface_color_dark.xml
index bb52973..89e9f81 100644
--- a/res/color/app_title_text_light.xml
+++ b/res/color-night-v31/widget_picker_secondary_surface_color_dark.xml
@@ -13,6 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="?android:attr/textColorPrimary"/>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item
+ android:color="@android:color/system_neutral1_800"
+ android:lStar="24" />
</selector>
diff --git a/res/color/app_title_text_light.xml b/res/color-night-v31/widget_picker_tab_background_unselected_dark.xml
similarity index 86%
copy from res/color/app_title_text_light.xml
copy to res/color-night-v31/widget_picker_tab_background_unselected_dark.xml
index bb52973..ddd7b0a 100644
--- a/res/color/app_title_text_light.xml
+++ b/res/color-night-v31/widget_picker_tab_background_unselected_dark.xml
@@ -13,6 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="?android:attr/textColorPrimary"/>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item
+ android:color="@android:color/system_neutral1_800"
+ android:lStar="22" />
</selector>
diff --git a/res/color/app_title_text_light.xml b/res/color-v31/widget_picker_primary_surface_color_light.xml
similarity index 87%
rename from res/color/app_title_text_light.xml
rename to res/color-v31/widget_picker_primary_surface_color_light.xml
index bb52973..02dffdd 100644
--- a/res/color/app_title_text_light.xml
+++ b/res/color-v31/widget_picker_primary_surface_color_light.xml
@@ -13,6 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="?android:attr/textColorPrimary"/>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item
+ android:color="@android:color/system_accent2_50"
+ android:lStar="94" />
</selector>
diff --git a/res/color/app_title_text_light.xml b/res/color-v31/widget_picker_secondary_surface_color_light.xml
similarity index 87%
copy from res/color/app_title_text_light.xml
copy to res/color-v31/widget_picker_secondary_surface_color_light.xml
index bb52973..cd05268 100644
--- a/res/color/app_title_text_light.xml
+++ b/res/color-v31/widget_picker_secondary_surface_color_light.xml
@@ -13,6 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="?android:attr/textColorPrimary"/>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item
+ android:color="@android:color/system_neutral1_0"
+ android:lStar="98" />
</selector>
diff --git a/res/color/app_subtitle_text_light.xml b/res/color/app_subtitle_text_light.xml
deleted file mode 100644
index fb00baa..0000000
--- a/res/color/app_subtitle_text_light.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="?android:attr/textColorSecondary"/>
-</selector>
diff --git a/res/color/app_title_text_dark.xml b/res/color/app_title_text_dark.xml
deleted file mode 100644
index 220d10f..0000000
--- a/res/color/app_title_text_dark.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="#EFF1F2" android:state_expanded="false" />
- <item android:color="#191C1D" android:state_expanded="true" />
-</selector>
diff --git a/res/color/app_subtitle_text_dark.xml b/res/color/widget_picker_tab_text.xml
similarity index 81%
rename from res/color/app_subtitle_text_dark.xml
rename to res/color/widget_picker_tab_text.xml
index 220d10f..0e0fc38 100644
--- a/res/color/app_subtitle_text_dark.xml
+++ b/res/color/widget_picker_tab_text.xml
@@ -14,6 +14,6 @@
limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="#EFF1F2" android:state_expanded="false" />
- <item android:color="#191C1D" android:state_expanded="true" />
-</selector>
+ <item android:color="?attr/widgetPickerSelectedTabTextColor" android:state_selected="true"/>
+ <item android:color="?attr/widgetPickerUnselectedTabTextColor"/>
+</selector>
\ No newline at end of file
diff --git a/res/color/widgets_picker_scrim.xml b/res/color/widgets_picker_scrim.xml
index 5d51300..1cf97f6 100644
--- a/res/color/widgets_picker_scrim.xml
+++ b/res/color/widgets_picker_scrim.xml
@@ -18,5 +18,5 @@
*/
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="#000000" android:alpha="0.65" />
+ <item android:color="#000000" android:alpha="0.32" />
</selector>
diff --git a/res/drawable/bg_widgets_content.xml b/res/drawable/bg_widgets_content.xml
index b0b699b..1528a97 100644
--- a/res/drawable/bg_widgets_content.xml
+++ b/res/drawable/bg_widgets_content.xml
@@ -24,7 +24,7 @@
<!-- SINGLE : L L L L -->
<item android:state_single="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners android:radius="@dimen/widget_list_top_bottom_corner_radius"/>
</shape>
</item>
@@ -32,7 +32,7 @@
<!-- FIRST : 0 0 s s -->
<item android:state_first="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:bottomLeftRadius="@dimen/widget_list_content_corner_radius"
android:bottomRightRadius="@dimen/widget_list_content_corner_radius" />
@@ -42,7 +42,7 @@
<!-- MIDDLE : 0 0 s s -->
<item android:state_middle="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:bottomLeftRadius="@dimen/widget_list_content_corner_radius"
android:bottomRightRadius="@dimen/widget_list_content_corner_radius" />
@@ -52,7 +52,7 @@
<!-- LAST : 0 0 L L -->
<item android:state_last="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:bottomLeftRadius="@dimen/widget_list_top_bottom_corner_radius"
android:bottomRightRadius="@dimen/widget_list_top_bottom_corner_radius" />
diff --git a/res/drawable/bg_widgets_full_sheet.xml b/res/drawable/bg_widgets_full_sheet.xml
index dfcd354..66a1d40 100644
--- a/res/drawable/bg_widgets_full_sheet.xml
+++ b/res/drawable/bg_widgets_full_sheet.xml
@@ -16,7 +16,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
- <solid android:color="?android:attr/colorBackground" />
+ <solid android:color="?attr/widgetPickerPrimarySurfaceColor" />
<corners
android:topLeftRadius="@dimen/dialogCornerRadius"
android:topRightRadius="@dimen/dialogCornerRadius" />
diff --git a/res/drawable/bg_widgets_header_states.xml b/res/drawable/bg_widgets_header_states.xml
index f45a7ab..d03778d 100644
--- a/res/drawable/bg_widgets_header_states.xml
+++ b/res/drawable/bg_widgets_header_states.xml
@@ -24,7 +24,7 @@
<!-- SINGLE : L L L L -->
<item android:state_single="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:topLeftRadius="@dimen/widget_list_top_bottom_corner_radius"
android:topRightRadius="@dimen/widget_list_top_bottom_corner_radius"
@@ -36,7 +36,7 @@
<!-- FIRST_EXPANDED : L L 0 0 -->
<item android:state_first="true" android:state_expanded="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:topLeftRadius="@dimen/widget_list_top_bottom_corner_radius"
android:topRightRadius="@dimen/widget_list_top_bottom_corner_radius"
@@ -48,7 +48,7 @@
<!-- FIRST : L L s s -->
<item android:state_first="true" >
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:topLeftRadius="@dimen/widget_list_top_bottom_corner_radius"
android:topRightRadius="@dimen/widget_list_top_bottom_corner_radius"
@@ -60,7 +60,7 @@
<!-- MIDDLE_EXPANDED : s s 0 0 -->
<item android:state_middle="true" android:state_expanded="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:topLeftRadius="@dimen/widget_list_content_corner_radius"
android:topRightRadius="@dimen/widget_list_content_corner_radius"
@@ -72,7 +72,7 @@
<!-- MIDDLE : s s s s -->
<item android:state_middle="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:topLeftRadius="@dimen/widget_list_content_corner_radius"
android:topRightRadius="@dimen/widget_list_content_corner_radius"
@@ -84,7 +84,7 @@
<!-- LAST : s s L L -->
<item android:state_last="true">
<shape android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners
android:topLeftRadius="@dimen/widget_list_content_corner_radius"
android:topRightRadius="@dimen/widget_list_content_corner_radius"
diff --git a/res/drawable/bg_widgets_header_states_large_screen.xml b/res/drawable/bg_widgets_header_states_two_pane.xml
similarity index 93%
rename from res/drawable/bg_widgets_header_states_large_screen.xml
rename to res/drawable/bg_widgets_header_states_two_pane.xml
index 1ee5fe5..5f4b8c6 100644
--- a/res/drawable/bg_widgets_header_states_large_screen.xml
+++ b/res/drawable/bg_widgets_header_states_two_pane.xml
@@ -17,7 +17,7 @@
<item android:state_expanded="true">
<shape android:shape="rectangle">
- <solid android:color="@color/widget_picker_background_selected" />
+ <solid android:color="?attr/widgetPickerHeaderBackgroundColor" />
<corners android:radius="@dimen/widget_list_top_bottom_corner_radius" />
</shape>
</item>
diff --git a/res/drawable/bg_widgets_header_two_pane.xml b/res/drawable/bg_widgets_header_two_pane.xml
index e1408cc..ca3feef 100644
--- a/res/drawable/bg_widgets_header_two_pane.xml
+++ b/res/drawable/bg_widgets_header_two_pane.xml
@@ -20,7 +20,7 @@
android:paddingTop="@dimen/widget_list_header_view_vertical_padding"
android:paddingBottom="@dimen/widget_list_header_view_vertical_padding" >
<item android:id="@android:id/mask"
- android:drawable="@drawable/bg_widgets_header_states_large_screen" />
- <item android:drawable="@drawable/bg_widgets_header_states_large_screen" />
+ android:drawable="@drawable/bg_widgets_header_states_two_pane" />
+ <item android:drawable="@drawable/bg_widgets_header_states_two_pane" />
</ripple>
</inset>
diff --git a/res/drawable/bg_widgets_searchbox.xml b/res/drawable/bg_widgets_searchbox.xml
index dc6d868..b09f0cd 100644
--- a/res/drawable/bg_widgets_searchbox.xml
+++ b/res/drawable/bg_widgets_searchbox.xml
@@ -14,6 +14,6 @@
limitations under the License.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners android:radius="24dp" />
</shape>
\ No newline at end of file
diff --git a/res/drawable/ic_allapps_search.xml b/res/drawable/ic_allapps_search.xml
index dbed824..0c3ab78 100644
--- a/res/drawable/ic_allapps_search.xml
+++ b/res/drawable/ic_allapps_search.xml
@@ -20,6 +20,6 @@
android:viewportWidth="24.0"
android:autoMirrored="true">
<path
- android:fillColor="?android:attr/textColorTertiary"
+ android:fillColor="?attr/widgetPickerSearchTextColor"
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z" />
</vector>
diff --git a/res/color/app_subtitle_text_dark.xml b/res/drawable/widget_picker_collapse_handle.xml
similarity index 72%
copy from res/color/app_subtitle_text_dark.xml
copy to res/drawable/widget_picker_collapse_handle.xml
index 220d10f..f79663d 100644
--- a/res/color/app_subtitle_text_dark.xml
+++ b/res/drawable/widget_picker_collapse_handle.xml
@@ -13,7 +13,9 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="#EFF1F2" android:state_expanded="false" />
- <item android:color="#191C1D" android:state_expanded="true" />
-</selector>
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle" >
+ <solid android:color="?attr/widgetPickerCollapseHandleColor"/>
+ <corners android:radius="@dimen/bottom_sheet_handle_corner_radius" />
+</shape>
diff --git a/res/drawable/widget_picker_tabs_background.xml b/res/drawable/widget_picker_tabs_background.xml
new file mode 100644
index 0000000..a874dd8
--- /dev/null
+++ b/res/drawable/widget_picker_tabs_background.xml
@@ -0,0 +1,48 @@
+<?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.
+-->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/accent_ripple_color">
+
+ <item android:id="@android:id/mask">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/all_apps_header_pill_corner_radius" />
+ <solid android:color="@color/accent_ripple_color" />
+ </shape>
+ </item>
+
+ <item>
+ <selector android:enterFadeDuration="100">
+ <item
+ android:id="@+id/unselected"
+ android:state_selected="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/all_apps_header_pill_corner_radius" />
+ <solid android:color="?attr/widgetPickerTabBackgroundUnselected"/>
+ </shape>
+ </item>
+
+ <item
+ android:id="@+id/selected"
+ android:state_selected="true">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/all_apps_header_pill_corner_radius" />
+ <solid android:color="?attr/widgetPickerTabBackgroundSelected"/>
+ </shape>
+ </item>
+ </selector>
+ </item>
+
+</ripple>
\ No newline at end of file
diff --git a/res/drawable/widget_suggestions.xml b/res/drawable/widget_suggestions.xml
index b090a68..61e4243 100644
--- a/res/drawable/widget_suggestions.xml
+++ b/res/drawable/widget_suggestions.xml
@@ -18,7 +18,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
- android:tint="@color/widget_picker_background_selected"
+ android:tint="?attr/widgetPickerSuggestionsIconColor"
android:gravity="center"
>
<path
diff --git a/res/drawable/widget_suggestions_icon.xml b/res/drawable/widget_suggestions_icon.xml
index 919b5e4..8fe1ce5 100644
--- a/res/drawable/widget_suggestions_icon.xml
+++ b/res/drawable/widget_suggestions_icon.xml
@@ -19,7 +19,7 @@
<size
android:width="48dp"
android:height="48dp" />
- <solid android:color="@color/surface"/>
+ <solid android:color="?attr/widgetPickerSuggestionsIconBackgroundColor"/>
</shape>
</item>
<item
diff --git a/res/drawable/widgets_surface_background.xml b/res/drawable/widgets_surface_background.xml
index 0550a34..a31623d 100644
--- a/res/drawable/widgets_surface_background.xml
+++ b/res/drawable/widgets_surface_background.xml
@@ -19,6 +19,6 @@
-->
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
- <solid android:color="@color/surface" />
+ <solid android:color="?attr/widgetPickerSecondarySurfaceColor" />
<corners android:radius="@dimen/widget_list_top_bottom_corner_radius"/>
</shape>
\ No newline at end of file
diff --git a/res/layout/widgets_full_sheet.xml b/res/layout/widgets_full_sheet.xml
index e31bf7a..9ec346a 100644
--- a/res/layout/widgets_full_sheet.xml
+++ b/res/layout/widgets_full_sheet.xml
@@ -34,7 +34,7 @@
android:layout_height="@dimen/bottom_sheet_handle_height"
android:layout_marginTop="@dimen/bottom_sheet_handle_margin"
android:layout_centerHorizontal="true"
- android:background="@drawable/bg_rounded_corner_bottom_sheet_handle"/>
+ android:background="@drawable/widget_picker_collapse_handle"/>
<TextView
style="@style/PrimaryHeadline"
diff --git a/res/layout/widgets_full_sheet_paged_view.xml b/res/layout/widgets_full_sheet_paged_view.xml
index 455217f..94f707a 100644
--- a/res/layout/widgets_full_sheet_paged_view.xml
+++ b/res/layout/widgets_full_sheet_paged_view.xml
@@ -59,7 +59,7 @@
android:gravity="center_horizontal"
android:textSize="24sp"
android:layout_marginTop="24dp"
- android:textColor="?android:attr/textColorSecondary"
+ android:textColor="?attr/widgetPickerTitleColor"
android:text="@string/widget_button_text"/>
<FrameLayout
@@ -67,7 +67,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="0.1dp"
- android:background="?android:attr/colorBackground"
+ android:background="?attr/widgetPickerPrimarySurfaceColor"
android:paddingBottom="8dp"
launcher:layout_sticky="true">
<include layout="@layout/widgets_search_bar" />
@@ -89,7 +89,7 @@
android:gravity="center_horizontal"
android:orientation="horizontal"
android:paddingVertical="8dp"
- android:background="?android:attr/colorBackground"
+ android:background="?attr/widgetPickerPrimarySurfaceColor"
style="@style/TextHeadline"
launcher:layout_sticky="true">
@@ -100,9 +100,9 @@
android:layout_marginEnd="@dimen/widget_tabs_button_horizontal_padding"
android:layout_marginVertical="@dimen/widget_apps_tabs_vertical_padding"
android:layout_weight="1"
- android:background="@drawable/all_apps_tabs_background"
+ android:background="@drawable/widget_picker_tabs_background"
android:text="@string/widgets_full_sheet_personal_tab"
- android:textColor="@color/all_apps_tab_text"
+ android:textColor="@color/widget_picker_tab_text"
android:textSize="14sp"
style="?android:attr/borderlessButtonStyle" />
@@ -113,9 +113,9 @@
android:layout_marginEnd="@dimen/widget_tabs_button_horizontal_padding"
android:layout_marginVertical="@dimen/widget_apps_tabs_vertical_padding"
android:layout_weight="1"
- android:background="@drawable/all_apps_tabs_background"
+ android:background="@drawable/widget_picker_tabs_background"
android:text="@string/widgets_full_sheet_work_tab"
- android:textColor="@color/all_apps_tab_text"
+ android:textColor="@color/widget_picker_tab_text"
android:textSize="14sp"
style="?android:attr/borderlessButtonStyle" />
</com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip>
diff --git a/res/layout/widgets_full_sheet_recyclerview.xml b/res/layout/widgets_full_sheet_recyclerview.xml
index 887f00c..25bbad4 100644
--- a/res/layout/widgets_full_sheet_recyclerview.xml
+++ b/res/layout/widgets_full_sheet_recyclerview.xml
@@ -41,7 +41,7 @@
android:gravity="center_horizontal"
android:textSize="24sp"
android:layout_marginTop="24dp"
- android:textColor="?android:attr/textColorSecondary"
+ android:textColor="?attr/widgetPickerTitleColor"
android:text="@string/widget_button_text"/>
<FrameLayout
@@ -49,7 +49,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="0.1dp"
- android:background="?android:attr/colorBackground"
+ android:background="?attr/widgetPickerPrimarySurfaceColor"
android:paddingBottom="8dp"
android:clipToPadding="false"
launcher:layout_sticky="true" >
diff --git a/res/layout/widgets_search_bar.xml b/res/layout/widgets_search_bar.xml
index 6d44865..a615c5e 100644
--- a/res/layout/widgets_search_bar.xml
+++ b/res/layout/widgets_search_bar.xml
@@ -25,7 +25,7 @@
android:imeOptions="actionSearch"
android:importantForAutofill="no"
android:textColor="?android:attr/textColorPrimary"
- android:textColorHint="?android:attr/textColorSecondary"/>
+ android:textColorHint="?attr/widgetPickerSearchTextColor"/>
<ImageButton
android:id="@+id/widgets_search_cancel_button"
diff --git a/res/layout/widgets_two_pane_sheet.xml b/res/layout/widgets_two_pane_sheet.xml
index 4333a80..01c1b10 100644
--- a/res/layout/widgets_two_pane_sheet.xml
+++ b/res/layout/widgets_two_pane_sheet.xml
@@ -33,7 +33,7 @@
android:layout_height="@dimen/bottom_sheet_handle_height"
android:layout_marginTop="@dimen/bottom_sheet_handle_margin"
android:layout_centerHorizontal="true"
- android:background="@drawable/bg_rounded_corner_bottom_sheet_handle"/>
+ android:background="@drawable/widget_picker_collapse_handle"/>
<TextView
android:id="@+id/title"
@@ -44,7 +44,7 @@
android:layout_below="@id/collapse_handle"
android:paddingHorizontal="@dimen/widget_list_horizontal_margin_two_pane"
android:text="@string/widget_button_text"
- android:textColor="?android:attr/textColorSecondary"
+ android:textColor="?attr/widgetPickerTitleColor"
android:textSize="24sp" />
<LinearLayout
diff --git a/res/layout/widgets_two_pane_sheet_paged_view.xml b/res/layout/widgets_two_pane_sheet_paged_view.xml
index d3a8584..2e05d48 100644
--- a/res/layout/widgets_two_pane_sheet_paged_view.xml
+++ b/res/layout/widgets_two_pane_sheet_paged_view.xml
@@ -58,7 +58,7 @@
android:id="@+id/search_bar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?android:attr/colorBackground"
+ android:background="?attr/widgetPickerPrimarySurfaceColor"
android:clipToPadding="false"
android:elevation="0.1dp"
android:paddingBottom="8dp"
@@ -75,7 +75,7 @@
android:layout_marginTop="8dp"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin_two_pane"
android:orientation="horizontal"
- android:background="?android:attr/colorBackground"
+ android:background="?attr/widgetPickerPrimarySurfaceColor"
launcher:layout_sticky="true">
</LinearLayout>
@@ -87,7 +87,7 @@
android:orientation="horizontal"
android:paddingVertical="8dp"
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin_two_pane"
- android:background="?android:attr/colorBackground"
+ android:background="?attr/widgetPickerPrimarySurfaceColor"
style="@style/TextHeadline"
launcher:layout_sticky="true">
@@ -98,9 +98,9 @@
android:layout_marginEnd="@dimen/widget_tabs_button_horizontal_padding"
android:layout_marginVertical="@dimen/widget_apps_tabs_vertical_padding"
android:layout_weight="1"
- android:background="@drawable/all_apps_tabs_background"
+ android:background="@drawable/widget_picker_tabs_background"
android:text="@string/widgets_full_sheet_personal_tab"
- android:textColor="@color/all_apps_tab_text"
+ android:textColor="@color/widget_picker_tab_text"
android:textSize="14sp"
style="?android:attr/borderlessButtonStyle" />
@@ -111,9 +111,9 @@
android:layout_marginEnd="@dimen/widget_tabs_button_horizontal_padding"
android:layout_marginVertical="@dimen/widget_apps_tabs_vertical_padding"
android:layout_weight="1"
- android:background="@drawable/all_apps_tabs_background"
+ android:background="@drawable/widget_picker_tabs_background"
android:text="@string/widgets_full_sheet_work_tab"
- android:textColor="@color/all_apps_tab_text"
+ android:textColor="@color/widget_picker_tab_text"
android:textSize="14sp"
style="?android:attr/borderlessButtonStyle" />
diff --git a/res/layout/widgets_two_pane_sheet_recyclerview.xml b/res/layout/widgets_two_pane_sheet_recyclerview.xml
index 8f2a25e..f8d72e8 100644
--- a/res/layout/widgets_two_pane_sheet_recyclerview.xml
+++ b/res/layout/widgets_two_pane_sheet_recyclerview.xml
@@ -43,7 +43,7 @@
android:id="@+id/search_bar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?android:attr/colorBackground"
+ android:background="?attr/widgetPickerPrimarySurfaceColor"
android:clipToPadding="false"
android:elevation="0.1dp"
android:paddingBottom="8dp"
@@ -61,7 +61,7 @@
android:layout_marginHorizontal="@dimen/widget_list_horizontal_margin_two_pane"
android:paddingBottom="16dp"
android:orientation="horizontal"
- android:background="?android:attr/colorBackground"
+ android:background="?attr/widgetPickerPrimarySurfaceColor"
launcher:layout_sticky="true">
</LinearLayout>
</com.android.launcher3.views.StickyHeaderLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index faee526..377025a 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Laat die program toe om die instellings en kortpaaie op tuisskerm te lees."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"skryf tuis-instellings en -kortpaaie"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Laat die program toe om die instellings en kortpaaie op tuisskerm te verander."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> word nie toegelaat om foonoproepe te maak nie"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Kan nie legstuk laai nie"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Legstukinstellings"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tik om opstelling te voltooi"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Vouer: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> of meer items"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Muurpapiere"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Muurpapier en styl"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Wysig tuisskerm"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Tuis-instellings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Gedeaktiveer deur jou administrateur"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Laat toe dat tuisskerm gedraai word"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index b67a98e..4638bc3 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ቅንብሮችን እና አቋራጮችን በመነሻ ለማንበብ ለትግበራ ይፈቅዳል።"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"መነሻ ቅንብሮች እና አቋራጮች ጻፍ"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ቅንብሮችን እና አቋራጮችን በመነሻ ለመለወጥ ለመተግበሪያ ይፈቅዳል።"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> የስልክ ጥሪዎችን ለማድረግ አልተፈቀደለትም"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ምግብርን መጫን አልተቻለም"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"የምግብር ቅንብሮች"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"ማዋቀርን ለመጨረስ መታ ያድርጉ"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"አቃፊ፦ <xliff:g id="NAME">%1$s</xliff:g>፣ <xliff:g id="SIZE">%2$d</xliff:g> ወይም ተጨማሪ ንጥሎች"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"የግድግዳ ወረቀቶች"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ልጣፍ እና ቅጥ"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"የመነሻ ቅንብሮች"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"በእርስዎ አስተዳዳሪ የተሰናከለ"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"የመነሻ ማያ ገጽ ማሽከርከርን ይፍቀዱ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index a236cd7..094fcac 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"يسمح هذا الإذن للتطبيق بالاطلاع على الإعدادات والاختصارات على الشاشة الرئيسية."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"تعديل الإعدادات والاختصارات على الشاشة الرئيسية"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"يسمح هذا الإذن للتطبيق بتغيير الإعدادات والاختصارات على الشاشة الرئيسية."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> غير مسموح به لإجراء مكالمات هاتفية"</string>
<string name="gadget_error_text" msgid="740356548025791839">"يتعذّر تحميل الأداة."</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"إعدادات الأداة"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"انقر لإكمال الإعداد."</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"المجلد: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> عنصر أو أكثر"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"الخلفيات"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"الخلفية والأسلوب"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"إعدادات الشاشة الرئيسية"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"أوقف المشرف هذه الميزة"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"السماح بتدوير الشاشة الرئيسية"</string>
@@ -159,13 +160,13 @@
<string name="all_apps_personal_tab" msgid="4190252696685155002">"شخصية"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"للعمل"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"الملف الشخصي للعمل"</string>
- <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"تحمل تطبيقات العمل شارة وتكون مرئية لمشرف تكنولوجيا المعلومات."</string>
+ <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"تحمل تطبيقات العمل مميّزة بشارة ومرئية لمشرف تكنولوجيا المعلومات."</string>
<string name="work_profile_edu_accept" msgid="6069788082535149071">"حسنًا"</string>
<string name="work_apps_paused_title" msgid="3040901117349444598">"تطبيقات العمل متوقفة مؤقتًا"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"لن تتلقّى إشعارات من تطبيقات العمل."</string>
<string name="work_apps_paused_body" msgid="261634750995824906">"لا يمكن لتطبيقات العمل إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي."</string>
<string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"لن تتلقّى مكالمات هاتفية أو رسائل نصية أو إشعارات من تطبيقات العمل."</string>
- <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"تحمل تطبيقات العمل شارة وتكون مرئية لمشرف تكنولوجيا المعلومات."</string>
+ <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"تكون تطبيقات العمل مميّزة بشارة ومرئية لمشرف تكنولوجيا المعلومات."</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"حسنًا"</string>
<string name="work_apps_pause_btn_text" msgid="4669288269140620646">"إيقاف تطبيقات العمل مؤقتًا"</string>
<string name="work_apps_enable_btn_text" msgid="1736198302467317371">"إلغاء الإيقاف المؤقت"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index e786126..583a5c4 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -55,8 +55,8 @@
<string name="reconfigurable_widget_education_tip" msgid="6336962690888067057">"ৱিজেটৰ ছেটিং সলনি কৰিবলৈ টিপক"</string>
<string name="widget_education_close_button" msgid="8676165703104836580">"বুজি পালোঁ"</string>
<string name="widget_reconfigure_button_content_description" msgid="8811472721881205250">"ৱিজেটৰ ছেটিং সলনি কৰক"</string>
- <string name="all_apps_search_bar_hint" msgid="1390553134053255246">"এপসমূহ সন্ধান কৰক"</string>
- <string name="all_apps_loading_message" msgid="5813968043155271636">"এপসমূহ ল’ড কৰি থকা হৈছে…"</string>
+ <string name="all_apps_search_bar_hint" msgid="1390553134053255246">"এপ্সমূহ সন্ধান কৰক"</string>
+ <string name="all_apps_loading_message" msgid="5813968043155271636">"এপ্সমূহ ল’ড কৰি থকা হৈছে…"</string>
<string name="all_apps_no_search_results" msgid="3200346862396363786">"\"<xliff:g id="QUERY">%1$s</xliff:g>\"ৰ সৈতে মিলা কোনো এপ্ বিচাৰি পোৱা নগ\'ল"</string>
<string name="label_application" msgid="8531721983832654978">"এপ্"</string>
<string name="all_apps_label" msgid="5015784846527570951">"আটাইবোৰ এপ্"</string>
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"এপ্টোক গৃহ স্ক্ৰীনত ছেটিং আৰু শ্বৰ্টকাটসমূহ পঢ়াৰ অনুমতি দিয়ে।"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"গৃহ স্ক্ৰীনত ছেটিং আৰু শ্বৰ্টকাটসমূহ লিখা"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"এপ্টোক গৃহ স্ক্ৰীনত ছেটিং আৰু শ্বৰ্টকাটসমূহ সলনি কৰাৰ অনুমতি দিয়ে।"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g>ক ফ\'ন কলবোৰ কৰাৰ অনুমতি দিয়া হোৱা নাই"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ৱিজেট ল’ড কৰিব নোৱাৰি"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ৱিজেটৰ ছেটিং"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"ছেটআপ সমাপ্ত কৰিবলৈ টিপক"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ফ’ল্ডাৰ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> টা অথবা তাতকৈ অধিক বস্তু"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ৱালপেপাৰসমূহ"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ৱালপেপাৰ আৰু শৈলী"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"গৃহ স্ক্ৰীন সম্পাদনা কৰক"</string>
<string name="settings_button_text" msgid="8873672322605444408">"গৃহ ছেটিং"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"আপোনাৰ প্ৰশাসকে অক্ষম কৰি ৰাখিছে"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"গৃহ স্ক্ৰীন ঘূৰোৱাৰ অনুমতি দিয়ক"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 74c6048..2879158 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Tətbiqə Əsas səhifədə ayarları və qısayolları oxumağa icazə verir."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"Əsas səhifə ayarlarını və qısayollarını yazmaq"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Tətbiqə Əsas səhifədə ayarları və qısayolları dəyişməyə icazə verir."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqinə telefon zəngləri etmək üçün icazə verilmir"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Vidceti yükləmək olmur"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Vidcet ayarları"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Ayarlamanı tamamlamaq üçün toxunun"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Qovluq: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> və ya daha çox element"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Divar kağızları"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Divar kağızı və üslub"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Home ayarları"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Admininiz tərəfindən deaktiv edilib"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Əsas ekran çevrilsin"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index a8353c4..124cc7e 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Dozvoljava aplikaciji da čita podešavanja i prečice na početnom ekranu."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"upisivanje podešavanja i prečica na početnom ekranu"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Dozvoljava aplikaciji da menja podešavanja i prečice na početnom ekranu."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> nema dozvolu za upućivanje telefonskih poziva"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Učitavanje vidžeta nije uspelo"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Podešavanja vidžeta"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Dodirnite da biste dovršili podešavanje"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ili više stavki"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Pozadine"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadina i stil"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Podešavanja početnog ekrana"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administrator je onemogućio"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Dozvoli rotaciju početnog ekrana"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index d74dbd8..7bdd1ec 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Дазваляе праграме счытваць налады і ярлыкі на галоўным экране."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"запісваць налады і ярлыкі на галоўны экран"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Дазваляе праграме змяняць налады і ярлыкі на галоўным экране."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> не мае дазволу на здзяйсненне тэлефонных званкоў"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Не ўдаецца загрузіць віджэт"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Налады віджэта"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Націсніце, каб завяршыць наладжванне"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка: <xliff:g id="NAME">%1$s</xliff:g>, элементы: <xliff:g id="SIZE">%2$d</xliff:g> ці больш"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Шпалеры"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Шпалеры і стыль"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Налады галоўнага экрана"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Адключаная адміністратарам"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Дазволіць паварот галоўнага экрана"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 7d8096b..6dd0d25 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Разрешава на приложението да чете настройките и преките пътища на началния екран."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"запис на настройките и преките пътища на началния екран"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Разрешава на приложението да променя настройките и преките пътища на началния екран."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> няма разрешение да извършва телефонни обаждания"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Приспособлението не може да се зареди"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Настройки за приспособленията"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Докоснете, за да завършите настройването"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка: „<xliff:g id="NAME">%1$s</xliff:g>“ – <xliff:g id="SIZE">%2$d</xliff:g> или повече елементи"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Тапети"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тапет и стил"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Настройки за началния екран"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Деактивирано от администратора ви"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Разрешаване на завъртането на началния екран"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index bd76e6c..995166f 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"অ্যাপকে হোম স্ক্রিনে সেটিংস ও শর্টকাট পড়ার অনুমতি দেয়।"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"হোম স্ক্রিনে সেটিংস ও শর্টকাট লিখুন"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"অ্যাপকে হোম স্ক্রিনে সেটিংস ও শর্টকাট পরিবর্তন করার অনুমতি দেয়।"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"ফোন কলগুলি করার জন্য <xliff:g id="APP_NAME">%1$s</xliff:g> এর অনুমতি নেই"</string>
<string name="gadget_error_text" msgid="740356548025791839">"উইজেট লোড করা যাচ্ছে না"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"উইজেট সেটিংস"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"সেটআপ সম্পূর্ণ করতে ট্যাপ করুন"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ফোল্ডার: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g>টি বা তার বেশি আইটেম"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ওয়ালপেপারগুলি"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ওয়ালপেপার এবং স্টাইল"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"হোম সেটিংস"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"আপনার প্রশাসক দ্বারা অক্ষম করা হয়েছে"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"হোম স্ক্রিন রোটেট করার অনুমতি দিন"</string>
@@ -159,13 +160,13 @@
<string name="all_apps_personal_tab" msgid="4190252696685155002">"ব্যক্তিগত"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"অফিস"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"অফিসের প্রোফাইল"</string>
- <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেটি দেখতে পাবেন"</string>
+ <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেগুলি দেখতে পাবেন"</string>
<string name="work_profile_edu_accept" msgid="6069788082535149071">"বুঝেছি"</string>
<string name="work_apps_paused_title" msgid="3040901117349444598">"অফিস অ্যাপ বন্ধ করা আছে"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"আপনার অফিসের অ্যাপ থেকে আপনি কোনও বিজ্ঞপ্তি পাবেন না"</string>
<string name="work_apps_paused_body" msgid="261634750995824906">"অফিসের অ্যাপ আপনাকে নোটিফিকেশন পাঠাতে পারবে না। এছাড়া, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না"</string>
<string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"আপনি কোনও ফোন কল, টেক্সট মেসেজ বা অফিসের অ্যাপ থেকে বিজ্ঞপ্তি পাবেন না"</string>
- <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেটি দেখতে পাবেন"</string>
+ <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেগুলি দেখতে পাবেন"</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"বুঝেছি"</string>
<string name="work_apps_pause_btn_text" msgid="4669288269140620646">"অফিসের অ্যাপ পজ করুন"</string>
<string name="work_apps_enable_btn_text" msgid="1736198302467317371">"আনপজ করুন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 1dc1863..20fc18a 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Dopušta aplikaciji čitanje postavki i prečica na početnom ekranu."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"zapisuje postavke na početnom ekranu i prečice"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Dopušta aplikaciji promjenu postavki i prečica na početnom ekranu."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> nema odobrenje da uspostavlja telefonske pozive"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Nije moguće učitati vidžet"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Postavke vidžeta"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Dodirnite da završite postavljanje"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ili više stavki"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Pozadinske slike"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadinska slika i stil"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Uredi Početni ekran"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Postavke početnog ekrana"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Onemogućio vaš administrator"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Dozvoli rotiranje početnog ekrana"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index fc462fd..7d45271 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permet que l\'aplicació llegeixi la configuració i les dreceres de la pantalla d\'inici."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"escriure la configuració i les dreceres de la pantalla d\'inici"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permet que l\'aplicació canviï la configuració i les dreceres de la pantalla d\'inici."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> no té permís per fer trucades telefòniques"</string>
<string name="gadget_error_text" msgid="740356548025791839">"No es pot carregar el widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Configuració del widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Toca per finalitzar la configuració"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> o més elements"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fons de pantalla"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Estil i fons de pantalla"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Config. pantalla d\'inici"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Desactivada per l\'administrador"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Permet la rotació de la pantalla d\'inici"</string>
@@ -159,13 +160,13 @@
<string name="all_apps_personal_tab" msgid="4190252696685155002">"Personal"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"Treball"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"Perfil de treball"</string>
- <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"Les aplicacions de treball tenen una insígnia i són visibles per al teu administrador de TI"</string>
+ <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"Les aplicacions de treball tenen una insígnia i el teu administrador de TI les pot veure"</string>
<string name="work_profile_edu_accept" msgid="6069788082535149071">"Entesos"</string>
<string name="work_apps_paused_title" msgid="3040901117349444598">"Les aplicacions de treball estan en pausa"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"No rebràs cap notificació de les aplicacions de treball"</string>
<string name="work_apps_paused_body" msgid="261634750995824906">"Les aplicacions de treball no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació"</string>
<string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"No rebràs trucades, missatges de text ni notificacions de les aplicacions de treball"</string>
- <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"Les aplicacions de treball tenen una insígnia i són visibles per al teu administrador de TI"</string>
+ <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"Les aplicacions de treball tenen una insígnia i el teu administrador de TI les pot veure"</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"Entesos"</string>
<string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Posa en pausa les aplicacions de treball"</string>
<string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Reactiva"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 1d05d88..ac093e4 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Umožňuje aplikaci číst nastavení a zkratky na ploše."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"zápis nastavení a zkratek plochy"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Umožňuje aplikaci změnit nastavení a zkratky na ploše."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> nemá oprávnění telefonovat"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Widget se nepodařilo načíst"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Nastavení widgetů"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Klepnutím dokončíte konfiguraci"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Složka: <xliff:g id="NAME">%1$s</xliff:g>, počet položek: <xliff:g id="SIZE">%2$d</xliff:g> nebo více"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Tapety"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapeta a styl"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Nastavení plochy"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Zakázáno administrátorem"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Povolit otáčení plochy"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 36e3e7d..66a191a 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Tillader, at appen læser indstillingerne og genvejene på startskærmen."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"skriv indstillinger og genveje for startskærm"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Tillader, at appen ændrer indstillingerne og genvejene på startskærmen."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> har ikke tilladelse til at foretage telefonopkald"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Widgetten kan ikke indlæses"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widget-indstillinger"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tryk for at fuldføre konfigurationen"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Mappe: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> eller flere elementer"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Baggrunde"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Baggrund og stil"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Indst. for startskærm"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Deaktiveret af din administrator"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Tillad rotation af startskærmen"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 46367e6..959840d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Ermöglicht der App, die Einstellungen und Verknüpfungen auf dem Startbildschirm zu lesen."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"Einstellungen und Verknüpfungen für den Startbildschirm schreiben"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Ermöglicht der App, die Einstellungen und Verknüpfungen auf dem Startbildschirm zu ändern."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> darf keine Telefonanrufe tätigen."</string>
<string name="gadget_error_text" msgid="740356548025791839">"Widget kann nicht geladen werden"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widget-Einstellungen"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tippen, um Einrichtung abzuschließen"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Ordner: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> oder mehr Elemente"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Hintergründe"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hintergrund & Stil"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Einstellungen"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Von deinem Administrator deaktiviert"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Drehen des Startbildschirms zulassen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index d52a8b1..b517975 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Επιτρέπει στην εφαρμογή την ανάγνωση των ρυθμίσεων και των συντομεύσεων στην αρχική οθόνη."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"εγγραφή ρυθμίσεων και συντομεύσεων αρχικής οθόνης"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Επιτρέπει στην εφαρμογή την αλλαγή των ρυθμίσεων και των συντομεύσεων στην αρχική οθόνη."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> δεν επιτρέπεται να πραγματοποιεί τηλεφωνικές κλήσεις"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Δεν είναι δυνατή η φόρτωση του γραφικού στοιχείου"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Ρυθμίσεις γραφικών στοιχείων"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Πατήστε για να ολοκληρώσετε τη ρύθμιση"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Φάκελος: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ή περισσότερα στοιχεία"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Ταπετσαρίες"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Ταπετσαρία και στιλ"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Ρυθμίσεις Αρχ. Οθ."</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Απενεργοποιήθηκε από τον διαχειριστή σας"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Να επιτρέπεται η περιστροφή της αρχικής οθόνης"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index a3b25c8..eea6581 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Allows the app to read the settings and shortcuts in Home."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"write Home settings and shortcuts"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Allows the app to change the settings and shortcuts in Home."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not allowed to make phone calls"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Can\'t load widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widget settings"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tap to finish setup"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpapers"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Allow home screen rotation"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 72aa73e..b00fee6 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Allows the app to read the settings and shortcuts in home."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"write home settings and shortcuts"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Allows the app to change the settings and shortcuts in home."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not allowed to make phone calls"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Can\'t load widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widget settings"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tap to finish setup"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpapers"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper & style"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Edit Home Screen"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Allow home screen rotation"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index a3b25c8..eea6581 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Allows the app to read the settings and shortcuts in Home."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"write Home settings and shortcuts"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Allows the app to change the settings and shortcuts in Home."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not allowed to make phone calls"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Can\'t load widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widget settings"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tap to finish setup"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpapers"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Allow home screen rotation"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index a3b25c8..eea6581 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Allows the app to read the settings and shortcuts in Home."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"write Home settings and shortcuts"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Allows the app to change the settings and shortcuts in Home."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not allowed to make phone calls"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Can\'t load widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widget settings"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tap to finish setup"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpapers"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Allow home screen rotation"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 23fd7b4..31fea4b 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Allows the app to read the settings and shortcuts in home."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"write home settings and shortcuts"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Allows the app to change the settings and shortcuts in home."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not allowed to make phone calls"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Can\'t load widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widget settings"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tap to finish setup"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpapers"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper & style"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Edit Home Screen"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Allow home screen rotation"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 7d0cd22..35b6124 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permite que la app lea los parámetros de configuración y los accesos directos de la página principal."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"escribir parámetros de configuración y accesos directos de la página principal"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permite que la app cambie los parámetros de configuración y los accesos directos de la página principal."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> no puede realizar llamadas telefónicas"</string>
<string name="gadget_error_text" msgid="740356548025791839">"No se puede cargar el widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Configuración del widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Presiona para finalizar la configuración"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> o más elementos"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fondos de pantalla"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fondo de pantalla y estilo"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Configuración de pantalla principal"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"El administrador inhabilitó esta función"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Permitir la rotación de la pantalla principal"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 5c0c8f3..323feb0 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permite que la aplicación lea los ajustes y los accesos directos de la pantalla de inicio."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"escribir ajustes y accesos directos de la pantalla de inicio"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permite que la aplicación cambie los ajustes y los accesos directos de la pantalla de inicio."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> no puede hacer llamadas"</string>
<string name="gadget_error_text" msgid="740356548025791839">"No se puede cargar el widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Ajustes de widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Toca para finalizar la configuración"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SIZE">%2$d</xliff:g> o más elementos)"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fondos de pantalla"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fondo de pantalla y estilo"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Editar pantalla de inicio"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Ajustes de la pantalla de inicio"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Inhabilitado por el administrador"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Permitir rotación de la pantalla de inicio"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index c7a273d..cf6e1c4 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Võimaldab rakendusel lugeda avakuva seadeid ja otseteid."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"avakuva seadete ja otseteede kirjutamine"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Võimaldab rakendusel muuta avakuval seadeid ja otseteid."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Rakendusel <xliff:g id="APP_NAME">%1$s</xliff:g> pole lubatud helistada"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Vidinat ei saa laadida"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Vidina seaded"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Puudutage seadistuse lõpuleviimiseks"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Kaust: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> või rohkem üksust"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Taustapildid"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Taustapilt ja stiil"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Avakuva seaded"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Keelas administraator"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Luba avakuva pööramine"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 28a323e..88f3a95 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Hasierako pantailako ezarpenak eta lasterbideak irakurtzeko baimena ematen die aplikazioei."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"idatzi hasierako pantailako ezarpenak eta lasterbideak"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Hasierako pantailako ezarpenak eta lasterbideak aldatzeko baimena ematen die aplikazioei."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak ez du telefono-deiak egiteko baimenik"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Ezin da kargatu widgeta"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widgetaren ezarpenak"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Sakatu konfiguratzen amaitzeko"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"<xliff:g id="NAME">%1$s</xliff:g> karpeta (<xliff:g id="SIZE">%2$d</xliff:g> elementu edo gehiago)"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Horma-paperak"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Horma-papera eta estiloa"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Hasierako pantailaren ezarpenak"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administratzaileak desgaitu du"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Eman hasierako pantaila biratzeko baimena"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index bc9f9a6..6708519 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"به برنامه اجازه میدهد تنظیمات و میانبرهای صفحه اصلی را بخواند."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"نوشتن تنظیمات و میانبرهای صفحه اصلی"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"به برنامه اجازه میدهد تنظیمات و میانبرهای صفحه اصلی را تغییر دهد."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> مجاز نیست تماس تلفنی برقرار کند"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ابزارک را نمیتوان بار کرد"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"تنظیمات ابزارک"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"برای تکمیل راهاندازی ضربه بزنید"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"پوشه: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> مورد یا بیشتر"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"کاغذدیواریها"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"کاغذدیواری و سبک"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"ویرایش «صفحه اصلی»"</string>
<string name="settings_button_text" msgid="8873672322605444408">"تنظیمات صفحه اصلی"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"توسط سرپرست سیستم غیرفعال شده است"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"مجاز کردن چرخش صفحه اصلی"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 1097417..df7b6ac 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Antaa sovelluksen lukea aloitusnäytön asetuksia ja pikakuvakkeita"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"muokata aloitusnäytön asetuksia ja pikakuvakkeita"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Antaa sovelluksen muuttaa aloitusnäytön asetuksia ja pikakuvakkeita"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ei saa soittaa puheluita."</string>
<string name="gadget_error_text" msgid="740356548025791839">"Widgetiä ei voi ladata"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widgetin asetukset"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Viimeistele asennus napauttamalla"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Kansio: <xliff:g id="NAME">%1$s</xliff:g>, ainakin <xliff:g id="SIZE">%2$d</xliff:g> kohdetta"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Taustakuvat"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Taustakuva ja tyyli"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Aloitusnäyttö"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Järjestelmänvalvoja on poistanut toiminnon käytöstä."</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Salli aloitusnäytön kiertäminen"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index a49f0e3..6adcb61 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permet à l\'application de lire les paramètres et les raccourcis de l\'écran d\'accueil."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"modifier les paramètres et les raccourcis de la page d\'accueil"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permet à l\'application de modifier les paramètres et les raccourcis de l\'écran d\'accueil."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"L\'application <xliff:g id="APP_NAME">%1$s</xliff:g> n\'est pas autorisée à faire des appels téléphoniques"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Impossible de charger le widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Paramètres du widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Touchez pour terminer la configuration"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Dossier : <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> éléments ou plus"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fonds d\'écran"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fond d\'écran et style"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Paramètres d\'accueil"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Cette fonction est désactivée par votre administrateur"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Autoriser la rotation de l\'écran d\'accueil"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 7b48cde..8b54628 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permet à l\'application de lire les paramètres et les raccourcis de l\'écran d\'accueil."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"Modifier les paramètres de la page d\'accueil et les raccourcis"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permet à l\'application de modifier les paramètres et les raccourcis de l\'écran d\'accueil."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"L\'application <xliff:g id="APP_NAME">%1$s</xliff:g> n\'est pas autorisée à passer des appels téléphoniques."</string>
<string name="gadget_error_text" msgid="740356548025791839">"Impossible de charger le widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Paramètres du widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Appuyez pour terminer la configuration"</string>
@@ -101,12 +100,14 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Dossier : <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> éléments ou plus"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fonds d\'écran"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fond d\'écran et style"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Paramètres de l\'accueil"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Désactivé par votre administrateur"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Autoriser la rotation de l\'écran d\'accueil"</string>
<string name="allow_rotation_desc" msgid="8662546029078692509">"Lorsque vous faites pivoter le téléphone"</string>
<string name="notification_dots_title" msgid="9062440428204120317">"Pastilles de notification"</string>
- <string name="notification_dots_desc_on" msgid="1679848116452218908">"Activées"</string>
+ <string name="notification_dots_desc_on" msgid="1679848116452218908">"Activé"</string>
<string name="notification_dots_desc_off" msgid="1760796511504341095">"Désactivées"</string>
<string name="title_missing_notification_access" msgid="7503287056163941064">"Accès aux notifications requis"</string>
<string name="msg_missing_notification_access" msgid="281113995110910548">"Pour afficher les pastilles de notification, activez les notifications de l\'application <xliff:g id="NAME">%1$s</xliff:g>"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 7d67574..c1f4f3c 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permite que a aplicación lea a configuración e os atallos da pantalla de inicio."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"editar a configuración e os atallos da pantalla de inicio"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permite que a aplicación cambie a configuración e os atallos da pantalla de inicio."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> non ten permiso para facer chamadas telefónicas"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Non se puido cargar o widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Configuración do widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Toca para rematar a configuración"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Cartafol: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elementos ou máis"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fondos de pantalla"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Estilo e fondo de pantalla"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Axustes de Inicio"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Función desactivada polo administrador"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Permitir xirar a pantalla de inicio"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 263525f..a804870 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ઍપને હોમમાંના સેટિંગ અને શૉર્ટકટ વાંચવાની મંજૂરી આપે છે."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"હોમ સેટિંગ અને શૉર્ટકટ લખો"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ઍપને હોમમાંના સેટિંગ અને શૉર્ટકટમાં ફેરફાર કરવાની મંજૂરી આપે છે."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ને ફોન કૉલ્સ કરવાની મંજૂરી નથી"</string>
<string name="gadget_error_text" msgid="740356548025791839">"વિજેટ લોડ કરી શકાતું નથી"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"વિજેટ સેટિંગ"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"સેટઅપ પૂર્ણ કરવા માટે ટૅપ કરો"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ફોલ્ડર: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> કે વધુ આઇટમ"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"વૉલપેપર"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"વૉલપેપર અને સ્ટાઇલ"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"હોમ સેટિંગ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"તમારા વ્યવસ્થાપક દ્વારા અક્ષમ કરેલ"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"હોમ સ્ક્રીનને ફેરવવાની મંજૂરી આપો"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 4d292e8..ce83230 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"इससे ऐप्लिकेशन, होम स्क्रीन की सेटिंग और शॉर्टकट पढ़ पाएगा."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"होम स्क्रीन की सेटिंग और शॉर्टकट में बदलाव करने की अनुमति"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"इससे ऐप्लिकेशन, होम स्क्रीन की सेटिंग और शॉर्टकट बदल पाएगा."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> को फ़ोन कॉल करने की अनुमति नहीं है"</string>
<string name="gadget_error_text" msgid="740356548025791839">"विजेट को लोड नहीं किया जा सका"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"विजेट की सेटिंग"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"सेट अप पूरा करने के लिए टैप करें"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"फ़ोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> या इससे ज़्यादा आइटम"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"वॉलपेपर"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वॉलपेपर और स्टाइल"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"होम पेज की सेटिंग"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"आपके एडमिन ने बंद किया हुआ है"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"होम स्क्रीन घुमाने की अनुमति दें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 6aae210..73e366f 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Aplikaciji omogućuje čitanje postavki i prečaca na početnom zaslonu."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"pisati postavke i prečace početnog zaslona"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Aplikaciji omogućuje promjenu postavki i prečaca na početnom zaslonu."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> nema dopuštenje za telefonske pozive"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Widget se ne može učitati"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Postavke widgeta"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Dodirnite da biste dovršili postavljanje"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Mapa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ili više stavki"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Pozadine"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadina i stil"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Uredi početni zaslon"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Postavke početnog zaslona"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Onemogućio administrator"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Dopusti zakretanje početnog zaslona"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 55c56ff..3380476 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Lehetővé teszi az alkalmazás számára a kezdőképernyő beállításainak és parancsikonjainak olvasását."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"kezdőképernyő beállításainak és parancsikonjainak írása"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Lehetővé teszi az alkalmazás számára a kezdőképernyő beállításainak és parancsikonjainak módosítását."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> nem kezdeményezhet telefonhívásokat"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Nem tölthető le a modul"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Modulbeállítások"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Koppintson a beállítás befejezéséhez"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Mappa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> vagy több elem"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Háttérképek"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Háttérkép és stílus"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Kezdőképernyő beállításai"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"A rendszergazda letiltotta"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"A kezdőképernyő elforgatásának engedélyezése"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 13d82d6..5fee7a8 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Հավելվածին թույլ է տալիս կարդալ հիմնական էկրանի կարգավորումներն ու դյուրանցումները։"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"փոփոխել հիմնական էկրանի կարգավորումներն ու դյուրանցումները"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Հավելվածին թույլ է տալիս փոփոխել հիմնական էկրանի կարգավորումներն ու դյուրանցումները։"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածին չի թույլատրվում հեռախոսազանգեր կատարել"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Չհաջողվեց բեռնել վիջեթը"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Վիջեթի կարգավորումներ"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Հպեք՝ կարգավորումն ավարտելու համար"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Պանակ՝ <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> կամ ավելի տարրեր"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Պաստառներ"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Պաստառ և ոճ"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Փոփոխել հիմնական էկրանը"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Գլխավոր էկրանի կարգավորումներ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Անջատվել է ձեր ադմինիստրատորի կողմից"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Թույլ տալ հիմնական էկրանի պտտումը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index d9cba90..33a77b5 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Mengizinkan aplikasi membaca setelan dan pintasan di layar utama."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"menulis setelan dan pintasan layar utama"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Mengizinkan aplikasi mengubah setelan dan pintasan di layar utama."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak diizinkan untuk melakukan panggilan telepon"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Tidak dapat memuat widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Setelan widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Ketuk untuk menyelesaikan penyiapan"</string>
@@ -101,7 +100,9 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> item atau lebih"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpaper"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper & gaya"</string>
- <string name="settings_button_text" msgid="8873672322605444408">"Setelan Layar utama"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
+ <string name="settings_button_text" msgid="8873672322605444408">"Setelan layar utama"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dinonaktifkan oleh admin"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Izinkan layar utama diputar"</string>
<string name="allow_rotation_desc" msgid="8662546029078692509">"Saat ponsel diputar"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 84e0f7f..5e7af5f 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Leyfir forriti að lesa stillingar og flýtileiðir heimaskjás."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"skrifa stillingar og flýtileiðir heimaskjás"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Leyfir forriti að breyta stillingum og flýtileiðum heimaskjás."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> hefur ekki leyfi til að hringja símtöl"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Ekki hægt að hlaða græju"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Græjustillingar"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Ýttu til að ljúka við uppsetningu"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Mappa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> eða fleiri atriði"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Veggfóður"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Veggfóður og stíll"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Breyta heimaskjá"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Heimastillingar"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Gert óvirkt af kerfisstjóra"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Leyfa snúning á heimaskjá"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index fce1f67..3251006 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Consente all\'app di leggere le impostazioni e le scorciatoie nella schermata Home."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"creare impostazioni e scorciatoie nella schermata Home"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Consente all\'app di modificare le impostazioni e le scorciatoie nella schermata Home."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"L\'app <xliff:g id="APP_NAME">%1$s</xliff:g> non è autorizzata a effettuare telefonate"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Impossibile caricare il widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Impostazioni widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tocca per completare la configurazione"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Cartella: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> o più elementi"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Sfondi"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Sfondo e stile"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Impostazioni schermata Home"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disattivata dall\'amministratore"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Consenti rotazione della schermata Home"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 4542589..103e4e0 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"מאפשרת לאפליקציה לקרוא את ההגדרות וקיצורי הדרך בדף הבית."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"כתיבת ההגדרות וקיצורי הדרך בדף הבית"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"מאפשרת לאפליקציה לשנות את ההגדרות וקיצורי הדרך בדף הבית."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> אינו רשאי להתקשר"</string>
<string name="gadget_error_text" msgid="740356548025791839">"לא ניתן לטעון את הווידג\'ט"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"הגדרות הווידג\'ט"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"צריך להקיש כדי לסיים את תהליך ההגדרה"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"תיקייה: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> פריטים או יותר"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"טפטים"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"טפט וסגנון"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"הגדרות של מסך הבית"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"הושבת על ידי מנהל המערכת שלך"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"אישור לסיבוב מסך הבית"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 9f9df56..7552eaf 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ホームの設定とショートカットの読み取りをアプリに許可します。"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ホームの設定とショートカットの書き込み"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ホームの設定とショートカットの変更をアプリに許可します。"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」から電話をかけることはできません"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ウィジェットを読み込めません"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ウィジェットの設定"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"タップして設定を完了してください"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"フォルダ: <xliff:g id="NAME">%1$s</xliff:g>、<xliff:g id="SIZE">%2$d</xliff:g> 件以上のアイテム"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"壁紙"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"壁紙とスタイル"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"ホーム画面を編集"</string>
<string name="settings_button_text" msgid="8873672322605444408">"ホームの設定"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"管理者により無効にされています"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"ホーム画面の回転を許可"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index dd975fe..e56b580 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"აპისთვის მთავარი ეკრანის პარამეტრებისა და მალსახმობების წაკითხვის უფლების მიცემა."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"მთავარი ეკრანის პარამეტრებისა და მალსახმობების ჩაწერა"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"აპისთვის მთავარი ეკრანის პარამეტრებისა და მალსახმობების შეცვლის უფლების მიცემა."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ს არ აქვს სატელეფონო ზარების განხორციელების უფლება"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ვიჯეტის ჩატვირთვა ვერ ხერხდება"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ვიჯეტის პარამეტრები"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"შეეხეთ დაყენების დასასრულებლად"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"საქაღალდე: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ან მეტი ერთეული"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ფონები"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ფონი და სტილი"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"მთავარი ეკრანის რედაქტირება"</string>
<string name="settings_button_text" msgid="8873672322605444408">"მთავარი გვერდის პარამეტრები"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"გათიშულია თქვენი ადმინისტრატორის მიერ"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"მთავარი ეკრანის შეტრიალების დაშვება"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index cd45fff..4da44a8 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Қолданбаға негізгі экрандағы параметрлер мен таңбашаларды оқуға мүмкіндік береді."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"негізгі экран параметрлері мен таңбашаларын жазу"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Қолданбаға негізгі экрандағы параметрлер мен таңбашаларды өзгертуге мүмкіндік береді."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> арқылы телефон қоңырауларын соғуға рұқсат етілмеген"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Виджетті жүктеу мүмкін емес."</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Виджет параметрлері"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Реттеуді аяқтау үшін түртіңіз."</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Қалта: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> не одан көп элемент бар"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Тұсқағаздар"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тұсқағаз және стиль"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Негізгі экран параметрлері"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Әкімші өшірді"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Негізгі экранды бұруға рұқсат ету"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 64bc3bb..6aa399b 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"អនុញ្ញាតឱ្យកម្មវិធីអានការកំណត់ និងផ្លូវកាត់នៅក្នុងអេក្រង់ដើម។"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"សរសេរការកំណត់ និងផ្លូវកាត់សម្រាប់អេក្រង់ដើម"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"អនុញ្ញាតឱ្យកម្មវិធីប្ដូរការកំណត់ និងផ្លូវកាត់នៅក្នុងអេក្រង់ដើម។"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> មិនត្រូវបានអនុញ្ញាតឲ្យធ្វើការហៅទូរស័ព្ទទេ"</string>
<string name="gadget_error_text" msgid="740356548025791839">"មិនអាចផ្ទុកធាតុក្រាហ្វិកបានទេ"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ការកំណត់ធាតុក្រាហ្វិក"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"ចុចដើម្បីបញ្ចប់ការរៀបចំ"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ថត៖ <xliff:g id="NAME">%1$s</xliff:g>, ធាតុ <xliff:g id="SIZE">%2$d</xliff:g> ឬច្រើនជាងនេះ"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ផ្ទាំងរូបភាព"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ផ្ទាំងរូបភាព និងរចនាប័ទ្ម"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"កែអេក្រង់ដើម"</string>
<string name="settings_button_text" msgid="8873672322605444408">"ការកំណត់ទំព័រដើម"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"បានបិទដំណើរការដោយអ្នកគ្រប់គ្រងរបស់អ្នក"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"អនុញ្ញាតការបងិ្វលអេក្រង់ដើម"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index f955277..e27483e 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ನಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಶಾರ್ಟ್ಕಟ್ಗಳನ್ನು ಓದಲು ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಶಾರ್ಟ್ಕಟ್ಗಳನ್ನು ಬರೆಯಿರಿ"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ನಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಶಾರ್ಟ್ಕಟ್ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು <xliff:g id="APP_NAME">%1$s</xliff:g> ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ವಿಜೆಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ವಿಜೆಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"ಸೆಟಪ್ ಪೂರ್ಣಗೊಳಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ಫೋಲ್ಡರ್: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ಅಥವಾ ಹೆಚ್ಚಿನ ಐಟಂಗಳು"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ವಾಲ್ಪೇಪರ್ಗಳು"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ವಾಲ್ಪೇಪರ್ ಮತ್ತು ಶೈಲಿ"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಿ"</string>
<string name="settings_button_text" msgid="8873672322605444408">"ಮುಖಪುಟ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ ತಿರುಗುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 4d621ec..b0bcff7 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"앱이 홈에 있는 설정 및 바로가기를 읽을 수 있도록 허용합니다."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"홈 설정 및 바로가기 쓰기"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"앱이 홈에 있는 설정 및 바로가기를 변경할 수 있도록 허용합니다."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g>에서 전화를 걸 수 없습니다."</string>
<string name="gadget_error_text" msgid="740356548025791839">"위젯을 로드할 수 없습니다."</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"위젯 설정"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"탭하여 설정을 완료하세요."</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"폴더: <xliff:g id="NAME">%1$s</xliff:g>, 항목 <xliff:g id="SIZE">%2$d</xliff:g>개 이상"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"배경화면"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"배경화면 및 스타일"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"홈 설정"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"관리자가 사용 중지함"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"홈 화면 회전 허용"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 0fe2802..24fca36 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Колдонмого үйдүн параметрлерин жана ыкчам баскычтарын окууга уруксат берет."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"үйдүн параметрлерин жана ыкчам баскычтарын жазуу"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Колдонмого үйдүн параметрлерин жана ыкчам баскычтарын өзгөртүүгө уруксат берет."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> телефон чалууларды аткарууга уруксаты жок"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Виджет жүктөлбөй жатат"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Виджеттин параметрлери"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Аягына чейин тууралоо үчүн басып коюңуз"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"<xliff:g id="NAME">%1$s</xliff:g> папкасындагы объекттер: <xliff:g id="SIZE">%2$d</xliff:g> же андан көбүрөөк"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Тушкагаздар"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тушкагаз жана стиль"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Башкы бет параметрлери"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Администраторуңуз өчүрүп койгон"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Башкы экранды бурууга уруксат берүү"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 72eb3fa..2148178 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ອະນຸຍາດໃຫ້ແອັບອ່ານການຕັ້ງຄ່າ ແລະ ທາງລັດໃນໜ້າຫຼັກ."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ຂຽນການຕັ້ງຄ່າໜ້າຫຼັກ ແລະ ທາງລັດ"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ອະນຸຍາດໃຫ້ແອັບປ່ຽນການຕັ້ງຄ່າ ແລະ ທາງລັດໃນໜ້າຫຼັກ."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ໂທ"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ບໍ່ສາມາດໂຫຼດວິດເຈັດໄດ້"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ການຕັ້ງຄ່າວິດເຈັດ"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"ແຕະເພື່ອຕັ້ງຄ່າໃຫ້ແລ້ວ"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ໂຟນເດີ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ຫຼື ລາຍການເພີ່ມເຕີມ"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ພາບພື້ນຫຼັງ"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ຮູບພື້ນຫຼັງ ແລະ ຮູບແບບ"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"ແກ້ໄຂໂຮມສະກຣີນ"</string>
<string name="settings_button_text" msgid="8873672322605444408">"ການຕັ້ງຄ່າໜ້າຫຼັກ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ຖືກປິດການນຳໃຊ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"ອະນຸຍາດໃຫ້ໝຸນໜ້າຈໍຢູ່ໂຮມສະກຣີນໄດ້"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 0f02376..2ea7174 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Programai leidžiama skaityti pagrindinio ekrano nustatymus ir sparčiuosius klavišus."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"rašyti pagrindinio ekrano nustatymus ir sparčiuosius klavišus"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Programai leidžiama keisti pagrindinio ekrano nustatymus ir sparčiuosius klavišus."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ neleidžiama skambinti"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Nepavyko įkelti valdiklio"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Valdiklio nustatymai"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Palieskite, kad užbaigtumėte sąranką"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Aplankas: „<xliff:g id="NAME">%1$s</xliff:g>“, elementų: <xliff:g id="SIZE">%2$d</xliff:g> ar daugiau"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Ekrano fonai"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Ekrano fonas ir stilius"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Redaguoti pagrindinį ekraną"</string>
<string name="settings_button_text" msgid="8873672322605444408">"„Home“ nustatymai"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Išjungė administratorius"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Leisti pasukti pagrindinį ekraną"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 150af9b..3a848dd 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Ļauj lietotnei lasīt iestatījumus un saīsnes sākuma ekrānā."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"sākuma ekrāna iestatījumu un saīšņu rakstīšana"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Ļauj lietotnei mainīt iestatījumus un saīsnes sākuma ekrānā."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Lietotnei <xliff:g id="APP_NAME">%1$s</xliff:g> nav atļauts veikt tālruņa zvanus."</string>
<string name="gadget_error_text" msgid="740356548025791839">"Nevar ielādēt logrīku."</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Logrīka iestatījumi"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Pieskarieties, lai pabeigtu iestatīšanu"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Mape <xliff:g id="NAME">%1$s</xliff:g>, vienumu skaits mapē: vismaz <xliff:g id="SIZE">%2$d</xliff:g>"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fona tapetes"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fona tapete un stils"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Sākumlapas iestatījumi"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Atspējojis administrators"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Atļaut sākuma ekrāna pagriešanu"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 13ff08a..6de6141 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Овозможува апликацијата да ги чита поставките и кратенките на почетната страница."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"да пишува поставки и кратенки на почетна страница"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Овозможува апликацијата да ги менува поставките и кратенките на почетната страница."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> нема дозвола за телефонски повици"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Не може да се вчита виџетот"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Поставки за виџет"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Допрете за да го завршите поставувањето"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> или повеќе ставки"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Тапети"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тапет и стил"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Поставки за почетен екран"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Оневозможено од администраторот"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Дозволи ротирање на почетниот екран"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index e023df8..59827f2 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ഹോമിലെ ക്രമീകരണങ്ങളും കുറുക്കുവഴികളും വായിക്കാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ഹോം ക്രമീകരണവും കുറുക്കുവഴികളും എഴുതുക"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ഹോമിലെ ക്രമീകരണങ്ങളും കുറുക്കുവഴികളും മാറ്റാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"ഫോൺ കോൾ ചെയ്യാൻ <xliff:g id="APP_NAME">%1$s</xliff:g> എന്നതിനെ അനുവദിച്ചിട്ടില്ല"</string>
<string name="gadget_error_text" msgid="740356548025791839">"വിജറ്റ് ലോഡ് ചെയ്യാനാകുന്നില്ല"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"വിജറ്റ് ക്രമീകരണം"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"സജ്ജീകരണം പൂർത്തിയാക്കാൻ ടാപ്പ് ചെയ്യുക"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ഫോൾഡർ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> അല്ലെങ്കിൽ അതിലധികം ഇനങ്ങൾ"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"വാൾപേപ്പർ"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"വാൾപേപ്പറും സ്റ്റൈലും"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"ഹോം സ്ക്രീൻ എഡിറ്റ് ചെയ്യുക"</string>
<string name="settings_button_text" msgid="8873672322605444408">"ഹോം ക്രമീകരണം"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"അഡ്മിൻ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"ഹോം സ്ക്രീൻ റൊട്ടേഷൻ അനുവദിക്കുക"</string>
@@ -164,7 +164,7 @@
<string name="work_apps_paused_title" msgid="3040901117349444598">"ഔദ്യോഗിക ആപ്പുകൾ തൽക്കാലം നിർത്തിയിരിക്കുന്നു"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"ഔദ്യോഗിക ആപ്പുകളിൽ നിന്ന് നിങ്ങൾക്ക് അറിയിപ്പുകളൊന്നും ലഭിക്കില്ല"</string>
<string name="work_apps_paused_body" msgid="261634750995824906">"നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാനോ ബാറ്ററി ഉപയോഗിക്കാനോ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാനോ നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾക്ക് കഴിയില്ല"</string>
- <string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"Work ആപ്പുകളിൽ നിന്ന് നിങ്ങൾക്ക് ഫോൺ കോളുകളും ടെക്സ്റ്റ് മെസേജുകളും അറിയിപ്പുകളും ലഭിക്കില്ല"</string>
+ <string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"വർക്ക് ആപ്പുകളിൽ നിന്ന് നിങ്ങൾക്ക് ഫോൺ കോളുകളും ടെക്സ്റ്റ് മെസേജുകളും അറിയിപ്പുകളും ലഭിക്കില്ല"</string>
<string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"ഔദ്യോഗിക ആപ്പുകൾക്ക് ബാഡ്ജ് നൽകിയിരിക്കുന്നു, അവ നിങ്ങളുടെ ഐടി അഡ്മിന് കാണാനും കഴിയും"</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"മനസ്സിലായി"</string>
<string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ഔദ്യോഗിക ആപ്പുകൾ താൽക്കാലികമായി നിർത്തുക"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 79adc91..eea9195 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Аппад нүүрэн дэх тохиргоо болон товчлолыг уншихыг зөвшөөрнө."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"нүүрний тохиргоо болон товчлолыг бичих"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Аппад нүүрэн дэх тохиргоо болон товчлолыг өөрчлөхийг зөвшөөрнө."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> утасны дуудлага хийх боломжгүй"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Жижиг хэрэгслийг ачаалах боломжгүй"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Виджетийн тохиргоо"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Тохируулгыг дуусгахын тулд товшино уу"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Фолдер: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> эсвэл үүнээс олон зүйл"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Дэлгэцийн зураг"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Дэлгэцийн зураг, загвар"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Нүүр хуудасны тохиргоо"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Таны админ идэвхгүй болгосон"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Үндсэн нүүрийг эргүүлэхийг зөвшөөрөх"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index ff9cb38..b74a8f5 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"अॅपला होममधील सेटिंग्ज आणि शॉर्टकट वाचण्याची अनुमती देते."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"होम सेटिंग्ज आणि शॉर्टकट लिहा"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"अॅपला होममधील सेटिंग्ज आणि शॉर्टकट बदलण्याची अनुमती देते."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ला फोन कॉल करण्याची अनुमती नाही"</string>
<string name="gadget_error_text" msgid="740356548025791839">"विजेट लोड करू शकत नाही"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"विजेटची सेटिंग्ज"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"सेटअप पूर्ण करण्यासाठी टॅप करा"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"फोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> किंवा त्याहून अधिक आयटम"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"वॉलपेपर"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वॉलपेपर आणि शैली"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"होम स्क्रीन संपादित करा"</string>
<string name="settings_button_text" msgid="8873672322605444408">"होम सेटिंग्ज"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"आपल्या प्रशासकाने अक्षम केले"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"होम स्क्रीन फिरवण्याची अनुमती द्या"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 29845cd..7d1a4d1 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Membenarkan apl membaca tetapan dan pintasan di skrin utama."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"menulis tetapan dan pintasan skrin utama"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Membenarkan apl menukar tetapan dan pintasan di skrin utama."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak dibenarkan membuat panggilan telefon"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Tidak dapat memuatkan widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Tetapan widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Ketik untuk menyelesaikan persediaan"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> atau lebih banyak item"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Hiasan latar"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Kertas dinding & gaya"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Edit Skrin Utama"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Tetapan skrin utama"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dilumpuhkan oleh pentadbir anda"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Benarkan putaran skrin utama"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 6c11a61..1a6b0de 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ပင်မတွင်ရှိသော ဆက်တင်များနှင့် ဖြတ်လမ်းလင့်ခ်များကို အက်ပ်အား ဖတ်ခွင့်ပြုနိုင်သည်။"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ပင်မဆက်တင်နှင့် ဖြတ်လမ်းလင့်ခ်များ ရေးသားခြင်း"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ပင်မတွင်ရှိသော ဆက်တင်များနှင့် ဖြတ်လမ်းလင့်ခ်များကို အက်ပ်အား ပြောင်းခွင့်ပြုနိုင်သည်။"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g>သည် ဖုန်းခေါ်ဆိုခွင့် မရှိပါ"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ဝိဂျက်ကို ဖွင့်၍မရပါ"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ဝိဂျက်ဆက်တင်များ"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"စနစ်ထည့်သွင်းခြင်း အပြီးသတ်ရန် တို့ပါ"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ဖိုင်တွဲ - <xliff:g id="NAME">%1$s</xliff:g>၊ <xliff:g id="SIZE">%2$d</xliff:g> သို့မဟုတ် နောက်ထပ်ဖိုင်များ"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"နောက်ခံများ"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"နောက်ခံနှင့် ပုံစံ"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"ပင်မစာမျက်နှာ တည်းဖြတ်ရန်"</string>
<string name="settings_button_text" msgid="8873672322605444408">"ပင်မဆက်တင်များ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"သင့်စီမံခန့်ခွဲသူက ပိတ်လိုက်ပါသည်"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"ပင်မစာမျက်နှာလှည့်ခြင်းကို ခွင့်ပြုခြင်း"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 1b1941c..41fb8c0 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Lar appen lese innstillingene og snarveiene på startsiden."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"angi startsideinnstillinger og -snarveier"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Lar appen endre innstillingene og snarveiene på startsiden."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> har ikke tillatelse til å ringe"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Kan ikke laste inn modulen"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Modulinnstillinger"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Trykk for å fullføre konfigureringen"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Mappe: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> eller flere elementer"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Bakgrunner"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Bakgrunn og stil"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Startsideinnstillinger"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administratoren har slått av funksjonen"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Tillat at startskjermen roterer"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 58f2793..8ce5603 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"एपलाई होम स्क्रिनबाट सेटिङ र सर्टकटहरू रिड गर्ने अनुमति दिन्छ।"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"होम स्क्रिनका सेटिङ र सर्टकटहरू राइट गरियोस्"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"एपलाई होम स्क्रिनबाट सेटिङ र सर्टकट बदल्ने अनुमति दिन्छ"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले फोन कलहरू गर्न अनुमति छैन"</string>
<string name="gadget_error_text" msgid="740356548025791839">"विजेट लोड गर्न सकिएन"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"विजेटका सेटिङ"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"सेटअप पूरा गर्न ट्याप गर्नुहोस्"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"फोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> वा सोभन्दा बढी वस्तुहरू"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"वालपेपरहरु"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वालपेपर तथा शैली"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"होम स्क्रिन बदल्नुहोस्"</string>
<string name="settings_button_text" msgid="8873672322605444408">"होम पेजका सेटिङहरू"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"तपाईँको प्रशासकद्वारा असक्षम गरिएको"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"होम स्क्रिन रोटेट हुन दिइयोस्"</string>
@@ -167,7 +167,7 @@
<string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"तपाईं कामसम्बन्धी एपबाट फोन कल, टेक्स्ट म्यासेज वा सूचनाहरू प्राप्त गर्नु हुने छैन"</string>
<string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"कामसम्बन्धी एपमा ब्याज अङ्कित हुन्छ र तपाईंका IT एड्मिन ती एप हेर्न सक्नुहुन्छ"</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"बुझेँ"</string>
- <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"कामसम्बन्धी एपहरू अस्थायी रूपमा रोक्का गर्नुहोस्"</string>
+ <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"कामसम्बन्धी एपहरू पज गर्नुहोस्"</string>
<string name="work_apps_enable_btn_text" msgid="1736198302467317371">"सुचारु गर्नुहोस्"</string>
<string name="developer_options_filter_hint" msgid="5896817443635989056">"फिल्टर"</string>
<string name="search_pref_screen_title" msgid="3258959643336315962">"आफ्नो फोन खोज्नुहोस्"</string>
diff --git a/res/values-night-v31/colors.xml b/res/values-night-v31/colors.xml
index f331361..4dd3849 100644
--- a/res/values-night-v31/colors.xml
+++ b/res/values-night-v31/colors.xml
@@ -26,4 +26,27 @@
<color name="home_settings_track_off_color">@android:color/system_neutral1_700</color>
<color name="all_apps_button_color">@android:color/system_neutral2_200</color>
+
+ <color name="widget_picker_title_color_dark">@android:color/system_neutral1_100</color>
+ <color name="widget_picker_header_app_title_color_dark">
+ @android:color/system_neutral1_100</color>
+ <color name="widget_picker_header_app_subtitle_color_dark">
+ @android:color/system_neutral2_200</color>
+ <color name="widget_picker_header_background_color_dark">
+ @android:color/system_accent2_700</color>
+ <color name="widget_picker_suggestions_icon_background_color_dark">
+ @android:color/system_accent1_800</color>
+ <color name="widget_picker_suggestions_icon_color_dark">
+ @android:color/system_accent1_200</color>
+ <color name="widget_picker_search_text_color_dark">
+ @android:color/system_neutral2_200</color>
+ <color name="widget_picker_tab_background_selected_dark">
+ @android:color/system_accent1_200</color>
+ <color name="widget_picker_selected_tab_text_color_dark">
+ @android:color/system_accent1_800</color>
+ <color name="widget_picker_unselected_tab_text_color_dark">
+ @android:color/system_neutral2_200</color>
+ <color name="widget_picker_collapse_handle_color_dark">
+ @android:color/system_neutral2_700</color>
+
</resources>
\ No newline at end of file
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 97b650b..2241a58 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"De app toestaan de instellingen en snelkoppelingen op het startscherm te lezen."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"instellingen en snelkoppelingen op startscherm wijzigen"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"De app toestaan de instellingen en snelkoppelingen op het startscherm te wijzigen."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> mag niet bellen"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Kan widget niet laden"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widgetinstellingen"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tik om instellen af te ronden"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Map: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> of meer items"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Achtergrond"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Achtergrond en stijl"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Startscherm bewerken"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Instellingen start"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Uitgezet door je beheerder"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Draaien van startscherm toestaan"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 304e13f..5a93d91 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ହୋମରେ ଥିବା ସେଟିଂସ ଏବଂ ସର୍ଟକଟଗୁଡ଼ିକୁ ପଢ଼ିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଏ।"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ହୋମ ସେଟିଂସ ଏବଂ ସର୍ଟକଟଗୁଡ଼ିକୁ ଲେଖନ୍ତୁ"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ହୋମରେ ଥିବା ସେଟିଂସ ଏବଂ ସର୍ଟକଟଗୁଡ଼ିକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଏ।"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"ଫୋନ୍ କଲ୍ କରିବାକୁ <xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ଅନୁମତି ଦିଆଯାଇ ନାହିଁ"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ୱିଜେଟ୍ ଲୋଡ୍ କରାଯାଇପାରିବ ନାହିଁ"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ୱିଜେଟ ସେଟିଂସ"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"ସେଟଅପ ସମ୍ପୂର୍ଣ୍ଣ କରିବାକୁ ଟାପ କରନ୍ତୁ"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ଫୋଲ୍ଡର୍: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> କିମ୍ବା ଅଧିକ ଆଇଟମ୍"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ୱାଲପେପର୍"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ୱାଲପେପର ଏବଂ ଷ୍ଟାଇଲ"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"ହୋମ ସେଟିଂସ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ଆପଣଙ୍କ ଆଡମିନଙ୍କ ଦ୍ୱାରା ଅକ୍ଷମ କରାଯାଇଛି"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"ହୋମ ସ୍କ୍ରିନ ରୋଟେସନକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
@@ -159,13 +160,13 @@
<string name="all_apps_personal_tab" msgid="4190252696685155002">"ବ୍ୟକ୍ତିଗତ"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"ୱାର୍କ"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"ୱର୍କ ପ୍ରୋଫାଇଲ୍"</string>
- <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"ୱାର୍କ ଆପ୍ସ ବ୍ୟାଜ୍ କରାଯାଇଛି ଏବଂ ସେଗୁଡ଼ିକ ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦୃଶ୍ୟମାନ ହେଉଛି"</string>
+ <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"ୱାର୍କ ଆପ୍ସ ବ୍ୟାଜ କରାଯାଇଛି ଏବଂ ସେଗୁଡ଼ିକ ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦୃଶ୍ୟମାନ ହେଉଛି"</string>
<string name="work_profile_edu_accept" msgid="6069788082535149071">"ବୁଝିଗଲି"</string>
<string name="work_apps_paused_title" msgid="3040901117349444598">"ୱାର୍କ ଆପ୍ସ ବିରତ କରାଯାଇଛି"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"ଆପଣ ଆପଣଙ୍କ ୱାର୍କ ଆପ୍ସରୁ ବିଜ୍ଞପ୍ତି ପାଇବେ ନାହିଁ"</string>
<string name="work_apps_paused_body" msgid="261634750995824906">"ଆପଣଙ୍କ ୱାର୍କ ଆପ୍ସ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତି ପଠାଇପାରିବ ନାହିଁ, ଆପଣଙ୍କ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କର ଲୋକେସନକୁ ଆକ୍ସେସ କରିପାରିବ ନାହିଁ"</string>
<string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"ଆପଣ ଆପଣଙ୍କ ୱାର୍କ ଆପ୍ସରୁ ଫୋନ କଲ, ଟେକ୍ସଟ ମେସେଜ କିମ୍ବା ବିଜ୍ଞପ୍ତି ପାଇବେ ନାହିଁ"</string>
- <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"ୱାର୍କ ଆପ୍ସ ବ୍ୟାଜ୍ କରାଯାଇଛି ଏବଂ ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦେଖାଯାଉଛି"</string>
+ <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"ୱାର୍କ ଆପ୍ସ ବ୍ୟାଜ କରାଯାଇଛି ଏବଂ ସେଗୁଡ଼ିକ ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦୃଶ୍ୟମାନ ହେଉଛି"</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"ବୁଝିଗଲି"</string>
<string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ୱାର୍କ ଆପ୍ସ ବିରତ କରନ୍ତୁ"</string>
<string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ପୁଣି ଚାଲୁ କରନ୍ତୁ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 24a5f7f..ae10c8f 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"ਐਪ ਨੂੰ ਹੋਮ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸ਼ਾਰਟਕੱਟ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ਹੋਮ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸ਼ਾਰਟਕੱਟ ਲਿਖੋ"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"ਐਪ ਨੂੰ ਹੋਮ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸ਼ਾਰਟਕੱਟ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ਵਿਜੇਟ ਨੂੰ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ਵਿਜੇਟ ਸੈਟਿੰਗਾਂ"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"ਸੈੱਟਅੱਪ ਪੂਰਾ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ਫੋਲਡਰ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ਜਾਂ ਹੋਰ ਆਈਟਮਾਂ"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ਵਾਲਪੇਪਰ"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ਵਾਲਪੇਪਰ ਅਤੇ ਸਟਾਈਲ"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"ਹੋਮ ਸੈਟਿੰਗਾਂ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਯੋਗ ਬਣਾਈ ਗਈ"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"ਹੋਮ ਸਕ੍ਰੀਨ ਨੂੰ ਘੁਮਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
@@ -159,13 +160,13 @@
<string name="all_apps_personal_tab" msgid="4190252696685155002">"ਨਿੱਜੀ"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"ਕੰਮ ਸੰਬੰਧੀ"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ"</string>
- <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਬੈਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਸਣਗੀਆਂ"</string>
+ <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਬੈਜ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਸਣਗੀਆਂ"</string>
<string name="work_profile_edu_accept" msgid="6069788082535149071">"ਸਮਝ ਲਿਆ"</string>
<string name="work_apps_paused_title" msgid="3040901117349444598">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"ਤੁਹਾਨੂੰ ਆਪਣੀਆਂ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੋਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਣਗੀਆਂ"</string>
<string name="work_apps_paused_body" msgid="261634750995824906">"ਤੁਹਾਡੀਆਂ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਭੇਜ ਸਕਦੀਆਂ, ਤੁਹਾਡੀ ਬੈਟਰੀ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ ਜਾਂ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ"</string>
<string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"ਤੁਹਾਨੂੰ ਆਪਣੀਆਂ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੋਂ ਫ਼ੋਨ ਕਾਲਾਂ, ਲਿਖਤ ਸੁਨੇਹੇ ਜਾਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਣਗੀਆਂ"</string>
- <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਬੈਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਸਣਗੀਆਂ"</string>
+ <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਬੈਜ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਸਣਗੀਆਂ"</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"ਸਮਝ ਲਿਆ"</string>
<string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਰੋਕੋ"</string>
<string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ਰੋਕ ਹਟਾਓ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index d8645f0..6f73d5f 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -29,8 +29,7 @@
<string name="home_screen" msgid="5629429142036709174">"Ekran główny"</string>
<string name="recent_task_option_split_screen" msgid="6690461455618725183">"Podziel ekran"</string>
<string name="split_app_info_accessibility" msgid="5475288491241414932">"Informacje o aplikacji: %1$s"</string>
- <!-- no translation found for save_app_pair (5647523853662686243) -->
- <skip />
+ <string name="save_app_pair" msgid="5647523853662686243">"Zapisz parę aplikacji"</string>
<string name="long_press_widget_to_add" msgid="3587712543577675817">"Naciśnij i przytrzymaj, aby przenieść widżet."</string>
<string name="long_accessible_way_to_add" msgid="2733588281439571974">"Naciśnij dwukrotnie i przytrzymaj, aby przenieść widżet lub użyć działań niestandardowych."</string>
<string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -82,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Umożliwia aplikacji odczytywanie ustawień i skrótów na ekranie głównym."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"Zapisuje ustawienia i skróty na ekranie głównym"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Umożliwia aplikacji zmianę ustawień i skrótów na ekranie głównym."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> nie może wykonywać połączeń telefonicznych"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Nie udało się załadować widżetu"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Ustawienia widżetu"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Kliknij, aby dokończyć konfigurację"</string>
@@ -102,13 +100,15 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, liczba elementów: <xliff:g id="SIZE">%2$d</xliff:g> lub więcej"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Tapety"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapeta i styl"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Ustawienia ekranu głównego"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Funkcja wyłączona przez administratora"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Zezwalaj na obrót ekranu głównego"</string>
<string name="allow_rotation_desc" msgid="8662546029078692509">"Po obróceniu telefonu"</string>
<string name="notification_dots_title" msgid="9062440428204120317">"Kropki powiadomień"</string>
- <string name="notification_dots_desc_on" msgid="1679848116452218908">"Włączono"</string>
- <string name="notification_dots_desc_off" msgid="1760796511504341095">"Wyłączono"</string>
+ <string name="notification_dots_desc_on" msgid="1679848116452218908">"Włączone"</string>
+ <string name="notification_dots_desc_off" msgid="1760796511504341095">"Wyłączone"</string>
<string name="title_missing_notification_access" msgid="7503287056163941064">"Wymagany jest dostęp do powiadomień"</string>
<string name="msg_missing_notification_access" msgid="281113995110910548">"Aby pokazywać kropki powiadomień, włącz powiadomienia aplikacji <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="title_change_settings" msgid="1376365968844349552">"Zmień ustawienia"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index e9445cf..dcbbe1d 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permite que a app leia as definições e os atalhos no ecrã principal."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"escrever definições e atalhos do ecrã principal"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permite que a app altere as definições e os atalhos no ecrã principal."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"O <xliff:g id="APP_NAME">%1$s</xliff:g> não tem autorização para efetuar chamadas telefónicas"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Não é possível carregar o widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Definições de widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Toque para concluir a configuração"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Pasta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ou mais itens"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Imagens de fundo"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imagem fundo/estilo"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Editar ecrã principal"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Definições de início"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Desativada pelo gestor"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Permitir rotação do ecrã principal"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 72dd608..421f2dd 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permite que o app leia as configurações e os atalhos na tela inicial."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"gravar configurações e atalhos da tela inicial"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permite que o app mude as configurações e os atalhos na tela inicial."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> não tem permissão para fazer chamadas"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Não é possível carregar o widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Configurações de widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Toque para concluir a configuração"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Pasta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ou mais itens"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Planos de fundo"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Plano de fundo e estilo"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Editar tela inicial"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Configurações da tela inicial"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Desativado pelo administrador"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Permitir a rotação da tela inicial"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index dbfbf76..0f2c079 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Permite aplicației să citească setările și comenzile rapide de pe ecranul de pornire."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"scrie setările și comenzile rapide de pe ecranul de pornire"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Permite aplicației să modifice setările și comenzile rapide de pe ecranul de pornire."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu are permisiunea de a apela"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Widgetul nu poate fi încărcat"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Setări pentru widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Atinge pentru a finaliza configurarea"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Dosar: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> sau mai multe elemente"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Imagini de fundal"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imagine de fundal și stil"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Setări ecran de pornire"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dezactivată de administrator"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Permite rotirea ecranului de pornire"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 134004d..5d67c6a 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Приложение получит доступ к данным о настройках и ярлыках на главном экране."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"Изменение настроек и ярлыков на главном экране"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Приложение сможет изменять настройки и ярлыки на главном экране."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Приложение <xliff:g id="APP_NAME">%1$s</xliff:g> не может делать телефонные звонки"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Не удается загрузить виджет."</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Настройки виджета"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Нажмите, чтобы завершить настройку."</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка \"<xliff:g id="NAME">%1$s</xliff:g>\" (объектов: <xliff:g id="SIZE">%2$d</xliff:g> или больше)"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Обои"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Обои и стиль"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Главный экран"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Функция отключена администратором"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Разрешить поворачивать главный экран"</string>
@@ -159,13 +160,13 @@
<string name="all_apps_personal_tab" msgid="4190252696685155002">"Личные"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"Рабочие"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"Рабочий профиль"</string>
- <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"У рабочих приложений есть специальная пометка. Они видны системному администратору."</string>
+ <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"У рабочих приложений есть специальный значок. Они видны системному администратору."</string>
<string name="work_profile_edu_accept" msgid="6069788082535149071">"ОК"</string>
<string name="work_apps_paused_title" msgid="3040901117349444598">"Рабочие приложения приостановлены"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"Вы не будете получать уведомления от рабочих приложений."</string>
<string name="work_apps_paused_body" msgid="261634750995824906">"Рабочие приложения не могут отправлять уведомления, расходовать заряд батареи и получать доступ к данным о вашем местоположении."</string>
<string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"Вы не будете получать вызовы, текстовые сообщения и уведомления от рабочих приложений."</string>
- <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"У рабочих приложений есть специальная пометка. Они видны системному администратору."</string>
+ <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"У рабочих приложений есть специальный значок. Они видны системному администратору."</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"ОК"</string>
<string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Приостановить рабочие приложения"</string>
<string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Возобновить"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 01d6ba0..c11b8d4 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"මුල් පිටුවේ ඇති සැකසීම් සහ කෙටි මං කියවීමට යෙදුමට ඉඩ දෙයි."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"මුල් පිටු සැකසීම් සහ කෙටි මං ලියන්න"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"මුල් පිටුවේ සැකසීම් සහ කෙටි මං ඉවත් කිරීමට යෙදුමට ඉඩ දෙයි."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> හට දුරකථන ඇමතුම් සිදු කිරීමට ඉඩ නොදේ"</string>
<string name="gadget_error_text" msgid="740356548025791839">"විජට් පූරණය කළ නොහැකිය"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"විජට් සැකසීම්"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"පිහිටුවීම අවසන් කිරීමට තට්ටු කරන්න"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ෆෝල්ඩර: <xliff:g id="NAME">%1$s</xliff:g>, අයිතම <xliff:g id="SIZE">%2$d</xliff:g>ක් හෝ වැඩි ගණනක්"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"වෝල්පේපර"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"වෝල්පේපරය සහ මෝස්තරය"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"නිවසේ සැකසීම්"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ඔබගේ පරිපාලක විසින් අබල කරන ලදී"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"මුල් තිරය කරකැවීමට ඉඩ දෙන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 2c257b7..434e416 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Povoľuje aplikácii čítať nastavenia a odkazy na ploche."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"zápis nastavení a odkazov plochy"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Povoľuje aplikácii meniť nastavenia a odkazy na ploche."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> nemá povolenie uskutočňovať telefonické hovory"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Miniaplikáciu sa nepodarilo načítať"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Nastavenia miniaplikácie"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Nastavenie dokončíte klepnutím"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Priečinok: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> alebo viac položiek"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Tapety"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapeta a štýl"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Upraviť plochu"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Nastavenia plochy"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Zakázané vaším správcom"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Povoliť otáčanie plochy"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 2fd10ec..1a9f835 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Aplikaciji dovoli branje nastavitev in bližnjic na začetnem zaslonu."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"zapisovanje nastavitev in bližnjic začetnega zaslona"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Aplikaciji dovoli spreminjanje nastavitev in bližnjic na začetnem zaslonu."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> ni dovoljeno opravljanje klicev"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Pripomočka ni mogoče naložiti."</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Nastavitve pripomočka"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Dotaknite se, da dokončate postopek nastavitve."</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Mapa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ali več elementov"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Ozadja"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Zaslonsko ozadje in slog"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Domače nastavitve"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Onemogočil skrbnik."</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Dovoli sukanje začetnega zaslona"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 994fa98..41c6d96 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Lejon aplikacionin që të lexojë cilësimet dhe shkurtoret në ekranin bazë."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"shkruaj cilësimet dhe shkurtoret e ekranit bazë"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Lejon aplikacionin që të ndryshojë cilësimet dhe shkurtoret në ekranin bazë."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk lejohet të kryejë telefonata"</string>
<string name="gadget_error_text" msgid="740356548025791839">"S\'mund të ngarkohet miniaplikacioni"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Cilësimet e miniaplikacionit"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Trokit për të përfunduar konfigurimin"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Dosja: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ose më shumë artikuj"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Imazhet e sfondit"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imazhi i sfondit dhe stili"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Cilësimet e ekranit bazë"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Çaktivizuar nga administratori"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Lejo rrotullimin e ekranit bazë"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 544ef0c..4ce61fd 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Дозвољава апликацији да чита подешавања и пречице на почетном екрану."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"уписивање подешавања и пречица на почетном екрану"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Дозвољава апликацији да мења подешавања и пречице на почетном екрану."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> нема дозволу за упућивање телефонских позива"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Учитавање виџета није успело"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Подешавања виџета"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Додирните да бисте довршили подешавање"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Фолдер: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> или више ставки"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Позадине"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Позадина и стил"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Подешавања почетног екрана"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Администратор је онемогућио"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Дозволи ротацију почетног екрана"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 9d7f650..8c918a0 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Tillåter att appen läser inställningar och genvägar på startskärmen."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"skriva inställningar och genvägar på startskärmen"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Tillåter att appen ändrar inställningar och genvägar på startskärmen."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> har inte behörighet att ringa samtal"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Det gick inte att läsa in widgeten"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widgetinställningar"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Tryck för att slutföra konfigureringen"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Mapp: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> eller fler objekt"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Bakgrunder"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Bakgrund och utseende"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Startinställningar"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Inaktiverat av administratören"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Tillåt rotering av startskärmen"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 2fbf7aa..b992037 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Huruhusu programu kusoma mipangilio na njia za mikato katika skrini ya kwanza."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"kuandika mipangilio ya skrini ya kwanza na njia za mkato"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Huruhusu programu kubadilisha mipangilio na njia za mkato katika skrini ya kwanza."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> hairuhusiwi kupiga simu"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Imeshindwa kupakia wijeti"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Mipangilio ya wijeti"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Gusa ili umalize kuweka mipangilio"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folda: <xliff:g id="NAME">%1$s</xliff:g>, vipengee <xliff:g id="SIZE">%2$d</xliff:g> au zaidi"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Mandhari"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Mandhari na mtindo"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Badilisha Skrini ya Kwanza"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Mipangilio ya mwanzo"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Imezimwa na msimamizi wako"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Ruhusu kipengele cha kuzungusha skrini ya kwanza"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index bbf22a4..2742361 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"முகப்புத் திரையிலுள்ள அமைப்புகளையும் ஷார்ட்கட்களையும் படிக்க ஆப்ஸை அனுமதிக்கும்."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"முகப்புத் திரையின் அமைப்புகளையும் ஷார்ட்கட்களையும் எழுதுதல்"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"முகப்புத் திரையிலுள்ள அமைப்புகளையும் ஷார்ட்கட்களையும் மாற்ற ஆப்ஸை அனுமதிக்கும்."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"ஃபோன் அழைப்புகள் செய்ய, <xliff:g id="APP_NAME">%1$s</xliff:g> அனுமதிக்கப்படவில்லை"</string>
<string name="gadget_error_text" msgid="740356548025791839">"விட்ஜெட்டை ஏற்ற முடியவில்லை"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"விட்ஜெட் அமைப்புகள்"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"அமைவை நிறைவுசெய்யத் தட்டவும்"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ஃபோல்டர்: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> அல்லது அதற்கு அதிகமான ஃபைல்கள்"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"வால்பேப்பர்கள்"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"வால்பேப்பர் & ஸ்டைல்"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"முகப்பு அமைப்புகள்"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"உங்கள் நிர்வாகி முடக்கியுள்ளார்"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"முகப்புத் திரை சுழற்சியை அனுமதித்தல்"</string>
@@ -159,7 +160,7 @@
<string name="all_apps_personal_tab" msgid="4190252696685155002">"தனிப்பட்டவை"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"பணி"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"பணிக் கணக்கு"</string>
- <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"பணி ஆப்ஸில் பேட்ஜ் இடப்பட்டுள்ளன. உங்கள் IT நிர்வாகியால் அவற்றைப் பார்க்க முடியும்"</string>
+ <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"பணி ஆப்ஸில் பேட்ஜ் இடப்பட்டிருக்கும், உங்கள் IT நிர்வாகியால் பணி ஆப்ஸைப் பார்க்க முடியும்"</string>
<string name="work_profile_edu_accept" msgid="6069788082535149071">"முடிந்தது"</string>
<string name="work_apps_paused_title" msgid="3040901117349444598">"பணி ஆப்ஸ் இடைநிறுத்தப்பட்டுள்ளன"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"உங்கள் பணி ஆப்ஸிலிருந்து அறிவிப்புகளைப் பெறமாட்டீர்கள்"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 88fca12..bafa955 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"హోమ్లో సెట్టింగ్లు, షార్ట్కట్లను చదవడానికి యాప్ను అనుమతిస్తుంది."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"హోమ్ సెట్టింగ్లు, షార్ట్కట్లను రాయండి"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"హోమ్లో సెట్టింగ్లు, షార్ట్కట్లను మార్చడానికి యాప్ను అనుమతిస్తుంది."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"ఫోన్ కాల్స్ను చేసేందుకు <xliff:g id="APP_NAME">%1$s</xliff:g>కి అనుమతి లేదు"</string>
<string name="gadget_error_text" msgid="740356548025791839">"విడ్జెట్ను లోడ్ చేయడం సాధ్యం కాలేదు"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"విడ్జెట్ సెట్టింగ్లు"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"సెటప్ను ముగించడానికి ట్యాప్ చేయండి"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"ఫోల్డర్: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> లేదా అంతకంటే ఎక్కువ ఐటెమ్లు"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"వాల్పేపర్లు"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"వాల్పేపర్ & స్టయిల్"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"మొదటి స్క్రీన్ను ఎడిట్ చేయండి"</string>
<string name="settings_button_text" msgid="8873672322605444408">"మొదటి స్క్రీన్ సెట్టింగ్లు"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"మీ నిర్వాహకులు నిలిపివేసారు"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"మొదటి స్క్రీన్ రొటేషన్ను అనుమతించండి"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 6bcc09e..c75c532 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"อนุญาตให้แอปอ่านการตั้งค่าและทางลัดในหน้าแรก"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"เขียนการตั้งค่าและทางลัดในหน้าแรก"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"อนุญาตให้แอปเปลี่ยนการตั้งค่าและทางลัดในหน้าแรก"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ไม่ได้รับอนุญาตให้โทรออก"</string>
<string name="gadget_error_text" msgid="740356548025791839">"โหลดวิดเจ็ตไม่ได้"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"การตั้งค่าวิดเจ็ต"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"แตะเพื่อสิ้นสุดการตั้งค่า"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"โฟลเดอร์: <xliff:g id="NAME">%1$s</xliff:g>, อย่างน้อย <xliff:g id="SIZE">%2$d</xliff:g> รายการ"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"วอลเปเปอร์"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"วอลเปเปอร์และรูปแบบ"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"แก้ไขหน้าจอหลัก"</string>
<string name="settings_button_text" msgid="8873672322605444408">"การตั้งค่าหน้าจอหลัก"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ปิดใช้โดยผู้ดูแลระบบ"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"อนุญาตให้หมุนหน้าจอหลัก"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 490ce06..b91d67e 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Binibigyang-daan ang app na basahin ang mga setting at shortcut sa home."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"magsulat ng mga setting at shortcut ng home"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Binibigyang-daan ang app na baguhin ang mga setting at shortcut sa home."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Hindi pinahihintulutang tumawag ang <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Hindi ma-load ang widget"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Mga setting ng widget"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"I-tap para tapusin ang pag-set up"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> o higit pang item"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Mga Wallpaper"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper & istilo"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"I-edit ang Home Screen"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Mga setting ng Home"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Na-disable ng iyong admin"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Payagan ang pag-rotate ng home screen"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 4b2f6da..ed0e6cf 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Uygulamaya ana ekrandaki ayarları ve kısayolları okuma izni verir."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ana ekran ayarlarını ve kısayollarını yaz"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Uygulamaya ana ekrandaki ayarları ve kısayolları değiştirme izni verir."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının telefon etmesine izin verilmiyor"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Widget yüklenemiyor"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Widget ayarları"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Kurulumu tamamlamak için dokunun"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Klasör: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> veya daha fazla öğe"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Duvar Kağıtları"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Duvar kağıdı ve stil"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Ana ekran ayarları"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Yöneticiniz tarafından devre dışı bırakıldı"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Ana ekranı döndürmeye izin ver"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index c8d29f4..8c9524a 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Дозволяє додатку читати налаштування та ярлики на головному екрані."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"записувати налаштування та ярлики головного екрана"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Дозволяє додатку змінювати налаштування та ярлики на головному екрані."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> не має дозволу телефонувати"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Не вдається завантажити віджет"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Налаштування віджета"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Торкніться, щоб завершити налаштування"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка \"<xliff:g id="NAME">%1$s</xliff:g>\", елементів: <xliff:g id="SIZE">%2$d</xliff:g> або більше"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Фонові малюнки"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Оформлення і стиль"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Налаштування головного екрана"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Вимкнув адміністратор"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Дозволити обертання головного екрана"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 7016491..5b10dd2 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"اس سے ایپ کو ہوم اسکرین میں ترتیبات اور شارٹ کٹس کو پڑھنے کی اجازت ملتی ہے۔"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ہوم ترتیبات اور شارٹ کٹس کو لکھیں"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"اس سے ایپ کو ہوم اسکرین میں ترتیبات اور شارٹ کٹس کو تبدیل کرنے کی اجازت ملتی ہے۔"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> کو فون کالیں کرنے کی اجازت نہیں ہے"</string>
<string name="gadget_error_text" msgid="740356548025791839">"ویجیٹ لوڈ نہیں کیا جا سکتا"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"ویجیٹ کی ترتیبات"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"سیٹ اپ مکمل کرنے کیلئے تھپتھپائیں"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"فولڈر: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> یا مزید آئٹمز"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"وال پیپرز"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"وال پیپر اور طرز"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"ہوم اسکرین میں ترمیم کریں"</string>
<string name="settings_button_text" msgid="8873672322605444408">"ہوم ترتیبات"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"آپ کے منتظم کی طرف سے غیر فعال کر دیا گیا"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"ہوم اسکرین گھمانے کی اجازت دیں"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index efee723..81ad4dc 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Ilovaga bosh ekrandagi yorliqlar va sozlamalarni oʻqish uchun ruxsat beradi."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"Bosh ekrandagi sozlamalar va yorliqlarni oʻzgartirish"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Ilova bosh ekrandagi yorliqlar va sozlamalarni oʻzgartirishi mumkin."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasiga qo‘ng‘iroqlarni amalga oshirishga ruxsat berilmagan"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Vidjet yuklanmadi"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Vidjet sozlamalari"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Sozlashni yakunlash uchun bosing"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Jild: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> va undan ortiq fayllar"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fon rasmlari"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fon rasmi va uslubi"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Bosh ekranni tahrirlash"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Bosh ekran sozlamalari"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administrator tomonidan o‘chirilgan"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Bosh ekranni burishga ruxsat"</string>
diff --git a/res/values-v31/colors.xml b/res/values-v31/colors.xml
index 054fe47..985fe77 100644
--- a/res/values-v31/colors.xml
+++ b/res/values-v31/colors.xml
@@ -64,5 +64,28 @@
<color name="all_apps_button_color">@android:color/system_neutral2_700</color>
- <color name="widget_picker_background_selected">@android:color/system_accent2_100</color>
+ <color name="widget_picker_title_color_light">
+ @android:color/system_neutral1_900</color>
+ <color name="widget_picker_header_app_title_color_light">
+ @android:color/system_neutral1_900</color>
+ <color name="widget_picker_header_app_subtitle_color_light">
+ @android:color/system_neutral2_700</color>
+ <color name="widget_picker_header_background_color_light">
+ @android:color/system_accent2_100</color>
+ <color name="widget_picker_suggestions_icon_background_color_light">
+ @android:color/system_accent1_0</color>
+ <color name="widget_picker_suggestions_icon_color_light">
+ @android:color/system_accent1_600</color>
+ <color name="widget_picker_search_text_color_light">
+ @android:color/system_neutral2_700</color>
+ <color name="widget_picker_tab_background_selected_light">
+ @android:color/system_accent1_600</color>
+ <color name="widget_picker_tab_background_unselected_light">
+ @android:color/system_neutral1_100</color>
+ <color name="widget_picker_selected_tab_text_color_light">
+ @android:color/system_accent1_0</color>
+ <color name="widget_picker_unselected_tab_text_color_light">
+ @android:color/system_neutral2_700</color>
+ <color name="widget_picker_collapse_handle_color_light">
+ @android:color/system_neutral2_200</color>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 14b8822..ba7b0ce 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Cho phép ứng dụng đọc các chế độ cài đặt và lối tắt trên màn hình chính."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"ghi lối tắt và các chế độ cài đặt trên màn hình chính"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Cho phép ứng dụng thay đổi các chế độ cài đặt và lối tắt trên màn hình chính."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> không được phép thực hiện cuộc gọi điện thoại"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Không thể tải tiện ích"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Cài đặt tiện ích"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Nhấn để hoàn tất thiết lập"</string>
@@ -101,6 +100,8 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Thư mục: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> mục trở lên"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Hình nền"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hình nền và phong cách"</string>
+ <!-- no translation found for edit_home_screen (8947858375782098427) -->
+ <skip />
<string name="settings_button_text" msgid="8873672322605444408">"Cài đặt màn hình chính"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Bị tắt bởi quản trị viên của bạn"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Cho phép xoay màn hình chính"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index b30b6ee..415f5fa 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"允许此应用读取主屏幕中的设置和快捷方式。"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"写入主屏幕设置和快捷方式"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"允许此应用更改主屏幕中的设置和快捷方式。"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"不允许使用“<xliff:g id="APP_NAME">%1$s</xliff:g>”拨打电话"</string>
<string name="gadget_error_text" msgid="740356548025791839">"无法加载微件"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"微件设置"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"点按即可完成设置"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"文件夹:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 个或更多项目"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"壁纸"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"壁纸和样式"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"修改主屏幕"</string>
<string name="settings_button_text" msgid="8873672322605444408">"主屏幕设置"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"已被您的管理员停用"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"允许旋转主屏幕"</string>
@@ -159,13 +159,13 @@
<string name="all_apps_personal_tab" msgid="4190252696685155002">"个人"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"工作"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"工作资料"</string>
- <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"工作应用带有标志,您的 IT 管理员可以看到此类应用"</string>
+ <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"工作应用都有相应的标志,且您的 IT 管理员可以看到它们"</string>
<string name="work_profile_edu_accept" msgid="6069788082535149071">"知道了"</string>
<string name="work_apps_paused_title" msgid="3040901117349444598">"工作应用已暂停"</string>
<string name="work_apps_paused_info_body" msgid="1687828929959237477">"您将不会收到来自工作应用的通知"</string>
<string name="work_apps_paused_body" msgid="261634750995824906">"工作应用无法向您发送通知、不能耗用电池电量,也无法获取您的位置信息"</string>
<string name="work_apps_paused_telephony_unavailable_body" msgid="8358872357502756790">"您将不会收到来自工作应用的来电、短信或通知"</string>
- <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"工作应用带有标志,您的 IT 管理员可以看到工作应用"</string>
+ <string name="work_apps_paused_edu_banner" msgid="8872412121608402058">"工作应用都有相应的标志,且您的 IT 管理员可以看到它们"</string>
<string name="work_apps_paused_edu_accept" msgid="6377476824357318532">"知道了"</string>
<string name="work_apps_pause_btn_text" msgid="4669288269140620646">"暂停工作应用"</string>
<string name="work_apps_enable_btn_text" msgid="1736198302467317371">"取消暂停"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 4313e96..1429169 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"允許應用程式讀取主畫面中的設定和捷徑。"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"寫入主畫面設定和捷徑"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"允許應用程式變更主畫面中的設定和捷徑。"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"不允許 <xliff:g id="APP_NAME">%1$s</xliff:g> 撥打電話"</string>
<string name="gadget_error_text" msgid="740356548025791839">"無法載入小工具"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"小工具設定"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"輕按即可完成設定"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"資料夾:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 個或以上的項目"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"桌布"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"桌布和樣式"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"編輯主畫面"</string>
<string name="settings_button_text" msgid="8873672322605444408">"主畫面設定"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"已由您的管理員停用"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"允許旋轉主畫面"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 330d65f..7f949e8 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"允許應用程式讀取主畫面中的設定和捷徑。"</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"寫入主畫面設定和捷徑"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"允許應用程式變更主畫面中的設定和捷徑。"</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> 無法撥打電話"</string>
<string name="gadget_error_text" msgid="740356548025791839">"無法載入小工具"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"小工具設定"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"輕觸即可完成設定"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"資料夾:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 個以上的項目"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"桌布"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"桌布和樣式"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"編輯主畫面"</string>
<string name="settings_button_text" msgid="8873672322605444408">"主畫面設定"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"已由你的管理員停用"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"允許旋轉主畫面"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 39204f4..6b457d1 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -81,7 +81,6 @@
<string name="permdesc_read_settings" msgid="4208061150510996676">"Ivumela i-app ukuthi ifunde amasethingi nezinqamuleli ekhaya."</string>
<string name="permlab_write_settings" msgid="4820028712156303762">"bhala amasethingi wasekhaya nezinqamuleli"</string>
<string name="permdesc_write_settings" msgid="726859348127868466">"Ivumela ama-app ukushintsha amasethingi nezinqamuleli ekhaya."</string>
- <string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ayivunyelwe ukwenza amakholi wefoni"</string>
<string name="gadget_error_text" msgid="740356548025791839">"Ayikwazi ukulayisha iwijethi"</string>
<string name="gadget_setup_text" msgid="8348374825537681407">"Amasethingi ewijethi"</string>
<string name="gadget_complete_setup_text" msgid="309040266978007925">"Thepha ukuze uqede ukusetha"</string>
@@ -101,6 +100,7 @@
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Ifolda: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> noma izinto eziningi"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"Izithombe zangemuva"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Isithombe sangemuva nesitayela"</string>
+ <string name="edit_home_screen" msgid="8947858375782098427">"Hlela Isikrini Sasekhaya"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Amasethingi asekhaya"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Kukhutshazwe umlawuli wakho"</string>
<string name="allow_rotation_title" msgid="7222049633713050106">"Vumela ukuzungezisa kwesikrini sasekhaya"</string>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 417ae61..ce8d901 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -54,8 +54,20 @@
<attr name="dropTargetHoverTextColor" format="color" />
<attr name="preloadIconAccentColor" format="color" />
<attr name="preloadIconBackgroundColor" format="color" />
+ <attr name="widgetPickerTitleColor" format="color"/>
+ <attr name="widgetPickerPrimarySurfaceColor" format="color"/>
+ <attr name="widgetPickerSecondarySurfaceColor" format="color"/>
<attr name="widgetPickerHeaderAppTitleColor" format="color"/>
<attr name="widgetPickerHeaderAppSubtitleColor" format="color"/>
+ <attr name="widgetPickerHeaderBackgroundColor" format="color"/>
+ <attr name="widgetPickerSuggestionsIconBackgroundColor" format="color"/>
+ <attr name="widgetPickerSuggestionsIconColor" format="color"/>
+ <attr name="widgetPickerTabBackgroundSelected" format="color"/>
+ <attr name="widgetPickerTabBackgroundUnselected" format="color"/>
+ <attr name="widgetPickerSearchTextColor" format="color"/>
+ <attr name="widgetPickerSelectedTabTextColor" format="color"/>
+ <attr name="widgetPickerUnselectedTabTextColor" format="color"/>
+ <attr name="widgetPickerCollapseHandleColor" format="color"/>
<!-- BubbleTextView specific attributes. -->
<declare-styleable name="BubbleTextView">
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 8788557..58a447d 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -88,4 +88,34 @@
<color name="preload_icon_background_color_dark">#40484D</color>
<color name="work_turn_on_stroke">?android:attr/colorAccent</color>
+
+ <color name="widget_picker_primary_surface_color_light">#EFEDED</color>
+ <color name="widget_picker_secondary_surface_color_light">#FAF9F8</color>
+ <color name="widget_picker_title_color_light">#1F1F1F</color>
+ <color name="widget_picker_header_app_title_color_light">#1F1F1F</color>
+ <color name="widget_picker_header_app_subtitle_color_light">#444746</color>
+ <color name="widget_picker_header_background_color_light">#C2E7FF</color>
+ <color name="widget_picker_suggestions_icon_background_color_light">#FFFFFF</color>
+ <color name="widget_picker_suggestions_icon_color_light">#0B57D0</color>
+ <color name="widget_picker_search_text_color_light">#444746</color>
+ <color name="widget_picker_tab_background_selected_light">#0B57D0</color>
+ <color name="widget_picker_tab_background_unselected_light">#E3E3E3</color>
+ <color name="widget_picker_selected_tab_text_color_light">#FFFFFF</color>
+ <color name="widget_picker_unselected_tab_text_color_light">#444746</color>
+ <color name="widget_picker_collapse_handle_color_light">#C4C7C5</color>
+
+ <color name="widget_picker_primary_surface_color_dark">#1F2020</color>
+ <color name="widget_picker_secondary_surface_color_dark">#393939</color>
+ <color name="widget_picker_title_color_dark">#E3E3E3</color>
+ <color name="widget_picker_header_app_title_color_dark">#E3E3E3</color>
+ <color name="widget_picker_header_app_subtitle_color_dark">#C4C7C5</color>
+ <color name="widget_picker_header_background_color_dark">#004A77</color>
+ <color name="widget_picker_suggestions_icon_background_color_dark">#FFFFFFFF</color>
+ <color name="widget_picker_suggestions_icon_color_dark">#062E6F</color>
+ <color name="widget_picker_search_text_color_dark">#C4C7C5</color>
+ <color name="widget_picker_tab_background_selected_dark">#A8C7FA</color>
+ <color name="widget_picker_tab_background_unselected_dark">#343535</color>
+ <color name="widget_picker_selected_tab_text_color_dark">#2D312F</color>
+ <color name="widget_picker_unselected_tab_text_color_dark">#C4C7C5</color>
+ <color name="widget_picker_collapse_handle_color_dark">#444746</color>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 5dc4f0a..98d09e7 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -174,14 +174,63 @@
<item name="android:colorPrimaryDark">#E8EAED</item>
<item name="android:textColorSecondary">?android:attr/textColorPrimary</item>
<item name="android:colorEdgeEffect">?android:attr/textColorSecondary</item>
- <item name="widgetPickerHeaderAppTitleColor">@color/app_title_text_light</item>
- <item name="widgetPickerHeaderAppSubtitleColor">@color/app_subtitle_text_light</item>
+ <item name="widgetPickerPrimarySurfaceColor">
+ @color/widget_picker_primary_surface_color_light</item>
+ <item name="widgetPickerSecondarySurfaceColor">
+ @color/widget_picker_secondary_surface_color_light</item>
+ <item name="widgetPickerTitleColor">@color/widget_picker_title_color_light</item>
+ <item name="widgetPickerHeaderAppTitleColor">
+ @color/widget_picker_header_app_title_color_light</item>
+ <item name="widgetPickerHeaderAppSubtitleColor">
+ @color/widget_picker_header_app_subtitle_color_light</item>
+ <item name="widgetPickerHeaderBackgroundColor">
+ @color/widget_picker_header_background_color_light</item>
+ <item name="widgetPickerSuggestionsIconBackgroundColor">
+ @color/widget_picker_suggestions_icon_background_color_light</item>
+ <item name="widgetPickerSuggestionsIconColor">
+ @color/widget_picker_suggestions_icon_color_light</item>
+ <item name="widgetPickerSearchTextColor">@color/widget_picker_search_text_color_light</item>
+ <item name="widgetPickerTabBackgroundSelected">
+ @color/widget_picker_tab_background_selected_light</item>
+ <item name="widgetPickerTabBackgroundUnselected">
+ @color/widget_picker_tab_background_unselected_light</item>
+ <item name="widgetPickerSelectedTabTextColor">
+ @color/widget_picker_selected_tab_text_color_light</item>
+ <item name="widgetPickerUnselectedTabTextColor">
+ @color/widget_picker_unselected_tab_text_color_light</item>
+ <item name="widgetPickerCollapseHandleColor">
+ @color/widget_picker_collapse_handle_color_light</item>
</style>
<style name="WidgetContainerTheme.Dark" parent="AppTheme.Dark">
<item name="android:colorEdgeEffect">?android:attr/textColorSecondary</item>
<item name="android:colorPrimaryDark">#616161</item> <!-- Gray 700 -->
- <item name="widgetPickerHeaderAppTitleColor">@color/app_title_text_dark</item>
- <item name="widgetPickerHeaderAppSubtitleColor">@color/app_subtitle_text_dark</item>
+ <item name="widgetPickerPrimarySurfaceColor">
+ @color/widget_picker_primary_surface_color_dark</item>
+ <item name="widgetPickerSecondarySurfaceColor">
+ @color/widget_picker_secondary_surface_color_dark</item>
+ <item name="widgetPickerTitleColor">
+ @color/widget_picker_title_color_dark</item>
+ <item name="widgetPickerHeaderAppTitleColor">
+ @color/widget_picker_header_app_title_color_dark</item>
+ <item name="widgetPickerHeaderAppSubtitleColor">
+ @color/widget_picker_header_app_subtitle_color_dark</item>
+ <item name="widgetPickerHeaderBackgroundColor">
+ @color/widget_picker_header_background_color_dark</item>
+ <item name="widgetPickerSuggestionsIconBackgroundColor">
+ @color/widget_picker_suggestions_icon_background_color_dark</item>
+ <item name="widgetPickerSuggestionsIconColor">
+ @color/widget_picker_suggestions_icon_color_dark</item>
+ <item name="widgetPickerSearchTextColor">@color/widget_picker_search_text_color_dark</item>
+ <item name="widgetPickerTabBackgroundSelected">
+ @color/widget_picker_tab_background_selected_dark</item>
+ <item name="widgetPickerTabBackgroundUnselected">
+ @color/widget_picker_tab_background_unselected_dark</item>
+ <item name="widgetPickerSelectedTabTextColor">
+ @color/widget_picker_selected_tab_text_color_dark</item>
+ <item name="widgetPickerUnselectedTabTextColor">
+ @color/widget_picker_unselected_tab_text_color_dark</item>
+ <item name="widgetPickerCollapseHandleColor">
+ @color/widget_picker_collapse_handle_color_dark</item>
</style>
<style name="FastScrollerPopup" parent="@android:style/TextAppearance.DeviceDefault.DialogWindowTitle">
diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java
index 961c254..450a9f0 100644
--- a/src/com/android/launcher3/BubbleTextView.java
+++ b/src/com/android/launcher3/BubbleTextView.java
@@ -398,6 +398,15 @@
|| mDisplay == DISPLAY_TASKBAR;
}
+ /**
+ * Only if actual text can be displayed in two line, the {@code true} value will be effective.
+ */
+ protected boolean shouldUseTwoLine() {
+ return (FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get() && mDisplay == DISPLAY_ALL_APPS)
+ || (FeatureFlags.ENABLE_TWOLINE_DEVICESEARCH.get()
+ && mDisplay == DISPLAY_SEARCH_RESULT);
+ }
+
@UiThread
@VisibleForTesting
public void applyLabel(ItemInfoWithIcon info) {
@@ -667,10 +676,8 @@
setPadding(getPaddingLeft(), (height - cellHeightPx) / 2, getPaddingRight(),
getPaddingBottom());
}
- // only apply two line for all_apps
- if (((FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get() && mDisplay == DISPLAY_ALL_APPS)
- || (FeatureFlags.ENABLE_TWOLINE_DEVICESEARCH.get()
- && mDisplay == DISPLAY_SEARCH_RESULT)) && (mLastOriginalText != null)) {
+ // Only apply two line for all_apps and device search only if necessary.
+ if (shouldUseTwoLine() && (mLastOriginalText != null)) {
CharSequence modifiedString = modifyTitleToSupportMultiLine(
MeasureSpec.getSize(widthMeasureSpec) - getCompoundPaddingLeft()
- getCompoundPaddingRight(),
diff --git a/src/com/android/launcher3/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java
index e653283..fc7f614 100644
--- a/src/com/android/launcher3/ButtonDropTarget.java
+++ b/src/com/android/launcher3/ButtonDropTarget.java
@@ -18,8 +18,6 @@
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
-import static com.android.launcher3.LauncherState.NORMAL;
-
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Rect;
@@ -34,12 +32,15 @@
import android.widget.PopupWindow;
import android.widget.TextView;
+import androidx.annotation.VisibleForTesting;
+
import com.android.launcher3.anim.Interpolators;
import com.android.launcher3.dragndrop.DragController;
import com.android.launcher3.dragndrop.DragLayer;
import com.android.launcher3.dragndrop.DragOptions;
import com.android.launcher3.dragndrop.DragView;
import com.android.launcher3.model.data.ItemInfo;
+import com.android.launcher3.views.ActivityContext;
/**
* Implements a DropTarget.
@@ -59,8 +60,8 @@
private final Rect mTempRect = new Rect();
- protected final Launcher mLauncher;
-
+ protected final ActivityContext mActivityContext;
+ protected final DropTargetHandler mDropTargetHandler;
protected DropTargetBar mDropTargetBar;
/** Whether this drop target is active for the current drag */
@@ -83,13 +84,17 @@
private PopupWindow mToolTip;
private int mToolTipLocation;
+ public ButtonDropTarget(Context context) {
+ this(context, null, 0);
+ }
public ButtonDropTarget(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public ButtonDropTarget(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
- mLauncher = Launcher.getLauncher(context);
+ mActivityContext = ActivityContext.lookupContext(context);
+ mDropTargetHandler = mActivityContext.getDropTargetHandler();
Resources resources = getResources();
mDragDistanceThreshold = resources.getDimensionPixelSize(R.dimen.drag_distanceThreshold);
@@ -210,7 +215,8 @@
@Override
public boolean isDropEnabled() {
return mActive && (mAccessibleDrag ||
- mLauncher.getDragController().getDistanceDragged() >= mDragDistanceThreshold);
+ mActivityContext.getDragController().getDistanceDragged()
+ >= mDragDistanceThreshold);
}
@Override
@@ -229,7 +235,8 @@
// FlingAnimation handles the animation and then calls completeDrop().
return;
}
- final DragLayer dragLayer = mLauncher.getDragLayer();
+
+ final DragLayer dragLayer = mDropTargetHandler.getDragLayer();
final DragView dragView = d.dragView;
final Rect to = getIconRect(d);
final float scale = (float) to.width() / dragView.getMeasuredWidth();
@@ -240,9 +247,10 @@
Runnable onAnimationEndRunnable = () -> {
completeDrop(d);
mDropTargetBar.onDragEnd();
- mLauncher.getStateManager().goToState(NORMAL);
+ mDropTargetHandler.onDropAnimationComplete();
};
+
dragLayer.animateView(d.dragView, to, scale, 0.1f, 0.1f,
DRAG_VIEW_DROP_DURATION,
Interpolators.DEACCEL_2, onAnimationEndRunnable,
@@ -261,10 +269,10 @@
@Override
public void getHitRectRelativeToDragLayer(android.graphics.Rect outRect) {
super.getHitRect(outRect);
- outRect.bottom += mLauncher.getDeviceProfile().dropTargetDragPaddingPx;
+ outRect.bottom += mActivityContext.getDeviceProfile().dropTargetDragPaddingPx;
sTempCords[0] = sTempCords[1] = 0;
- mLauncher.getDragLayer().getDescendantCoordRelativeToSelf(this, sTempCords);
+ mActivityContext.getDragLayer().getDescendantCoordRelativeToSelf(this, sTempCords);
outRect.offsetTo(sTempCords[0], sTempCords[1]);
}
@@ -273,7 +281,7 @@
int viewHeight = dragObject.dragView.getMeasuredHeight();
int drawableWidth = mDrawable.getIntrinsicWidth();
int drawableHeight = mDrawable.getIntrinsicHeight();
- DragLayer dragLayer = mLauncher.getDragLayer();
+ DragLayer dragLayer = mDropTargetHandler.getDragLayer();
// Find the rect to animate to (the view is center aligned)
Rect to = new Rect();
@@ -314,7 +322,7 @@
@Override
public void onClick(View v) {
- mLauncher.getAccessibilityDelegate().handleAccessibleDrop(this, null, null);
+ mDropTargetHandler.onClick(this);
}
public void setTextVisible(boolean isVisible) {
@@ -407,7 +415,8 @@
/**
* Returns if the text will be clipped vertically within the provided availableHeight.
*/
- private boolean isTextClippedVertically(int availableHeight) {
+ @VisibleForTesting
+ protected boolean isTextClippedVertically(int availableHeight) {
availableHeight -= getPaddingTop() + getPaddingBottom();
if (availableHeight <= 0) {
return true;
diff --git a/src/com/android/launcher3/DeleteDropTarget.java b/src/com/android/launcher3/DeleteDropTarget.java
index 9ef9320..9a5627a 100644
--- a/src/com/android/launcher3/DeleteDropTarget.java
+++ b/src/com/android/launcher3/DeleteDropTarget.java
@@ -18,24 +18,19 @@
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ITEM_DROPPED_ON_CANCEL;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ITEM_DROPPED_ON_REMOVE;
-import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_UNDO;
import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
-import com.android.launcher3.LauncherSettings.Favorites;
import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
import com.android.launcher3.dragndrop.DragOptions;
import com.android.launcher3.logging.StatsLogManager;
-import com.android.launcher3.model.ModelWriter;
import com.android.launcher3.model.data.FolderInfo;
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.model.data.LauncherAppWidgetInfo;
import com.android.launcher3.model.data.WorkspaceItemInfo;
-import com.android.launcher3.util.IntSet;
-import com.android.launcher3.views.Snackbar;
public class DeleteDropTarget extends ButtonDropTarget {
@@ -43,6 +38,10 @@
private StatsLogManager.LauncherEvent mLauncherEvent;
+ public DeleteDropTarget(Context context) {
+ this(context, null, 0);
+ }
+
public DeleteDropTarget(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
@@ -120,7 +119,7 @@
@Override
public void onDrop(DragObject d, DragOptions options) {
if (canRemove(d.dragInfo)) {
- mLauncher.getModelWriter().prepareToUndoDelete();
+ mDropTargetHandler.prepareToUndoDelete();
}
super.onDrop(d, options);
mStatsLogManager.logger().withInstanceId(d.logInstanceId)
@@ -131,26 +130,8 @@
public void completeDrop(DragObject d) {
ItemInfo item = d.dragInfo;
if (canRemove(item)) {
- ItemInfo pageItem = item;
- if (item.container <= 0) {
- View v = mLauncher.getWorkspace().getHomescreenIconByItemId(item.container);
- if (v != null) {
- pageItem = (ItemInfo) v.getTag();
- }
- }
- IntSet pageIds = pageItem.container == Favorites.CONTAINER_DESKTOP
- ? IntSet.wrap(pageItem.screenId)
- : mLauncher.getWorkspace().getCurrentPageScreenIds();
-
onAccessibilityDrop(null, item);
- ModelWriter modelWriter = mLauncher.getModelWriter();
- Runnable onUndoClicked = () -> {
- mLauncher.setPagesToBindSynchronously(pageIds);
- modelWriter.abortDelete();
- mLauncher.getStatsLogManager().logger().log(LAUNCHER_UNDO);
- };
- Snackbar.show(mLauncher, R.string.item_removed, R.string.undo,
- modelWriter::commitDelete, onUndoClicked);
+ mDropTargetHandler.onDeleteComplete(item);
}
}
@@ -162,9 +143,7 @@
// Remove the item from launcher and the db, we can ignore the containerInfo in this call
// because we already remove the drag view from the folder (if the drag originated from
// a folder) in Folder.beginDrag()
- mLauncher.removeItem(view, item, true /* deleteFromDb */, "removed by accessibility drop");
- mLauncher.getWorkspace().stripEmptyScreens();
- mLauncher.getDragLayer()
- .announceForAccessibility(getContext().getString(R.string.item_removed));
+ CharSequence announcement = getContext().getString(R.string.item_removed);
+ mDropTargetHandler.onAccessibilityDelete(view, item, announcement);
}
}
diff --git a/src/com/android/launcher3/DropTargetHandler.kt b/src/com/android/launcher3/DropTargetHandler.kt
new file mode 100644
index 0000000..277f8b3
--- /dev/null
+++ b/src/com/android/launcher3/DropTargetHandler.kt
@@ -0,0 +1,119 @@
+package com.android.launcher3
+
+import android.content.ComponentName
+import android.view.View
+import com.android.launcher3.DropTarget.DragObject
+import com.android.launcher3.SecondaryDropTarget.DeferredOnComplete
+import com.android.launcher3.dragndrop.DragLayer
+import com.android.launcher3.logging.StatsLogManager.LauncherEvent
+import com.android.launcher3.model.ModelWriter
+import com.android.launcher3.model.data.ItemInfo
+import com.android.launcher3.model.data.LauncherAppWidgetInfo
+import com.android.launcher3.util.IntSet
+import com.android.launcher3.util.PendingRequestArgs
+import com.android.launcher3.views.Snackbar
+
+/**
+ * Handler class for drop target actions that require modifying or interacting with launcher.
+ *
+ * This class is created by Launcher and provided the instance of launcher when created, which
+ * allows us to decouple drop target controllers from Launcher to enable easier testing.
+ */
+class DropTargetHandler(launcher: Launcher) {
+ val mLauncher: Launcher = launcher
+
+ val modelWriter: ModelWriter = mLauncher.modelWriter
+
+ fun onDropAnimationComplete() {
+ mLauncher.stateManager.goToState(LauncherState.NORMAL)
+ }
+
+ fun onSecondaryTargetCompleteDrop(target: ComponentName?, d: DragObject) {
+ when (val dragSource = d.dragSource) {
+ is DeferredOnComplete -> {
+ val deferred: DeferredOnComplete = dragSource
+ if (d.dragSource is SecondaryDropTarget.DeferredOnComplete) {
+ target?.let {
+ deferred.mPackageName = it.packageName
+ mLauncher.addOnResumeCallback { deferred.onLauncherResume() }
+ }
+ ?: deferred.sendFailure()
+ }
+ }
+ }
+ }
+
+ fun reconfigureWidget(widgetId: Int, info: ItemInfo) {
+ mLauncher.setWaitingForResult(PendingRequestArgs.forWidgetInfo(widgetId, null, info))
+ mLauncher.appWidgetHolder.startConfigActivity(
+ mLauncher,
+ widgetId,
+ Launcher.REQUEST_RECONFIGURE_APPWIDGET
+ )
+ }
+
+ fun dismissPrediction(
+ announcement: CharSequence,
+ onActionClicked: Runnable,
+ onDismiss: Runnable?
+ ) {
+ mLauncher.dragLayer.announceForAccessibility(announcement)
+ Snackbar.show(mLauncher, R.string.item_removed, R.string.undo, onDismiss, onActionClicked)
+ }
+
+ fun getViewUnderDrag(info: ItemInfo): View? {
+ return if (
+ info is LauncherAppWidgetInfo &&
+ info.container == LauncherSettings.Favorites.CONTAINER_DESKTOP &&
+ mLauncher.workspace.dragInfo != null
+ ) {
+ mLauncher.workspace.dragInfo.cell
+ } else null
+ }
+
+ fun prepareToUndoDelete() {
+ mLauncher.modelWriter.prepareToUndoDelete()
+ }
+
+ fun onDeleteComplete(item: ItemInfo) {
+ var pageItem: ItemInfo = item
+ if (item.container <= 0) {
+ val v = mLauncher.workspace.getHomescreenIconByItemId(item.container)
+ v?.let { pageItem = v.tag as ItemInfo }
+ }
+ val pageIds =
+ if (pageItem.container == LauncherSettings.Favorites.CONTAINER_DESKTOP)
+ IntSet.wrap(pageItem.screenId)
+ else mLauncher.workspace.currentPageScreenIds
+ val onUndoClicked = Runnable {
+ mLauncher.setPagesToBindSynchronously(pageIds)
+ modelWriter.abortDelete()
+ mLauncher.statsLogManager.logger().log(LauncherEvent.LAUNCHER_UNDO)
+ }
+
+ Snackbar.show(
+ mLauncher,
+ R.string.item_removed,
+ R.string.undo,
+ modelWriter::commitDelete,
+ onUndoClicked
+ )
+ }
+
+ fun onAccessibilityDelete(view: View?, item: ItemInfo, announcement: CharSequence) {
+ // Remove the item from launcher and the db, we can ignore the containerInfo in this call
+ // because we already remove the drag view from the folder (if the drag originated from
+ // a folder) in Folder.beginDrag()
+ mLauncher.removeItem(view, item, true /* deleteFromDb */, "removed by accessibility drop")
+ mLauncher.workspace.stripEmptyScreens()
+ mLauncher.dragLayer.announceForAccessibility(announcement)
+ }
+
+ fun getDragLayer(): DragLayer {
+ return mLauncher.dragLayer
+ }
+
+ fun onClick(buttonDropTarget: ButtonDropTarget) {
+ mLauncher.accessibilityDelegate.handleAccessibleDrop(buttonDropTarget, null, null)
+ }
+}
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 59f56ff..b8bb305 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1771,6 +1771,11 @@
}
@Override
+ public DropTargetHandler getDropTargetHandler() {
+ return new DropTargetHandler(this);
+ }
+
+ @Override
public void startActivityForResult(Intent intent, int requestCode, Bundle options) {
if (requestCode != -1) {
mPendingActivityRequestCode = requestCode;
diff --git a/src/com/android/launcher3/SecondaryDropTarget.java b/src/com/android/launcher3/SecondaryDropTarget.java
index 791cfff..2dd610cb 100644
--- a/src/com/android/launcher3/SecondaryDropTarget.java
+++ b/src/com/android/launcher3/SecondaryDropTarget.java
@@ -3,8 +3,6 @@
import static android.appwidget.AppWidgetManager.INVALID_APPWIDGET_ID;
import static android.appwidget.AppWidgetProviderInfo.WIDGET_FEATURE_RECONFIGURABLE;
-import static com.android.launcher3.Launcher.REQUEST_RECONFIGURE_APPWIDGET;
-import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_DESKTOP;
import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.DISMISS_PREDICTION;
import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.INVALID;
import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.RECONFIGURE;
@@ -45,10 +43,7 @@
import com.android.launcher3.logging.StatsLogManager.StatsLogger;
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.model.data.ItemInfoWithIcon;
-import com.android.launcher3.model.data.LauncherAppWidgetInfo;
import com.android.launcher3.util.PackageManagerHelper;
-import com.android.launcher3.util.PendingRequestArgs;
-import com.android.launcher3.views.Snackbar;
import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
import java.net.URISyntaxException;
@@ -204,7 +199,7 @@
user = item.user;
}
if (intent != null) {
- LauncherActivityInfo info = mLauncher.getSystemService(LauncherApps.class)
+ LauncherActivityInfo info = getContext().getSystemService(LauncherApps.class)
.resolveActivity(intent, user);
if (info != null
&& (info.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
@@ -239,23 +234,11 @@
public void completeDrop(final DragObject d) {
ComponentName target = performDropAction(getViewUnderDrag(d.dragInfo), d.dragInfo,
d.logInstanceId);
- if (d.dragSource instanceof DeferredOnComplete) {
- DeferredOnComplete deferred = (DeferredOnComplete) d.dragSource;
- if (target != null) {
- deferred.mPackageName = target.getPackageName();
- mLauncher.addOnResumeCallback(deferred::onLauncherResume);
- } else {
- deferred.sendFailure();
- }
- }
+ mDropTargetHandler.onSecondaryTargetCompleteDrop(target, d);
}
private View getViewUnderDrag(ItemInfo info) {
- if (info instanceof LauncherAppWidgetInfo && info.container == CONTAINER_DESKTOP &&
- mLauncher.getWorkspace().getDragInfo() != null) {
- return mLauncher.getWorkspace().getDragInfo().cell;
- }
- return null;
+ return mDropTargetHandler.getViewUnderDrag(info);
}
/**
@@ -286,18 +269,15 @@
if (mCurrentAccessibilityAction == RECONFIGURE) {
int widgetId = getReconfigurableWidgetId(view);
if (widgetId != INVALID_APPWIDGET_ID) {
- mLauncher.setWaitingForResult(
- PendingRequestArgs.forWidgetInfo(widgetId, null, info));
- mLauncher.getAppWidgetHolder().startConfigActivity(mLauncher, widgetId,
- REQUEST_RECONFIGURE_APPWIDGET);
+ mDropTargetHandler.reconfigureWidget(widgetId, info);
}
return null;
}
if (mCurrentAccessibilityAction == DISMISS_PREDICTION) {
if (FeatureFlags.ENABLE_DISMISS_PREDICTION_UNDO.get()) {
- mLauncher.getDragLayer()
- .announceForAccessibility(getContext().getString(R.string.item_removed));
- Snackbar.show(mLauncher, R.string.item_removed, R.string.undo, () -> { }, () -> {
+ CharSequence announcement = getContext().getString(R.string.item_removed);
+ mDropTargetHandler
+ .dismissPrediction(announcement, () -> {}, () -> {
mStatsLogManager.logger()
.withInstanceId(instanceId)
.withItemInfo(info)
@@ -306,20 +286,23 @@
}
return null;
}
- // else: mCurrentAccessibilityAction == UNINSTALL
ComponentName cn = getUninstallTarget(info);
if (cn == null) {
// System applications cannot be installed. For now, show a toast explaining that.
// We may give them the option of disabling apps this way.
- Toast.makeText(mLauncher, R.string.uninstall_system_app_text, Toast.LENGTH_SHORT).show();
+ Toast.makeText(
+ getContext(),
+ R.string.uninstall_system_app_text,
+ Toast.LENGTH_SHORT
+ ).show();
return null;
}
try {
- Intent i = Intent.parseUri(mLauncher.getString(R.string.delete_package_intent), 0)
+ Intent i = Intent.parseUri(getContext().getString(R.string.delete_package_intent), 0)
.setData(Uri.fromParts("package", cn.getPackageName(), cn.getClassName()))
.putExtra(Intent.EXTRA_USER, info.user);
- mLauncher.startActivity(i);
+ getContext().startActivity(i);
FileLog.d(TAG, "start uninstall activity " + cn.getPackageName());
return cn;
} catch (URISyntaxException e) {
@@ -339,12 +322,12 @@
* A wrapper around {@link DragSource} which delays the {@link #onDropCompleted} action until
* {@link #onLauncherResume}
*/
- private class DeferredOnComplete implements DragSource {
+ protected class DeferredOnComplete implements DragSource {
private final DragSource mOriginal;
private final Context mContext;
- private String mPackageName;
+ protected String mPackageName;
private DragObject mDragObject;
public DeferredOnComplete(DragSource original, Context context) {
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index bedb41c..cdebe44 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -73,7 +73,157 @@
* <p>
* Declare a new ToggleableFlag below. Give it a unique key (e.g. "QSB_ON_FIRST_SCREEN"),
* and set a default value for the flag. This will be the default value on Debug builds.
+ * <p>
+ * Please only add flags to your assigned block to prevent merge conflicts. If you do not have
+ * a block, please update the current empty block and add a new empty block below to prevent
+ * merge conflicts with the previous block.
*/
+ // TODO(Block 1): Clean up flags
+ public static final BooleanFlag ENABLE_ONE_SEARCH_MOTION = getReleaseFlag(270394223,
+ "ENABLE_ONE_SEARCH_MOTION", ENABLED, "Enables animations in OneSearch.");
+
+ public static final BooleanFlag ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES = getReleaseFlag(
+ 270394041, "ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES", DISABLED,
+ "Enable option to replace decorator-based search result backgrounds with drawables");
+
+ public static final BooleanFlag ENABLE_SEARCH_RESULT_LAUNCH_TRANSITION = getReleaseFlag(
+ 270394392, "ENABLE_SEARCH_RESULT_LAUNCH_TRANSITION", DISABLED,
+ "Enable option to launch search results using the new view container transitions");
+
+ // TODO(Block 2): Clean up flags
+ public static final BooleanFlag ENABLE_MULTI_DISPLAY_PARTIAL_DEPTH = getDebugFlag(270395073,
+ "ENABLE_MULTI_DISPLAY_PARTIAL_DEPTH", DISABLED,
+ "Allow bottom sheet depth to be smaller than 1 for multi-display devices.");
+
+ // TODO(Block 3): Clean up flags
+ public static final BooleanFlag ENABLE_DISMISS_PREDICTION_UNDO = getDebugFlag(270394476,
+ "ENABLE_DISMISS_PREDICTION_UNDO", DISABLED,
+ "Show an 'Undo' snackbar when users dismiss a predicted hotseat item");
+
+ public static final BooleanFlag CONTINUOUS_VIEW_TREE_CAPTURE = getDebugFlag(270395171,
+ "CONTINUOUS_VIEW_TREE_CAPTURE", ENABLED, "Capture View tree every frame");
+
+ public static final BooleanFlag ENABLE_WORKSPACE_LOADING_OPTIMIZATION = getDebugFlag(251502424,
+ "ENABLE_WORKSPACE_LOADING_OPTIMIZATION", DISABLED,
+ "load the current workspace screen visible to the user before the rest rather than "
+ + "loading all of them at once.");
+
+ public static final BooleanFlag CHANGE_MODEL_DELEGATE_LOADING_ORDER = getDebugFlag(251502424,
+ "CHANGE_MODEL_DELEGATE_LOADING_ORDER", DISABLED,
+ "changes the timing of the loading and binding of delegate items during "
+ + "data preparation for loading the home screen");
+
+ // TODO(Block 4): Cleanup flags
+ public static final BooleanFlag ENABLE_FLOATING_SEARCH_BAR =
+ getReleaseFlag(270390286, "ENABLE_FLOATING_SEARCH_BAR", DISABLED,
+ "Keep All Apps search bar at the bottom (but above keyboard if open)");
+
+ public static final BooleanFlag ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS = getReleaseFlag(
+ 270394468, "ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS", ENABLED,
+ "Enable option to show keyboard when going to all-apps");
+
+ // TODO(Block 5): Clean up flags
+ public static final BooleanFlag ENABLE_TWOLINE_DEVICESEARCH = getDebugFlag(201388851,
+ "ENABLE_TWOLINE_DEVICESEARCH", TEAMFOOD,
+ "Enable two line label for icons with labels on device search.");
+
+ public static final BooleanFlag ENABLE_ICON_IN_TEXT_HEADER = getDebugFlag(270395143,
+ "ENABLE_ICON_IN_TEXT_HEADER", DISABLED, "Show icon in textheader");
+
+ public static final BooleanFlag ENABLE_PREMIUM_HAPTICS_ALL_APPS = getDebugFlag(270396358,
+ "ENABLE_PREMIUM_HAPTICS_ALL_APPS", DISABLED,
+ "Enables haptics opening/closing All apps");
+
+ // TODO(Block 6): Clean up flags
+ public static final BooleanFlag WIDGETS_IN_LAUNCHER_PREVIEW = getDebugFlag(270393268,
+ "WIDGETS_IN_LAUNCHER_PREVIEW", ENABLED,
+ "Enables widgets in Launcher preview for the Wallpaper app.");
+
+ public static final BooleanFlag ENABLE_ALL_APPS_SEARCH_IN_TASKBAR = getDebugFlag(270393900,
+ "ENABLE_ALL_APPS_SEARCH_IN_TASKBAR", DISABLED,
+ "Enables Search box in Taskbar All Apps.");
+
+ public static final BooleanFlag SECONDARY_DRAG_N_DROP_TO_PIN = getDebugFlag(270395140,
+ "SECONDARY_DRAG_N_DROP_TO_PIN", DISABLED,
+ "Enable dragging and dropping to pin apps within secondary display");
+
+ // TODO(Block 7): Clean up flags
+ public static final BooleanFlag ENABLE_FORCED_MONO_ICON = getDebugFlag(270396209,
+ "ENABLE_FORCED_MONO_ICON", DISABLED,
+ "Enable the ability to generate monochromatic icons, if it is not provided by the app");
+
+ // TODO(Block 8): Clean up flags
+ public static final BooleanFlag ENABLE_MATERIAL_U_POPUP = getDebugFlag(270395516,
+ "ENABLE_MATERIAL_U_POPUP", ENABLED, "Switch popup UX to use material U");
+
+ // TODO(Block 9): Clean up flags
+ public static final BooleanFlag ENABLE_DOWNLOAD_APP_UX_V2 = getReleaseFlag(270395134,
+ "ENABLE_DOWNLOAD_APP_UX_V2", ENABLED, "Updates the download app UX"
+ + " to have better visuals");
+
+ public static final BooleanFlag ENABLE_DOWNLOAD_APP_UX_V3 = getDebugFlag(270395186,
+ "ENABLE_DOWNLOAD_APP_UX_V3", ENABLED, "Updates the download app UX"
+ + " to have better visuals, improve contrast, and color");
+
+ public static final BooleanFlag SHOW_DOT_PAGINATION = getDebugFlag(270395278,
+ "SHOW_DOT_PAGINATION", ENABLED, "Enable showing dot pagination in workspace");
+
+ public static final BooleanFlag LARGE_SCREEN_WIDGET_PICKER = getDebugFlag(270395809,
+ "LARGE_SCREEN_WIDGET_PICKER", ENABLED, "Enable new widget picker that takes "
+ + "advantage of large screen format");
+
+ public static final BooleanFlag MULTI_SELECT_EDIT_MODE = getDebugFlag(270709220,
+ "MULTI_SELECT_EDIT_MODE", DISABLED, "Enable new multi-select edit mode "
+ + "for home screen");
+
+ // TODO(Block 10): Clean up flags
+ public static final BooleanFlag ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION = getDebugFlag(270614790,
+ "ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION", DISABLED,
+ "Enables predictive back aniamtion from all apps and widgets to home");
+
+ // TODO(Block 11): Clean up flags
+ public static final BooleanFlag ENABLE_TWO_PANEL_HOME = getDebugFlag(270392643,
+ "ENABLE_TWO_PANEL_HOME", ENABLED,
+ "Uses two panel on home screen. Only applicable on large screen devices.");
+
+ public static final BooleanFlag FOLDABLE_WORKSPACE_REORDER = getDebugFlag(270395070,
+ "FOLDABLE_WORKSPACE_REORDER", DISABLED,
+ "In foldables, when reordering the icons and widgets, is now going to use both sides");
+
+ public static final BooleanFlag FOLDABLE_SINGLE_PAGE = getDebugFlag(270395274,
+ "FOLDABLE_SINGLE_PAGE", ENABLED, "Use a single page for the workspace");
+
+ // TODO(Block 12): Clean up flags
+ public static final BooleanFlag ENABLE_MULTI_INSTANCE = getDebugFlag(270396680,
+ "ENABLE_MULTI_INSTANCE", DISABLED,
+ "Enables creation and filtering of multiple task instances in overview");
+
+ // TODO(Block 13): Clean up flags
+ public static final BooleanFlag ENABLE_DEVICE_SEARCH_PERFORMANCE_LOGGING = getReleaseFlag(
+ 270391397, "ENABLE_DEVICE_SEARCH_PERFORMANCE_LOGGING", DISABLED,
+ "Allows on device search in all apps logging");
+
+ // TODO(Block 14): Cleanup flags
+ public static final BooleanFlag ASSISTANT_GIVES_LAUNCHER_FOCUS = getDebugFlag(270391641,
+ "ASSISTANT_GIVES_LAUNCHER_FOCUS", DISABLED,
+ "Allow Launcher to handle nav bar gestures while Assistant is running over it");
+
+ public static final BooleanFlag NOTIFY_CRASHES = getDebugFlag(270393108, "NOTIFY_CRASHES",
+ DISABLED, "Sends a notification whenever launcher encounters an uncaught exception.");
+
+ public static final BooleanFlag FORCE_PERSISTENT_TASKBAR = getDebugFlag(270395077,
+ "FORCE_PERSISTENT_TASKBAR", DISABLED, "Forces taskbar to be persistent, even in gesture"
+ + " nav mode and when transient taskbar is enabled.");
+
+ public static final BooleanFlag ENABLE_TRANSIENT_TASKBAR = getDebugFlag(270395798,
+ "ENABLE_TRANSIENT_TASKBAR", ENABLED, "Enables transient taskbar.");
+
+ // TODO(Block 15): Clean up flags
+ public static final BooleanFlag ENABLE_APP_CLONING_CHANGES_IN_LAUNCHER = getDebugFlag(266177840,
+ "ENABLE_APP_CLONING_CHANGES_IN_LAUNCHER", DISABLED,
+ "Removes clone apps from the work profile tab.");
+
+ // TODO(Block 16): Clean up flags
// When enabled the promise icon is visible in all apps while installation an app.
public static final BooleanFlag PROMISE_APPS_IN_ALL_APPS = getDebugFlag(270390012,
"PROMISE_APPS_IN_ALL_APPS", DISABLED, "Add promise icon in all-apps");
@@ -85,10 +235,6 @@
public static final BooleanFlag ENABLE_DEVICE_SEARCH = getReleaseFlag(270390907,
"ENABLE_DEVICE_SEARCH", ENABLED, "Allows on device search in all apps");
- public static final BooleanFlag ENABLE_FLOATING_SEARCH_BAR =
- getReleaseFlag(270390286, "ENABLE_FLOATING_SEARCH_BAR", DISABLED,
- "Keep All Apps search bar at the bottom (but above keyboard if open)");
-
public static final BooleanFlag ENABLE_HIDE_HEADER = getReleaseFlag(270390930,
"ENABLE_HIDE_HEADER", ENABLED, "Hide header on keyboard before typing in all apps");
@@ -102,14 +248,6 @@
public static final BooleanFlag ENABLE_TWOLINE_ALLAPPS = getDebugFlag(270390937,
"ENABLE_TWOLINE_ALLAPPS", DISABLED, "Enables two line label inside all apps.");
- public static final BooleanFlag ENABLE_TWOLINE_DEVICESEARCH = getDebugFlag(201388851,
- "ENABLE_TWOLINE_DEVICESEARCH", TEAMFOOD,
- "Enable two line label for icons with labels on device search.");
-
- public static final BooleanFlag ENABLE_DEVICE_SEARCH_PERFORMANCE_LOGGING = getReleaseFlag(
- 270391397, "ENABLE_DEVICE_SEARCH_PERFORMANCE_LOGGING", DISABLED,
- "Allows on device search in all apps logging");
-
public static final BooleanFlag IME_STICKY_SNACKBAR_EDU = getDebugFlag(270391693,
"IME_STICKY_SNACKBAR_EDU", ENABLED, "Show sticky IME edu in AllApps");
@@ -125,10 +263,75 @@
"INJECT_FALLBACK_APP_CORPUS_RESULTS", DISABLED,
"Inject fallback app corpus result when AiAi fails to return it.");
- public static final BooleanFlag ASSISTANT_GIVES_LAUNCHER_FOCUS = getDebugFlag(270391641,
- "ASSISTANT_GIVES_LAUNCHER_FOCUS", DISABLED,
- "Allow Launcher to handle nav bar gestures while Assistant is running over it");
+ // TODO(Block 17): Clean up flags
+ public static final BooleanFlag ENABLE_TASKBAR_PINNING = getDebugFlag(270396583,
+ "ENABLE_TASKBAR_PINNING", DISABLED,
+ "Enables taskbar pinning to allow user to switch between transient and persistent "
+ + "taskbar flavors");
+ // TODO(Block 18): Clean up flags
+ public static final BooleanFlag ENABLE_LAUNCH_FROM_STAGED_APP = getDebugFlag(270395567,
+ "ENABLE_LAUNCH_FROM_STAGED_APP", ENABLED,
+ "Enable the ability to tap a staged app during split select to launch it in full "
+ + "screen");
+
+ public static final BooleanFlag ENABLE_APP_PAIRS = getDebugFlag(274189428,
+ "ENABLE_APP_PAIRS", DISABLED,
+ "Enables the ability to create and save app pairs on the Home screen for easy"
+ + " split screen launching.");
+
+ // TODO(Block 19): Clean up flags
+ public static final BooleanFlag SCROLL_TOP_TO_RESET = getReleaseFlag(270395177,
+ "SCROLL_TOP_TO_RESET", ENABLED,
+ "Bring up IME and focus on input when scroll to top if 'Always show keyboard'"
+ + " is enabled or in prefix state");
+
+ public static final BooleanFlag ENABLE_SEARCH_UNINSTALLED_APPS = getReleaseFlag(270395269,
+ "ENABLE_SEARCH_UNINSTALLED_APPS", DISABLED, "Search uninstalled app results.");
+
+ // TODO(Block 20): Clean up flags
+ public static final BooleanFlag ENABLE_SCRIM_FOR_APP_LAUNCH = getDebugFlag(270393276,
+ "ENABLE_SCRIM_FOR_APP_LAUNCH", DISABLED, "Enables scrim during app launch animation.");
+
+ public static final BooleanFlag ENABLE_BACK_SWIPE_HOME_ANIMATION = getDebugFlag(270393426,
+ "ENABLE_BACK_SWIPE_HOME_ANIMATION", ENABLED,
+ "Enables home animation to icon when user swipes back.");
+
+ // TODO(Block 21): Clean up flags
+ public static final BooleanFlag ENABLE_APP_ICON_FOR_INLINE_SHORTCUTS = getDebugFlag(270395087,
+ "ENABLE_APP_ICON_IN_INLINE_SHORTCUTS", DISABLED, "Show app icon for inline shortcut");
+
+ // TODO(Block 22): Clean up flags
+ public static final BooleanFlag RECEIVE_UNFOLD_EVENTS_FROM_SYSUI = getDebugFlag(270397209,
+ "RECEIVE_UNFOLD_EVENTS_FROM_SYSUI", ENABLED,
+ "Enables receiving unfold animation events from sysui instead of calculating "
+ + "them in launcher process using hinge sensor values.");
+
+ // TODO(Block 23): Clean up flags
+ public static final BooleanFlag ENABLE_GRID_ONLY_OVERVIEW = getDebugFlag(270397206,
+ "ENABLE_GRID_ONLY_OVERVIEW", DISABLED,
+ "Enable a grid-only overview without a focused task.");
+
+ // TODO(Block 24): Clean up flags
+ public static final BooleanFlag ENABLE_NEW_MIGRATION_LOGIC = getDebugFlag(270393455,
+ "ENABLE_NEW_MIGRATION_LOGIC", ENABLED,
+ "Enable the new grid migration logic, keeping pages when src < dest");
+
+ public static final BooleanFlag ENABLE_CACHED_WIDGET = getDebugFlag(270395008,
+ "ENABLE_CACHED_WIDGET", ENABLED,
+ "Show previously cached widgets as opposed to deferred widget where available");
+
+ // TODO(Block 25): Clean up flags
+ public static final BooleanFlag ENABLE_NEW_GESTURE_NAV_TUTORIAL = getDebugFlag(270396257,
+ "ENABLE_NEW_GESTURE_NAV_TUTORIAL", ENABLED,
+ "Enable the redesigned gesture navigation tutorial");
+
+ // TODO(Block 26): Clean up flags
+ public static final BooleanFlag ENABLE_WIDGET_HOST_IN_BACKGROUND = getDebugFlag(270394384,
+ "ENABLE_WIDGET_HOST_IN_BACKGROUND", ENABLED,
+ "Enable background widget updates listening for widget holder");
+
+ // TODO(Block 27): Clean up flags
public static final BooleanFlag ENABLE_OVERLAY_CONNECTION_OPTIM = getDebugFlag(270392629,
"ENABLE_OVERLAY_CONNECTION_OPTIM", DISABLED,
"Enable optimizing overlay service connection");
@@ -148,219 +351,52 @@
"SEPARATE_RECENTS_ACTIVITY", DISABLED,
"Uses a separate recents activity instead of using the integrated recents+Launcher UI");
- public static final BooleanFlag ENABLE_TWO_PANEL_HOME = getDebugFlag(270392643,
- "ENABLE_TWO_PANEL_HOME", ENABLED,
- "Uses two panel on home screen. Only applicable on large screen devices.");
-
- public static final BooleanFlag ENABLE_SCRIM_FOR_APP_LAUNCH = getDebugFlag(270393276,
- "ENABLE_SCRIM_FOR_APP_LAUNCH", DISABLED, "Enables scrim during app launch animation.");
-
public static final BooleanFlag ENABLE_ENFORCED_ROUNDED_CORNERS = getReleaseFlag(270393258,
"ENABLE_ENFORCED_ROUNDED_CORNERS", ENABLED,
"Enforce rounded corners on all App Widgets");
- public static final BooleanFlag NOTIFY_CRASHES = getDebugFlag(270393108, "NOTIFY_CRASHES",
- DISABLED, "Sends a notification whenever launcher encounters an uncaught exception.");
-
public static final BooleanFlag ENABLE_WALLPAPER_SCRIM = getDebugFlag(270393604,
"ENABLE_WALLPAPER_SCRIM", DISABLED,
"Enables scrim over wallpaper for text protection.");
- public static final BooleanFlag WIDGETS_IN_LAUNCHER_PREVIEW = getDebugFlag(270393268,
- "WIDGETS_IN_LAUNCHER_PREVIEW", ENABLED,
- "Enables widgets in Launcher preview for the Wallpaper app.");
-
- public static final BooleanFlag ENABLE_BACK_SWIPE_HOME_ANIMATION = getDebugFlag(270393426,
- "ENABLE_BACK_SWIPE_HOME_ANIMATION", ENABLED,
- "Enables home animation to icon when user swipes back.");
-
- public static final BooleanFlag ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION = getDebugFlag(270614790,
- "ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION", DISABLED,
- "Enables predictive back aniamtion from all apps and widgets to home");
-
public static final BooleanFlag ENABLE_ICON_LABEL_AUTO_SCALING = getDebugFlag(270393294,
"ENABLE_ICON_LABEL_AUTO_SCALING", ENABLED,
"Enables scaling/spacing for icon labels to make more characters visible");
- public static final BooleanFlag ENABLE_ALL_APPS_BUTTON_IN_HOTSEAT = getDebugFlag(270393897,
- "ENABLE_ALL_APPS_BUTTON_IN_HOTSEAT", DISABLED,
- "Enables displaying the all apps button in the hotseat.");
+ public static final BooleanFlag USE_LOCAL_ICON_OVERRIDES = getDebugFlag(270394973,
+ "USE_LOCAL_ICON_OVERRIDES", ENABLED,
+ "Use inbuilt monochrome icons if app doesn't provide one");
- public static final BooleanFlag ENABLE_ALL_APPS_SEARCH_IN_TASKBAR = getDebugFlag(270393900,
- "ENABLE_ALL_APPS_SEARCH_IN_TASKBAR", DISABLED,
- "Enables Search box in Taskbar All Apps.");
-
+ // TODO(Block 28): Clean up flags
public static final BooleanFlag ENABLE_SPLIT_FROM_WORKSPACE = getDebugFlag(270393906,
"ENABLE_SPLIT_FROM_WORKSPACE", ENABLED,
"Enable initiating split screen from workspace.");
public static final BooleanFlag ENABLE_SPLIT_FROM_FULLSCREEN_WITH_KEYBOARD_SHORTCUTS =
getDebugFlag(270394122, "ENABLE_SPLIT_FROM_FULLSCREEN_SHORTCUT", DISABLED,
- "Enable splitting from fullscreen app with keyboard shortcuts");
+ "Enable splitting from fullscreen app with keyboard shortcuts");
public static final BooleanFlag ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE = getDebugFlag(
270393453, "ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE", DISABLED,
"Enable initiating split screen from workspace to workspace.");
- public static final BooleanFlag ENABLE_NEW_MIGRATION_LOGIC = getDebugFlag(270393455,
- "ENABLE_NEW_MIGRATION_LOGIC", ENABLED,
- "Enable the new grid migration logic, keeping pages when src < dest");
-
- public static final BooleanFlag ENABLE_WIDGET_HOST_IN_BACKGROUND = getDebugFlag(270394384,
- "ENABLE_WIDGET_HOST_IN_BACKGROUND", ENABLED,
- "Enable background widget updates listening for widget holder");
-
- public static final BooleanFlag ENABLE_ONE_SEARCH_MOTION = getReleaseFlag(270394223,
- "ENABLE_ONE_SEARCH_MOTION", ENABLED, "Enables animations in OneSearch.");
-
- public static final BooleanFlag ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES = getReleaseFlag(
- 270394041, "ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES", DISABLED,
- "Enable option to replace decorator-based search result backgrounds with drawables");
-
- public static final BooleanFlag ENABLE_SEARCH_RESULT_LAUNCH_TRANSITION = getReleaseFlag(
- 270394392, "ENABLE_SEARCH_RESULT_LAUNCH_TRANSITION", DISABLED,
- "Enable option to launch search results using the new view container transitions");
-
- public static final BooleanFlag ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS = getReleaseFlag(
- 270394468, "ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS", ENABLED,
- "Enable option to show keyboard when going to all-apps");
-
- public static final BooleanFlag USE_LOCAL_ICON_OVERRIDES = getDebugFlag(270394973,
- "USE_LOCAL_ICON_OVERRIDES", ENABLED,
- "Use inbuilt monochrome icons if app doesn't provide one");
-
- public static final BooleanFlag ENABLE_DISMISS_PREDICTION_UNDO = getDebugFlag(270394476,
- "ENABLE_DISMISS_PREDICTION_UNDO", DISABLED,
- "Show an 'Undo' snackbar when users dismiss a predicted hotseat item");
-
- public static final BooleanFlag ENABLE_CACHED_WIDGET = getDebugFlag(270395008,
- "ENABLE_CACHED_WIDGET", ENABLED,
- "Show previously cached widgets as opposed to deferred widget where available");
-
- public static final BooleanFlag USE_SEARCH_REQUEST_TIMEOUT_OVERRIDES = getDebugFlag(270395010,
- "USE_SEARCH_REQUEST_TIMEOUT_OVERRIDES", DISABLED,
- "Use local overrides for search request timeout");
-
- public static final BooleanFlag CONTINUOUS_VIEW_TREE_CAPTURE = getDebugFlag(270395171,
- "CONTINUOUS_VIEW_TREE_CAPTURE", ENABLED, "Capture View tree every frame");
-
- public static final BooleanFlag SECONDARY_DRAG_N_DROP_TO_PIN = getDebugFlag(270395140,
- "SECONDARY_DRAG_N_DROP_TO_PIN", DISABLED,
- "Enable dragging and dropping to pin apps within secondary display");
-
- public static final BooleanFlag FOLDABLE_WORKSPACE_REORDER = getDebugFlag(270395070,
- "FOLDABLE_WORKSPACE_REORDER", DISABLED,
- "In foldables, when reordering the icons and widgets, is now going to use both sides");
-
- public static final BooleanFlag ENABLE_MULTI_DISPLAY_PARTIAL_DEPTH = getDebugFlag(270395073,
- "ENABLE_MULTI_DISPLAY_PARTIAL_DEPTH", DISABLED,
- "Allow bottom sheet depth to be smaller than 1 for multi-display devices.");
-
- public static final BooleanFlag SCROLL_TOP_TO_RESET = getReleaseFlag(270395177,
- "SCROLL_TOP_TO_RESET", ENABLED,
- "Bring up IME and focus on input when scroll to top if 'Always show keyboard'"
- + " is enabled or in prefix state");
-
- public static final BooleanFlag ENABLE_MATERIAL_U_POPUP = getDebugFlag(270395516,
- "ENABLE_MATERIAL_U_POPUP", ENABLED, "Switch popup UX to use material U");
-
- public static final BooleanFlag ENABLE_SEARCH_UNINSTALLED_APPS = getReleaseFlag(270395269,
- "ENABLE_SEARCH_UNINSTALLED_APPS", DISABLED, "Search uninstalled app results.");
-
- public static final BooleanFlag ENABLE_DOWNLOAD_APP_UX_V2 = getReleaseFlag(270395134,
- "ENABLE_DOWNLOAD_APP_UX_V2", ENABLED, "Updates the download app UX"
- + " to have better visuals");
-
- public static final BooleanFlag ENABLE_DOWNLOAD_APP_UX_V3 = getDebugFlag(270395186,
- "ENABLE_DOWNLOAD_APP_UX_V3", ENABLED, "Updates the download app UX"
- + " to have better visuals, improve contrast, and color");
-
- public static final BooleanFlag FORCE_PERSISTENT_TASKBAR = getDebugFlag(270395077,
- "FORCE_PERSISTENT_TASKBAR", DISABLED, "Forces taskbar to be persistent, even in gesture"
- + " nav mode and when transient taskbar is enabled.");
-
- public static final BooleanFlag FOLDABLE_SINGLE_PAGE = getDebugFlag(270395274,
- "FOLDABLE_SINGLE_PAGE", ENABLED, "Use a single page for the workspace");
-
- public static final BooleanFlag ENABLE_TRANSIENT_TASKBAR = getDebugFlag(270395798,
- "ENABLE_TRANSIENT_TASKBAR", ENABLED, "Enables transient taskbar.");
-
public static final BooleanFlag ENABLE_TRACKPAD_GESTURE = getDebugFlag(271010401,
"ENABLE_TRACKPAD_GESTURE", ENABLED, "Enables trackpad gesture.");
- public static final BooleanFlag ENABLE_ICON_IN_TEXT_HEADER = getDebugFlag(270395143,
- "ENABLE_ICON_IN_TEXT_HEADER", DISABLED, "Show icon in textheader");
-
- public static final BooleanFlag ENABLE_APP_ICON_FOR_INLINE_SHORTCUTS = getDebugFlag(270395087,
- "ENABLE_APP_ICON_IN_INLINE_SHORTCUTS", DISABLED, "Show app icon for inline shortcut");
-
- public static final BooleanFlag SHOW_DOT_PAGINATION = getDebugFlag(270395278,
- "SHOW_DOT_PAGINATION", ENABLED, "Enable showing dot pagination in workspace");
-
- public static final BooleanFlag LARGE_SCREEN_WIDGET_PICKER = getDebugFlag(270395809,
- "LARGE_SCREEN_WIDGET_PICKER", ENABLED, "Enable new widget picker that takes "
- + "advantage of large screen format");
-
- public static final BooleanFlag MULTI_SELECT_EDIT_MODE = getDebugFlag(270709220,
- "MULTI_SELECT_EDIT_MODE", DISABLED, "Enable new multi-select edit mode "
- + "for home screen");
-
- public static final BooleanFlag ENABLE_NEW_GESTURE_NAV_TUTORIAL = getDebugFlag(270396257,
- "ENABLE_NEW_GESTURE_NAV_TUTORIAL", ENABLED,
- "Enable the redesigned gesture navigation tutorial");
-
- public static final BooleanFlag ENABLE_LAUNCH_FROM_STAGED_APP = getDebugFlag(270395567,
- "ENABLE_LAUNCH_FROM_STAGED_APP", ENABLED,
- "Enable the ability to tap a staged app during split select to launch it in full "
- + "screen");
-
- public static final BooleanFlag ENABLE_PREMIUM_HAPTICS_ALL_APPS = getDebugFlag(270396358,
- "ENABLE_PREMIUM_HAPTICS_ALL_APPS", DISABLED,
- "Enables haptics opening/closing All apps");
-
- public static final BooleanFlag ENABLE_FORCED_MONO_ICON = getDebugFlag(270396209,
- "ENABLE_FORCED_MONO_ICON", DISABLED,
- "Enable the ability to generate monochromatic icons, if it is not provided by the app");
-
- public static final BooleanFlag ENABLE_MULTI_INSTANCE = getDebugFlag(270396680,
- "ENABLE_MULTI_INSTANCE", DISABLED,
- "Enables creation and filtering of multiple task instances in overview");
-
- public static final BooleanFlag ENABLE_TASKBAR_PINNING = getDebugFlag(270396583,
- "ENABLE_TASKBAR_PINNING", DISABLED,
- "Enables taskbar pinning to allow user to switch between transient and persistent "
- + "taskbar flavors");
-
- public static final BooleanFlag ENABLE_WORKSPACE_LOADING_OPTIMIZATION = getDebugFlag(251502424,
- "ENABLE_WORKSPACE_LOADING_OPTIMIZATION", DISABLED,
- "load the current workspace screen visible to the user before the rest rather than "
- + "loading all of them at once.");
-
- public static final BooleanFlag CHANGE_MODEL_DELEGATE_LOADING_ORDER = getDebugFlag(251502424,
- "CHANGE_MODEL_DELEGATE_LOADING_ORDER", DISABLED,
- "changes the timing of the loading and binding of delegate items during "
- + "data preparation for loading the home screen");
-
- public static final BooleanFlag ENABLE_GRID_ONLY_OVERVIEW = getDebugFlag(270397206,
- "ENABLE_GRID_ONLY_OVERVIEW", DISABLED,
- "Enable a grid-only overview without a focused task.");
-
- public static final BooleanFlag RECEIVE_UNFOLD_EVENTS_FROM_SYSUI = getDebugFlag(270397209,
- "RECEIVE_UNFOLD_EVENTS_FROM_SYSUI", ENABLED,
- "Enables receiving unfold animation events from sysui instead of calculating "
- + "them in launcher process using hinge sensor values.");
+ // TODO(Block 29): Clean up flags
+ public static final BooleanFlag ENABLE_ALL_APPS_BUTTON_IN_HOTSEAT = getDebugFlag(270393897,
+ "ENABLE_ALL_APPS_BUTTON_IN_HOTSEAT", DISABLED,
+ "Enables displaying the all apps button in the hotseat.");
public static final BooleanFlag ENABLE_KEYBOARD_QUICK_SWITCH = getDebugFlag(270396844,
"ENABLE_KEYBOARD_QUICK_SWITCH", ENABLED, "Enables keyboard quick switching");
- public static final BooleanFlag ENABLE_APP_CLONING_CHANGES_IN_LAUNCHER = getDebugFlag(266177840,
- "ENABLE_APP_CLONING_CHANGES_IN_LAUNCHER", DISABLED,
- "Removes clone apps from the work profile tab.");
+ // TODO(Block 30): Clean up flags
+ public static final BooleanFlag USE_SEARCH_REQUEST_TIMEOUT_OVERRIDES = getDebugFlag(270395010,
+ "USE_SEARCH_REQUEST_TIMEOUT_OVERRIDES", DISABLED,
+ "Use local overrides for search request timeout");
- public static final BooleanFlag ENABLE_APP_PAIRS = getDebugFlag(274189428,
- "ENABLE_APP_PAIRS", DISABLED,
- "Enables the ability to create and save app pairs on the Home screen for easy"
- + " split screen launching.");
+ // TODO(Block 31): Empty block
public static final BooleanFlag ENABLE_CURSOR_HOVER_STATES = getDebugFlag(243191650,
"ENABLE_CURSOR_HOVER_STATES", DISABLED,
diff --git a/src/com/android/launcher3/model/BaseModelUpdateTask.java b/src/com/android/launcher3/model/BaseModelUpdateTask.java
index 01e58f2..bf839bf 100644
--- a/src/com/android/launcher3/model/BaseModelUpdateTask.java
+++ b/src/com/android/launcher3/model/BaseModelUpdateTask.java
@@ -15,6 +15,8 @@
*/
package com.android.launcher3.model;
+import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING;
+
import android.util.Log;
import androidx.annotation.NonNull;
@@ -30,6 +32,7 @@
import com.android.launcher3.model.data.AppInfo;
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.model.data.WorkspaceItemInfo;
+import com.android.launcher3.testing.shared.TestProtocol;
import com.android.launcher3.util.ComponentKey;
import com.android.launcher3.widget.model.WidgetsListBaseEntry;
@@ -106,6 +109,10 @@
List<WorkspaceItemInfo> workspaceUpdates = allUpdates.stream()
.filter(info -> info.id != ItemInfo.NO_ID)
.collect(Collectors.toList());
+ if (TestProtocol.sDebugTracing) {
+ Log.d(WORK_TAB_MISSING, "allUpdates: " + allUpdates.size() + ", workspaceUpdates "
+ + workspaceUpdates.size());
+ }
if (!workspaceUpdates.isEmpty()) {
scheduleCallbackTask(c -> c.bindWorkspaceItemsChanged(workspaceUpdates));
}
diff --git a/src/com/android/launcher3/model/UserLockStateChangedTask.java b/src/com/android/launcher3/model/UserLockStateChangedTask.java
index 63ca35b..cb78138 100644
--- a/src/com/android/launcher3/model/UserLockStateChangedTask.java
+++ b/src/com/android/launcher3/model/UserLockStateChangedTask.java
@@ -16,10 +16,12 @@
package com.android.launcher3.model;
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_LOCKED_USER;
+import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING;
import android.content.Context;
import android.content.pm.ShortcutInfo;
import android.os.UserHandle;
+import android.util.Log;
import androidx.annotation.NonNull;
@@ -29,6 +31,7 @@
import com.android.launcher3.shortcuts.ShortcutKey;
import com.android.launcher3.shortcuts.ShortcutRequest;
import com.android.launcher3.shortcuts.ShortcutRequest.QueryResult;
+import com.android.launcher3.testing.shared.TestProtocol;
import com.android.launcher3.util.ComponentKey;
import com.android.launcher3.util.ItemInfoMatcher;
@@ -60,6 +63,10 @@
if (mIsUserUnlocked) {
QueryResult shortcuts = new ShortcutRequest(context, mUser)
.query(ShortcutRequest.PINNED);
+ if (TestProtocol.sDebugTracing) {
+ Log.d(WORK_TAB_MISSING, "shortcutQuery success? "
+ + shortcuts.wasSuccess());
+ }
if (shortcuts.wasSuccess()) {
for (ShortcutInfo shortcut : shortcuts) {
pinnedShortcuts.put(ShortcutKey.fromInfo(shortcut), shortcut);
@@ -82,6 +89,9 @@
if (mIsUserUnlocked) {
ShortcutKey key = ShortcutKey.fromItemInfo(si);
ShortcutInfo shortcut = pinnedShortcuts.get(key);
+ if (TestProtocol.sDebugTracing) {
+ Log.d(WORK_TAB_MISSING, "shortcutInfo: " + shortcut);
+ }
// We couldn't verify the shortcut during loader. If its no longer available
// (probably due to clear data), delete the workspace item as well
if (shortcut == null) {
diff --git a/src/com/android/launcher3/views/ActivityContext.java b/src/com/android/launcher3/views/ActivityContext.java
index 79d4df0..31b1934 100644
--- a/src/com/android/launcher3/views/ActivityContext.java
+++ b/src/com/android/launcher3/views/ActivityContext.java
@@ -53,6 +53,7 @@
import com.android.launcher3.BubbleTextView;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
+import com.android.launcher3.DropTargetHandler;
import com.android.launcher3.LauncherSettings;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
@@ -189,6 +190,13 @@
}
/**
+ * Handler for actions taken on drop targets that require launcher
+ */
+ default DropTargetHandler getDropTargetHandler() {
+ return null;
+ }
+
+ /**
* Returns the FolderIcon with the given item id, if it exists.
*/
default @Nullable FolderIcon findFolderIcon(final int folderIconId) {
diff --git a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
index dc835e2..8c95d12 100644
--- a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
+++ b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
@@ -93,6 +93,7 @@
public static final String REQUEST_RECREATE_TASKBAR = "recreate-taskbar";
public static final String REQUEST_APP_LIST_FREEZE_FLAGS = "app-list-freeze-flags";
public static final String REQUEST_APPS_LIST_SCROLL_Y = "apps-list-scroll-y";
+ public static final String REQUEST_TASKBAR_APPS_LIST_SCROLL_Y = "taskbar-apps-list-scroll-y";
public static final String REQUEST_WIDGETS_SCROLL_Y = "widgets-scroll-y";
public static final String REQUEST_TARGET_INSETS = "target-insets";
public static final String REQUEST_WINDOW_INSETS = "window-insets";
diff --git a/tests/src/com/android/launcher3/DeleteDropTargetTest.kt b/tests/src/com/android/launcher3/DeleteDropTargetTest.kt
new file mode 100644
index 0000000..a588554
--- /dev/null
+++ b/tests/src/com/android/launcher3/DeleteDropTargetTest.kt
@@ -0,0 +1,42 @@
+package com.android.launcher3
+
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider.getApplicationContext
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.launcher3.Utilities.*
+import com.android.launcher3.util.ActivityContextWrapper
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class DeleteDropTargetTest {
+
+ private var mContext: Context = ActivityContextWrapper(getApplicationContext())
+
+ // Use a non-abstract class implementation
+ private var buttonDropTarget: DeleteDropTarget = DeleteDropTarget(mContext)
+
+ @Before
+ fun setup() {
+ enableRunningInTestHarnessForTests()
+ }
+
+ // Needs mText, mTempRect, getPaddingTop, getPaddingBottom
+ // availableHeight as a parameter
+ @Test
+ fun isTextClippedVerticallyTest() {
+ buttonDropTarget.mText = "My Test"
+ // No space for text
+ assertThat(buttonDropTarget.isTextClippedVertically(30)).isTrue()
+
+ // Some space for text, and just enough that the text should not be clipped
+ assertThat(buttonDropTarget.isTextClippedVertically(50)).isFalse()
+
+ // A lot of space for text so the text should not be clipped
+ assertThat(buttonDropTarget.isTextClippedVertically(100)).isFalse()
+ }
+}
diff --git a/tests/tapl/com/android/launcher3/tapl/AllApps.java b/tests/tapl/com/android/launcher3/tapl/AllApps.java
index 885707c..399abc7 100644
--- a/tests/tapl/com/android/launcher3/tapl/AllApps.java
+++ b/tests/tapl/com/android/launcher3/tapl/AllApps.java
@@ -261,10 +261,7 @@
}
}
- private int getAllAppsScroll() {
- return mLauncher.getTestInfo(TestProtocol.REQUEST_APPS_LIST_SCROLL_Y)
- .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
- }
+ protected abstract int getAllAppsScroll();
protected UiObject2 getAppListRecycler(UiObject2 allAppsContainer) {
return mLauncher.waitForObjectInContainer(allAppsContainer, "apps_list_view");
diff --git a/tests/tapl/com/android/launcher3/tapl/AllAppsFromTaskbar.java b/tests/tapl/com/android/launcher3/tapl/AllAppsFromTaskbar.java
index f804e28..c4744a1 100644
--- a/tests/tapl/com/android/launcher3/tapl/AllAppsFromTaskbar.java
+++ b/tests/tapl/com/android/launcher3/tapl/AllAppsFromTaskbar.java
@@ -56,4 +56,10 @@
return mLauncher.getTestInfo(TestProtocol.REQUEST_TASKBAR_ALL_APPS_TOP_PADDING)
.getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
}
+
+ @Override
+ protected int getAllAppsScroll() {
+ return mLauncher.getTestInfo(TestProtocol.REQUEST_TASKBAR_APPS_LIST_SCROLL_Y)
+ .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
+ }
}
diff --git a/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java b/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java
index 44de65a..1239d7a 100644
--- a/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java
+++ b/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java
@@ -118,4 +118,10 @@
public Qsb getQsb() {
return new AllAppsQsb(mLauncher, verifyActiveContainer());
}
+
+ @Override
+ protected int getAllAppsScroll() {
+ return mLauncher.getTestInfo(TestProtocol.REQUEST_APPS_LIST_SCROLL_Y)
+ .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
+ }
}
diff --git a/tests/tapl/com/android/launcher3/tapl/Workspace.java b/tests/tapl/com/android/launcher3/tapl/Workspace.java
index 1939dc6..7bb02cb 100644
--- a/tests/tapl/com/android/launcher3/tapl/Workspace.java
+++ b/tests/tapl/com/android/launcher3/tapl/Workspace.java
@@ -433,7 +433,7 @@
}
/** Returns the index of the current page */
- static int geCurrentPage(LauncherInstrumentation launcher) {
+ private static int geCurrentPage(LauncherInstrumentation launcher) {
return launcher.getTestInfo(TestProtocol.REQUEST_WORKSPACE_CURRENT_PAGE_INDEX).getInt(
TestProtocol.TEST_INFO_RESPONSE_FIELD);
}
@@ -602,8 +602,8 @@
* @param y
* @return the finishing position of the drag.
*/
- static Point dragToGivenWorkspace(LauncherInstrumentation launcher, Point currentPosition,
- int destinationWorkspaceIndex, int y) {
+ private static Point dragToGivenWorkspace(LauncherInstrumentation launcher,
+ Point currentPosition, int destinationWorkspaceIndex, int y) {
final long downTime = SystemClock.uptimeMillis();
int displayX = launcher.getRealDisplaySize().x;
int currentPage = Workspace.geCurrentPage(launcher);