Snap for 8474198 from 65df4506bf to tm-release
Change-Id: I06d0ceee0f33d0b3aaa5e3ff50e4b8fe5a9e95dd
This commit is contained in:
+1
-1
@@ -20,7 +20,7 @@
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.launcher3">
|
||||
<uses-sdk android:targetSdkVersion="30" android:minSdkVersion="26"/>
|
||||
<uses-sdk android:targetSdkVersion="33" android:minSdkVersion="26"/>
|
||||
<!--
|
||||
Manifest entries specific to Launcher3. This is merged with AndroidManifest-common.xml.
|
||||
Refer comments around specific entries on how to extend individual components.
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.launcher3">
|
||||
<uses-sdk android:targetSdkVersion="29" android:minSdkVersion="25"/>
|
||||
<uses-sdk android:targetSdkVersion="33" android:minSdkVersion="26"/>
|
||||
<!--
|
||||
Manifest entries specific to Launcher3. This is merged with AndroidManifest-common.xml.
|
||||
Refer comments around specific entries on how to extend individual components.
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<dimen name="task_menu_corner_radius">22dp</dimen>
|
||||
<dimen name="task_menu_item_corner_radius">4dp</dimen>
|
||||
<dimen name="task_menu_spacing">2dp</dimen>
|
||||
<dimen name="task_menu_width_grid">234dp</dimen>
|
||||
<dimen name="task_menu_width_grid">216dp</dimen>
|
||||
<dimen name="task_menu_horizontal_padding">8dp</dimen>
|
||||
<dimen name="overview_proactive_row_height">48dp</dimen>
|
||||
<dimen name="overview_proactive_row_bottom_margin">16dp</dimen>
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
package com.android.launcher3.proxy;
|
||||
|
||||
import static android.app.PendingIntent.FLAG_MUTABLE;
|
||||
import static android.app.PendingIntent.FLAG_ONE_SHOT;
|
||||
import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.PendingIntent.CanceledException;
|
||||
@@ -45,7 +49,7 @@ public class StartActivityParams implements Parcelable {
|
||||
|
||||
public StartActivityParams(Activity activity, int requestCode) {
|
||||
this(activity.createPendingResult(requestCode, new Intent(),
|
||||
PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_UPDATE_CURRENT), requestCode);
|
||||
FLAG_ONE_SHOT | FLAG_UPDATE_CURRENT | FLAG_MUTABLE), requestCode);
|
||||
}
|
||||
|
||||
public StartActivityParams(PendingIntent pendingIntent, int requestCode) {
|
||||
|
||||
+3
-2
@@ -48,8 +48,8 @@ import com.android.launcher3.states.StateAnimationConfig;
|
||||
import com.android.launcher3.touch.SingleAxisSwipeDetector;
|
||||
import com.android.launcher3.util.TouchController;
|
||||
import com.android.quickstep.TaskUtils;
|
||||
import com.android.quickstep.TopTaskTracker;
|
||||
import com.android.quickstep.util.AnimatorControllerWithResistance;
|
||||
import com.android.quickstep.util.AssistantUtilities;
|
||||
import com.android.quickstep.util.OverviewToHomeAnim;
|
||||
import com.android.quickstep.views.RecentsView;
|
||||
|
||||
@@ -112,7 +112,8 @@ public class NavBarToHomeTouchController implements TouchController,
|
||||
return true;
|
||||
}
|
||||
if (FeatureFlags.ASSISTANT_GIVES_LAUNCHER_FOCUS.get()
|
||||
&& AssistantUtilities.isExcludedAssistantRunning()) {
|
||||
&& TopTaskTracker.INSTANCE.get(mLauncher).getCachedTopTask(false)
|
||||
.isExcludedAssistant()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -102,7 +102,6 @@ import com.android.quickstep.util.ActivityInitListener;
|
||||
import com.android.quickstep.util.AnimatorControllerWithResistance;
|
||||
import com.android.quickstep.util.InputConsumerProxy;
|
||||
import com.android.quickstep.util.InputProxyHandlerFactory;
|
||||
import com.android.quickstep.util.LauncherSplitScreenListener;
|
||||
import com.android.quickstep.util.MotionPauseDetector;
|
||||
import com.android.quickstep.util.ProtoTracer;
|
||||
import com.android.quickstep.util.RecentsOrientedState;
|
||||
@@ -114,6 +113,7 @@ import com.android.quickstep.util.TaskViewSimulator;
|
||||
import com.android.quickstep.util.VibratorWrapper;
|
||||
import com.android.quickstep.views.RecentsView;
|
||||
import com.android.quickstep.views.TaskView;
|
||||
import com.android.systemui.shared.recents.model.Task;
|
||||
import com.android.systemui.shared.recents.model.ThumbnailData;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
import com.android.systemui.shared.system.InputConsumerController;
|
||||
@@ -564,24 +564,12 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
}
|
||||
|
||||
protected void notifyGestureAnimationStartToRecents() {
|
||||
ActivityManager.RunningTaskInfo[] runningTasks;
|
||||
Task[] runningTasks;
|
||||
if (mIsSwipeForStagedSplit) {
|
||||
int[] splitTaskIds =
|
||||
LauncherSplitScreenListener.INSTANCE.getNoCreate().getRunningSplitTaskIds();
|
||||
runningTasks = new ActivityManager.RunningTaskInfo[splitTaskIds.length];
|
||||
for (int i = 0; i < splitTaskIds.length; i++) {
|
||||
int taskId = splitTaskIds[i];
|
||||
// Order matters here, we want first indexed RunningTaskInfo to be leftTop task
|
||||
for (ActivityManager.RunningTaskInfo rti : mGestureState.getRunningTasks()) {
|
||||
if (taskId == rti.taskId) {
|
||||
runningTasks[i] = rti;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
int[] splitTaskIds = TopTaskTracker.INSTANCE.get(mContext).getRunningSplitTaskIds();
|
||||
runningTasks = mGestureState.getRunningTask().getPlaceholderTasks(splitTaskIds);
|
||||
} else {
|
||||
runningTasks = new ActivityManager.RunningTaskInfo[]{mGestureState.getRunningTask()};
|
||||
runningTasks = mGestureState.getRunningTask().getPlaceholderTasks();
|
||||
}
|
||||
mRecentsView.onGestureAnimationStart(runningTasks, mDeviceState.getRotationTouchHelper());
|
||||
}
|
||||
@@ -801,7 +789,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
RecentsAnimationTargets targets) {
|
||||
super.onRecentsAnimationStart(controller, targets);
|
||||
ActiveGestureLog.INSTANCE.addLog("startRecentsAnimationCallback", targets.apps.length);
|
||||
mRemoteTargetHandles = mTargetGluer.assignTargetsForSplitScreen(targets);
|
||||
mRemoteTargetHandles = mTargetGluer.assignTargetsForSplitScreen(mContext, targets);
|
||||
mRecentsAnimationController = controller;
|
||||
mRecentsAnimationTargets = targets;
|
||||
|
||||
@@ -1380,7 +1368,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
private SwipePipToHomeAnimator createWindowAnimationToPip(HomeAnimationFactory homeAnimFactory,
|
||||
RemoteAnimationTargetCompat runningTaskTarget, float startProgress) {
|
||||
// Directly animate the app to PiP (picture-in-picture) mode
|
||||
final ActivityManager.RunningTaskInfo taskInfo = mGestureState.getRunningTask();
|
||||
final ActivityManager.RunningTaskInfo taskInfo = runningTaskTarget.taskInfo;
|
||||
final RecentsOrientedState orientationState = mRemoteTargetHandles[0].getTaskViewSimulator()
|
||||
.getOrientationState();
|
||||
final int windowRotation = calculateWindowRotation(runningTaskTarget, orientationState);
|
||||
@@ -1782,8 +1770,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
new PictureInPictureSurfaceTransaction.Builder()
|
||||
.setAlpha(0f)
|
||||
.build();
|
||||
int[] taskIds =
|
||||
LauncherSplitScreenListener.INSTANCE.getNoCreate().getRunningSplitTaskIds();
|
||||
int[] taskIds = TopTaskTracker.INSTANCE.get(mContext).getRunningSplitTaskIds();
|
||||
for (int taskId : taskIds) {
|
||||
mRecentsAnimationController.setFinishTaskTransaction(taskId,
|
||||
tx, null /* overlay */);
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.ACT
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.app.ActivityOptions;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Context;
|
||||
@@ -69,7 +69,6 @@ import com.android.quickstep.util.RectFSpringAnim;
|
||||
import com.android.quickstep.util.TransformParams;
|
||||
import com.android.quickstep.util.TransformParams.BuilderProxy;
|
||||
import com.android.systemui.shared.recents.model.Task.TaskKey;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
import com.android.systemui.shared.system.InputConsumerController;
|
||||
import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
|
||||
import com.android.systemui.shared.system.SyncRtSurfaceTransactionApplierCompat.SurfaceParams;
|
||||
@@ -109,7 +108,7 @@ public class FallbackSwipeHandler extends
|
||||
super(context, deviceState, taskAnimationManager, gestureState, touchTimeMs,
|
||||
continuingLastGesture, inputConsumer);
|
||||
|
||||
mRunningOverHome = ActivityManagerWrapper.isHomeTask(mGestureState.getRunningTask());
|
||||
mRunningOverHome = mGestureState.getRunningTask().isHomeTask();
|
||||
if (mRunningOverHome) {
|
||||
runActionOnRemoteHandles(remoteTargetHandle ->
|
||||
remoteTargetHandle.getTransformParams().setHomeBuilderProxy(
|
||||
@@ -150,16 +149,17 @@ public class FallbackSwipeHandler extends
|
||||
return new FallbackPipToHomeAnimationFactory();
|
||||
}
|
||||
mActiveAnimationFactory = new FallbackHomeAnimationFactory(duration);
|
||||
startHomeIntent(mActiveAnimationFactory);
|
||||
startHomeIntent(mActiveAnimationFactory, runningTaskTarget);
|
||||
return mActiveAnimationFactory;
|
||||
}
|
||||
|
||||
private void startHomeIntent(
|
||||
@Nullable FallbackHomeAnimationFactory gestureContractAnimationFactory) {
|
||||
@Nullable FallbackHomeAnimationFactory gestureContractAnimationFactory,
|
||||
@Nullable RemoteAnimationTargetCompat runningTaskTarget) {
|
||||
ActivityOptions options = ActivityOptions.makeCustomAnimation(mContext, 0, 0);
|
||||
Intent intent = new Intent(mGestureState.getHomeIntent());
|
||||
if (gestureContractAnimationFactory != null) {
|
||||
gestureContractAnimationFactory.addGestureContract(intent);
|
||||
if (gestureContractAnimationFactory != null && runningTaskTarget != null) {
|
||||
gestureContractAnimationFactory.addGestureContract(intent, runningTaskTarget.taskInfo);
|
||||
}
|
||||
try {
|
||||
mContext.startActivity(intent, options.toBundle());
|
||||
@@ -187,7 +187,8 @@ public class FallbackSwipeHandler extends
|
||||
// the PiP task appearing.
|
||||
recentsCallback = () -> {
|
||||
callback.run();
|
||||
startHomeIntent(null /* gestureContractAnimationFactory */);
|
||||
startHomeIntent(
|
||||
null /* gestureContractAnimationFactory */, null /* runningTaskTarget */);
|
||||
};
|
||||
} else {
|
||||
recentsCallback = callback;
|
||||
@@ -212,7 +213,7 @@ public class FallbackSwipeHandler extends
|
||||
if (mRunningOverHome) {
|
||||
if (DisplayController.getNavigationMode(mContext).hasGestures) {
|
||||
mRecentsView.onGestureAnimationStartOnHome(
|
||||
new ActivityManager.RunningTaskInfo[]{mGestureState.getRunningTask()},
|
||||
mGestureState.getRunningTask().getPlaceholderTasks(),
|
||||
mDeviceState.getRotationTouchHelper());
|
||||
}
|
||||
} else {
|
||||
@@ -396,12 +397,12 @@ public class FallbackSwipeHandler extends
|
||||
}
|
||||
}
|
||||
|
||||
private void addGestureContract(Intent intent) {
|
||||
if (mRunningOverHome || mGestureState.getRunningTask() == null) {
|
||||
private void addGestureContract(Intent intent, RunningTaskInfo runningTaskInfo) {
|
||||
if (mRunningOverHome || runningTaskInfo == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
TaskKey key = new TaskKey(mGestureState.getRunningTask());
|
||||
TaskKey key = new TaskKey(runningTaskInfo);
|
||||
if (key.getComponent() != null) {
|
||||
if (sMessageReceiver == null) {
|
||||
sMessageReceiver = new StaticMessageReceiver();
|
||||
|
||||
@@ -22,7 +22,6 @@ import static com.android.quickstep.MultiStateCallback.DEBUG_STATES;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
|
||||
@@ -30,6 +29,7 @@ import com.android.launcher3.statemanager.BaseState;
|
||||
import com.android.launcher3.statemanager.StatefulActivity;
|
||||
import com.android.launcher3.tracing.GestureStateProto;
|
||||
import com.android.launcher3.tracing.SwipeHandlerProto;
|
||||
import com.android.quickstep.TopTaskTracker.CachedTaskInfo;
|
||||
import com.android.quickstep.util.ActiveGestureLog;
|
||||
import com.android.systemui.shared.recents.model.ThumbnailData;
|
||||
import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
|
||||
@@ -135,8 +135,7 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL
|
||||
private final MultiStateCallback mStateCallback;
|
||||
private final int mGestureId;
|
||||
|
||||
private ActivityManager.RunningTaskInfo mRunningTask;
|
||||
private ActivityManager.RunningTaskInfo[] mRunningTasks;
|
||||
private CachedTaskInfo mRunningTask;
|
||||
private GestureEndTarget mEndTarget;
|
||||
private RemoteAnimationTargetCompat mLastAppearedTaskTarget;
|
||||
private Set<Integer> mPreviouslyAppearedTaskIds = new HashSet<>();
|
||||
@@ -232,41 +231,24 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL
|
||||
/**
|
||||
* @return the running task for this gesture.
|
||||
*/
|
||||
public ActivityManager.RunningTaskInfo getRunningTask() {
|
||||
public CachedTaskInfo getRunningTask() {
|
||||
return mRunningTask;
|
||||
}
|
||||
|
||||
/**
|
||||
* This will array will contain the task returned by {@link #getRunningTask()}
|
||||
* @return the running tasks for this gesture.
|
||||
*/
|
||||
public ActivityManager.RunningTaskInfo[] getRunningTasks() {
|
||||
return mRunningTasks;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the running task id for this gesture.
|
||||
*/
|
||||
public int getRunningTaskId() {
|
||||
return mRunningTask != null ? mRunningTask.taskId : -1;
|
||||
return mRunningTask != null ? mRunningTask.getTaskId() : -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the running task for the gesture to be the given {@param runningTask}.
|
||||
*/
|
||||
public void updateRunningTask(ActivityManager.RunningTaskInfo runningTask) {
|
||||
public void updateRunningTask(CachedTaskInfo runningTask) {
|
||||
mRunningTask = runningTask;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO(b/210903248) refactor to consolidate w/ method above
|
||||
* Updates the running task for the gesture to be the given {@param runningTask}.
|
||||
*/
|
||||
public void updateRunningTasks(ActivityManager.RunningTaskInfo[] runningTasks) {
|
||||
mRunningTasks = runningTasks;
|
||||
updateRunningTask(runningTasks[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the last task that appeared during this gesture.
|
||||
*/
|
||||
@@ -339,7 +321,7 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL
|
||||
* user controlled gesture.
|
||||
*/
|
||||
public void setHandlingAtomicEvent(boolean handlingAtomicEvent) {
|
||||
mHandlingAtomicEvent = true;
|
||||
mHandlingAtomicEvent = handlingAtomicEvent;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -45,14 +45,11 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_Q
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
import android.app.ActivityTaskManager;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Region;
|
||||
import android.inputmethodservice.InputMethodService;
|
||||
import android.net.Uri;
|
||||
@@ -61,18 +58,17 @@ import android.os.RemoteException;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import androidx.annotation.BinderThread;
|
||||
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.util.DisplayController;
|
||||
import com.android.launcher3.util.DisplayController.DisplayInfoChangeListener;
|
||||
import com.android.launcher3.util.DisplayController.Info;
|
||||
import com.android.launcher3.util.DisplayController.NavigationMode;
|
||||
import com.android.launcher3.util.SettingsCache;
|
||||
import com.android.quickstep.TopTaskTracker.CachedTaskInfo;
|
||||
import com.android.quickstep.util.NavBarPosition;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
import com.android.systemui.shared.system.QuickStepContract;
|
||||
@@ -83,7 +79,6 @@ import com.android.systemui.shared.system.TaskStackChangeListeners;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Manages the state of the system during a swipe up gesture.
|
||||
@@ -97,7 +92,6 @@ public class RecentsAnimationDeviceState implements DisplayInfoChangeListener {
|
||||
private final int mDisplayId;
|
||||
private final RotationTouchHelper mRotationTouchHelper;
|
||||
private final TaskStackChangeListener mPipListener;
|
||||
private final List<ComponentName> mGestureBlockedActivities;
|
||||
// Cache for better performance since it doesn't change at runtime.
|
||||
private final boolean mCanImeRenderGesturalNavButtons =
|
||||
InputMethodService.canImeRenderGesturalNavButtons();
|
||||
@@ -129,6 +123,7 @@ public class RecentsAnimationDeviceState implements DisplayInfoChangeListener {
|
||||
}
|
||||
};
|
||||
|
||||
private int mGestureBlockingTaskId = -1;
|
||||
private Region mExclusionRegion;
|
||||
private SystemGestureExclusionListenerCompat mExclusionListener;
|
||||
|
||||
@@ -178,22 +173,6 @@ public class RecentsAnimationDeviceState implements DisplayInfoChangeListener {
|
||||
onDisplayInfoChanged(context, mDisplayController.getInfo(), CHANGE_ALL);
|
||||
runOnDestroy(() -> mDisplayController.removeChangeListener(this));
|
||||
|
||||
// Add any blocked activities
|
||||
String[] blockingActivities;
|
||||
try {
|
||||
blockingActivities =
|
||||
context.getResources().getStringArray(R.array.gesture_blocking_activities);
|
||||
} catch (Resources.NotFoundException e) {
|
||||
blockingActivities = new String[0];
|
||||
}
|
||||
mGestureBlockedActivities = new ArrayList<>(blockingActivities.length);
|
||||
for (String blockingActivity : blockingActivities) {
|
||||
if (!TextUtils.isEmpty(blockingActivity)) {
|
||||
mGestureBlockedActivities.add(
|
||||
ComponentName.unflattenFromString(blockingActivity));
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCache settingsCache = SettingsCache.INSTANCE.get(mContext);
|
||||
if (mIsOneHandedModeSupported) {
|
||||
Uri oneHandedUri = Settings.Secure.getUriFor(ONE_HANDED_ENABLED);
|
||||
@@ -367,11 +346,17 @@ public class RecentsAnimationDeviceState implements DisplayInfoChangeListener {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return whether the given running task info matches the gesture-blocked activity.
|
||||
* Sets the task id where gestures should be blocked
|
||||
*/
|
||||
public boolean isGestureBlockedActivity(ActivityManager.RunningTaskInfo runningTaskInfo) {
|
||||
return runningTaskInfo != null
|
||||
&& mGestureBlockedActivities.contains(runningTaskInfo.topActivity);
|
||||
public void setGestureBlockingTaskId(int taskId) {
|
||||
mGestureBlockingTaskId = taskId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return whether the given running task info matches the gesture-blocked task.
|
||||
*/
|
||||
public boolean isGestureBlockedTask(CachedTaskInfo taskInfo) {
|
||||
return taskInfo != null && taskInfo.getTaskId() == mGestureBlockingTaskId;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,7 +22,6 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.launcher3.util.SplitConfigurationOptions.StagedSplitBounds;
|
||||
import com.android.quickstep.util.AnimatorControllerWithResistance;
|
||||
import com.android.quickstep.util.LauncherSplitScreenListener;
|
||||
import com.android.quickstep.util.TaskViewSimulator;
|
||||
import com.android.quickstep.util.TransformParams;
|
||||
import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
|
||||
@@ -50,8 +49,7 @@ public class RemoteTargetGluer {
|
||||
* running tasks
|
||||
*/
|
||||
public RemoteTargetGluer(Context context, BaseActivityInterface sizingStrategy) {
|
||||
int[] splitIds = LauncherSplitScreenListener.INSTANCE.getNoCreate()
|
||||
.getRunningSplitTaskIds();
|
||||
int[] splitIds = TopTaskTracker.INSTANCE.get(context).getRunningSplitTaskIds();
|
||||
mRemoteTargetHandles = createHandles(context, sizingStrategy, splitIds.length == 2 ? 2 : 1);
|
||||
}
|
||||
|
||||
@@ -73,7 +71,7 @@ public class RemoteTargetGluer {
|
||||
* Length of targets.apps should match that of {@link #mRemoteTargetHandles}.
|
||||
*
|
||||
* If split screen may be active when this is called, you might want to use
|
||||
* {@link #assignTargetsForSplitScreen(RemoteAnimationTargets)}
|
||||
* {@link #assignTargetsForSplitScreen(Context, RemoteAnimationTargets)}
|
||||
*/
|
||||
public RemoteTargetHandle[] assignTargets(RemoteAnimationTargets targets) {
|
||||
for (int i = 0; i < mRemoteTargetHandles.length; i++) {
|
||||
@@ -90,9 +88,9 @@ public class RemoteTargetGluer {
|
||||
* apps in targets.apps to that of the _active_ split screened tasks.
|
||||
* See {@link #assignTargetsForSplitScreen(RemoteAnimationTargets, int[])}
|
||||
*/
|
||||
public RemoteTargetHandle[] assignTargetsForSplitScreen(RemoteAnimationTargets targets) {
|
||||
int[] splitIds = LauncherSplitScreenListener.INSTANCE.getNoCreate()
|
||||
.getRunningSplitTaskIds();
|
||||
public RemoteTargetHandle[] assignTargetsForSplitScreen(
|
||||
Context context, RemoteAnimationTargets targets) {
|
||||
int[] splitIds = TopTaskTracker.INSTANCE.get(context).getRunningSplitTaskIds();
|
||||
return assignTargetsForSplitScreen(targets, splitIds);
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@ import com.android.launcher3.anim.PendingAnimation;
|
||||
import com.android.launcher3.touch.PagedOrientationHandler;
|
||||
import com.android.quickstep.RemoteTargetGluer.RemoteTargetHandle;
|
||||
import com.android.quickstep.util.AnimatorControllerWithResistance;
|
||||
import com.android.quickstep.util.LauncherSplitScreenListener;
|
||||
import com.android.quickstep.util.RectFSpringAnim;
|
||||
import com.android.quickstep.util.TaskViewSimulator;
|
||||
import com.android.quickstep.util.TransformParams;
|
||||
@@ -82,8 +81,7 @@ public abstract class SwipeUpAnimationLogic implements
|
||||
mGestureState = gestureState;
|
||||
|
||||
mIsSwipeForStagedSplit = ENABLE_SPLIT_SELECT.get() &&
|
||||
LauncherSplitScreenListener.INSTANCE.getNoCreate()
|
||||
.getRunningSplitTaskIds().length > 1;
|
||||
TopTaskTracker.INSTANCE.get(context).getRunningSplitTaskIds().length > 1;
|
||||
|
||||
mTargetGluer = new RemoteTargetGluer(mContext, mGestureState.getActivityInterface());
|
||||
mRemoteTargetHandles = mTargetGluer.getRemoteTargetHandles();
|
||||
|
||||
@@ -35,6 +35,7 @@ import androidx.annotation.UiThread;
|
||||
|
||||
import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.config.FeatureFlags;
|
||||
import com.android.quickstep.TopTaskTracker.CachedTaskInfo;
|
||||
import com.android.quickstep.views.RecentsView;
|
||||
import com.android.systemui.shared.recents.model.ThumbnailData;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
@@ -234,9 +235,8 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn
|
||||
// Allowing to pause Home if Home is top activity and Recents is not Home. So when user
|
||||
// start home when recents animation is playing, the home activity can be resumed again
|
||||
// to let the transition controller collect Home activity.
|
||||
ActivityManager.RunningTaskInfo rti = gestureState.getRunningTask();
|
||||
boolean homeIsOnTop = rti != null && rti.topActivity != null
|
||||
&& rti.topActivity.equals(gestureState.getHomeIntent().getComponent());
|
||||
CachedTaskInfo cti = gestureState.getRunningTask();
|
||||
boolean homeIsOnTop = cti != null && cti.isHomeTask();
|
||||
if (!homeIsOnTop) {
|
||||
options.setTransientLaunch();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,248 @@
|
||||
/*
|
||||
* Copyright (C) 2022 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.quickstep;
|
||||
|
||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
|
||||
import static android.content.Intent.ACTION_CHOOSER;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
|
||||
|
||||
import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT;
|
||||
import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.ACTIVITY_TYPE_ASSISTANT;
|
||||
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.UiThread;
|
||||
|
||||
import com.android.launcher3.util.MainThreadInitializedObject;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions.StagePosition;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions.StageType;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions.StagedSplitTaskPosition;
|
||||
import com.android.launcher3.util.TraceHelper;
|
||||
import com.android.systemui.shared.recents.model.Task;
|
||||
import com.android.systemui.shared.recents.model.Task.TaskKey;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
import com.android.systemui.shared.system.TaskStackChangeListener;
|
||||
import com.android.systemui.shared.system.TaskStackChangeListeners;
|
||||
import com.android.wm.shell.splitscreen.ISplitScreenListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class tracked the top-most task and some 'approximate' task history to allow faster
|
||||
* system state estimation during touch interaction
|
||||
*/
|
||||
public class TopTaskTracker extends ISplitScreenListener.Stub implements TaskStackChangeListener {
|
||||
|
||||
public static MainThreadInitializedObject<TopTaskTracker> INSTANCE =
|
||||
new MainThreadInitializedObject<>(TopTaskTracker::new);
|
||||
|
||||
private static final int HISTORY_SIZE = 5;
|
||||
|
||||
// Ordered list with first item being the most recent task.
|
||||
private final LinkedList<RunningTaskInfo> mOrderedTaskList = new LinkedList<>();
|
||||
|
||||
private final StagedSplitTaskPosition mMainStagePosition = new StagedSplitTaskPosition();
|
||||
private final StagedSplitTaskPosition mSideStagePosition = new StagedSplitTaskPosition();
|
||||
|
||||
private TopTaskTracker(Context context) {
|
||||
mMainStagePosition.stageType = SplitConfigurationOptions.STAGE_TYPE_MAIN;
|
||||
mSideStagePosition.stageType = SplitConfigurationOptions.STAGE_TYPE_SIDE;
|
||||
|
||||
TaskStackChangeListeners.getInstance().registerTaskStackListener(this);
|
||||
SystemUiProxy.INSTANCE.get(context).registerSplitScreenListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskRemoved(int taskId) {
|
||||
mOrderedTaskList.removeIf(rto -> rto.taskId == taskId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskMovedToFront(RunningTaskInfo taskInfo) {
|
||||
mOrderedTaskList.removeIf(rto -> rto.taskId == taskInfo.taskId);
|
||||
mOrderedTaskList.addFirst(taskInfo);
|
||||
if (mOrderedTaskList.size() >= HISTORY_SIZE) {
|
||||
// If we grow in size, remove the last taskInfo which is not part of the split task.
|
||||
Iterator<RunningTaskInfo> itr = mOrderedTaskList.descendingIterator();
|
||||
while (itr.hasNext()) {
|
||||
RunningTaskInfo info = itr.next();
|
||||
if (info.taskId != taskInfo.taskId
|
||||
&& info.taskId != mMainStagePosition.taskId
|
||||
&& info.taskId != mSideStagePosition.taskId) {
|
||||
itr.remove();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStagePositionChanged(@StageType int stage, @StagePosition int position) {
|
||||
if (stage == SplitConfigurationOptions.STAGE_TYPE_MAIN) {
|
||||
mMainStagePosition.stagePosition = position;
|
||||
} else {
|
||||
mSideStagePosition.stagePosition = position;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskStageChanged(int taskId, @StageType int stage, boolean visible) {
|
||||
// If task is not visible but we are tracking it, stop tracking it
|
||||
if (!visible) {
|
||||
if (mMainStagePosition.taskId == taskId) {
|
||||
resetTaskId(mMainStagePosition);
|
||||
} else if (mSideStagePosition.taskId == taskId) {
|
||||
resetTaskId(mSideStagePosition);
|
||||
} // else it's an un-tracked child
|
||||
return;
|
||||
}
|
||||
|
||||
// If stage has moved to undefined, stop tracking the task
|
||||
if (stage == SplitConfigurationOptions.STAGE_TYPE_UNDEFINED) {
|
||||
resetTaskId(taskId == mMainStagePosition.taskId
|
||||
? mMainStagePosition : mSideStagePosition);
|
||||
return;
|
||||
}
|
||||
|
||||
if (stage == SplitConfigurationOptions.STAGE_TYPE_MAIN) {
|
||||
mMainStagePosition.taskId = taskId;
|
||||
} else {
|
||||
mSideStagePosition.taskId = taskId;
|
||||
}
|
||||
}
|
||||
|
||||
private void resetTaskId(StagedSplitTaskPosition taskPosition) {
|
||||
taskPosition.taskId = -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return index 0 will be task in left/top position, index 1 in right/bottom position.
|
||||
* Will return empty array if device is not in staged split
|
||||
*/
|
||||
public int[] getRunningSplitTaskIds() {
|
||||
if (mMainStagePosition.taskId == -1 || mSideStagePosition.taskId == -1) {
|
||||
return new int[]{};
|
||||
}
|
||||
int[] out = new int[2];
|
||||
if (mMainStagePosition.stagePosition == STAGE_POSITION_TOP_OR_LEFT) {
|
||||
out[0] = mMainStagePosition.taskId;
|
||||
out[1] = mSideStagePosition.taskId;
|
||||
} else {
|
||||
out[1] = mMainStagePosition.taskId;
|
||||
out[0] = mSideStagePosition.taskId;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the CachedTaskInfo for the top most task
|
||||
*/
|
||||
@UiThread
|
||||
public CachedTaskInfo getCachedTopTask(boolean filterOnlyVisibleRecents) {
|
||||
if (filterOnlyVisibleRecents) {
|
||||
// Since we only know about the top most task, any filtering may not be applied on the
|
||||
// cache. The second to top task may change while the top task is still the same.
|
||||
RunningTaskInfo[] tasks = TraceHelper.allowIpcs("getCachedTopTask.true", () ->
|
||||
ActivityManagerWrapper.getInstance().getRunningTasks(true));
|
||||
return new CachedTaskInfo(Arrays.asList(tasks));
|
||||
}
|
||||
|
||||
if (mOrderedTaskList.isEmpty()) {
|
||||
RunningTaskInfo[] tasks = TraceHelper.allowIpcs("getCachedTopTask.false", () ->
|
||||
ActivityManagerWrapper.getInstance().getRunningTasks(
|
||||
false /* filterOnlyVisibleRecents */));
|
||||
Collections.addAll(mOrderedTaskList, tasks);
|
||||
}
|
||||
return new CachedTaskInfo(new ArrayList<>(mOrderedTaskList));
|
||||
}
|
||||
|
||||
/**
|
||||
* Class to provide information about a task which can be safely cached and do not change
|
||||
* during the lifecycle of the task.
|
||||
*/
|
||||
public static class CachedTaskInfo {
|
||||
|
||||
private final RunningTaskInfo mTopTask;
|
||||
private final List<RunningTaskInfo> mAllCachedTasks;
|
||||
|
||||
CachedTaskInfo(List<RunningTaskInfo> allCachedTasks) {
|
||||
mAllCachedTasks = allCachedTasks;
|
||||
mTopTask = allCachedTasks.get(0);
|
||||
}
|
||||
|
||||
public int getTaskId() {
|
||||
return mTopTask.taskId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the root of the task chooser activity
|
||||
*/
|
||||
public boolean isRootChooseActivity() {
|
||||
return ACTION_CHOOSER.equals(mTopTask.baseIntent.getAction());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the given task holds an Assistant activity that is excluded from recents
|
||||
*/
|
||||
public boolean isExcludedAssistant() {
|
||||
return mTopTask.configuration.windowConfiguration
|
||||
.getActivityType() == ACTIVITY_TYPE_ASSISTANT
|
||||
&& (mTopTask.baseIntent.getFlags() & FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this represents the HOME task
|
||||
*/
|
||||
public boolean isHomeTask() {
|
||||
return mTopTask.configuration.windowConfiguration
|
||||
.getActivityType() == ACTIVITY_TYPE_HOME;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns {@link Task} array which can be used as a placeholder until the true object
|
||||
* is loaded by the model
|
||||
*/
|
||||
public Task[] getPlaceholderTasks() {
|
||||
return new Task[] {Task.from(new TaskKey(mTopTask), mTopTask, false)};
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns {@link Task} array corresponding to the provided task ids which can be used as a
|
||||
* placeholder until the true object is loaded by the model
|
||||
*/
|
||||
public Task[] getPlaceholderTasks(int[] taskIds) {
|
||||
Task[] result = new Task[taskIds.length];
|
||||
for (int i = 0; i < taskIds.length; i++) {
|
||||
final int index = i;
|
||||
int taskId = taskIds[i];
|
||||
mAllCachedTasks.forEach(rti -> {
|
||||
if (rti.taskId == taskId) {
|
||||
result[index] = Task.from(new TaskKey(rti), rti, false);
|
||||
}
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.android.quickstep;
|
||||
|
||||
import static android.content.Intent.ACTION_CHOOSER;
|
||||
import static android.view.MotionEvent.ACTION_CANCEL;
|
||||
import static android.view.MotionEvent.ACTION_DOWN;
|
||||
import static android.view.MotionEvent.ACTION_UP;
|
||||
@@ -41,7 +40,6 @@ import android.annotation.TargetApi;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.RemoteAction;
|
||||
import android.app.Service;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
@@ -95,8 +93,6 @@ import com.android.quickstep.inputconsumers.ScreenPinnedInputConsumer;
|
||||
import com.android.quickstep.inputconsumers.SysUiOverlayInputConsumer;
|
||||
import com.android.quickstep.inputconsumers.TaskbarStashInputConsumer;
|
||||
import com.android.quickstep.util.ActiveGestureLog;
|
||||
import com.android.quickstep.util.AssistantUtilities;
|
||||
import com.android.quickstep.util.LauncherSplitScreenListener;
|
||||
import com.android.quickstep.util.ProtoTracer;
|
||||
import com.android.quickstep.util.ProxyScreenStatusProvider;
|
||||
import com.android.quickstep.util.SplitScreenBounds;
|
||||
@@ -314,6 +310,13 @@ public class TouchInteractionService extends Service
|
||||
public void setSwipeUpProxy(Function<GestureState, AnimatedFloat> proxy) {
|
||||
mSwipeUpProxyProvider = proxy != null ? proxy : (i -> null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the task id where gestures should be blocked
|
||||
*/
|
||||
public void setGestureBlockedTaskId(int taskId) {
|
||||
mDeviceState.setGestureBlockingTaskId(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean sConnected = false;
|
||||
@@ -369,7 +372,6 @@ public class TouchInteractionService extends Service
|
||||
mDeviceState.addNavigationModeChangedCallback(this::onNavigationModeChanged);
|
||||
|
||||
ProtoTracer.INSTANCE.get(this).add(this);
|
||||
LauncherSplitScreenListener.INSTANCE.get(this).init();
|
||||
sConnected = true;
|
||||
}
|
||||
|
||||
@@ -419,6 +421,9 @@ public class TouchInteractionService extends Service
|
||||
onSystemUiFlagsChanged(mDeviceState.getSystemUiStateFlags());
|
||||
onAssistantVisibilityChanged();
|
||||
|
||||
// Initialize the task tracker
|
||||
TopTaskTracker.INSTANCE.get(this);
|
||||
|
||||
// Temporarily disable model preload
|
||||
// new ModelPreload().start(this);
|
||||
mBackGestureNotificationCounter = Math.max(0, Utilities.getDevicePrefs(this)
|
||||
@@ -531,7 +536,6 @@ public class TouchInteractionService extends Service
|
||||
getSystemService(AccessibilityManager.class)
|
||||
.unregisterSystemAction(SYSTEM_ACTION_ID_ALL_APPS);
|
||||
|
||||
LauncherSplitScreenListener.INSTANCE.get(this).destroy();
|
||||
mTaskbarManager.destroy();
|
||||
sConnected = false;
|
||||
super.onDestroy();
|
||||
@@ -633,7 +637,7 @@ public class TouchInteractionService extends Service
|
||||
|
||||
private InputConsumer tryCreateAssistantInputConsumer(InputConsumer base,
|
||||
GestureState gestureState, MotionEvent motionEvent) {
|
||||
return mDeviceState.isGestureBlockedActivity(gestureState.getRunningTask())
|
||||
return mDeviceState.isGestureBlockedTask(gestureState.getRunningTask())
|
||||
? base
|
||||
: new AssistantInputConsumer(this, gestureState, base, mInputMonitorCompat,
|
||||
mDeviceState, motionEvent);
|
||||
@@ -648,8 +652,8 @@ public class TouchInteractionService extends Service
|
||||
gestureState.updatePreviouslyAppearedTaskIds(
|
||||
previousGestureState.getPreviouslyAppearedTaskIds());
|
||||
} else {
|
||||
gestureState.updateRunningTasks(TraceHelper.allowIpcs("getRunningTask.0",
|
||||
() -> mAM.getRunningTasks(false /* filterOnlyVisibleRecents */)));
|
||||
gestureState.updateRunningTask(
|
||||
TopTaskTracker.INSTANCE.get(this).getCachedTopTask(false));
|
||||
}
|
||||
return gestureState;
|
||||
}
|
||||
@@ -743,17 +747,14 @@ public class TouchInteractionService extends Service
|
||||
// Use overview input consumer for sharesheets on top of home.
|
||||
boolean forceOverviewInputConsumer = gestureState.getActivityInterface().isStarted()
|
||||
&& gestureState.getRunningTask() != null
|
||||
&& ACTION_CHOOSER.equals(gestureState.getRunningTask().baseIntent.getAction());
|
||||
if (AssistantUtilities.isExcludedAssistant(gestureState.getRunningTask())) {
|
||||
&& gestureState.getRunningTask().isRootChooseActivity();
|
||||
if (gestureState.getRunningTask() != null
|
||||
&& gestureState.getRunningTask().isExcludedAssistant()) {
|
||||
// In the case where we are in the excluded assistant state, ignore it and treat the
|
||||
// running activity as the task behind the assistant
|
||||
gestureState.updateRunningTask(TraceHelper.allowIpcs("getRunningTask.assistant",
|
||||
() -> mAM.getRunningTask(true /* filterOnlyVisibleRecents */)));
|
||||
ComponentName homeComponent = mOverviewComponentObserver.getHomeIntent().getComponent();
|
||||
ComponentName runningComponent =
|
||||
gestureState.getRunningTask().baseIntent.getComponent();
|
||||
forceOverviewInputConsumer =
|
||||
runningComponent != null && runningComponent.equals(homeComponent);
|
||||
gestureState.updateRunningTask(TopTaskTracker.INSTANCE.get(this)
|
||||
.getCachedTopTask(true /* filterOnlyVisibleRecents */));
|
||||
forceOverviewInputConsumer = gestureState.getRunningTask().isHomeTask();
|
||||
}
|
||||
|
||||
if (ENABLE_QUICKSTEP_LIVE_TILE.get()
|
||||
@@ -770,7 +771,7 @@ public class TouchInteractionService extends Service
|
||||
|| forceOverviewInputConsumer) {
|
||||
return createOverviewInputConsumer(
|
||||
previousGestureState, gestureState, event, forceOverviewInputConsumer);
|
||||
} else if (mDeviceState.isGestureBlockedActivity(gestureState.getRunningTask())) {
|
||||
} else if (mDeviceState.isGestureBlockedTask(gestureState.getRunningTask())) {
|
||||
return getDefaultInputConsumer();
|
||||
} else {
|
||||
return createOtherActivityInputConsumer(gestureState, event);
|
||||
|
||||
@@ -24,7 +24,6 @@ import static com.android.quickstep.fallback.RecentsState.OVERVIEW_SPLIT_SELECT;
|
||||
|
||||
import android.animation.AnimatorSet;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
@@ -50,7 +49,6 @@ import com.android.quickstep.views.OverviewActionsView;
|
||||
import com.android.quickstep.views.RecentsView;
|
||||
import com.android.quickstep.views.TaskView;
|
||||
import com.android.systemui.shared.recents.model.Task;
|
||||
import com.android.systemui.shared.recents.model.Task.TaskKey;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -58,7 +56,7 @@ import java.util.ArrayList;
|
||||
public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsState>
|
||||
implements StateListener<RecentsState> {
|
||||
|
||||
private RunningTaskInfo mHomeTaskInfo;
|
||||
private Task mHomeTask;
|
||||
|
||||
public FallbackRecentsView(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
@@ -87,12 +85,12 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
|
||||
* to the home task. This allows us to handle quick-switch similarly to a quick-switching
|
||||
* from a foreground task.
|
||||
*/
|
||||
public void onGestureAnimationStartOnHome(RunningTaskInfo[] homeTaskInfo,
|
||||
public void onGestureAnimationStartOnHome(Task[] homeTask,
|
||||
RotationTouchHelper rotationTouchHelper) {
|
||||
// TODO(b/195607777) General fallback love, but this might be correct
|
||||
// Home task should be defined as the front-most task info I think?
|
||||
mHomeTaskInfo = homeTaskInfo[0];
|
||||
onGestureAnimationStart(homeTaskInfo, rotationTouchHelper);
|
||||
mHomeTask = homeTask[0];
|
||||
onGestureAnimationStart(homeTask, rotationTouchHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -105,8 +103,8 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
|
||||
@Nullable AnimatorSet animatorSet, GestureState.GestureEndTarget endTarget,
|
||||
TaskViewSimulator[] taskViewSimulators) {
|
||||
super.onPrepareGestureEndAnimation(animatorSet, endTarget, taskViewSimulators);
|
||||
if (mHomeTaskInfo != null && endTarget == RECENTS && animatorSet != null) {
|
||||
TaskView tv = getTaskViewByTaskId(mHomeTaskInfo.taskId);
|
||||
if (mHomeTask != null && endTarget == RECENTS && animatorSet != null) {
|
||||
TaskView tv = getTaskViewByTaskId(mHomeTask.key.id);
|
||||
if (tv != null) {
|
||||
PendingAnimation pa = createTaskDismissAnimation(tv, true, false, 150,
|
||||
false /* dismissingForSplitSelection*/);
|
||||
@@ -131,8 +129,8 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
|
||||
public void setCurrentTask(int runningTaskViewId) {
|
||||
super.setCurrentTask(runningTaskViewId);
|
||||
int runningTaskId = getTaskIdsForRunningTaskView()[0];
|
||||
if (mHomeTaskInfo != null && mHomeTaskInfo.taskId != runningTaskId) {
|
||||
mHomeTaskInfo = null;
|
||||
if (mHomeTask != null && mHomeTask.key.id != runningTaskId) {
|
||||
mHomeTask = null;
|
||||
setRunningTaskHidden(false);
|
||||
}
|
||||
}
|
||||
@@ -140,26 +138,26 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
|
||||
@Nullable
|
||||
@Override
|
||||
protected TaskView getHomeTaskView() {
|
||||
return mHomeTaskInfo != null ? getTaskViewByTaskId(mHomeTaskInfo.taskId) : null;
|
||||
return mHomeTask != null ? getTaskViewByTaskId(mHomeTask.key.id) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean shouldAddStubTaskView(RunningTaskInfo[] runningTaskInfos) {
|
||||
if (runningTaskInfos.length > 1) {
|
||||
protected boolean shouldAddStubTaskView(Task[] runningTasks) {
|
||||
if (runningTasks.length > 1) {
|
||||
// can't be in split screen w/ home task
|
||||
return super.shouldAddStubTaskView(runningTaskInfos);
|
||||
return super.shouldAddStubTaskView(runningTasks);
|
||||
}
|
||||
|
||||
RunningTaskInfo runningTaskInfo = runningTaskInfos[0];
|
||||
if (mHomeTaskInfo != null && runningTaskInfo != null &&
|
||||
mHomeTaskInfo.taskId == runningTaskInfo.taskId
|
||||
Task runningTask = runningTasks[0];
|
||||
if (mHomeTask != null && runningTask != null
|
||||
&& mHomeTask.key.id == runningTask.key.id
|
||||
&& getTaskViewCount() == 0 && mLoadPlanEverApplied) {
|
||||
// Do not add a stub task if we are running over home with empty recents, so that we
|
||||
// show the empty recents message instead of showing a stub task and later removing it.
|
||||
// Ignore empty task signal if applyLoadPlan has never run.
|
||||
return false;
|
||||
}
|
||||
return super.shouldAddStubTaskView(runningTaskInfos);
|
||||
return super.shouldAddStubTaskView(runningTasks);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -169,7 +167,7 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
|
||||
// track the index of the next task appropriately, as if we are switching on any other app.
|
||||
// TODO(b/195607777) Confirm home task info is front-most task and not mixed in with others
|
||||
int runningTaskId = getTaskIdsForRunningTaskView()[0];
|
||||
if (mHomeTaskInfo != null && mHomeTaskInfo.taskId == runningTaskId
|
||||
if (mHomeTask != null && mHomeTask.key.id == runningTaskId
|
||||
&& !taskGroups.isEmpty()) {
|
||||
// Check if the task list has running task
|
||||
boolean found = false;
|
||||
@@ -182,9 +180,7 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
|
||||
if (!found) {
|
||||
ArrayList<GroupTask> newList = new ArrayList<>(taskGroups.size() + 1);
|
||||
newList.addAll(taskGroups);
|
||||
newList.add(new GroupTask(
|
||||
Task.from(new TaskKey(mHomeTaskInfo), mHomeTaskInfo, false),
|
||||
null, null));
|
||||
newList.add(new GroupTask(mHomeTask, null, null));
|
||||
taskGroups = newList;
|
||||
}
|
||||
}
|
||||
@@ -193,7 +189,7 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
|
||||
|
||||
@Override
|
||||
public void setRunningTaskHidden(boolean isHidden) {
|
||||
if (mHomeTaskInfo != null) {
|
||||
if (mHomeTask != null) {
|
||||
// Always keep the home task hidden
|
||||
isHidden = true;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import static com.android.launcher3.anim.Interpolators.LINEAR;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
@@ -224,8 +223,7 @@ public class AllSetActivity extends Activity {
|
||||
if (!state.getHomeIntent().getComponent().getPackageName().equals(getPackageName())) {
|
||||
return null;
|
||||
}
|
||||
RunningTaskInfo rti = state.getRunningTask();
|
||||
if (rti == null || !rti.topActivity.equals(getComponentName())) {
|
||||
if (state.getRunningTaskId() != getTaskId()) {
|
||||
return null;
|
||||
}
|
||||
mSwipeProgress.updateValue(0);
|
||||
|
||||
@@ -31,9 +31,11 @@ import androidx.fragment.app.FragmentActivity;
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.logging.StatsLogManager;
|
||||
import com.android.quickstep.TouchInteractionService.TISBinder;
|
||||
import com.android.quickstep.interaction.TutorialController.TutorialType;
|
||||
import com.android.quickstep.util.TISBindHelper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
/** Shows the gesture interactive sandbox in full screen mode. */
|
||||
public class GestureSandboxActivity extends FragmentActivity {
|
||||
@@ -52,6 +54,9 @@ public class GestureSandboxActivity extends FragmentActivity {
|
||||
private SharedPreferences mSharedPrefs;
|
||||
private StatsLogManager mStatsLogManager;
|
||||
|
||||
private TISBindHelper mTISBindHelper;
|
||||
private TISBinder mBinder;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -69,6 +74,8 @@ public class GestureSandboxActivity extends FragmentActivity {
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.add(R.id.gesture_tutorial_fragment_container, mFragment)
|
||||
.commit();
|
||||
|
||||
mTISBindHelper = new TISBindHelper(this, this::onTISConnected);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -206,7 +213,37 @@ public class GestureSandboxActivity extends FragmentActivity {
|
||||
DisplayMetrics metrics = new DisplayMetrics();
|
||||
display.getMetrics(metrics);
|
||||
getWindow().setSystemGestureExclusionRects(
|
||||
List.of(new Rect(0, 0, metrics.widthPixels, metrics.heightPixels)));
|
||||
Arrays.asList(new Rect(0, 0, metrics.widthPixels, metrics.heightPixels)));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
updateServiceState(true);
|
||||
}
|
||||
|
||||
private void onTISConnected(TISBinder binder) {
|
||||
mBinder = binder;
|
||||
updateServiceState(isResumed());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
updateServiceState(false);
|
||||
}
|
||||
|
||||
private void updateServiceState(boolean isEnabled) {
|
||||
if (mBinder != null) {
|
||||
mBinder.setGestureBlockedTaskId(isEnabled ? getTaskId() : -1);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
mTISBindHelper.onDestroy();
|
||||
updateServiceState(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019 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.quickstep.util;
|
||||
|
||||
import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.ACTIVITY_TYPE_ASSISTANT;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.TaskInfo;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
|
||||
/**
|
||||
* Utility class for interacting with the Assistant.
|
||||
*/
|
||||
@TargetApi(Build.VERSION_CODES.Q)
|
||||
public final class AssistantUtilities {
|
||||
|
||||
/** Returns true if an Assistant activity that is excluded from recents is running. */
|
||||
public static boolean isExcludedAssistantRunning() {
|
||||
return isExcludedAssistant(ActivityManagerWrapper.getInstance().getRunningTask());
|
||||
}
|
||||
|
||||
/** Returns true if the given task holds an Assistant activity that is excluded from recents. */
|
||||
public static boolean isExcludedAssistant(TaskInfo info) {
|
||||
return info != null
|
||||
&& info.configuration.windowConfiguration.getActivityType() == ACTIVITY_TYPE_ASSISTANT
|
||||
&& (info.baseIntent.getFlags() & Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) != 0;
|
||||
}
|
||||
|
||||
private AssistantUtilities() {}
|
||||
}
|
||||
@@ -1,119 +0,0 @@
|
||||
package com.android.quickstep.util;
|
||||
|
||||
import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.IBinder;
|
||||
|
||||
import com.android.launcher3.util.MainThreadInitializedObject;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions.StagePosition;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions.StageType;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions.StagedSplitTaskPosition;
|
||||
import com.android.quickstep.SystemUiProxy;
|
||||
import com.android.wm.shell.splitscreen.ISplitScreenListener;
|
||||
|
||||
/**
|
||||
* Listeners for system wide split screen position and stage changes.
|
||||
*
|
||||
* Use {@link #getRunningSplitTaskIds()} to determine which tasks, if any, are actively in
|
||||
* staged split.
|
||||
*/
|
||||
public class LauncherSplitScreenListener extends ISplitScreenListener.Stub {
|
||||
|
||||
public static final MainThreadInitializedObject<LauncherSplitScreenListener> INSTANCE =
|
||||
new MainThreadInitializedObject<>(LauncherSplitScreenListener::new);
|
||||
|
||||
private static final int[] EMPTY_ARRAY = {};
|
||||
|
||||
private final StagedSplitTaskPosition mMainStagePosition = new StagedSplitTaskPosition();
|
||||
private final StagedSplitTaskPosition mSideStagePosition = new StagedSplitTaskPosition();
|
||||
|
||||
/**
|
||||
* Gets set to current split taskIDs whenever the task list is frozen, and set to empty array
|
||||
* whenever task list unfreezes. This also gets set to empty array whenever the user swipes to
|
||||
* home - in that case the task list does not unfreeze immediately after the gesture, so it's
|
||||
* done via {@link #notifySwipingToHome()}.
|
||||
*
|
||||
* When not empty, this indicates that we need to load a GroupedTaskView as the most recent
|
||||
* page, so user can quickswitch back to a grouped task.
|
||||
*/
|
||||
private int[] mPersistentGroupedIds;
|
||||
|
||||
public LauncherSplitScreenListener(Context context) {
|
||||
mMainStagePosition.stageType = SplitConfigurationOptions.STAGE_TYPE_MAIN;
|
||||
mSideStagePosition.stageType = SplitConfigurationOptions.STAGE_TYPE_SIDE;
|
||||
}
|
||||
|
||||
/** Also call {@link #destroy()} when done. */
|
||||
public void init() {
|
||||
SystemUiProxy.INSTANCE.getNoCreate().registerSplitScreenListener(this);
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
SystemUiProxy.INSTANCE.getNoCreate().unregisterSplitScreenListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return index 0 will be task in left/top position, index 1 in right/bottom position.
|
||||
* Will return empty array if device is not in staged split
|
||||
*/
|
||||
public int[] getRunningSplitTaskIds() {
|
||||
if (mMainStagePosition.taskId == -1 || mSideStagePosition.taskId == -1) {
|
||||
return new int[]{};
|
||||
}
|
||||
int[] out = new int[2];
|
||||
if (mMainStagePosition.stagePosition == STAGE_POSITION_TOP_OR_LEFT) {
|
||||
out[0] = mMainStagePosition.taskId;
|
||||
out[1] = mSideStagePosition.taskId;
|
||||
} else {
|
||||
out[1] = mMainStagePosition.taskId;
|
||||
out[0] = mSideStagePosition.taskId;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStagePositionChanged(@StageType int stage, @StagePosition int position) {
|
||||
if (stage == SplitConfigurationOptions.STAGE_TYPE_MAIN) {
|
||||
mMainStagePosition.stagePosition = position;
|
||||
} else {
|
||||
mSideStagePosition.stagePosition = position;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskStageChanged(int taskId, @StageType int stage, boolean visible) {
|
||||
// If task is not visible but we are tracking it, stop tracking it
|
||||
if (!visible) {
|
||||
if (mMainStagePosition.taskId == taskId) {
|
||||
resetTaskId(mMainStagePosition);
|
||||
} else if (mSideStagePosition.taskId == taskId) {
|
||||
resetTaskId(mSideStagePosition);
|
||||
} // else it's an un-tracked child
|
||||
return;
|
||||
}
|
||||
|
||||
// If stage has moved to undefined, stop tracking the task
|
||||
if (stage == SplitConfigurationOptions.STAGE_TYPE_UNDEFINED) {
|
||||
resetTaskId(taskId == mMainStagePosition.taskId ?
|
||||
mMainStagePosition : mSideStagePosition);
|
||||
return;
|
||||
}
|
||||
|
||||
if (stage == SplitConfigurationOptions.STAGE_TYPE_MAIN) {
|
||||
mMainStagePosition.taskId = taskId;
|
||||
} else {
|
||||
mSideStagePosition.taskId = taskId;
|
||||
}
|
||||
}
|
||||
|
||||
private void resetTaskId(StagedSplitTaskPosition taskPosition) {
|
||||
taskPosition.taskId = -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBinder asBinder() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -64,8 +64,8 @@ import android.animation.LayoutTransition.TransitionListener;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.animation.PropertyValuesHolder;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.ActivityManager.RunningTaskInfo;
|
||||
import android.content.Context;
|
||||
import android.content.LocusId;
|
||||
import android.content.res.Configuration;
|
||||
@@ -160,9 +160,9 @@ import com.android.quickstep.SystemUiProxy;
|
||||
import com.android.quickstep.TaskOverlayFactory;
|
||||
import com.android.quickstep.TaskThumbnailCache;
|
||||
import com.android.quickstep.TaskViewUtils;
|
||||
import com.android.quickstep.TopTaskTracker;
|
||||
import com.android.quickstep.ViewUtils;
|
||||
import com.android.quickstep.util.GroupTask;
|
||||
import com.android.quickstep.util.LauncherSplitScreenListener;
|
||||
import com.android.quickstep.util.LayoutUtils;
|
||||
import com.android.quickstep.util.RecentsOrientedState;
|
||||
import com.android.quickstep.util.SplitScreenBounds;
|
||||
@@ -173,7 +173,6 @@ import com.android.quickstep.util.TransformParams;
|
||||
import com.android.quickstep.util.VibratorWrapper;
|
||||
import com.android.systemui.plugins.ResourceProvider;
|
||||
import com.android.systemui.shared.recents.model.Task;
|
||||
import com.android.systemui.shared.recents.model.Task.TaskKey;
|
||||
import com.android.systemui.shared.recents.model.ThumbnailData;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
import com.android.systemui.shared.system.PackageManagerWrapper;
|
||||
@@ -2082,8 +2081,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
/**
|
||||
* Called when a gesture from an app is starting.
|
||||
*/
|
||||
public void onGestureAnimationStart(RunningTaskInfo[] runningTaskInfo,
|
||||
RotationTouchHelper rotationTouchHelper) {
|
||||
public void onGestureAnimationStart(
|
||||
Task[] runningTasks, RotationTouchHelper rotationTouchHelper) {
|
||||
mGestureActive = true;
|
||||
// This needs to be called before the other states are set since it can create the task view
|
||||
if (mOrientationState.setGestureActive(true)) {
|
||||
@@ -2094,7 +2093,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
updateSizeAndPadding();
|
||||
}
|
||||
|
||||
showCurrentTask(runningTaskInfo);
|
||||
showCurrentTask(runningTasks);
|
||||
setEnableFreeScroll(false);
|
||||
setEnableDrawingLiveTile(false);
|
||||
setRunningTaskHidden(true);
|
||||
@@ -2210,10 +2209,10 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
/**
|
||||
* Returns true if we should add a stub taskView for the running task id
|
||||
*/
|
||||
protected boolean shouldAddStubTaskView(RunningTaskInfo[] runningTaskInfos) {
|
||||
if (runningTaskInfos.length > 1) {
|
||||
TaskView primaryTaskView = getTaskViewByTaskId(runningTaskInfos[0].taskId);
|
||||
TaskView secondaryTaskView = getTaskViewByTaskId(runningTaskInfos[1].taskId);
|
||||
protected boolean shouldAddStubTaskView(Task[] runningTasks) {
|
||||
if (runningTasks.length > 1) {
|
||||
TaskView primaryTaskView = getTaskViewByTaskId(runningTasks[0].key.id);
|
||||
TaskView secondaryTaskView = getTaskViewByTaskId(runningTasks[1].key.id);
|
||||
int leftTopTaskViewId =
|
||||
(primaryTaskView == null) ? -1 : primaryTaskView.getTaskViewId();
|
||||
int rightBottomTaskViewId =
|
||||
@@ -2221,8 +2220,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
// Add a new stub view if both taskIds don't match any taskViews
|
||||
return leftTopTaskViewId != rightBottomTaskViewId || leftTopTaskViewId == -1;
|
||||
}
|
||||
RunningTaskInfo runningTaskInfo = runningTaskInfos[0];
|
||||
return runningTaskInfo != null && getTaskViewByTaskId(runningTaskInfo.taskId) == null;
|
||||
Task runningTaskInfo = runningTasks[0];
|
||||
return runningTaskInfo != null && getTaskViewByTaskId(runningTaskInfo.key.id) == null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2231,21 +2230,16 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
* All subsequent calls to reload will keep the task as the first item until {@link #reset()}
|
||||
* is called. Also scrolls the view to this task.
|
||||
*/
|
||||
private void showCurrentTask(RunningTaskInfo[] runningTaskInfo) {
|
||||
private void showCurrentTask(Task[] runningTasks) {
|
||||
int runningTaskViewId = -1;
|
||||
boolean needGroupTaskView = runningTaskInfo.length > 1;
|
||||
RunningTaskInfo taskInfo = runningTaskInfo[0];
|
||||
if (shouldAddStubTaskView(runningTaskInfo)) {
|
||||
boolean needGroupTaskView = runningTasks.length > 1;
|
||||
if (shouldAddStubTaskView(runningTasks)) {
|
||||
boolean wasEmpty = getChildCount() == 0;
|
||||
// Add an empty view for now until the task plan is loaded and applied
|
||||
final TaskView taskView;
|
||||
if (needGroupTaskView) {
|
||||
taskView = getTaskViewFromPool(true);
|
||||
RunningTaskInfo secondaryTaskInfo = runningTaskInfo[1];
|
||||
mTmpRunningTasks = new Task[]{
|
||||
Task.from(new TaskKey(taskInfo), taskInfo, false),
|
||||
Task.from(new TaskKey(secondaryTaskInfo), secondaryTaskInfo, false)
|
||||
};
|
||||
mTmpRunningTasks = new Task[]{runningTasks[0], runningTasks[1]};
|
||||
addView(taskView, 0);
|
||||
// When we create a placeholder task view mSplitBoundsConfig will be null, but with
|
||||
// the actual app running we won't need to show the thumbnail until all the tasks
|
||||
@@ -2257,7 +2251,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
addView(taskView, 0);
|
||||
// The temporary running task is only used for the duration between the start of the
|
||||
// gesture and the task list is loaded and applied
|
||||
mTmpRunningTasks = new Task[]{Task.from(new TaskKey(taskInfo), taskInfo, false)};
|
||||
mTmpRunningTasks = new Task[]{runningTasks[0]};
|
||||
taskView.bind(mTmpRunningTasks[0], mOrientationState);
|
||||
}
|
||||
runningTaskViewId = taskView.getTaskViewId();
|
||||
@@ -2270,8 +2264,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
measure(makeMeasureSpec(getMeasuredWidth(), EXACTLY),
|
||||
makeMeasureSpec(getMeasuredHeight(), EXACTLY));
|
||||
layout(getLeft(), getTop(), getRight(), getBottom());
|
||||
} else if (getTaskViewByTaskId(taskInfo.taskId) != null) {
|
||||
runningTaskViewId = getTaskViewByTaskId(taskInfo.taskId).getTaskViewId();
|
||||
} else if (getTaskViewByTaskId(runningTasks[0].key.id) != null) {
|
||||
runningTaskViewId = getTaskViewByTaskId(runningTasks[0].key.id).getTaskViewId();
|
||||
}
|
||||
|
||||
boolean runningTaskTileHidden = mRunningTaskTileHidden;
|
||||
@@ -4061,6 +4055,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
}
|
||||
|
||||
/** TODO(b/181707736) More gracefully handle exiting split selection state */
|
||||
@SuppressLint("WrongCall")
|
||||
protected void resetFromSplitSelectionState() {
|
||||
if (mSplitSelectSource != null || mSplitHiddenTaskViewIndex != -1) {
|
||||
if (mFirstFloatingTaskView != null) {
|
||||
@@ -4435,7 +4430,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
}
|
||||
|
||||
RemoteTargetGluer gluer = new RemoteTargetGluer(getContext(), getSizeStrategy());
|
||||
mRemoteTargetHandles = gluer.assignTargetsForSplitScreen(recentsAnimationTargets);
|
||||
mRemoteTargetHandles = gluer.assignTargetsForSplitScreen(
|
||||
getContext(), recentsAnimationTargets);
|
||||
mSplitBoundsConfig = gluer.getStagedSplitBounds();
|
||||
// Add release check to the targets from the RemoteTargetGluer and not the targets
|
||||
// passed in because in the event we're in split screen, we use the passed in targets
|
||||
@@ -4515,8 +4511,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
new PictureInPictureSurfaceTransaction.Builder()
|
||||
.setAlpha(0f)
|
||||
.build();
|
||||
int[] taskIds =
|
||||
LauncherSplitScreenListener.INSTANCE.getNoCreate().getRunningSplitTaskIds();
|
||||
int[] taskIds = TopTaskTracker.INSTANCE.get(getContext()).getRunningSplitTaskIds();
|
||||
for (int taskId : taskIds) {
|
||||
mRecentsAnimationController.setFinishTaskTransaction(taskId,
|
||||
tx, null /* overlay */);
|
||||
@@ -4558,6 +4553,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
/**
|
||||
* Updates page scroll synchronously after measure and layout child views.
|
||||
*/
|
||||
@SuppressLint("WrongCall")
|
||||
public void updateScrollSynchronously() {
|
||||
// onMeasure is needed to update child's measured width which is used in scroll calculation,
|
||||
// in case TaskView sizes has changed when being focused/unfocused.
|
||||
|
||||
@@ -46,7 +46,8 @@ public class DigitalWellBeingToastTest extends AbstractQuickStepTest {
|
||||
runWithShellPermission(() ->
|
||||
usageStatsManager.registerAppUsageLimitObserver(observerId, packages,
|
||||
Duration.ofSeconds(600), Duration.ofSeconds(300),
|
||||
PendingIntent.getActivity(mTargetContext, -1, new Intent(), 0)));
|
||||
PendingIntent.getActivity(mTargetContext, -1, new Intent(),
|
||||
PendingIntent.FLAG_MUTABLE)));
|
||||
|
||||
mLauncher.goHome();
|
||||
final DigitalWellBeingToast toast = getToast();
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installeer tans; <xliff:g id="PROGRESS">%2$s</xliff:g> voltooi"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> laai tans af, <xliff:g id="PROGRESS">%2$s</xliff:g> voltooid"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> wag tans om te installeer"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Legstukkelys"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Legstukkelys is toegemaak"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Voeg by tuisskerm"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> በመጫን ላይ፣ <xliff:g id="PROGRESS">%2$s</xliff:g> ተጠናቅቋል"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> በመውረድ ላይ፣ <xliff:g id="PROGRESS">%2$s</xliff:g> ተጠናቋል"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ለመጫን በመጠበቅ ላይ"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"የመግብሮች ዝርዝር"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"የመግብሮች ዝርዝር ተዘግቷል"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ወደ መነሻ ማያ ገጽ አክል"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"جارٍ تثبيت <xliff:g id="NAME">%1$s</xliff:g>، مستوى التقدم: <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"جارٍ تنزيل <xliff:g id="NAME">%1$s</xliff:g>، اكتمل <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> في انتظار التثبيت"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"قائمة الأدوات"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"تم إغلاق قائمة الأدوات."</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"إضافة تطبيق للشاشة الرئيسية"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ইনষ্টল কৰি থকা হৈছে, <xliff:g id="PROGRESS">%2$s</xliff:g> সম্পূৰ্ণ হৈছে"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ডাউনল’ড কৰি থকা হৈছে, <xliff:g id="PROGRESS">%2$s</xliff:g> সম্পূৰ্ণ হ’ল"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ইনষ্টল হোৱালৈ অপেক্ষা কৰি থকা হৈছে"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ৱিজেটৰ তালিকা"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ৱিজেটৰ তালিকা বন্ধ কৰা হ’ল"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"গৃহ স্ক্ৰীনত যোগ কৰক"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> quraşdırır, <xliff:g id="PROGRESS">%2$s</xliff:g> tamamlanıb"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> endirilir, <xliff:g id="PROGRESS">%2$s</xliff:g> tamamlandı"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> yüklənmək üçün gözləyir"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Vidcet siyahısı"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Vidcet siyahısı bağlandı"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Əsas ekrana əlavə edin"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> se instalira, <xliff:g id="PROGRESS">%2$s</xliff:g> gotovo"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> se preuzima, završeno je <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> čeka na instaliranje"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lista vidžeta"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Lista vidžeta je zatvorena"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Dodajte na početni ekran"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Усталёўваецца праграма \"<xliff:g id="NAME">%1$s</xliff:g>\", завершана <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Ідзе спампоўка <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> завершана"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> чакае ўсталёўкі"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Спіс віджэтаў"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Спіс віджэтаў закрыты"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Дадаць на галоўны экран"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> се инсталира, <xliff:g id="PROGRESS">%2$s</xliff:g> завършено"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> се изтегля. Завършено: <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> изчаква инсталиране"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Списък с приспособления"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Списъкът с приспособления е затворен"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Добавяне към началния екран"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ইনস্টল করা হচ্ছে, <xliff:g id="PROGRESS">%2$s</xliff:g> সম্পূর্ণ হয়েছে"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ডাউনলোড হচ্ছে <xliff:g id="PROGRESS">%2$s</xliff:g> সম্পন্ন হয়েছে"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ইনস্টলের অপেক্ষায় রয়েছে"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"উইজেটের তালিকা"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"উইজেটের তালিকা বন্ধ করা হয়েছে"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"হোম স্ক্রিনে যোগ করুন"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Instaliranje aplikacije <xliff:g id="NAME">%1$s</xliff:g>, završeno je <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> se preuzima, završeno <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> čeka da se instalira"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Spisak vidžeta"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Spisak vidžeta je zatvoren"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Dodavanje na početni ekran"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"S\'està instal·lant <xliff:g id="NAME">%1$s</xliff:g>; s\'ha completat un <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"S\'està baixant <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> completat"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"S\'està esperant per instal·lar <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Llista de widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"S\'ha tancat la llista de widgets"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Afegeix a la pantalla d\'inici"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Instalace aplikace <xliff:g id="NAME">%1$s</xliff:g>, dokončeno <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Stahování aplikace <xliff:g id="NAME">%1$s</xliff:g> (dokončeno <xliff:g id="PROGRESS">%2$s</xliff:g>)"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Instalace aplikace <xliff:g id="NAME">%1$s</xliff:g> čeká na zahájení"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Seznam widgetů"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Seznam widgetů zavřen"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Přidat na plochu"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installeres. <xliff:g id="PROGRESS">%2$s</xliff:g> fuldført"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> downloades. <xliff:g id="PROGRESS">%2$s</xliff:g> er gennemført"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> venter på at installere"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Liste med widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Listen med widgets blev lukket"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Føj til startskærm"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> wird installiert, <xliff:g id="PROGRESS">%2$s</xliff:g> abgeschlossen"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> wird heruntergeladen, <xliff:g id="PROGRESS">%2$s</xliff:g> abgeschlossen"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Warten auf Installation von <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widgetliste"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widgetliste geschlossen"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Zum Startbildschirm hinzufügen"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Έχει ολοκληρωθεί το <xliff:g id="PROGRESS">%2$s</xliff:g> της εγκατάστασης της εφαρμογής <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Λήψη <xliff:g id="NAME">%1$s</xliff:g>, ολοκληρώθηκε <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> σε αναμονή για εγκατάσταση"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Λίστα γραφικών στοιχείων"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Η λίστα γραφικών στοιχείων έκλεισε"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Προσθήκη στην αρχική οθόνη"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installing, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> downloading, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> waiting to install"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widgets list"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widgets list closed"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Add to home screen"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installing, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> downloading, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> waiting to install"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widgets list"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widgets list closed"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Add to home screen"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installing, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> downloading, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> waiting to install"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widgets list"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widgets list closed"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Add to home screen"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installing, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> downloading, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> waiting to install"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widgets list"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widgets list closed"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Add to home screen"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installing, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> downloading, <xliff:g id="PROGRESS">%2$s</xliff:g> complete"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> waiting to install"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widgets list"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widgets list closed"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Add to home screen"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Se está instalando <xliff:g id="NAME">%1$s</xliff:g>; <xliff:g id="PROGRESS">%2$s</xliff:g> completado"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Se completó el <xliff:g id="PROGRESS">%2$s</xliff:g> de la descarga de <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Instalación de <xliff:g id="NAME">%1$s</xliff:g> en espera"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lista de widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Se cerró la lista de widgets"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Agregar a pantalla principal"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Instalando <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> completado"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Descargando <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="PROGRESS">%2$s</xliff:g> completado)"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Esperando para instalar <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lista de widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Lista de widgets cerrada"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Añadir a pantalla de inicio"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Üksust <xliff:g id="NAME">%1$s</xliff:g> installitakse, <xliff:g id="PROGRESS">%2$s</xliff:g> on valmis"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Rakenduse <xliff:g id="NAME">%1$s</xliff:g> allalaadimine, <xliff:g id="PROGRESS">%2$s</xliff:g> on valmis"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> on installimise ootel"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Vidinate loend"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Vidinate loend on suletud"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Lisa avakuvale"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> instalatzen, <xliff:g id="PROGRESS">%2$s</xliff:g> osatuta"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> deskargatzen, <xliff:g id="PROGRESS">%2$s</xliff:g> osatuta"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> instalatzeko zain"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widget-zerrenda"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Itxi da widget-zerrenda"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Gehitu hasierako pantailan"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> درحال نصب است، <xliff:g id="PROGRESS">%2$s</xliff:g> تکمیل شده است"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"درحال بارگیری <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="PROGRESS">%2$s</xliff:g> کامل شد"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> درانتظار نصب"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"فهرست ابزارکها"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"فهرست ابزارکها بسته شد"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"افزودن به صفحه اصلی"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> asennetaan, <xliff:g id="PROGRESS">%2$s</xliff:g> valmis"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> latautuu, valmiina <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> odottaa asennusta"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widget-luettelo"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widget-luettelo suljettu"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Lisää aloitusnäytölle"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Installation de l\'application <xliff:g id="NAME">%1$s</xliff:g> en cours, <xliff:g id="PROGRESS">%2$s</xliff:g> terminée"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Téléchargement de <xliff:g id="NAME">%1$s</xliff:g> : <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> en attente d\'installation"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Liste des widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Liste des widgets fermée"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Ajouter à l\'écran d\'accueil"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Installation de <xliff:g id="NAME">%1$s</xliff:g>… (<xliff:g id="PROGRESS">%2$s</xliff:g> terminés)"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> en cours de téléchargement, <xliff:g id="PROGRESS">%2$s</xliff:g> effectué(s)"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> en attente d\'installation"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Liste des widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"La liste des widgets est fermée"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Ajouter à l\'écran d\'accueil"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Instalando <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> completado"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Descargando <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="PROGRESS">%2$s</xliff:g> completado)"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Esperando para instalar <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lista de widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Pechouse a lista de widgets"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Engadir á pantalla de inicio"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ઇન્સ્ટૉલ કરી રહ્યાં છીએ, <xliff:g id="PROGRESS">%2$s</xliff:g> પૂર્ણ થયું"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ડાઉનલોડ કરી રહ્યાં છે, <xliff:g id="PROGRESS">%2$s</xliff:g> પૂર્ણ"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g>, ઇન્સ્ટૉલ થવાની રાહ જોઈ રહ્યું છે"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"વિજેટની સૂચિ"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"વિજેટની સૂચિ બંધ કરવામાં આવી છે"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"હોમ સ્ક્રીનમાં ઉમેરો"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> इंस्टॉल किया जा रहा है, <xliff:g id="PROGRESS">%2$s</xliff:g> पूरा हो गया"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> डाउनलोड हो रहा है, <xliff:g id="PROGRESS">%2$s</xliff:g> पूरी हुई"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> के इंस्टॉल होने की प्रतीक्षा की जा रही है"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"विजेट की सूची"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"विजेट की सूची बंद हो गई है"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"होम स्क्रीन पर जोड़ें"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Instaliranje aplikacije <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> dovršeno"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Preuzimanje aplikacije <xliff:g id="NAME">%1$s</xliff:g>, dovršeno <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Čekanje na instaliranje aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Popis widgeta"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Popis widgeta zatvoren"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Dodajte na početni zaslon"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Folyamatban van a(z) <xliff:g id="NAME">%1$s</xliff:g> telepítése, <xliff:g id="PROGRESS">%2$s</xliff:g> kész"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"A(z) <xliff:g id="NAME">%1$s</xliff:g> letöltése, <xliff:g id="PROGRESS">%2$s</xliff:g> kész"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"A(z) <xliff:g id="NAME">%1$s</xliff:g> telepítésre vár"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widgetlista"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widgetlista bezárva"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Hozzáadás a kezdőképernyőhöz"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> հավելվածը տեղադրվում է, կատարված է <xliff:g id="PROGRESS">%2$s</xliff:g>-ը"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g>–ի ներբեռնում (<xliff:g id="PROGRESS">%2$s</xliff:g>)"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g>-ի տեղադրման սպասում"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Վիջեթների ցանկ"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Վիջեթների ցանկը փակվեց"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Ավելացնել հիմնական էկրանին"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> sedang diinstal, <xliff:g id="PROGRESS">%2$s</xliff:g> selesai"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> sedang didownload, <xliff:g id="PROGRESS">%2$s</xliff:g> selesai"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> menunggu dipasang"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Daftar widget"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Daftar widget ditutup"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Tambahkan ke layar utama"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Setur upp <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> lokið"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> í niðurhali, <xliff:g id="PROGRESS">%2$s</xliff:g> lokið"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> bíður uppsetningar"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Græjulisti"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Græjulista lokað"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Bæta á heimaskjá"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Installazione di <xliff:g id="NAME">%1$s</xliff:g>, completamento: <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Download di <xliff:g id="NAME">%1$s</xliff:g> in corso, <xliff:g id="PROGRESS">%2$s</xliff:g> completato"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> in attesa di installazione"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Elenco di widget"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Elenco di widget chiuso"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Aggiungi alla schermata Home"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> בתהליך התקנה, <xliff:g id="PROGRESS">%2$s</xliff:g> הושלמו"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"הורדת <xliff:g id="NAME">%1$s</xliff:g> מתבצעת, <xliff:g id="PROGRESS">%2$s</xliff:g> הושלמו"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"מחכה להתקנה של <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"רשימת ווידג\'טים"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"רשימת הווידג\'טים נסגרה"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"הוספה למסך הבית"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> をインストールしています: <xliff:g id="PROGRESS">%2$s</xliff:g> 完了"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g>をダウンロード中、<xliff:g id="PROGRESS">%2$s</xliff:g>完了"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g>のインストール待ち"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ウィジェット リスト"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ウィジェット リストを閉じました"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ホーム画面に追加"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"ინსტალირდება <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> დასრულებულია"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"მიმდინარეობს <xliff:g id="NAME">%1$s</xliff:g>-ის ჩამოტვირთვა, <xliff:g id="PROGRESS">%2$s</xliff:g> დასრულდა"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ელოდება ინსტალაციას"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ვიჯეტების სია"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ვიჯეტების სია დაიხურა"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"მთავარ ეკრანზე დამატება"</string>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<string name="widgets_full_sheet_personal_tab" msgid="2743540105607120182">"Жеке виджеттер"</string>
|
||||
<string name="widgets_full_sheet_work_tab" msgid="3767150027110633765">"Жұмыс виджеттері"</string>
|
||||
<string name="widget_category_conversations" msgid="8894438636213590446">"Әңгімелер"</string>
|
||||
<string name="widget_education_header" msgid="4874760613775913787">"Саусақпен түртсеңіз болғаны – пайдалы ақпарат көз алдыңызда"</string>
|
||||
<string name="widget_education_header" msgid="4874760613775913787">"Саусақпен түртсеңіз болғаны – пайдалы ақпарат көз алдыңызда"</string>
|
||||
<string name="widget_education_content" msgid="1731667670753497052">"Қолданбаларды ашпай-ақ ақпарат алу үшін негізгі экранға тиісті виджеттерді қосыңыз."</string>
|
||||
<string name="reconfigurable_widget_education_tip" msgid="6336962690888067057">"Виджет параметрлерін өзгерту үшін түртіңіз."</string>
|
||||
<string name="widget_education_close_button" msgid="8676165703104836580">"Түсінікті"</string>
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> орнатылуда, <xliff:g id="PROGRESS">%2$s</xliff:g> аяқталды"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> жүктелуде, <xliff:g id="PROGRESS">%2$s</xliff:g> аяқталды"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> орнату күтілуде"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Виджеттер тізімі"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Видджеттер тізімі жабылды"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Негізгі экранға қосу"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"កំពុងដំឡើង <xliff:g id="NAME">%1$s</xliff:g>, បានបញ្ចប់ <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"កំពុងដោនឡូត <xliff:g id="NAME">%1$s</xliff:g> បានបញ្ចប់ <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> កំពុងរង់ចាំការដំឡើង"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"បញ្ជីធាតុក្រាហ្វិក"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"បានបិទបញ្ជីធាតុក្រាហ្វិក"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"បញ្ចូលទៅក្នុងអេក្រង់ដើម"</string>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<string name="no_search_results" msgid="3787956167293097509">"ಯಾವುದೇ ವಿಜೆಟ್ಗಳು ಅಥವಾ ಶಾರ್ಟ್ಕಟ್ಗಳು ಕಂಡುಬಂದಿಲ್ಲ"</string>
|
||||
<string name="widgets_full_sheet_personal_tab" msgid="2743540105607120182">"ವೈಯಕ್ತಿಕ"</string>
|
||||
<string name="widgets_full_sheet_work_tab" msgid="3767150027110633765">"ಕೆಲಸ"</string>
|
||||
<string name="widget_category_conversations" msgid="8894438636213590446">"ಸಂವಾದಗಳು"</string>
|
||||
<string name="widget_category_conversations" msgid="8894438636213590446">"ಸಂಭಾಷಣೆಗಳು"</string>
|
||||
<string name="widget_education_header" msgid="4874760613775913787">"ನಿಮ್ಮ ಬೆರಳ ತುದಿಯಲ್ಲಿ ಉಪಯುಕ್ತ ಮಾಹಿತಿ"</string>
|
||||
<string name="widget_education_content" msgid="1731667670753497052">"ಆ್ಯಪ್ಗಳನ್ನು ತೆರೆಯದೆಯೇ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು, ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್ನಲ್ಲಿ ನೀವು ವಿಜೆಟ್ಗಳನ್ನು ಸೇರಿಸಬಹುದು"</string>
|
||||
<string name="reconfigurable_widget_education_tip" msgid="6336962690888067057">"ವಿಜೆಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ, <xliff:g id="PROGRESS">%2$s</xliff:g> ಪೂರ್ಣಗೊಂಡಿದೆ"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ಡೌನ್ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ, <xliff:g id="PROGRESS">%2$s</xliff:g> ಪೂರ್ಣಗೊಂಡಿದೆ"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ಸ್ಥಾಪಿಸಲು ಕಾಯಲಾಗುತ್ತಿದೆ"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ವಿಜೆಟ್ ಪಟ್ಟಿ"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ವಿಜೆಟ್ ಪಟ್ಟಿಯನ್ನು ಮುಚ್ಚಲಾಗಿದೆ"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ಗೆ ಸೇರಿಸಿ"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> 설치 중, <xliff:g id="PROGRESS">%2$s</xliff:g> 완료"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> 다운로드 중, <xliff:g id="PROGRESS">%2$s</xliff:g> 완료"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> 설치 대기 중"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"위젯 목록"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"위젯 목록 닫힘"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"홈 화면에 추가"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> орнотулууда, <xliff:g id="PROGRESS">%2$s</xliff:g> аткарылды"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> жүктөлүп алынууда, <xliff:g id="PROGRESS">%2$s</xliff:g> аяктады"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> орнотулушу күтүлүүдө"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Виджеттердин тизмеси"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Виджеттердин тизмеси жабык"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Башкы экранга кошуу"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"ກຳລັງຕິດຕັ້ງ <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> ສຳເລັດແລ້ວ"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ກຳລັງດາວໂຫຼດ, <xliff:g id="PROGRESS">%2$s</xliff:g> ສຳເລັດ"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ກຳລັງລໍຖ້າຕິດຕັ້ງ"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ລາຍຊື່ວິດເຈັດ"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ປິດລາຍຊື່ວິດເຈັດແລ້ວ"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ເພີ່ມໃສ່ໂຮມສະກຣີນ"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Įdiegiama: „<xliff:g id="NAME">%1$s</xliff:g>“; baigta: <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Atsisiunčiama programa „<xliff:g id="NAME">%1$s</xliff:g>“, <xliff:g id="PROGRESS">%2$s</xliff:g> baigta"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Laukiama, kol bus įdiegta programa „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Valdiklių sąrašas"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Valdiklių sąrašas uždarytas"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Pridėti prie pagrind. ekrano"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Notiek lietotnes “<xliff:g id="NAME">%1$s</xliff:g>” instalēšana. Norise: <xliff:g id="PROGRESS">%2$s</xliff:g>."</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Lietotnes <xliff:g id="NAME">%1$s</xliff:g> lejupielāde (<xliff:g id="PROGRESS">%2$s</xliff:g> pabeigti)"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Notiek <xliff:g id="NAME">%1$s</xliff:g> instalēšana"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Logrīku saraksts"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Logrīku saraksts aizvērts"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Pievienot sākuma ekrānam"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> се инсталира, <xliff:g id="PROGRESS">%2$s</xliff:g> завршено"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Се презема <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> завршено"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> чека да се инсталира"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Список со виџети"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Списокот со виџети е затворен"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Додај на почетниот екран"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ഇൻസ്റ്റാൾ ചെയ്യുന്നു, <xliff:g id="PROGRESS">%2$s</xliff:g> പൂർത്തിയായി"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ഡൗൺലോഡ് ചെയ്യുന്നു, <xliff:g id="PROGRESS">%2$s</xliff:g> പൂർത്തിയായി"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"ഇൻസ്റ്റാൾ ചെയ്യാൻ <xliff:g id="NAME">%1$s</xliff:g> കാക്കുന്നു"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"വിജറ്റുകളുടെ ലിസ്റ്റ്"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"വിജറ്റുകളുടെ ലിസ്റ്റ് അവസാനിപ്പിച്ചു"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ഹോം സ്ക്രീനിലേക്ക് ചേർക്കുക"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g>-г суулгаж байна. <xliff:g id="PROGRESS">%2$s</xliff:g> дууссан"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g>-г татаж байна, <xliff:g id="PROGRESS">%2$s</xliff:g> татсан"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> нь суулгахыг хүлээж байна"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Жижиг хэрэгслийн жагсаалт"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Жижиг хэрэгслийн жагсаалтыг хаасан"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Үндсэн нүүрэнд нэмэх"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> इंस्टॉल करत आहे, <xliff:g id="PROGRESS">%2$s</xliff:g> पूर्ण झाले"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> डाउनलोड होत आहे , <xliff:g id="PROGRESS">%2$s</xliff:g> पूर्ण झाले"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> इंस्टॉल करण्याची प्रतिक्षा करत आहे"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"विजेट सूची"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"विजेट सूची बंद केली"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"होम स्क्रीनवर जोडा"</string>
|
||||
@@ -156,7 +164,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">"कामाशी संबंधित ॲप्स ही बॅज केलेली असून तुमच्या आयटी ॲडमिनला दृश्यमान आहेत"</string>
|
||||
<string name="work_profile_edu_accept" msgid="6069788082535149071">"समजले"</string>
|
||||
<string name="work_apps_paused_title" msgid="3040901117349444598">"कार्य ॲप्स थांबवली आहेत"</string>
|
||||
<string name="work_apps_paused_body" msgid="261634750995824906">"तुमची कार्य ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अॅक्सेस करू शकत नाहीत"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> dipasang, <xliff:g id="PROGRESS">%2$s</xliff:g> selesai"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> memuat turun, <xliff:g id="PROGRESS">%2$s</xliff:g> selesai"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> menunggu untuk dipasang"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Senarai widget"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Senarai widget ditutup"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Tambahkan pada skrin utama"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ကို ထည့်သွင်းနေသည်၊ <xliff:g id="PROGRESS">%2$s</xliff:g> ပြီးပါပြီ"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ဒေါင်းလုဒ်လုပ်နေသည်၊ <xliff:g id="PROGRESS">%2$s</xliff:g> ပြီးပါပြီ"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ကိုထည့်သွင်းရန်စောင့်နေသည်"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ဝိဂျက်စာရင်း"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ဝိဂျက်စာရင်းကို ပိတ်ထားသည်"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ပင်မစာမျက်နှာတွင် ထည့်ရန်"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installerer, <xliff:g id="PROGRESS">%2$s</xliff:g> er fullført"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Laster ned <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> er fullført"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Venter på å installere <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Modulliste"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Modullisten er lukket"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Legg til på startskjermen"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> इन्स्टल गरिँदै छ, <xliff:g id="PROGRESS">%2$s</xliff:g> पूरा भयो"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> डाउनलोड गर्दै, <xliff:g id="PROGRESS">%2$s</xliff:g> सम्पन्न"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> स्थापना गर्न प्रतीक्षा गर्दै"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"विजेटहरूको सूची"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"विजेटहरूको सूची बन्द गरियो"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"होम स्क्रिनमा राख्नुहोस्"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installeren, <xliff:g id="PROGRESS">%2$s</xliff:g> voltooid"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> wordt gedownload, <xliff:g id="PROGRESS">%2$s</xliff:g> voltooid"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> wacht op installatie"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lijst met widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Lijst met widgets gesloten"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Toevoegen aan startscherm"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ଇନଷ୍ଟଲ୍ କରାଯାଉଛି, <xliff:g id="PROGRESS">%2$s</xliff:g> ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଛି"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ଡାଉନଲୋଡ୍ ହେଉଛି, <xliff:g id="PROGRESS">%2$s</xliff:g> ସମ୍ପୂର୍ଣ୍ଣ"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ଇନଷ୍ଟଲ୍ ହେବାକୁ ଅପେକ୍ଷା କରିଛି"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ୱିଜେଟ୍ ତାଲିକା"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ୱିଜେଟ୍ ତାଲିକା ବନ୍ଦ ହୋଇଛି"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ମୂଳସ୍କ୍ରିନରେ ଯୋଗ କରନ୍ତୁ"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ਨੂੰ ਸਥਾਪਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, <xliff:g id="PROGRESS">%2$s</xliff:g> ਪੂਰਾ ਹੋਇਆ"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ਡਾਉਨਲੋਡ ਹੋਰ ਰਿਹਾ ਹੈ, <xliff:g id="PROGRESS">%2$s</xliff:g> ਸੰਪੂਰਣ"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ਸਥਾਪਤ ਕਰਨ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹੈ"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ਵਿਜੇਟਾਂ ਦੀ ਸੂਚੀ"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ਵਿਜੇਟਾਂ ਦੀ ਸੂਚੀ ਬੰਦ ਕੀਤੀ ਗਈ"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਸ਼ਾਮਲ ਕਰੋ"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Instaluję aplikację <xliff:g id="NAME">%1$s</xliff:g>, postęp: <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Pobieranie elementu <xliff:g id="NAME">%1$s</xliff:g>, ukończono: <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> oczekuje na instalację"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lista widgetów"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Lista widgetów zamknięta"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Dodaj do ekranu głównego"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"A instalar <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> concluído"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"A transferir o <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> concluído"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"A aguardar a instalação do <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lista de widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Lista de widgets fechada."</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Adicionar ao ecrã principal"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Instalando <xliff:g id="NAME">%1$s</xliff:g>. <xliff:g id="PROGRESS">%2$s</xliff:g> concluído"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Fazendo download de <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> concluído"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Aguardando instalação de <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lista de widgets"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Lista de widgets fechada"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Adicionar à tela inicial"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> se instalează, <xliff:g id="PROGRESS">%2$s</xliff:g> finalizat"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> se descarcă (finalizat <xliff:g id="PROGRESS">%2$s</xliff:g>)"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> așteaptă instalarea"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Listă de widgeturi"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Lista de widgeturi este închisă"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Adăugați pe ecranul de pornire"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Установка приложения \"<xliff:g id="NAME">%1$s</xliff:g>\" (выполнено <xliff:g id="PROGRESS">%2$s</xliff:g>)"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Скачивается \"<xliff:g id="NAME">%1$s</xliff:g>\" (<xliff:g id="PROGRESS">%2$s</xliff:g>)"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Ожидание установки \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Список виджетов"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Список виджетов закрыт"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Добавить на главный экран"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> ස්ථාපනය කරමින්, <xliff:g id="PROGRESS">%2$s</xliff:g> සම්පූර්ණයි"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> බාගත කරමින්, <xliff:g id="PROGRESS">%2$s</xliff:g> සම්පූර්ණයි"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ස්ථාපනය කිරීමට බලා සිටිමින්"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"විජට් ලැයිස්තුව"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"විජට් ලැයිස්තුව වසා ඇත"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"මුල් තිරය වෙත එක් කරන්න"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Inštaluje sa <xliff:g id="NAME">%1$s</xliff:g>. Dokončené: <xliff:g id="PROGRESS">%2$s</xliff:g>."</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Sťahuje sa aplikácia <xliff:g id="NAME">%1$s</xliff:g>. Stiahnuté: <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Aplikácia <xliff:g id="NAME">%1$s</xliff:g> čaká na inštaláciu"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Zoznam miniaplikácií"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Zoznam miniaplikácií je zavretý"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Pridať na plochu"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> se namešča, dokončano: <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Prenašanje aplikacije <xliff:g id="NAME">%1$s</xliff:g>; preneseno <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Aplikacija <xliff:g id="NAME">%1$s</xliff:g> čaka na namestitev"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Seznam pripomočkov"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Seznam pripomočkov se je zaprl"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Dodajanje na začetni zaslon"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> po instalohet, <xliff:g id="PROGRESS">%2$s</xliff:g> i përfunduar"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> po shkarkohet, <xliff:g id="PROGRESS">%2$s</xliff:g> të përfunduara"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> po pret të instalohet"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Lista e miniaplikacioneve"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Lista e miniaplikacioneve u mbyll"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Shto në ekranin bazë"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> се инсталира, <xliff:g id="PROGRESS">%2$s</xliff:g> готово"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> се преузима, завршено је <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> чека на инсталирање"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Листа виџета"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Листа виџета је затворена"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Додајте на почетни екран"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> installeras. <xliff:g id="PROGRESS">%2$s</xliff:g> har slutförts"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> laddas ned, <xliff:g id="PROGRESS">%2$s</xliff:g> klart"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> väntar på installation"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widgetlista"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widgetslistan har stängts"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Lägg till på startskärmen"</string>
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
<string name="folder_name_format_exact" msgid="8626242716117004803">"Folda: <xliff:g id="NAME">%1$s</xliff:g>, vipengee <xliff:g id="SIZE">%2$d</xliff:g>"</string>
|
||||
<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 muundo"</string>
|
||||
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Mandhari na mtindo"</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>
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Inasakinisha <xliff:g id="NAME">%1$s</xliff:g>, imekamilika <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> inapakuliwa, <xliff:g id="PROGRESS">%2$s</xliff:g> imekamilika"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> inasubiri kusakinisha"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Orodha ya wijeti"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Orodha ya wijeti imefungwa"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Weka kwenye skrini ya kwanza"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> நிறுவப்படுகிறது, <xliff:g id="PROGRESS">%2$s</xliff:g> முடிந்தது"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g>ஐப் பதிவிறக்குகிறது, <xliff:g id="PROGRESS">%2$s</xliff:g> முடிந்தது"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g>ஐ நிறுவுவதற்காகக் காத்திருக்கிறது"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"விட்ஜெட்கள் பட்டியல்"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"விட்ஜெட்கள் பட்டியல் மூடப்பட்டது"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"முகப்புத் திரையில் சேர்"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g>ను ఇన్స్టాల్ చేయడం, <xliff:g id="PROGRESS">%2$s</xliff:g> పూర్తయింది"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> డౌన్లోడ్ అవుతోంది, <xliff:g id="PROGRESS">%2$s</xliff:g> పూర్తయింది"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ఇన్స్టాల్ కావడానికి వేచి ఉంది"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"విడ్జెట్ల లిస్ట్"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"విడ్జెట్ల లిస్ట్ మూసివేయబడింది"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"మొదటి స్క్రీన్కు జోడించండి"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"กำลังติดตั้ง <xliff:g id="NAME">%1$s</xliff:g> เสร็จแล้ว <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"กำลังดาวน์โหลด <xliff:g id="NAME">%1$s</xliff:g> เสร็จแล้ว <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> กำลังรอติดตั้ง"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"รายการวิดเจ็ต"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ปิดรายการวิดเจ็ตแล้ว"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"เพิ่มลงในหน้าจอหลัก"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"Ini-install ang <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="PROGRESS">%2$s</xliff:g> kumpleto"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"Dina-download na ang <xliff:g id="NAME">%1$s</xliff:g>, tapos na ang <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"Hinihintay nang mag-install ang <xliff:g id="NAME">%1$s</xliff:g>"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Listahan ng mga widget"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Nakasara ang listahan ng mga widget"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Idagdag sa home screen"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> yükleniyor, <xliff:g id="PROGRESS">%2$s</xliff:g> tamamlandı"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> indiriliyor, <xliff:g id="PROGRESS">%2$s</xliff:g> tamamlandı"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> uygulaması yüklenmek için bekliyor"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Widget listesi"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Widget listesi kapalı"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Ana ekrana ekle"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> встановлюється, виконано <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> завантажується, <xliff:g id="PROGRESS">%2$s</xliff:g>"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> очікує на завантаження"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Список віджетів"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Список віджектів закрито"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Додати на головний екран"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> انسٹال کی جا رہی ہے، <xliff:g id="PROGRESS">%2$s</xliff:g> مکمل ہو گئی"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ڈاؤن لوڈ ہو رہا ہے، <xliff:g id="PROGRESS">%2$s</xliff:g> مکمل ہو گیا"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> انسٹال ہونے کا انتظار کر رہی ہے"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"ویجیٹس کی فہرست"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"ویجیٹس کی فہرست بند کر دی گئی"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"ہوم اسکرین میں شامل کریں"</string>
|
||||
|
||||
@@ -124,6 +124,14 @@
|
||||
<string name="app_installing_title" msgid="5864044122733792085">"<xliff:g id="NAME">%1$s</xliff:g> oʻrnatlmoqda, <xliff:g id="PROGRESS">%2$s</xliff:g> yakunlandi"</string>
|
||||
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> yuklab olinmoqda, <xliff:g id="PROGRESS">%2$s</xliff:g> bajarildi"</string>
|
||||
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ilovasi o‘rnatilishi kutilmoqda"</string>
|
||||
<!-- no translation found for dialog_update_title (114234265740994042) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update_message (4176784553982226114) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_update (2178028071796141234) -->
|
||||
<skip />
|
||||
<!-- no translation found for dialog_remove (6510806469849709407) -->
|
||||
<skip />
|
||||
<string name="widgets_list" msgid="796804551140113767">"Vidjetlar ro‘yxati"</string>
|
||||
<string name="widgets_list_closed" msgid="6141506579418771922">"Vidjetlar ro‘yxati yopildi"</string>
|
||||
<string name="action_add_to_workspace" msgid="215894119683164916">"Bosh ekranga chiqarish"</string>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user