summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/current.txt5
-rw-r--r--api/system-current.txt5
-rw-r--r--core/java/android/app/ActivityManagerNative.java23
-rw-r--r--core/java/android/app/IActivityManager.java3
-rw-r--r--core/java/android/app/StatusBarManager.java33
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java17
-rw-r--r--core/java/android/app/admin/IDevicePolicyManager.aidl2
-rw-r--r--core/java/android/view/View.java19
-rw-r--r--core/java/android/widget/Editor.java2
-rw-r--r--core/java/android/widget/MediaController.java10
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java74
-rw-r--r--core/java/com/android/internal/app/ResolverActivity.java4
-rw-r--r--core/java/com/android/internal/statusbar/IStatusBar.aidl2
-rw-r--r--core/java/com/android/internal/statusbar/IStatusBarService.aidl2
-rw-r--r--core/jni/android_os_Debug.cpp31
-rw-r--r--core/res/res/values-af/strings.xml6
-rw-r--r--core/res/res/values-am/strings.xml6
-rw-r--r--core/res/res/values-bg/strings.xml6
-rw-r--r--core/res/res/values-bn-rBD/strings.xml6
-rw-r--r--core/res/res/values-ca/strings.xml6
-rw-r--r--core/res/res/values-cs/strings.xml6
-rw-r--r--core/res/res/values-da/strings.xml6
-rw-r--r--core/res/res/values-de/strings.xml6
-rw-r--r--core/res/res/values-el/strings.xml6
-rw-r--r--core/res/res/values-es-rUS/strings.xml6
-rw-r--r--core/res/res/values-es/strings.xml6
-rw-r--r--core/res/res/values-et-rEE/strings.xml6
-rw-r--r--core/res/res/values-eu-rES/strings.xml6
-rw-r--r--core/res/res/values-fi/strings.xml6
-rw-r--r--core/res/res/values-fr-rCA/strings.xml6
-rw-r--r--core/res/res/values-fr/strings.xml6
-rw-r--r--core/res/res/values-gl-rES/strings.xml6
-rw-r--r--core/res/res/values-hi/strings.xml6
-rw-r--r--core/res/res/values-hr/strings.xml6
-rw-r--r--core/res/res/values-hu/strings.xml6
-rw-r--r--core/res/res/values-hy-rAM/strings.xml6
-rw-r--r--core/res/res/values-in/strings.xml6
-rw-r--r--core/res/res/values-is-rIS/strings.xml6
-rw-r--r--core/res/res/values-it/strings.xml6
-rw-r--r--core/res/res/values-ja/strings.xml6
-rw-r--r--core/res/res/values-kk-rKZ/strings.xml6
-rw-r--r--core/res/res/values-km-rKH/strings.xml6
-rw-r--r--core/res/res/values-kn-rIN/strings.xml6
-rw-r--r--core/res/res/values-ky-rKG/strings.xml6
-rw-r--r--core/res/res/values-lo-rLA/strings.xml6
-rw-r--r--core/res/res/values-lt/strings.xml6
-rw-r--r--core/res/res/values-lv/strings.xml6
-rw-r--r--core/res/res/values-mk-rMK/strings.xml6
-rw-r--r--core/res/res/values-ml-rIN/strings.xml6
-rw-r--r--core/res/res/values-mn-rMN/strings.xml6
-rw-r--r--core/res/res/values-mr-rIN/strings.xml6
-rw-r--r--core/res/res/values-ms-rMY/strings.xml6
-rw-r--r--core/res/res/values-my-rMM/strings.xml6
-rw-r--r--core/res/res/values-nb/strings.xml6
-rw-r--r--core/res/res/values-night/themes_material_daynight.xml5
-rw-r--r--core/res/res/values-nl/strings.xml6
-rw-r--r--core/res/res/values-pl/strings.xml6
-rw-r--r--core/res/res/values-pt-rPT/strings.xml6
-rw-r--r--core/res/res/values-pt/strings.xml6
-rw-r--r--core/res/res/values-ro/strings.xml6
-rw-r--r--core/res/res/values-ru/strings.xml6
-rw-r--r--core/res/res/values-sk/strings.xml6
-rw-r--r--core/res/res/values-sl/strings.xml6
-rw-r--r--core/res/res/values-sr/strings.xml6
-rw-r--r--core/res/res/values-sv/strings.xml6
-rw-r--r--core/res/res/values-sw/strings.xml6
-rw-r--r--core/res/res/values-ta-rIN/strings.xml6
-rw-r--r--core/res/res/values-te-rIN/strings.xml6
-rw-r--r--core/res/res/values-th/strings.xml6
-rw-r--r--core/res/res/values-tl/strings.xml6
-rw-r--r--core/res/res/values-uk/strings.xml6
-rw-r--r--core/res/res/values-uz-rUZ/strings.xml6
-rwxr-xr-xcore/res/res/values/config.xml3
-rw-r--r--core/res/res/values/public.xml2
-rwxr-xr-xcore/res/res/values/symbols.xml1
-rw-r--r--core/res/res/values/themes_material.xml26
-rw-r--r--core/res/res/values/themes_material_daynight.xml5
-rw-r--r--docs/html/google/auth/api-client.jd118
-rw-r--r--docs/html/training/wearables/data-layer/accessing.jd13
-rw-r--r--docs/html/training/wearables/data-layer/messages.jd19
-rw-r--r--graphics/java/android/graphics/Canvas.java58
-rw-r--r--graphics/java/android/graphics/Paint.java36
-rw-r--r--libs/hwui/RenderNode.cpp27
-rw-r--r--libs/hwui/RenderProperties.cpp17
-rw-r--r--libs/hwui/RenderProperties.h20
-rw-r--r--media/java/android/media/AudioManager.java17
-rw-r--r--media/java/android/media/tv/TvInputManager.java2
-rw-r--r--media/java/android/media/tv/TvInputService.java2
-rw-r--r--media/java/android/media/tv/TvView.java2
-rw-r--r--media/jni/android_media_ImageWriter.cpp2
-rw-r--r--packages/DocumentsUI/res/values-af/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-am/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ar/strings.xml12
-rw-r--r--packages/DocumentsUI/res/values-bg/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-bn-rBD/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ca/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-cs/strings.xml10
-rw-r--r--packages/DocumentsUI/res/values-da/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-de/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-el/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-es-rUS/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-es/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-et-rEE/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-eu-rES/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-fi/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-fr-rCA/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-fr/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-gl-rES/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-hi/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-hr/strings.xml9
-rw-r--r--packages/DocumentsUI/res/values-hu/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-hy-rAM/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-is-rIS/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-it/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ja/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-kk-rKZ/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-km-rKH/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-kn-rIN/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ko/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ky-rKG/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-lo-rLA/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-lt/strings.xml10
-rw-r--r--packages/DocumentsUI/res/values-lv/strings.xml9
-rw-r--r--packages/DocumentsUI/res/values-mk-rMK/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ml-rIN/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-mr-rIN/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ms-rMY/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-nb/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ne-rNP/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-nl/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-pl/strings.xml10
-rw-r--r--packages/DocumentsUI/res/values-pt-rPT/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-pt/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ro/strings.xml9
-rw-r--r--packages/DocumentsUI/res/values-ru/strings.xml10
-rw-r--r--packages/DocumentsUI/res/values-sk/strings.xml10
-rw-r--r--packages/DocumentsUI/res/values-sr/strings.xml9
-rw-r--r--packages/DocumentsUI/res/values-sv/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-sw/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-ta-rIN/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-te-rIN/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-th/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-tr/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-uk/strings.xml10
-rw-r--r--packages/DocumentsUI/res/values-ur-rPK/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-uz-rUZ/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-vi/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-zh-rHK/strings.xml8
-rw-r--r--packages/DocumentsUI/res/values-zh-rTW/strings.xml8
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java15
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java2
-rw-r--r--packages/SystemUI/res/values-da/strings.xml2
-rw-r--r--packages/SystemUI/res/values-fr-rCA/strings.xml2
-rw-r--r--packages/SystemUI/res/values-hy-rAM/strings.xml2
-rw-r--r--packages/SystemUI/res/values-in/strings.xml6
-rw-r--r--packages/SystemUI/res/values-pl/strings.xml2
-rw-r--r--packages/SystemUI/res/values-uz-rUZ/strings.xml14
-rw-r--r--packages/SystemUI/src/com/android/systemui/EventLogTags.logtags2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java8
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java120
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java2
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java41
-rw-r--r--services/core/java/com/android/server/statusbar/StatusBarManagerService.java74
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java57
-rw-r--r--services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java25
-rw-r--r--telecomm/java/android/telecom/DefaultDialerManager.java23
-rw-r--r--tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java9
-rw-r--r--tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java2
-rw-r--r--tools/layoutlib/bridge/src/android/view/ViewGroup_Delegate.java12
170 files changed, 1187 insertions, 670 deletions
diff --git a/api/current.txt b/api/current.txt
index eb69ed6..b419064 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -2104,6 +2104,7 @@ package android {
field public static final int Theme_Material_DayNight_DarkActionBar = 16974549; // 0x10302d5
field public static final int Theme_Material_DayNight_Dialog = 16974550; // 0x10302d6
field public static final int Theme_Material_DayNight_DialogWhenLarge = 16974556; // 0x10302dc
+ field public static final int Theme_Material_DayNight_DialogWhenLarge_DarkActionBar = 16974568; // 0x10302e8
field public static final int Theme_Material_DayNight_DialogWhenLarge_NoActionBar = 16974557; // 0x10302dd
field public static final int Theme_Material_DayNight_Dialog_Alert = 16974551; // 0x10302d7
field public static final int Theme_Material_DayNight_Dialog_MinWidth = 16974552; // 0x10302d8
@@ -2128,6 +2129,7 @@ package android {
field public static final int Theme_Material_Light_DarkActionBar = 16974392; // 0x1030238
field public static final int Theme_Material_Light_Dialog = 16974393; // 0x1030239
field public static final int Theme_Material_Light_DialogWhenLarge = 16974399; // 0x103023f
+ field public static final int Theme_Material_Light_DialogWhenLarge_DarkActionBar = 16974567; // 0x10302e7
field public static final int Theme_Material_Light_DialogWhenLarge_NoActionBar = 16974400; // 0x1030240
field public static final int Theme_Material_Light_Dialog_Alert = 16974394; // 0x103023a
field public static final int Theme_Material_Light_Dialog_MinWidth = 16974395; // 0x103023b
@@ -5781,6 +5783,7 @@ package android.app.admin {
method public void setPasswordQuality(android.content.ComponentName, int);
method public boolean setPermittedAccessibilityServices(android.content.ComponentName, java.util.List<java.lang.String>);
method public boolean setPermittedInputMethods(android.content.ComponentName, java.util.List<java.lang.String>);
+ method public void setPreferredSetupActivity(android.content.ComponentName, android.content.ComponentName);
method public void setProfileEnabled(android.content.ComponentName);
method public void setProfileName(android.content.ComponentName, java.lang.String);
method public void setRecommendedGlobalProxy(android.content.ComponentName, android.net.ProxyInfo);
@@ -11183,6 +11186,8 @@ package android.graphics {
method public void drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint);
method public void drawTextOnPath(char[], int, int, android.graphics.Path, float, float, android.graphics.Paint);
method public void drawTextOnPath(java.lang.String, android.graphics.Path, float, float, android.graphics.Paint);
+ method public void drawTextRun(char[], int, int, int, int, float, float, boolean, android.graphics.Paint);
+ method public void drawTextRun(java.lang.CharSequence, int, int, int, int, float, float, boolean, android.graphics.Paint);
method public void drawVertices(android.graphics.Canvas.VertexMode, int, float[], int, float[], int, int[], int, short[], int, int, android.graphics.Paint);
method public boolean getClipBounds(android.graphics.Rect);
method public final android.graphics.Rect getClipBounds();
diff --git a/api/system-current.txt b/api/system-current.txt
index b8c7fa2..9df8b98 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -2184,6 +2184,7 @@ package android {
field public static final int Theme_Material_DayNight_DarkActionBar = 16974549; // 0x10302d5
field public static final int Theme_Material_DayNight_Dialog = 16974550; // 0x10302d6
field public static final int Theme_Material_DayNight_DialogWhenLarge = 16974556; // 0x10302dc
+ field public static final int Theme_Material_DayNight_DialogWhenLarge_DarkActionBar = 16974568; // 0x10302e8
field public static final int Theme_Material_DayNight_DialogWhenLarge_NoActionBar = 16974557; // 0x10302dd
field public static final int Theme_Material_DayNight_Dialog_Alert = 16974551; // 0x10302d7
field public static final int Theme_Material_DayNight_Dialog_MinWidth = 16974552; // 0x10302d8
@@ -2208,6 +2209,7 @@ package android {
field public static final int Theme_Material_Light_DarkActionBar = 16974392; // 0x1030238
field public static final int Theme_Material_Light_Dialog = 16974393; // 0x1030239
field public static final int Theme_Material_Light_DialogWhenLarge = 16974399; // 0x103023f
+ field public static final int Theme_Material_Light_DialogWhenLarge_DarkActionBar = 16974567; // 0x10302e7
field public static final int Theme_Material_Light_DialogWhenLarge_NoActionBar = 16974400; // 0x1030240
field public static final int Theme_Material_Light_Dialog_Alert = 16974394; // 0x103023a
field public static final int Theme_Material_Light_Dialog_MinWidth = 16974395; // 0x103023b
@@ -5886,6 +5888,7 @@ package android.app.admin {
method public void setPasswordQuality(android.content.ComponentName, int);
method public boolean setPermittedAccessibilityServices(android.content.ComponentName, java.util.List<java.lang.String>);
method public boolean setPermittedInputMethods(android.content.ComponentName, java.util.List<java.lang.String>);
+ method public void setPreferredSetupActivity(android.content.ComponentName, android.content.ComponentName);
method public void setProfileEnabled(android.content.ComponentName);
method public void setProfileName(android.content.ComponentName, java.lang.String);
method public void setRecommendedGlobalProxy(android.content.ComponentName, android.net.ProxyInfo);
@@ -11478,6 +11481,8 @@ package android.graphics {
method public void drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint);
method public void drawTextOnPath(char[], int, int, android.graphics.Path, float, float, android.graphics.Paint);
method public void drawTextOnPath(java.lang.String, android.graphics.Path, float, float, android.graphics.Paint);
+ method public void drawTextRun(char[], int, int, int, int, float, float, boolean, android.graphics.Paint);
+ method public void drawTextRun(java.lang.CharSequence, int, int, int, int, float, float, boolean, android.graphics.Paint);
method public void drawVertices(android.graphics.Canvas.VertexMode, int, float[], int, float[], int, int[], int, short[], int, int, android.graphics.Paint);
method public boolean getClipBounds(android.graphics.Rect);
method public final android.graphics.Rect getClipBounds();
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index b11c509..a71a258 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -2521,6 +2521,15 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
return true;
}
+ case UPDATE_PREFERRED_SETUP_ACTIVITY_TRANSACTION: {
+ data.enforceInterface(IActivityManager.descriptor);
+ ComponentName preferredActivity = ComponentName.readFromParcel(data);
+ int userId = data.readInt();
+ updatePreferredSetupActivity(preferredActivity, userId);
+ reply.writeNoException();
+ return true;
+ }
+
case GET_PACKAGE_PROCESS_STATE_TRANSACTION: {
data.enforceInterface(IActivityManager.descriptor);
String pkg = data.readString();
@@ -5821,6 +5830,20 @@ class ActivityManagerProxy implements IActivityManager
}
@Override
+ public void updatePreferredSetupActivity(ComponentName preferredActivity, int userId)
+ throws RemoteException {
+ Parcel data = Parcel.obtain();
+ Parcel reply = Parcel.obtain();
+ data.writeInterfaceToken(IActivityManager.descriptor);
+ ComponentName.writeToParcel(preferredActivity, data);
+ data.writeInt(userId);
+ mRemote.transact(UPDATE_PREFERRED_SETUP_ACTIVITY_TRANSACTION, data, reply, 0);
+ reply.readException();
+ data.recycle();
+ reply.recycle();
+ }
+
+ @Override
public int getPackageProcessState(String packageName) throws RemoteException {
Parcel data = Parcel.obtain();
Parcel reply = Parcel.obtain();
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index 00558fe..5829fbe 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -496,6 +496,8 @@ public interface IActivityManager extends IInterface {
throws RemoteException;
public void updateLockTaskPackages(int userId, String[] packages) throws RemoteException;
public void updateDeviceOwner(String packageName) throws RemoteException;
+ public void updatePreferredSetupActivity(ComponentName preferredActivity, int userId)
+ throws RemoteException;
public int getPackageProcessState(String packageName) throws RemoteException;
@@ -839,4 +841,5 @@ public interface IActivityManager extends IInterface {
int GET_PACKAGE_PROCESS_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+293;
int SHOW_LOCK_TASK_ESCAPE_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+294;
int UPDATE_DEVICE_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+295;
+ int UPDATE_PREFERRED_SETUP_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+296;
}
diff --git a/core/java/android/app/StatusBarManager.java b/core/java/android/app/StatusBarManager.java
index ce5306f..207519c 100644
--- a/core/java/android/app/StatusBarManager.java
+++ b/core/java/android/app/StatusBarManager.java
@@ -17,6 +17,7 @@
package android.app;
+import android.annotation.IntDef;
import android.content.Context;
import android.os.Binder;
import android.os.RemoteException;
@@ -27,6 +28,9 @@ import android.view.View;
import com.android.internal.statusbar.IStatusBarService;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
/**
* Allows an app to control the status bar.
*
@@ -59,6 +63,15 @@ public class StatusBarManager {
| DISABLE_SYSTEM_INFO | DISABLE_RECENT | DISABLE_HOME | DISABLE_BACK | DISABLE_CLOCK
| DISABLE_SEARCH;
+ public static final int DISABLE2_NONE = 0x00000000;
+
+ public static final int DISABLE2_MASK = 0x00000000;
+
+ @IntDef(flag = true,
+ value = {DISABLE2_NONE, DISABLE2_MASK})
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface Disable2Flags {}
+
public static final int NAVIGATION_HINT_BACK_ALT = 1 << 0;
public static final int NAVIGATION_HINT_IME_SHOWN = 1 << 1;
@@ -103,7 +116,25 @@ public class StatusBarManager {
throw new RuntimeException(ex);
}
}
-
+
+ /**
+ * Disable additional status bar features. Pass the bitwise-or of the DISABLE2_* flags.
+ * To re-enable everything, pass {@link #DISABLE_NONE}.
+ *
+ * Warning: Only pass DISABLE2_* flags into this function, do not use DISABLE_* flags.
+ */
+ public void disable2(@Disable2Flags int what) {
+ try {
+ final IStatusBarService svc = getService();
+ if (svc != null) {
+ svc.disable2(what, mToken, mContext.getPackageName());
+ }
+ } catch (RemoteException ex) {
+ // system process is dead anyway.
+ throw new RuntimeException(ex);
+ }
+ }
+
/**
* Expand the notifications panel.
*/
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 47133d4..ed814c3 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -4325,4 +4325,21 @@ public class DevicePolicyManager {
}
}
}
+
+ /**
+ * Called by a device initializer to set the activity to be launched on device boot or after a
+ * user switch during user setup. This activity will be started regardless of the priority of
+ * other 'home' activities. Once user setup is complete, the preferred setup activity will be
+ * ignored.
+ *
+ * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
+ * @param activity The Activity to be started by default during user setup.
+ */
+ public void setPreferredSetupActivity(ComponentName admin, ComponentName activity) {
+ try {
+ mService.setPreferredSetupActivity(admin, activity);
+ } catch (RemoteException re) {
+ Log.w(TAG, "Failed talking with device policy service", re);
+ }
+ }
}
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index 087fc88..a678c51 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -216,6 +216,8 @@ interface IDevicePolicyManager {
String getDeviceInitializer();
ComponentName getDeviceInitializerComponent();
+ void setPreferredSetupActivity(in ComponentName admin, in ComponentName activity);
+
void setUserIcon(in ComponentName admin, in Bitmap icon);
void sendDeviceInitializerStatus(int statusCode, String description);
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 5c6ce76..7da2da4 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -15778,11 +15778,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
return;
}
- if (mBackgroundSizeChanged) {
- background.setBounds(0, 0, mRight - mLeft, mBottom - mTop);
- mBackgroundSizeChanged = false;
- rebuildOutline();
- }
+ setBackgroundBounds();
// Attempt to use a display list if requested.
if (canvas.isHardwareAccelerated() && mAttachInfo != null
@@ -15808,6 +15804,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
}
+ /**
+ * Sets the correct background bounds and rebuilds the outline, if needed.
+ * <p/>
+ * This is called by LayoutLib.
+ */
+ void setBackgroundBounds() {
+ if (mBackgroundSizeChanged && mBackground != null) {
+ mBackground.setBounds(0, 0, mRight - mLeft, mBottom - mTop);
+ mBackgroundSizeChanged = false;
+ rebuildOutline();
+ }
+ }
+
private void setBackgroundRenderNodeProperties(RenderNode renderNode) {
renderNode.setTranslationX(mScrollX);
renderNode.setTranslationY(mScrollY);
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index f1be434..39b9907 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -3563,7 +3563,7 @@ public class Editor {
return false;
}
- return isPositionVisible(mPositionX + mHotspotX, mPositionY);
+ return isPositionVisible(mPositionX + mHotspotX + getHorizontalOffset(), mPositionY);
}
public abstract int getCurrentCursorOffset();
diff --git a/core/java/android/widget/MediaController.java b/core/java/android/widget/MediaController.java
index 2375089..8d8b3a3 100644
--- a/core/java/android/widget/MediaController.java
+++ b/core/java/android/widget/MediaController.java
@@ -326,6 +326,16 @@ public class MediaController extends FrameLayout {
if (mFfwdButton != null && !mPlayer.canSeekForward()) {
mFfwdButton.setEnabled(false);
}
+ // TODO What we really should do is add a canSeek to the MediaPlayerControl interface;
+ // this scheme can break the case when applications want to allow seek through the
+ // progress bar but disable forward/backward buttons.
+ //
+ // However, currently the flags SEEK_BACKWARD_AVAILABLE, SEEK_FORWARD_AVAILABLE,
+ // and SEEK_AVAILABLE are all (un)set together; as such the aforementioned issue
+ // shouldn't arise in existing applications.
+ if (mProgress != null && !mPlayer.canSeekBackward() && !mPlayer.canSeekForward()) {
+ mProgress.setEnabled(false);
+ }
} catch (IncompatibleClassChangeError ex) {
// We were given an old version of the interface, that doesn't have
// the canPause/canSeekXYZ methods. This is OK, it just means we
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index a6c39e6..2b77b2c 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -307,7 +307,7 @@ public class ChooserActivity extends ResolverActivity {
ResolveListAdapter createAdapter(Context context, Intent[] initialIntents,
List<ResolveInfo> rList, int launchedFromUid, boolean filterLastUsed) {
final ChooserListAdapter adapter = new ChooserListAdapter(context, initialIntents, rList,
- launchedFromUid, filterLastUsed);
+ launchedFromUid, filterLastUsed, mCallerChooserTargets);
if (DEBUG) Log.d(TAG, "Adapter created; querying services");
queryTargetServices(adapter);
return adapter;
@@ -315,45 +315,70 @@ public class ChooserActivity extends ResolverActivity {
class ChooserTargetInfo implements TargetInfo {
private final TargetInfo mSourceInfo;
+ private final ResolveInfo mBackupResolveInfo;
private final ChooserTarget mChooserTarget;
private final Drawable mDisplayIcon;
+ public ChooserTargetInfo(ChooserTarget target) {
+ this(null, target);
+ }
+
public ChooserTargetInfo(TargetInfo sourceInfo, ChooserTarget chooserTarget) {
mSourceInfo = sourceInfo;
mChooserTarget = chooserTarget;
mDisplayIcon = new BitmapDrawable(getResources(), chooserTarget.getIcon());
+
+ if (sourceInfo != null) {
+ mBackupResolveInfo = null;
+ } else {
+ mBackupResolveInfo = getPackageManager().resolveActivity(getResolvedIntent(), 0);
+ }
}
@Override
public Intent getResolvedIntent() {
final Intent targetIntent = mChooserTarget.getIntent();
- return targetIntent != null ? targetIntent : mSourceInfo.getResolvedIntent();
+ if (targetIntent != null) {
+ return targetIntent;
+ } else if (mSourceInfo != null) {
+ return mSourceInfo.getResolvedIntent();
+ }
+ return getTargetIntent();
}
@Override
public ComponentName getResolvedComponentName() {
- return mSourceInfo.getResolvedComponentName();
+ if (mSourceInfo != null) {
+ return mSourceInfo.getResolvedComponentName();
+ } else if (mBackupResolveInfo != null) {
+ return new ComponentName(mBackupResolveInfo.activityInfo.packageName,
+ mBackupResolveInfo.activityInfo.name);
+ }
+ return null;
+ }
+
+ private Intent getFillInIntent() {
+ return mSourceInfo != null ? mSourceInfo.getResolvedIntent() : getTargetIntent();
}
@Override
public boolean start(Activity activity, Bundle options) {
- return mChooserTarget.sendIntent(activity, mSourceInfo.getResolvedIntent());
+ return mChooserTarget.sendIntent(activity, getFillInIntent());
}
@Override
public boolean startAsCaller(Activity activity, Bundle options, int userId) {
- return mChooserTarget.sendIntentAsCaller(activity, mSourceInfo.getResolvedIntent(),
- userId);
+ return mChooserTarget.sendIntentAsCaller(activity, getFillInIntent(), userId);
}
@Override
public boolean startAsUser(Activity activity, Bundle options, UserHandle user) {
- return mChooserTarget.sendIntentAsUser(activity, mSourceInfo.getResolvedIntent(), user);
+ return mChooserTarget.sendIntentAsUser(activity, getFillInIntent(), user);
}
@Override
public ResolveInfo getResolveInfo() {
- return mSourceInfo.getResolveInfo();
+ return mSourceInfo != null ? mSourceInfo.getResolveInfo() : mBackupResolveInfo;
}
@Override
@@ -363,7 +388,7 @@ public class ChooserActivity extends ResolverActivity {
@Override
public CharSequence getExtendedInfo() {
- return mSourceInfo.getExtendedInfo();
+ return mSourceInfo != null ? mSourceInfo.getExtendedInfo() : null;
}
@Override
@@ -374,10 +399,15 @@ public class ChooserActivity extends ResolverActivity {
public class ChooserListAdapter extends ResolveListAdapter {
private final List<ChooserTargetInfo> mServiceTargets = new ArrayList<>();
+ private final List<ChooserTargetInfo> mCallerTargets = new ArrayList<>();
public ChooserListAdapter(Context context, Intent[] initialIntents, List<ResolveInfo> rList,
- int launchedFromUid, boolean filterLastUsed) {
+ int launchedFromUid, boolean filterLastUsed, ChooserTarget[] callerChooserTargets) {
super(context, initialIntents, rList, launchedFromUid, filterLastUsed);
+
+ for (ChooserTarget target : callerChooserTargets) {
+ mCallerTargets.add(new ChooserTargetInfo(target));
+ }
}
@Override
@@ -407,23 +437,25 @@ public class ChooserActivity extends ResolverActivity {
@Override
public int getCount() {
- int count = super.getCount();
- if (mServiceTargets != null) {
- count += mServiceTargets.size();
- }
- return count;
+ return super.getCount() + mServiceTargets.size() + mCallerTargets.size();
}
@Override
public TargetInfo getItem(int position) {
int offset = 0;
- if (mServiceTargets != null) {
- final int serviceTargetCount = mServiceTargets.size();
- if (position < serviceTargetCount) {
- return mServiceTargets.get(position);
- }
- offset += serviceTargetCount;
+
+ final int callerTargetCount = mCallerTargets.size();
+ if (position < callerTargetCount) {
+ return mCallerTargets.get(position);
+ }
+ offset += callerTargetCount;
+
+ final int serviceTargetCount = mServiceTargets.size();
+ if (position - offset < serviceTargetCount) {
+ return mServiceTargets.get(position - offset);
}
+ offset += serviceTargetCount;
+
return super.getItem(position - offset);
}
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index 7f51d92..8dd7836 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -376,6 +376,10 @@ public class ResolverActivity extends Activity implements AdapterView.OnItemClic
}
}
+ public Intent getTargetIntent() {
+ return mIntent;
+ }
+
private String getReferrerPackageName() {
final Uri referrer = getReferrer();
if (referrer != null && "android-app".equals(referrer.getScheme())) {
diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl
index 2b0d244..9f99f62 100644
--- a/core/java/com/android/internal/statusbar/IStatusBar.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl
@@ -24,7 +24,7 @@ oneway interface IStatusBar
{
void setIcon(int index, in StatusBarIcon icon);
void removeIcon(int index);
- void disable(int state);
+ void disable(int state1, int state2);
void animateExpandNotificationsPanel();
void animateExpandSettingsPanel();
void animateCollapsePanels();
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
index 87e0603..663c838 100644
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
@@ -28,6 +28,8 @@ interface IStatusBarService
void collapsePanels();
void disable(int what, IBinder token, String pkg);
void disableForUser(int what, IBinder token, String pkg, int userId);
+ void disable2(int what, IBinder token, String pkg);
+ void disable2ForUser(int what, IBinder token, String pkg, int userId);
void setIcon(String slot, String iconPackage, int iconId, int iconLevel, String contentDescription);
void setIconVisibility(String slot, boolean visible);
void removeIcon(String slot);
diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp
index 773d42e..d4fb572 100644
--- a/core/jni/android_os_Debug.cpp
+++ b/core/jni/android_os_Debug.cpp
@@ -568,6 +568,29 @@ static jlong android_os_Debug_getPss(JNIEnv *env, jobject clazz)
return android_os_Debug_getPssPid(env, clazz, getpid(), NULL, NULL);
}
+static long get_allocated_vmalloc_memory() {
+ char line[1024];
+ long size, vmalloc_allocated_size = 0;
+ FILE* fp = fopen("/proc/vmallocinfo", "r");
+ if (fp == NULL) {
+ return 0;
+ }
+ while (true) {
+ if (fgets(line, 1024, fp) == NULL) {
+ break;
+ }
+
+ if (!strstr(line, "ioremap")) {
+ // Ignore ioremap regions, since they don't actually consume memory
+ if (sscanf(line, "%*x-%*x %ld", &size) == 1) {
+ vmalloc_allocated_size += size;
+ }
+ }
+ }
+ fclose(fp);
+ return vmalloc_allocated_size;
+}
+
enum {
MEMINFO_TOTAL,
MEMINFO_FREE,
@@ -588,7 +611,7 @@ enum {
static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray out)
{
char buffer[1024];
- int numFound = 0;
+ size_t numFound = 0;
if (out == NULL) {
jniThrowNullPointerException(env, "out == null");
@@ -646,7 +669,7 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o
long mem[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
char* p = buffer;
- while (*p && numFound < 13) {
+ while (*p && numFound < (sizeof(tagsLen) / sizeof(tagsLen[0]))) {
int i = 0;
while (tags[i]) {
if (strncmp(p, tags[i], tagsLen[i]) == 0) {
@@ -679,6 +702,9 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o
mem[MEMINFO_ZRAM_TOTAL] = atoll(buffer)/1024;
}
}
+ // Recompute Vmalloc Used since the value in meminfo
+ // doesn't account for I/O remapping which doesn't use RAM.
+ mem[MEMINFO_VMALLOC_USED] = get_allocated_vmalloc_memory() / 1024;
int maxNum = env->GetArrayLength(out);
if (maxNum > MEMINFO_COUNT) {
@@ -693,6 +719,7 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o
env->ReleaseLongArrayElements(out, outArray, 0);
}
+
static jint read_binder_stat(const char* stat)
{
FILE* fp = fopen(BINDER_STATS, "r");
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 2718a27..6fc1a45 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Laat die program toe om WAP-boodskappe te ontvang en te verwerk. Hierdie toestemming sluit ook in dat boodskappe wat na jou toestel gestuur is, gemonitor of uitgevee kan word, sonder dat jy dit gesien het."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"haal lopende programme op"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Laat die program toe om inligting oor die huidig- en onlangslopende take op te haal. Dit kan moontlik die program toelaat om inligting oor watter programme op die toestel gebruik word, te ontdek."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Bestuur profiel- en toesteleienaars"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Laat programme toe om die profieleienaars en die toesteleienaar te stel."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"herrangskik lopende programme"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Laat die program toe om take na die voorgrond of agtergrond te skuif. Die program kan dit moontlik sonder jou insette doen."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"aktiveer motormodus"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 44b79c2..6a3d0c2 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"መተግበሪያው የWAP መልዕክቶችን እንዲያነብ እና እንዲያካሂድ ይፈቅዳል። ይህ ፈቃድ የተላኩልዎን መልዕክቶች ለእርስዎ ሳያሳይዎ የመቆጣጠር ወይም የመሰረዝ ብቃትን ያጠቃልላል።"</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"አሂድ መተግበሪያዎችን ሰርስረው ያውጡ"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"መተግበሪያው በአሁኑ ጊዜና በቅርቡ እየተካሄዱ ስላሉ ተግባሮችን መረጃ ሰርስሮ እንዲያወጣ ይፈቅድለታል። ይህ መተግበሪያው በመሳሪያው ላይ የትኛዎቹ መተግበሪያዎች ጥቅም ላይ ስለመዋላቸው መረጃ እንዲያገኝ ሊፈቅድለት ይችላል።"</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"የመገለጫ እና የመሣሪያ ባለቤቶችን ያስተዳድሩ"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"የመገለጫ ባለቤቶችን እና የመሣሪያውን ባለቤት መተግበሪያዎች እንዲያዋቅሩ ይፈቅዳል።"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"አሂድ ትግበራዎችን ድጋሚ ደርድር"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"መተግበሪያው ተግባሮችን ወደ ቅድመ ገጹ እና ወደ ዳራው እንዲያንቀሳቅስ ይፈቅድለታል። መተግበሪያው ይህንን ያላንተ ግብዓት ሊያደርግ ይችላል።"</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"የመኪና ሁነታ አንቃ"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index c15116c..d60e0f0 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Разрешава на приложението да получава и обработва WAP съобщения. Това разрешение включва възможността да наблюдава или изтрива изпратените до вас, без да ви ги покаже."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"извличане на изпълняваните приложения"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Разрешава на приложението да извлича информация за задачите, изпълнявани понастоящем и неотдавна. Това може да му позволи да открива данни за това, кои приложения се използват на устройството."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Управление на собствениците на потребителските профили и на устройствата"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Разрешава на приложенията да задават собствениците на потребителските профили и собственика на устройствата."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"пренареждане на изпълняваните приложения"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Разрешава на приложението да прехвърля задачи на преден и на заден план. То може да направи това без вашето потвърждение."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"активиране на мото режима"</string>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index 64ae439..d61965a 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"অ্যাপ্লিকেশানটিকে WAP বার্তা প্রাপ্ত করার এবং প্রক্রিয়া করার অনুমতি দেয়৷ এর মানে হল অ্যাপ্লিকেশানটি আপনার ডিভাইস থেকে পাঠানো বার্তাগুলিকে পর্যবেক্ষণ করতে পারে এবং মুছতে পারে সেগুলিকে আপনাকে না দেখিয়ে৷"</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"চলমান অ্যাপ্লিকেশান উদ্ধার করে"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"বর্তমানে ও সাম্প্রতিককালের সক্রিয় ক্রিয়াগুলি সম্বন্ধে তথ্য পুনরুদ্ধার করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ এছাড়া এটি ডিভাইসটিতে কোন অ্যাপ্লিকেশানগুলি ব্যবহৃত হচ্ছে তার বিষয়ে তথ্য খুঁজে বের করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করতে পারে৷"</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"প্রোফাইল এবং ডিভাইস মালিকদের পরিচালনা করুন"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"অ্যাপ্লিকেশানগুলিকে প্রোফাইলের মালিকদের এবং ডিভাইসের মালিককে সেট করার অনুমতি দেয়৷"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"চলমান অ্যাপ্লিকেশান পুনর্বিন্যাস করে"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"অ্যাপ্লিকেশানটিকে কার্যগুলিকে পুরোভাগে এবং পশ্চাদপটে সরানোর অনুমতি দেয়৷ অ্যাপ্লিকেশানটি আপনার ইনপুট ছাড়া এটি করতে পারে৷"</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"গাড়ী মোড সক্ষম করে"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 319cf42..d1eda0e 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permet que l\'aplicació rebi i processi missatges WAP. Aquest permís inclou la capacitat de controlar o de suprimir missatges que s\'han enviat al teu dispositiu sense mostrar-te\'ls."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"recupera les aplicacions en execució"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permet que l\'aplicació recuperi informació sobre les tasques que s\'executen actualment i les que s\'han executat recentment. Aquesta acció pot permetre que l\'aplicació descobreixi informació sobre les aplicacions que s\'utilitzen al dispositiu."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Gestionar els propietaris del perfil i del dispositiu"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Permet que les aplicacions defineixin els propietaris del perfil i del dispositiu."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"canvia l\'ordre de les aplicacions en execució"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permet que l\'aplicació desplaci tasques en primer o segon pla. L\'aplicació pot fer-ho sense que tu ho indiquis."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"activar el mode de cotxe"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index e987685..ed5b413 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -276,10 +276,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Umožňuje aplikaci přijmout a zpracovat zprávy WAP. Toto oprávnění umožňuje sledovat přijaté zprávy nebo je smazat, aniž by se vám zobrazily."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"načtení spuštěných aplikací"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Umožňuje aplikaci získat informace o aktuálně a naposledy spuštěných úlohách. Aplikace s tímto oprávněním může odhalit informace o aplikacích, které se v zařízení používají."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Správa vlastníků profilu a zařízení"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Umožňuje aplikacím nastavit vlastníky profilu a vlastníka zařízení."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"změna uspořádání spuštěných aplikací"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Umožňuje aplikaci přesunout úlohy na popředí nebo pozadí. Aplikace tak může činit bez vašeho zásahu."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"aktivovat režim V autě"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index ce899e9..9918b08 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Tillader, at appen kan modtage og behandle WAP-beskeder. Denne tilladelse omfatter muligheden for at overvåge eller slette de beskeder, der sendes til dig, uden at vise dem til dig."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"hente kørende apps"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Tillader, at appen kan hente oplysninger om nuværende og seneste opgaver. Med denne tilladelse kan appen finde oplysninger om, hvilke applikationer der bruges på enheden."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Administrer profil- og enhedsejere"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Tillader, at apps konfigurerer profilejerne og enhedens ejer."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"omorganisere kørende apps"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Tillader, at appen kan flytte opgaver til forgrunden og baggrunden. Appen kan gøre dette uden din bekræftelse."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"aktivere biltilstand"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index e914408..cea19ac 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Ermöglicht der App, WAP-Nachrichten zu empfangen und zu verarbeiten. Mit der Berechtigung können Nachrichten, die an Sie gesendet wurden, überwacht und gelöscht werden, bevor sie Ihnen angezeigt werden."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"Aktive Apps abrufen"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Ermöglicht der App, Informationen zu aktuellen und kürzlich ausgeführten Aufgaben abzurufen. Damit kann die App möglicherweise ermitteln, welche Apps auf Ihrem Gerät zum Einsatz kommen."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Profilinhaber und Geräteeigentümer verwalten"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Ermöglicht Apps das Einrichten der Profilinhaber und des Geräteeigentümers"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"Aktive Apps neu ordnen"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Ermöglicht der App, Aufgaben in den Vorder- und Hintergrund zu verschieben, ohne dass dazu ein Eingreifen Ihrerseits notwendig ist."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"Automodus aktivieren"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index c72d9c9..0f9ada3 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Επιτρέπει στην εφαρμογή τη λήψη και την επεξεργασία μηνυμάτων WAP. Αυτό σημαίνει ότι η εφαρμογή θα μπορούσε να παρακολουθήσει ή να διαγράψει τα μηνύματα που αποστέλλονται στη συσκευή σας χωρίς αυτά να εμφανιστούν σε εσάς."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"ανάκτηση εκτελούμενων εφαρμογών"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Επιτρέπει στην εφαρμογή την ανάκτηση πληροφοριών σχετικά με τρέχουσες και πρόσφατα εκτελούμενες εργασίες. Αυτό μπορεί να δίνει τη δυνατότητα στην εφαρμογή να ανακαλύπτει πληροφορίες σχετικά με το ποιες εφαρμογές χρησιμοποιούνται στη συσκευή."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Διαχείριση προφίλ και κατόχων συσκευής"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Επιτρέπει σε εφαρμογές να ορίζουν τους κατόχους προφίλ και τον κάτοχο της συσκευής."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"αναδιάταξη εκτελούμενων εφαρμογών"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Επιτρέπει στην εφαρμογή τη μετακίνηση εργασιών στο προσκήνιο και το παρασκήνιο. Η εφαρμογή μπορεί να το κάνει αυτό χωρίς να καταχωρίσετε δεδομένα εισόδου."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"ενεργοποίηση λειτουργίας αυτοκινήτου"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index a215317..5a04b8b 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permite que la aplicación reciba y procese mensajes WAP, lo que significa que podría controlar o eliminar mensajes enviados al usuario sin mostrártelos."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"recuperar aplicaciones en ejecución"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permite que la aplicación recupere información sobre las tareas que se estén ejecutando en ese momento o que se hayan ejecutado recientemente. La aplicación puede utilizar este permiso para descubrir cuáles son las aplicaciones que se utilizan en el dispositivo."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Administrar perfiles de propietarios y propietario del dispositivo"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Permite que las aplicaciones configuren los perfiles de propietarios y el propietario del dispositivo."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"reorganizar aplicaciones en ejecución"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permite que la aplicación mueva tareas a segundo o a primer plano. La aplicación puede utilizar este permiso para realizar estos movimientos sin indicártelo."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"activar el modo de auto"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index e096e1a..f05757d 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permite que la aplicación reciba y procese mensajes WAP, lo que significa que podría utilizar este permiso para controlar o eliminar mensajes enviados al usuario sin mostrárselos."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"recuperar aplicaciones en ejecución"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permite que aplicación recupere información sobre tareas que se están ejecutando en ese momento o que se han ejecutado recientemente. La aplicación puede utilizar este permiso para descubrir cuáles son las aplicaciones que se utilizan en el dispositivo."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Administrar propietarios del perfil y del dispositivo"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Permite que las aplicaciones establezcan los propietarios del perfil y del dispositivo."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"reorganizar aplicaciones en ejecución"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permite que la aplicación mueva tareas a segundo o a primer plano. La aplicación puede utilizar este permiso para realizar estos movimientos sin que se lo indique el usuario."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"habilitar modo coche"</string>
diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml
index 6304ef3..9ee98df 100644
--- a/core/res/res/values-et-rEE/strings.xml
+++ b/core/res/res/values-et-rEE/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Võimaldab rakendusel vastu võtta ja töödelda WAP-sõnumeid. See luba hõlmab võimet jälgida või kustutada teile saadetud sõnumeid neid teile näitamata."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"Käitatud rakenduste toomine"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Võimaldab rakendusel tuua teavet praegu ja hiljuti käitatud ülesannete kohta. See võib lubada rakendusel avastada teavet selle kohta, milliseid rakendusi seadmes kasutatakse."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Profiili- ja seadmeomanike haldamine"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Võimaldab rakendustel määrata profiiliomanikud ja seadmeomaniku."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"käitatud rakenduste ümberjärjestamine"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Võimaldab rakendusel teisaldada ülesanded esiplaanile ja taustale. Rakendus võib seda teha teie sisendita."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"autorežiimi lubamine"</string>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index c017f54..31371d0 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAP mezuak jasotzeko eta prozesatzeko baimena ematen die aplikazioei. Horrela, aplikazioak, besteak beste, gailura bidalitako mezuak kontrola eta ezaba ditzake zuri erakutsi gabe."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"Eskuratu abian diren aplikazioak"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Unean edo duela gutxi exekutatutako zereginei buruzko informazioa lortzeko baimena ematen die aplikazioei. Horrela, aplikazioak gailuan erabiltzen ari diren aplikazioei buruzko informazioa ezagut dezake."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Kudeatu profilen eta gailuen jabeak"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Profilaren eta gailuaren jabeak zehazteko baimena ematen die aplikazioei"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"Ordenatu abian diren aplikazioak"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Zereginak aurreko eta atzeko planora eramateko baimena ematen die aplikazioei. Aplikazioak zuk ezer egin gabe egin dezake hori."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"gaitu auto modua"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 5e2123f..cb0f601 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Antaa sovelluksen vastaanottaa ja käsitellä WAP-viestejä. Sovellus voi valvoa tai poistaa laitteeseesi lähetettyjä viestejä näyttämättä niitä sinulle."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"käynnissä olevien sovellusten noutaminen"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Antaa sovelluksen noutaa tietoja käynnissä olevista ja äskettäin suoritetuista tehtävistä. Sovellus voi saada tietoja laitteella käytetyistä sovelluksista."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Hallinnoi laitteen ja profiilien omistajia"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Sallii sovelluksien määrittää laitteen ja profiilien omistajat."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"käynnissä olevien sovellusten järjesteleminen"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Antaa sovelluksen siirtää tehtäviä etualalle ja taustalle. Sovellus ei tarvitse toimiin käyttäjän lupaa."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"ota autotila käyttöön"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 573ef2a..9bed850 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permet à l\'application de recevoir et de traiter les messages WAP. Cette autorisation lui donne la possibilité de surveiller ou de supprimer les messages envoyés à votre appareil sans vous les montrer."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"récupérer les données des applications en cours d\'exécution"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permet à l\'application de récupérer des données sur des tâches en cours d\'exécution et récemment exécutées. L\'application est ainsi susceptible d\'obtenir des données concernant les applications utilisées sur l\'appareil."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Gérer les propriétaires des profils et de l\'appareil"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Autoriser les applications à définir les propriétaires des profils et celui de l\'appareil"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"réorganiser les applications en cours d\'exécution"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permet à l\'application de déplacer les tâches au premier plan et en arrière-plan. L\'application peut procéder à ces opérations sans votre intervention."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"activer le mode voiture"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index f01dbcc..b46f4d5 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permet à l\'application de recevoir et de traiter les messages WAP. Cette autorisation lui donne la possibilité de surveiller ou supprimer les messages envoyés à votre appareil sans vous les montrer."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"récupérer les applications en cours d\'exécution"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permet à l\'application de récupérer des informations sur des tâches en cours d\'exécution et récemment exécutées. L\'application est ainsi susceptible d\'obtenir des informations sur les applications utilisées sur l\'appareil."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Gérer les propriétaires des profils et de l\'appareil"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Autoriser les applications à définir les propriétaires des profils et celui de l\'appareil"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"réorganiser les applications en cours d\'exécution"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permet à l\'application de déplacer les tâches au premier plan et en arrière-plan. L\'application peut procéder à ces opérations sans votre intervention."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"activer le mode voiture"</string>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index 58a036c..ca089bb 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permite á aplicación recibir e procesar mensaxes WAP. Este permiso inclúe a capacidade de supervisar ou eliminar mensaxes enviadas a ti sen mostrarchas."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"recuperar aplicacións en execución"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permite á aplicación recuperar información acerca de tarefas que se están executando actualmente ou que se executaron recentemente. É posible que esta acción permita á aplicación descubrir información acerca de que aplicacións se utilizan no dispositivo."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Xestionar os propietarios do perfil e do dispositivo"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Permite ás aplicacións establecer os propietarios do perfil e o propietario do dispositivo."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"reordenar as aplicacións en execución"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permite á aplicación mover tarefas ao primeiro e segundo plano. É posible que a aplicación leve a cabo esta acción sen a túa intervención."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"activar o modo coche"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index aa5bc87..9f90ed6 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"ऐप्स को WAP संदेशों को प्राप्‍त और संसाधित करने देता है. इस अनुमति में आपको भेजे गए संदेशों की निगरानी आपको दिखाए बिना करने और हटाने की क्षमता शामिल है."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"चल रहे ऐप्स पुनर्प्राप्त करें"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"ऐप्स को वर्तमान में और हाल ही में चल रहे कार्यों के बारे में जानकारी को पुन: प्राप्‍त करने देता है. इससे ऐप्स डिवाइस पर उपयोग किए गए ऐप्स के बारे में जानकारी खोज सकता है."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"प्रोफ़ाइल और डिवाइस स्‍वामियों को प्रबंधित करें"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ऐप्‍स को प्रोफ़ाइल स्‍वामी और डिवाइस स्‍वामी सेट करने दें."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"चल रहे ऐप्स पुन: क्रमित करें"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"ऐप्स को कार्यों को अग्रभूमि और पृष्‍ठभूमि पर ले जाने देता है. ऐप्स आपके इनपुट के बिना यह कर सकता है."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"कार मोड सक्षम करें"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index adce98d..a340ac6 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -275,10 +275,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Aplikaciji omogućuje primanje i obradu WAP poruka. Ta dozvola uključuje mogućnost nadziranja ili brisanja vama poslanih poruka, a da vam ih ne prikaže."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"dohvaćanje pokrenutih aplikacija"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Aplikaciji omogućuje dohvaćanje informacija o trenutačnim i nedavnim tekućim zadacima. To aplikaciji može omogućiti otkrivanje informacija o tome koje se aplikacije upotrebljavaju na uređaju."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Upravljanje vlasnicima profila i uređaja"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Omogućuje aplikaciji postavljanje vlasnika profila i vlasnika uređaja."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"promjena redoslijeda pokrenutih aplikacija"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Aplikaciji omogućuje premještanje zadataka u prednji plan ili pozadinu. Aplikacija to može napraviti bez vašeg naloga."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"omogućavanje načina rada za automobil"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 2e54743..f1db0a8 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Lehetővé teszi az alkalmazás számára, hogy WAP-üzeneteket fogadjon és dolgozzon fel. Ez azt is jelenti, hogy az alkalmazás megfigyelheti vagy törölheti a beérkező üzeneteket anélkül, hogy Ön látná azokat."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"futó alkalmazások lekérése"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Lehetővé teszi az alkalmazás számára a jelenleg futó és nemrég befejezett feladatokkal kapcsolatos információk lekérését. Ezáltal az alkalmazás engedélyt kap az eszközön használt alkalmazásokkal kapcsolatos információk felderítésére."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Profil- és eszköztulajdonosok kezelése"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Lehetővé teszi, hogy az alkalmazások beállítsák a profil- és az eszköztulajdonosokat."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"futó alkalmazások átrendezése"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Lehetővé teszi az alkalmazás számára, hogy feladatokat helyezzen át az előtérből a háttérbe és fordítva. Az alkalmazás ezt az Ön jóváhagyása nélkül is megteheti."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"gépkocsi üzemmód bekapcsolása"</string>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index 62517a5..3807578 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Թույլ է տալիս հավելվածին ստանալ և գործարկել WAP հաղորդագրությունները: Այս թույլտվությունը ներառում է ձեզ ուղարկված հաղորդագրությունները հետևելու կամ ջնջելու կարողությունը` առանց ձեր տեսնելու:"</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"առբերել աշխատող հավելվածները"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Թույլ է տալիս հավելվածին առբերել մանրամասն տեղեկություններ առկա և վերջերս աշխատող առաջադրանքների մասին: Սա կարող է թույլ տալ հավելվածին հայտնաբերել անձնական տեղեկություններ այլ հավելվածների վերաբերյալ:"</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Պրոֆիլների և սարքի սեփականատերերի կառավարում"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Թույլ է տալիս հավելվածներին սահմանել պրոֆիլների սեփականատերերին և սարքի սեփականատիրոջը:"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"վերադասավորել աշխատող հավելվածները"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Թույլ է տալիս հավելվածին փոխանցել առաջադրանքները առջևք և հետնաշերտ: Հավելվածը կարող է սա անել առանց ձեր ներածման:"</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"միացնել մեքենայի ռեժիմը"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index a184cb3..59f48cc 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Memungkinkan aplikasi menerima dan memproses pesan WAP. Izin ini mencakup kemampuan untuk memantau atau menghapus pesan yang dikirim kepada Anda tanpa menunjukkannya kepada Anda."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"mengambil apl yang berjalan"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Memungkinkan aplikasi mengambil informasi tentang tugas yang dijalankan saat ini dan baru-baru ini. Izin ini memungkinkan aplikasi menemukan informasi tentang aplikasi mana yang digunakan pada perangkat."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Mengelola pemilik profil dan perangkat"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Mengizinkan aplikasi menyetel pemilik profil dan pemilik perangkat"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"menyusun ulang apl yang berjalan"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Memungkinkan aplikasi memindah tugas ke latar depan dan latar belakang. Aplikasi dapat melakukannya tanpa masukan dari Anda."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"aktifkan mode mobil"</string>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index a59e43e..a234eb4 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Leyfir forriti að taka á móti og vinna úr WAP-skilaboðum. Þessi heimild felur í sér möguleikann á að fylgjast með eða eyða skilaboðum sem þér eru send án þess að birta þér þau."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"sækja forrit í gangi"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Leyfir forriti að sækja upplýsingar um opin forrit og forrit sem nýlega hafa verið opin. Þetta getur gert forritinu kleift að nálgast upplýsingar um forritin sem notuð eru í tækinu."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Stjórna eigendum sniða og tækis"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Leyfir forritum að stilla eigendur sniða og eiganda tækisins."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"endurraða forritum í gangi"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Leyfir forriti að færa verk á milli forgrunns og bakgrunns. Forritið getur gert þetta án inngrips frá þér."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"kveikja á bílastillingu"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 324c391..a3ae79d 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Consente all\'applicazione di ricevere ed elaborare messaggi WAP. Questa autorizzazione include la facoltà di monitorare o eliminare i messaggi che ti vengono inviati senza mostrarteli."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"recupero applicazioni in esecuzione"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Consente all\'applicazione di recuperare informazioni sulle attività attualmente e recentemente in esecuzione. Ciò potrebbe consentire all\'applicazione di scoprire informazioni sulle applicazioni in uso sul dispositivo."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Gestione dei proprietari di profili e dispositivi"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Consente alle app di impostare i proprietari dei profili e dei dispositivi."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"riordinamento applicazioni in esecuzione"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Consente all\'applicazione di spostare attività in primo piano e in background. L\'applicazione potrebbe farlo senza un tuo comando."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"abilitazione modalità auto"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index bc9c128..9c77257 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAPメッセージの受信と処理をアプリに許可します。これにより、アプリが端末に届いたメッセージを表示することなく監視または削除できるようになります。"</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"実行中のアプリの取得"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"現在実行中または最近実行したタスクに関する情報の取得をアプリに許可します。これにより、その端末でどのアプリを使用しているかをアプリから識別できるようになる可能性があります。"</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"プロフィールの所有者と端末の所有者の管理"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"プロフィールの所有者と端末の所有者の設定をアプリに許可します。"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"実行中のアプリの順序変更"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"タスクをフォアグラウンドやバックグラウンドに移動することをアプリに許可します。これにより、アプリがユーザーからの入力なしでこの処理を実行する可能性があります。"</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"運転モードの有効化"</string>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index 827512b..fc88343 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Қолданбаға WAP хабарларын алу және өңдеу мүмкіндігін береді. Бұл қолданба құрылғыңызға жіберілген хабарларды сізге көрсетпестен қабылдай және жоя алады дегенді білдіреді."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"жұмыс істеп жатқан қолданбаларды шығарып алу"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Қолданбаларға ағымдағы және соңғы тапсырмалар туралы ақпарат алу мүмкіндігін береді. Бұл қолданбаға құрылғы қолданатын басқа қолданбалар туралы деректері анықтау мүмкіндігін беруі ықтимал."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Профиль және құрылғы иелерін басқару"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Қолданбаларға профиль иелері мен құрылғы иесін орнатуға мүмкіндік береді."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"жұмыс істеп жатқан қолданбалардың ретін өзгерту"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Қолданбаға тапсырмаларды алғы немесе артқы шепке жылжыту мүмкіндігін береді. Қолданба бұны сіздің қатысуыңызсыз жасауы мүмкін."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"автокөлік режимін қосу"</string>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index b4d6319..eeee275 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"ឲ្យ​កម្មវិធី​ទទួល និង​ដំណើរការ​សារ WAP ។ សិទ្ធិ​នេះ​​មានលទ្ធភាព​តាមដាន ឬ​លុប​សារ​ដែល​បាន​ផ្ញើ​ឲ្យ​អ្នក​ដោយ​មិន​បង្ហា​ញ។"</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"ទៅ​យក​កម្មវិធី​កំពុង​ដំណើរការ"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"ឲ្យ​កម្មវិធី​ទៅ​យក​ព័ត៌មាន​លម្អិត​អំពី​កិច្ចការ​ដែល​កំពុង​ដំណើរការ​បច្ចុប្បន្ន។ វា​អាច​ឲ្យ​កម្មវិធី​រកមើល​ព័ត៌មាន​ថា​តើ​កម្មវិធី​ណាមួយ​ត្រូវ​បាន​ប្រើ​លើ​ឧបករណ៍។"</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"គ្រប់គ្រងម្ចាស់ឧបករណ៍ និងប្រវត្តិរូប"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"អនុញ្ញាតឲ្យកម្មវិធីកំណត់ម្ចាស់ប្រវត្តិរូប និងម្ចាស់ឧបករណ៍។"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"តម្រៀប​កម្មវិធី​កំពុង​ដំណើរការ​ឡើងវិញ"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"ឲ្យ​កម្មវិធី​ផ្លាស់ទី​ភារកិច្ច​​ទៅ​ផ្ទៃ​ខាង​មុខ។​ កម្មវិធី​អាច​ធ្វើ​វា​ដោយ​គ្មាន​ការ​បញ្ចូល​របស់​អ្នក។"</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"បើក​របៀប​រថយន្ត"</string>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index 6948575..125625f 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAP ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಅಪ್ಲಿಕೇಶನ್‍‍ಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಈ ಅನುಮತಿಯು, ನಿಮಗೆ ಕಳುಹಿಸಲಾಗಿರುವ ಸಂದೇಶಗಳನ್ನು ನಿಮಗೆ ತೋರಿಸದೆಯೇ, ಅವುಗಳನ್ನು ಮಾನಿಟರ್ ಮಾಡುವ ಅಥವಾ ಅಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"ರನ್‌ ಆಗುತ್ತಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಹಿಂಪಡೆಯಿರಿ"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"ಪ್ರಸ್ತುತವಿರುವ ಮತ್ತು ಇತ್ತೀಚಿಗೆ ಚಾಲ್ತಿಯಾಗಿರುವ ಕಾರ್ಯಗಳ ಕುರಿತ ಮಾಹಿತಿಯನ್ನು ಮರುಪಡೆದುಕೊಳ್ಳಲು ಅಪ್ಲಿಕೇಶನ್‍‍ಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಸಾಧನದಲ್ಲಿ ಯಾವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬಳಸಲಾಗಿದೆ ಎಂಬುದರ ಕುರಿತ ಮಾಹಿತಿಯನ್ನು ಅನ್ವೇಷಿಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿಸಬಹುದು."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"ಪ್ರೊಫೈಲ್ ಮತ್ತು ಸಾಧನ ಮಾಲೀಕರನ್ನು ನಿರ್ವಹಿಸಿ"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ಪ್ರೊಫೈಲ್ ಮಾಲೀಕರು ಮತ್ತು ಸಾಧನ ಮಾಲೀಕರನ್ನು ಹೊಂದಿಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"ರನ್‌ ಆಗುತ್ತಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಮರುಕ್ರಮಗೊಳಿಸಿ"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"ಮುನ್ನೆಲೆ ಮತ್ತು ಹಿನ್ನಲೆಗೆ ಕಾರ್ಯಗಳನ್ನು ಸರಿಸಲು ಅಪ್ಲಿಕೇಶನ್‍‍ಗೆ ಅನುಮತಿಸುತ್ತದೆ. ನಿಮ್ಮ ಇನ್‍‍ಪುಟ್ ಇಲ್ಲದೆಯೇ, ಅಪ್ಲಿಕೇಶನ್ ಈ ಕಾರ್ಯವನ್ನು ಮಾಡಬಹುದು."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"ಕಾರ್ ಮೋಡ್ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index 63c1840..4fe2cfb 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -386,10 +386,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Колдонмого WAP билдирүүлөрүн кабыл алууга жана аларды иштетип чыгууга уруксат берет. Бул, колдонмо сизге билгизбестен түзмөгүңүзгө жөнөтүлгөн билдирүүлөрдү мониторлой же жок кыла алат дегенди билдирет."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"иштеп жаткан колдонмолорду түшүрүп алуу"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Колдонмого учурдагы жана акыркы убакытта пайдаланылган колдонмолор тууралуу маалымат алууга уруксат берет. Бул колдонмого түзмөктө кандай колдонмолор колдонулаарын билип алууга жол бериши мүмкүн."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Профилди жана түзмөк ээлерин башкаруу"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Колдонмолорго профиль ээлерин жана түзмөк ээсин орнотуу мүмкүнчүлүгүн берет."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"иштеп жаткан колдонмолорду иреттештирүү"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Колдонмо процесстерди фонго же алдыңкы планга жылдыруу уруксатын алат. Колдонмо муну сиздин ырастооңузсуз кыла алат."</string>
<!-- no translation found for permlab_enableCarMode (5684504058192921098) -->
diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml
index 014a659..0453de9 100644
--- a/core/res/res/values-lo-rLA/strings.xml
+++ b/core/res/res/values-lo-rLA/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"ອະນຸຍາດໃຫ້ແອັບຯຮັບ ແລະປະມວນຜົນຂໍ້ຄວາມ WAP. ການອະນຸຍາດນີ້ຮວມເຖິງຄວາມສາມາດໃນການກວດເບິ່ງ ແລະລຶບຂໍ້ຄວາມທີ່ສົ່ງແລ້ວ ໂດຍບໍ່ຕ້ອງສະແດງໃຫ້ທ່ານເຫັນ."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"ດຶງແອັບຯທີ່ເຮັດວຽກຢູ່ມາ"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"ອະນຸຍາດໃຫ້ແອັບຯດຶງຂໍ້ມູນກ່ຽວກັບການເຮັດວຽກໃນປັດຈຸບັນ ແລະຫາກໍຜ່ານມາ. ແອັບຯທີ່ເປັນອັນຕະລາຍອາດຄົ້ນພົບຂໍ້ມູນ ກ່ຽວກັບແອັບພລິເຄຊັນທີ່ໃຊ້ຢູ່ໃນອຸປະກອນໄດ້."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"ຈັດ​ການ​ເຈົ້າ​ຂອງ​ໂປ​ຣ​ໄຟ​ລ໌ ແລະ​ອຸ​ປະ​ກອນ"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ອະ​ນຸ​ຍາດ​ໃຫ້​ແອັບ​ຕັ້ງ​ເຈົ້າ​ຂອງ​ໂປ​ຣ​ໄຟ​ລ໌ ແລະ​ເຈົ້າ​ຂອງ​ອຸ​ປະ​ກອນ."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"ຮຽງລຳດັບແອັບຯທີ່ກຳລັງເຮັດວຽກຄືນໃໝ່"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"ອະນຸຍາດໃຫ້ແອັບຯຍ້າຍການເຮັດວຽກໄປໃສ່ດ້ານໜ້າ ແລະພື້ນຫຼັງໄດ້. ແອັບຯອາດຈະດຳເນີນການໂດຍບໍ່ຕ້ອງໃຫ້ທ່ານບອກ."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"ເປີດນຳໃຊ້ໂຫມດຂັບລົດ"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index cca0c33..30c1610 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -276,10 +276,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Leidžiama programai gauti ir apdoroti WAP pranešimus. Šis leidimas apima galimybę stebėti ar ištrinti jums siunčiamus pranešimus jums jų neparodžius."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"nuskaityti vykdomas programas"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Leidžiama programai nuskaityti informaciją apie šiuo ir pastaruoju metu vykdomas užduotis. Taip programa gali atrasti informacijos, kokios programos naudojamos įrenginyje."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Tvarkyti profilio ir įrenginio savininkus"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Leisti programai nustatyti profilio savininkus ir įrenginio savininką."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"pertvarkyti vykdomas programas"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Leidžiama programai perkelti užduotis į priekinį planą ir foną. Programa gali tai daryti be jūsų įsikišimo."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"įgalinti automobilio režimą"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 10aa4d0..bdefa64 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -275,10 +275,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Ļauj lietotnei saņemt un apstrādāt WAP ziņojumus. Šī atļauja ietver iespēju pārraudzīt vai dzēst jums nosūtītos ziņojumus, neparādot tos jums."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"izgūt izmantotās lietotnes"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Ļauj lietotnei izgūt informāciju par pašreiz un nesen darbinātajiem uzdevumiem. Tādējādi lietotne var atklāt informāciju par ierīcē izmantotajām lietojumprogrammām."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Profilu un ierīces īpašnieku pārvaldība"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Atļaut lietotnēm iestatīt profilu īpašniekus un ierīces īpašnieku."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"pārkārtot izmantotās lietotnes"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Ļauj lietotnei pārvietot uzdevumus priekšplānā un fonā. Lietotne var to izdarīt bez jūsu apstiprinājuma."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"iespējot automobiļa režīmu"</string>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index 4845a3f..3ce3cf0 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Овозможува апликацијата да прима и да обработува WAP пораки. Оваа дозвола ја опфаќа способноста за следење или за бришење пораки испратени до вашиот уред без да ви ги прикаже вам."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"обнови активни апликации"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Овозможува апликацијата да поврати информации за тековно и до неодамна активни задачи. Ова може да овозможи апликацијата да открие информации за тоа кои апликации се користат на уредот."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Управувај сопственици на профил и уред"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Дозволува апликациите до постават сопственици на профили и сопственик на уредот."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"преуреди активни апликации"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Овозможува апликацијата да преместува задачи во преден план и во заднина. Апликацијата може да го прави тоа без вашиот придонес."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"овозможи режим на автомобил"</string>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index f7b9207..0631b73 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAP സന്ദേശങ്ങൾ നേടാനും പ്രോസസ്സുചെയ്യാനും അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. നിങ്ങൾക്ക് അയയ്‌ക്കുന്ന സന്ദേശങ്ങൾ നിങ്ങൾക്ക് ദൃശ്യമാക്കാതെ തന്നെ നിരീക്ഷിക്കാനോ ഇല്ലാതാക്കാനോ ഉള്ള കഴിവ് ഈ അനുമതികളിൽ ഉൾപ്പെടുന്നു."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"പ്രവർത്തിക്കുന്ന അപ്ലിക്കേഷനുകൾ വീണ്ടെടുക്കുക"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"നിലവിലും സമീപകാലത്തും പ്രവർത്തിക്കുന്ന ടാസ്‌ക്കുകളെക്കുറിച്ചുള്ള വവിവരങ്ങൾ വീണ്ടെടുക്കാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. ഇത് ഉപകരണത്തിൽ ഉപയോഗിച്ച അപ്ലിക്കേഷനുകളെക്കുറിച്ചുള്ള വിവരം കണ്ടെത്താൻ അപ്ലിക്കേഷനെ അനുവദിക്കാനിടയുണ്ട്."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"പ്രൊഫൈൽ, ഉപകരണ ഉടമകളെ നിയന്ത്രിക്കുക"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"പ്രൊഫൈൽ ഉടമകളെയും ഉപകരണ ഉടമയെയും സജ്ജമാക്കാൻ അപ്ലിക്കേഷനുകളെ അനുവദിക്കുന്നു."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"പ്രവർത്തിക്കുന്ന അപ്ലിക്കേഷനുകൾ പുനഃക്രമീകരിക്കുക"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"ടാസ്‌ക്കുകളെ മുന്നിലേക്കോ പശ്ചാത്തലത്തിലേക്കോ നീക്കാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. ഇത് അപ്ലിക്കേഷൻ നിങ്ങളുടെ ഇടപെടലില്ലാതെ ചെയ്യാനിടയുണ്ട്."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"കാർ മോഡ് പ്രവർത്തനക്ഷമമാക്കുക"</string>
diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml
index 63499e5..45576c1 100644
--- a/core/res/res/values-mn-rMN/strings.xml
+++ b/core/res/res/values-mn-rMN/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Апп нь WAP мессежийг хүлээн авах болон биелүүлэх боломжтой. Энэ зөвшөөрөл нь танд илгээсэн мессежийг танд харуулалгүйгээр хянах эсвэл устгах боломжийг агуулна."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"ажиллаж байгаа апп-г дуудах"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Апп нь одоо ажиллаж байгаа болон сүүлд ажилласан даалгаврын талаарх мэдээллийг авах боломжтой. Ингэснээр апп нь төхөөмж дээрх ямар аппликешнүүд ашиглагдсан талаарх мэдээлийг олох боломжтой."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Профайл болон төхөөрөмжийн эзэмшигчийг удирдах"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Аппликейшнд профайл болон төхөөрөмж эзэмшигчийг сонгохыг зөвшөөрөх"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"ажиллаж байгаа апп-уудыг дахин эрэмбэлэх"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Апп нь даалгавруудыг нүүрлүү болон арлуу зөөх боломжтой. Апп нь энийг таны оролцоогүйгээр хийж болзошгүй"</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"машины горимыг идэвхжүүлэх"</string>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index 9887f98..e52fe37 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAP संदेश प्राप्त करण्यास आणि त्यावर प्रक्रिया करण्यासाठी अॅप ला अनुमती देते. ही परवानगी आपल्याला पाठविलेले संदेश आपल्याला न दर्शविता त्यांचे परीक्षण करण्याची आणि ते हटविण्याची क्षमता समाविष्ट करते."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"चालणारे अॅप्स पुनर्प्राप्त करा"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"सध्या आणि अलीकडे चालणार्‍या कार्यांविषयी माहिती पुनर्प्राप्त करण्यासाठी अॅप ला अनुमती देते. हे डिव्हाइसवर कोणते अनुप्रयोग वापरले जात आहेत त्याविषयी माहिती शोधण्यासाठी अॅप ला अनुमती देऊ शकतात."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"प्रोफाईल आणि डिव्हाइस मालक व्यवस्थापित करा"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"प्रोफाईल मालक आणि डिव्हाइस मालक सेट करण्याची अॅप्सना अनुमती द्या."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"चालणारे अॅप्स पुनर्क्रमित करा"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"समोर आणि पार्श्वभूमीवर कार्ये हलविण्यासाठी अॅप ला अनुमती देते. अॅप हे आपल्या इनपुटशिवाय करू शकतो."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"कार मोड सक्षम करा"</string>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index 93534fb..7d3a314 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Membenarkan apl menerima dan memproses mesej WAP. Kebenaran ini termasuk keupayaan untuk memantau atau memadam mesej yang dihantar kepada anda tanpa menunjukkannya kepada anda."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"dapatkan semula apl yang sedang dijalankan"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Membenarkan apl mengambil maklumat tentang tugasan yang sedang dan baru berjalan. Ini boleh membenarkan apl untuk menemui maklumat tentang apl mana yang digunakan pada peranti."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Urus profil dan pemilik peranti"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Membenarkan apl menetapkan profil pemilik dan pemilik peranti."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"susun semula tertib apl yang dijalankan"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Membenarkan apl memindahkan tugasan ke latar depan dan latar belakang. Apl boleh melakukan ini tanpa input anda."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"dayakan mod kereta"</string>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index 1bd372a..ffcf6b8 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"အပလီကေးရှင်းအား WAP စာများ လက်ခံခြင်း၊ ဆောင်ရွက်ခြင်း ခွင့်ပြုပါ။ ဤခွင့်ပြုချက်တွင် အပလီကေးရှင်းအနေဖြင့် သင် လက်ခံရရှိသော စာများအား သင့်အား မပြပဲစောင့်ကြည့်ခွင့်နှင့် ဖျက်ပစ်ခွင့်များ ပါဝင်ပါသည်။"</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"အလုပ်လုပ်နေကြသည့် appများကို ရယူခြင်း"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"အပလီကေးရှင်းအား လက်ရှိနဲ့ လတ်တလော လုပ်ဆောင်ခဲ့သော သတင်းအချက်အလက် အသေးစိတ်အား ထုတ်ယူခွင့်ပြုရန်။ အပလီကေးရှင်းမှ သင် ဘယ် အပလီကေးရှင်းများသုံးရှိကြောင့် တွေ့ရှိနိုင်ပါသည်"</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"ကိုယ်ရေးအချက်အလက်နှင့် စက်ပစ္စည်းပိုင်ရှင်များကို စီမံပါ"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ကိုယ်ရေးအချက်လက်ပိုင်ရှင်များနှင့်စက်ပစ္စည်းပိုင်ရှင်အား သတ်မှတ်ရန် App အားခွင့်ပြုပါ။"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"အလုပ်လုပ်နေကြသည့် appများကို ပြန်လည်စီစဉ်ခြင်း"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"အပလီကေးရှင်းအား နောက်ကွယ် နှင့် ရှေ့မှောက်တွင် လက်ရှိ လုပ်ဆောင်နေမှုများအား ဖယ်ခွင့် ပြုပါ။ သင့် ခွင့်ပြုချက်မပါပဲ လုပ်ဆောင်နိုင်ပါလိမ့်မည်"</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"ကားမောင်းနေစဥ်စနစ်အား ရရှိစေခြင်း"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index c36fe11..47ff2a0 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Lar appen motta og behandle WAP-meldinger. Dette betyr at appen kan overvåke eller slette meldinger som er sendt til deg uten at du har sett dem."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"hente apper som kjører"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Lar appen hente informasjon om oppgaver som kjører og som nylig har kjørt. Dette kan tillate appen å oppdage informasjon om hvilke apper som brukes på enheten."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Administrer profiler og enhetseiere"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Lar apper angi profileierne og enhetseieren."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"Endre rekkefølge på apper som kjører"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Lar appen flytte oppgaver til forgrunnen eller bakgrunnen. Appen kan gjøre dette uten instruksjoner fra deg."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"aktivere bilmodus"</string>
diff --git a/core/res/res/values-night/themes_material_daynight.xml b/core/res/res/values-night/themes_material_daynight.xml
index da870b7..b344582 100644
--- a/core/res/res/values-night/themes_material_daynight.xml
+++ b/core/res/res/values-night/themes_material_daynight.xml
@@ -93,6 +93,11 @@ please see themes_device_defaults.xml.
(large, xlarge). -->
<style name="Theme.Material.DayNight.DialogWhenLarge" parent="Theme.Material.DialogWhenLarge" />
+ <!-- Theme for a window with a dark action bar that will be displayed
+ either full-screen on smaller screens (small, normal) or as a dialog
+ on larger screens (large, xlarge). -->
+ <style name="Theme.Material.DayNight.DialogWhenLarge.DarkActionBar" parent="Theme.Material.DialogWhenLarge" />
+
<!-- Theme for a window without an action bar that will be displayed either full-screen
on smaller screens (small, normal) or as a dialog on larger screens
(large, xlarge). -->
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 2062233..f5d5e8e 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Hiermee kan de app WAP-berichten ontvangen en verwerken. Dit betekent dat de app berichten die naar uw apparaat zijn verzonden, kan bijhouden of verwijderen zonder deze aan u weer te geven."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"actieve apps ophalen"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Hiermee kan de app informatie ophalen over actieve en recent uitgevoerde taken. Zo kan de app informatie vinden over welke apps op het apparaat worden gebruikt."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Profiel- en apparaateigenaren beheren"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Apps toestaan de profieleigenaren en apparaateigenaar in te stellen."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"actieve apps opnieuw rangschikken"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Hiermee kan de app taken naar de voor- en achtergrond verplaatsen. De app kan dit doen zonder om uw bevestiging te vragen."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"automodus inschakelen"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index bf34de2..e4aca19 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -276,10 +276,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Pozwala aplikacji na odbieranie i przetwarzanie wiadomości WAP. To oznacza, że aplikacja będzie mogła bez Twojej wiedzy monitorować i usuwać wiadomości wysyłane do Twojego urządzenia."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"pobieranie uruchomionych aplikacji"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Pozwala aplikacji na pobieranie informacji o aktualnie i niedawno działających zadaniach. Dzięki temu aplikacja może uzyskać informacje o tym, które aplikacje są używane na urządzeniu."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Zarządzanie właścicielami profilu i urządzenia"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Zezwala aplikacjom na ustawianie właścicieli profilu i urządzenia."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"zmienianie kolejności uruchomionych aplikacji"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Pozwala aplikacji na przenoszenie zadań między tłem a pierwszym planem. Aplikacja może to robić bez Twojego udziału."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"włączanie trybu samochodowego"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 3dc8eda..e75620b 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permite que a aplicação receba e processe mensagens WAP. Esta autorização inclui a capacidade de monitorizar ou eliminar mensagens enviadas para si sem as apresentar."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"obter aplicações em execução"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permite que a aplicação recupere informações acerca de tarefas executadas atual e recentemente. Isto pode permitir que a aplicação descubra informações acerca de quais as aplicações utilizadas no dispositivo."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Gerir proprietários de perfis e do dispositivo"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Permite que as aplicações definam proprietários de perfis e o proprietário do dispositivo."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"reordenar as aplicações em execução"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permite que a aplicação mova tarefas para primeiro e segundo plano. A aplicação poderá fazê-lo sem qualquer entrada do utilizador."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"ativar modo de carro"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 7eec3ab..f2c8527 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permite que o app receba e processe mensagens WAP. Esta permissão inclui a capacidade de monitorar ou excluir mensagens enviadas para você sem mostrá-las para você."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"recuperar apps em execução"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permite que o app obtenha informações sobre tarefas em execução atuais e recentes. Pode permitir que o app descubra informações sobre os apps usados ​​no dispositivo."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Gerenciar proprietários de perfis e de dispositivos"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Permitir que os apps definam os proprietários de perfis e de dispositivos."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"reordenar os apps em execução"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permite que o app mova tarefas para o primeiro plano e o plano de fundo, sem sua intervenção."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"ativar o modo carro"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 0ca77cf..df7e778 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -275,10 +275,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permite aplicației să primească și să proceseze mesaje WAP. Această permisiune include capacitatea de a monitoriza sau şterge mesajele care v-au fost trimise fără a vi le arăta."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"preluare aplicații care rulează"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Permite aplicației să preia informaţiile despre activităţile care rulează în prezent și care au rulat recent. În acest fel, aplicația poate descoperi informaţii despre aplicațiile care sunt utilizate pe dispozitiv."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Gestionează proprietarii de profiluri și proprietarul dispozitivului"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Permite aplicațiilor să seteze proprietarii de profiluri și proprietarul dispozitivului."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"reordonare aplicații care rulează"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permite aplicației să mute activităţile în prim-plan și în fundal. Aplicaţia poate face acest lucru fără aportul dvs."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"activare mod Maşină"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 9b8f564..8b6d913 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -276,10 +276,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Приложение сможет получать и обрабатывать WAP-сообщения. Это значит, что оно сможет отслеживать и удалять отправленные на ваше устройство сообщения, не показывая их."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"Получение данных о запущенных приложениях"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Приложение сможет получать информацию о недавно запущенных и выполняемых задачах, а следовательно, и о приложениях, используемых на устройстве."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Управление профилями и владельцами"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Приложения смогут определять владельцев профилей и владельца устройства."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"Упорядочивание запущенных приложений"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Приложение сможет переключать активный и фоновый режимы выполнения задач без вашего ведома."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"Включение режима громкой связи"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 23a9023..498dcde 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -276,10 +276,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Umožňuje aplikácii prijímať a spracovávať správy WAP. Toto povolenie zahŕňa možnosť sledovať vaše správy alebo ich odstrániť bez toho, aby sa vám zobrazili."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"načítať spustené aplikácie"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Umožňuje aplikácii načítať informácie o aktuálne či nedávno spustených úlohách. Toto povolenie môže aplikácii umožniť objaviť informácie o tom, ktoré aplikácie sa na zariadení používajú."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Správa vlastníkov profilov a zariadenia"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Povolí aplikáciám nastaviť vlastníkov profilov a vlastníka zariadenia."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"zmeniť poradie spustených aplikácií"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Umožňuje aplikácii presunúť úlohy do popredia alebo do pozadia. Aplikácia tak môže urobiť bez vášho zásahu."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"aktivovať režim V aute"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 99ab0bd..77f9a1f 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -276,10 +276,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Aplikaciji omogoča prejemanje in obdelavo sporočil WAP. S tem lahko aplikacija nadzoruje ali izbriše sporočila, poslana v napravo, ne da bi vam jih pokazala."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"dobivanje aplikacij, ki se izvajajo"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Aplikaciji omogoča prejemanje podatkov o trenutnih in nedavno izvajajočih se opravilih. S tem lahko aplikacija odkrije podatke o aplikacijah, ki se uporabljajo v napravi."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Upravljanje lastnikov profilov in lastnika naprave."</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Dovolite aplikacijam, da nastavijo lastnike profilov in lastnika naprave."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"preurejanje aplikacij, ki se izvajajo"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Aplikaciji omogoča premikanje opravil v ospredje in ozadje. Aplikacija lahko to naredi brez vašega nadzora."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"omogočanje načina delovanja v avtomobilu"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 76e5215..e3e6f1d 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -275,10 +275,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Дозвољава апликацији да прима и обрађује WAP поруке. Ова дозвола укључује могућност праћења или брисања порука које вам се шаљу, а које вам се не приказују."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"преузимање покренутих апликација"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Дозвољава апликацији да преузима информације о актуелним и недавно покренутим задацима. Ово може да омогући апликацији да открије информације о томе које се апликације користе на уређају."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Управљај власницима профила и уређаја"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Дозвољава апликацији да подеси власнике профила и власника уређаја."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"промена редоследа покренутих апликација"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Дозвољава апликацији да премешта задатке у први план и у позадину. Апликација може да ради ово без вашег уноса."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"омогућавање режима рада у аутомобилу"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 257f7c3..b78e632 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Tillåter att appen tar emot och hanterar WAP-meddelanden. Med den här behörigheten kan appen övervaka eller ta bort meddelanden som skickats till dig utan att visa dem för dig."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"hämta appar som körs"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Tillåter att appen hämtar information om nyligen körda och pågående aktiviteter. Detta kan innebära att appen tillåts ta reda på vilka appar som används på enheten."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Hantera profil- och enhetsägare"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Tillåter att appar anger profilägare och enhetsägare."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"byt ordning på appar som körs"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Tillåter att appen flyttar aktiviteter till förgrunden eller bakgrunden. Appen kan göra detta utan åtgärd från dig."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"aktivera trafikläge"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index dcdef95..8c58d5b 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Inaruhusu programu kupokea na kuchakata ujumbe wa WAP. Idhini hii inajumuisha uwezo wa kuchunguza na kufuta ujumbe uliotumwa kwako bila ya kukuonyesha."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"rudisha programu zinazoendeshwa"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Inaruhusu programu kurudisha taarifa kuhusu kazi zinazoendeshwa sasa na hivi karibuni. Hii inaweza kuruhusu programu kugundua taarifa kuhusu ni programu zipi zinazotumika kwenye kifaa."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Simamia wamiliki wa wasifu na kifaa"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Huruhusu programu kuweka wamiliki wa wasifu na mmiliki wa kifaa."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"Agiza tena programu za kuendeshwa"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Inaruhusu programu kusongesha kazi hadi kwenye mandhari-mbele na mandari nyuma. Programu inaweza kufanya haya bila ya maingizo yako."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"Wezesha mtindo wa gari"</string>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index 6040ccb..a33af51 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAP செய்திகளைப் பெற, செயற்படுத்தப் பயன்பாட்டை அனுமதிக்கிறது. உங்களுக்கு அனுப்பப்படும் செய்திகளை உங்களுக்குக் காட்டாமல் கண்காணிக்க அல்லது நீக்குவதற்கான திறன் இந்த அனுமதியில் உள்ளடங்கும்."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"இயங்கும் பயன்பாடுகளை மீட்டெடுத்தல்"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"நடப்பில் மற்றும் சமீபத்தில் இயங்கும் காரியங்களின் தகவலைப் பெற பயன்பாட்டை அனுமதிக்கிறது. சாதனத்தில் எந்தப் பயன்பாடுகள் பயன்படுத்தப்படுகின்றன என்பது குறித்த தகவலைக் கண்டறிய பயன்பாட்டை இது அனுமதிக்கலாம்."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"சுயவிவரத்தையும் சாதன உரிமையாளர்களையும் நிர்வகிக்கவும்"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"சுயவிவர உரிமையாளர்களையும் சாதன உரிமையாளரையும் அமைக்க, பயன்பாடுகளை அனுமதிக்கிறது."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"இயங்கும் பயன்பாடுகளை மறுவரிசைப்படுத்தல்"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"பின்புலத்திலும், முன்புலத்திலும் காரியங்களை நகர்த்த பயன்பாட்டை அனுமதிக்கிறது. உங்கள் உள்ளீடு இல்லாமலே பயன்பாடு இதைச் செய்யலாம்."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"கார் பயன்முறையை இயக்குதல்"</string>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index 272e7e2..6bd4007 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAP సందేశాలను స్వీకరించడానికి మరియు ప్రాసెస్ చేయడానికి అనువర్తనాన్ని అనుమతిస్తుంది. ఈ అనుమతి మీకు పంపబడిన సందేశాలను మీకు చూపకుండానే పర్యవేక్షించగల లేదా తొలగించగల సామర్థ్యాన్ని కలిగి ఉంటుంది."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"అమలవుతున్న అనువర్తనాలను పునరుద్ధరించడం"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"ప్రస్తుతం మరియు ఇటీవల అమలవుతున్న విధుల గురించి వివరణాత్మక సమాచారాన్ని తిరిగి పొందడానికి అనువర్తనాన్ని అనుమతిస్తుంది. ఇది పరికరంలో ఉపయోగించబడిన అనువర్తనాల గురించి సమాచారాన్ని కనుగొనడానికి అనువర్తనాన్ని అనుమతించవచ్చు."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"ప్రొఫైల్ మరియు పరికరం యజమానులను నిర్వహించడానికి అనుమతి"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ప్రొఫైల్ యజమానులను మరియు పరికరం యజమానిని సెట్ చేయడానికి అనువర్తనాలను అనుమతిస్తుంది."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"అమలవుతున్న అనువర్తనాలను మళ్లీ క్రమం చేయడం"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"విధులను ముందుకు మరియు నేపథ్యానికి తరలించడానికి అనువర్తనాన్ని అనుమతిస్తుంది. అనువర్తనం మీ ప్రమేయం లేకుండానే దీన్ని చేయవచ్చు."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"కారు మోడ్‌ను ప్రారంభించడం"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 45a2d7a..501ce0a 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"อนุญาตให้แอปพลิเคชันรับและประมวลผลข้อความ WAP การอนุญาตนี้รวมถึงความสามารถในการตรวจสอบหรือลบข้อความที่ส่งมาให้คุณโดยไม่ต้องแสดงให้คุณเห็น"</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"เรียกแอปพลิเคชันที่ทำงานอยู่"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"อนุญาตให้แอปพลิเคชันเรียกดูข้อมูลเกี่ยวกับงานที่ดำเนินการอยู่ในขณะนี้และเมื่อเร็วๆ นี้ ซึ่งอาจทำให้แอปพลิเคชันสามารถค้นข้อมูลได้ว่าอุปกรณ์นี้ใช้แอปพลิเคชันใดบ้าง"</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"จัดการเจ้าของโปรไฟล์และอุปกรณ์"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"อนุญาตให้แอปตั้งค่าเจ้าของโปรไฟล์และเจ้าของอุปกรณ์"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"จัดลำดับแอปพลิเคชันที่ทำงานอยู่ใหม่"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"อนุญาตให้แอปพลิเคชันย้ายงานไปยังส่วนหน้าและพื้นหลัง แอปพลิเคชันอาจดำเนินการโดยไม่รอคำสั่งจากคุณ"</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"เปิดใช้งานโหมดใช้ในรถยนต์"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 6d6c48b..545bcd5 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Pinapayagan ang app na tumanggap at magproseso ng mga mensaheng WAP. Kabilang sa pahintulot na ito ang kakayahang sumubaybay o magtanggal ang app ng mga mensaheng ipinapadala sa iyo nang hindi ipinapakita ang mga ito sa iyo."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"bawiin ang tumatakbong apps"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Pinapayagan ang app na kumuha ng impormasyon tungkol sa mga kasalukuyan at kamakailang gumaganang gawain. Maaari nitong payagan ang app na tumuklas ng impormasyon tungkol sa kung aling mga application ang ginagamit sa device."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Pamahalaan ang mga may-ari ng profile at device"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Nagbibigay-daan sa mga app na itakda ang mga may-ari ng profile at ang may-ari ng device."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"muling isaayos ang tumatakbong apps"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Pinapayagan ang app na maglipat ng mga gawain sa foreground at background. Maaari itong gawin ng app nang wala ng iyong input."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"paganahin ang car mode"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 54528a4..527f09a 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -276,10 +276,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Дозволяє програмі отримувати й обробляти WAP-повідомлення. Це означає, що програма може відстежувати чи видаляти повідомлення, надіслані на ваш пристрій, навіть не показуючи їх вам."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"отримувати запущені програми"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Дозволяє програмі отримувати інформацію про поточні й останні запущені завдання. Це може дозволити програмі виявляти інформацію про програми, які використовуються на пристрої."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Керування власниками профілю та пристрою"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Додатки можуть вибирати власника профілю та пристрою."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"змінювати порядок запущених програм"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Дозволяє програмі переміщувати завдання в активні чи фонові вікна. Програма може робити це без вашого відома."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"увімк. режим авто"</string>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index 1ecb9bb..ec1a840 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -274,10 +274,8 @@
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Ilovaga WAP xabarlarni qabul qilish va ularni qayta ishlash uchun ruxsat beradi. Ushbu huquq sizga ko‘rsatmasdan sizga yuborilgan xabarlarni kuzatish yoki o‘chirish xususiyatiga ham ega."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"ishlab turgan ilovalar to‘g‘risida ma’lumot olish"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"Ilovaga hozirda va so‘nggi ishga tushirilgan vazifalar haqida to‘liq ma’lumot olishiga ruxsat beradi. Bu ilovaga qurilmadagi ishlatilayotgan ilovalar haqidagi ma’lumotlarga ega bo‘lishiga ruxsat berishi mumkin."</string>
- <!-- no translation found for permlab_manageProfileAndDeviceOwners (5979288447973722097) -->
- <skip />
- <!-- no translation found for permdesc_manageProfileAndDeviceOwners (106894851498657169) -->
- <skip />
+ <string name="permlab_manageProfileAndDeviceOwners" msgid="5979288447973722097">"Profil va qurilma egalarini boshqarish"</string>
+ <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Ilovaga profil va qurilma egalarini sozlash uchun ruxsat beradi"</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"ishlab turgan ilovalarni qayta tartiblash"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"Ilovalarga vazifalarni old va orqa fonga o‘tkazish uchun ruxsat beradi. Ilova buni sizning yordamingizsiz bajarishi mumkin."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"mashina usulini yoqish"</string>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 07f8c60..56eab2c 100755
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2126,4 +2126,7 @@
<!-- Keyguard component -->
<string name="config_keyguardComponent" translatable="false">com.android.systemui/com.android.systemui.keyguard.KeyguardService</string>
+
+ <!-- This config is used to force VoiceInteractionService to start on certain low ram devices. -->
+ <bool name="config_forceEnableVoiceInteractionService">false</bool>
</resources>
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 875659d..7920949 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -2643,6 +2643,8 @@
<public type="style" name="ThemeOverlay.Material.Dialog" />
<public type="style" name="TextAppearance.Material.Widget.Button.Inverse" />
<public type="style" name="ThemeOverlay.Material.Dialog.Alert" />
+ <public type="style" name="Theme.Material.Light.DialogWhenLarge.DarkActionBar" />
+ <public type="style" name="Theme.Material.DayNight.DialogWhenLarge.DarkActionBar" />
<public type="id" name="pasteAsPlainText" />
<public type="id" name="undo" />
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 5b13325..b05fe07 100755
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -280,6 +280,7 @@
<java-symbol type="bool" name="config_enableScreenshotChord" />
<java-symbol type="bool" name="config_bluetooth_default_profiles" />
<java-symbol type="bool" name="config_enableWifiDisplay" />
+ <java-symbol type="bool" name="config_forceEnableVoiceInteractionService" />
<java-symbol type="bool" name="config_useDevInputEventForAudioJack" />
<java-symbol type="bool" name="config_safe_media_volume_enabled" />
<java-symbol type="bool" name="config_camera_sound_forced" />
diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml
index e8aab07..b0f673c 100644
--- a/core/res/res/values/themes_material.xml
+++ b/core/res/res/values/themes_material.xml
@@ -1239,6 +1239,11 @@ please see themes_device_defaults.xml.
(large, xlarge). -->
<style name="Theme.Material.Light.DialogWhenLarge" parent="@style/Theme.Material.Light" />
+ <!-- Theme for a window with a dark title bar that will be displayed either
+ full-screen on smaller screens (small, normal) or as a dialog on larger screens
+ (large, xlarge). -->
+ <style name="Theme.Material.Light.DialogWhenLarge.DarkActionBar" parent="@style/Theme.Material.Light.DarkActionBar" />
+
<!-- Theme for a window without an action bar that will be displayed either full-screen
on smaller screens (small, normal) or as a dialog on larger screens
(large, xlarge). -->
@@ -1283,6 +1288,16 @@ please see themes_device_defaults.xml.
<item name="panelMenuListTheme">@style/Theme.Material.Settings.CompactMenu</item>
</style>
+ <!-- Default theme for Settings and activities launched from Settings. -->
+ <style name="Theme.Material.Settings.NoActionBar" parent="Theme.Material.DayNight.NoActionBar">
+ <item name="colorPrimary">@color/material_blue_grey_900</item>
+ <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+
+ <item name="presentationTheme">@style/Theme.Material.Settings.Dialog.Presentation</item>
+ <item name="searchDialogTheme">@style/Theme.Material.Settings.SearchBar</item>
+ <item name="panelMenuListTheme">@style/Theme.Material.Settings.CompactMenu</item>
+ </style>
+
<style name="Theme.Material.Settings.BaseDialog" parent="Theme.Material.DayNight.BaseDialog">
<item name="colorPrimary">@color/material_blue_grey_900</item>
<item name="colorPrimaryDark">@color/material_blue_grey_950</item>
@@ -1297,6 +1312,16 @@ please see themes_device_defaults.xml.
<style name="Theme.Material.Settings.Dialog.Alert" parent="Theme.Material.Settings.Dialog.BaseAlert" />
+ <style name="Theme.Material.Settings.DialogWhenLarge" parent="Theme.Material.DayNight.DialogWhenLarge.DarkActionBar">
+ <item name="colorPrimary">@color/material_blue_grey_900</item>
+ <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+ </style>
+
+ <style name="Theme.Material.Settings.DialogWhenLarge.NoActionBar" parent="Theme.Material.DayNight.DialogWhenLarge.NoActionBar">
+ <item name="colorPrimary">@color/material_blue_grey_900</item>
+ <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+ </style>
+
<style name="Theme.Material.Settings.Dialog.Presentation" parent="Theme.Material.DayNight.Dialog.Presentation">
<item name="colorPrimary">@color/material_blue_grey_900</item>
<item name="colorPrimaryDark">@color/material_blue_grey_950</item>
@@ -1305,7 +1330,6 @@ please see themes_device_defaults.xml.
<style name="Theme.Material.Settings.SearchBar" parent="Theme.Material.DayNight.SearchBar">
<item name="colorPrimary">@color/material_blue_grey_900</item>
<item name="colorPrimaryDark">@color/material_blue_grey_950</item>
- <item name="colorAccent">@color/material_deep_teal_500</item>
</style>
<style name="Theme.Material.Settings.CompactMenu" parent="Theme.Material.DayNight.CompactMenu">
diff --git a/core/res/res/values/themes_material_daynight.xml b/core/res/res/values/themes_material_daynight.xml
index 5d9b860..4ecca6b 100644
--- a/core/res/res/values/themes_material_daynight.xml
+++ b/core/res/res/values/themes_material_daynight.xml
@@ -93,6 +93,11 @@ please see themes_device_defaults.xml.
(large, xlarge). -->
<style name="Theme.Material.DayNight.DialogWhenLarge" parent="Theme.Material.Light.DialogWhenLarge" />
+ <!-- Theme for a window with a dark action bar that will be displayed
+ either full-screen on smaller screens (small, normal) or as a dialog
+ on larger screens (large, xlarge). -->
+ <style name="Theme.Material.DayNight.DialogWhenLarge.DarkActionBar" parent="Theme.Material.Light.DialogWhenLarge.DarkActionBar" />
+
<!-- Theme for a window without an action bar that will be displayed either full-screen
on smaller screens (small, normal) or as a dialog on larger screens
(large, xlarge). -->
diff --git a/docs/html/google/auth/api-client.jd b/docs/html/google/auth/api-client.jd
index e33721d..8f926f5 100644
--- a/docs/html/google/auth/api-client.jd
+++ b/docs/html/google/auth/api-client.jd
@@ -99,20 +99,23 @@ GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code
GoogleApiClient}</a> by appending
additional calls to
-<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApi(com.google.android.gms.common.api.Api)"
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApi(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>)"
>{@code addApi()}</a> and
<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addScope(com.google.android.gms.common.api.Scope)"
>{@code addScope()}</a>.</p>
<p class="caution">
-<strong>Important:</strong> To avoid client connection errors on devices that do not have the
+<strong>Important:</strong> If you are adding multiple APIs to a
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html"><code>GoogleApiClient</code></a>,
+you may run into client connection errors on devices that do not have the
<a href="https://play.google.com/store/apps/details?id=com.google.android.wearable.app&hl=en">Android
-Wear app</a> installed, use a separate <a
-href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code
-GoogleApiClient}</a> instance to access only the <a
+Wear app</a> installed. To avoid connection errors, call the
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApiIfAvailable(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>, com.google.android.gms.common.api.Scope...)">{@code addApiIfAvailable()}</a>
+method and pass in the <a
href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code
-Wearable}</a> API. For more information, see <a href="#WearableApi">Access the Wearable
-API</a>.</p>
+Wearable}</a> API to indicate that your client should gracefully handle the missing API.
+For more information, see <a
+href="{@docRoot}google/auth/api-client.html#WearableApi">Access the Wearable API</a>.</p>
<p>Before you can begin a connection by calling <a
href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html#connect()"
@@ -421,27 +424,52 @@ consult the corresponding documentation, such as for
<h3 id="WearableApi">Access the Wearable API</h3>
-<p>On devices that do not have the <a
-href="https://play.google.com/store/apps/details?id=com.google.android.wearable.app&hl=en">Android
-Wear app</a> installed, connection requests that include the <a
+<p>The Wearable API provides a communication channel for your handheld and wearable apps. The API
+consists of a set of data objects that the system can send and synchronize over the wire and
+listeners that notify your apps of important events with the data layer. The
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API is available on devices running Android 4.3 (API level 18) or higher when a wearable device is
+connected. The API is not available under the following conditions:
+</p>
+
+<ul>
+<li>Devices running Android 4.2 (API level 17) or earlier.</li>
+<li><a href="https://play.google.com/store/apps/details?id=com.google.android.wearable.app&hl=en">Android
+Wear companion app</a> is not installed on the device.</li>
+<li>Android Wear device is not connected.</li>
+</ul>
+
+<h4 id="OnlyWearableApi">Using only the Wearable API</h4>
+
+<p>If your app uses the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API but not other Google APIs, you can add this API by calling the
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApi(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>)"
+>{@code addApi()}</a> method. The following example shows how to add the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API to your <a
+href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code
+GoogleApiClient}</a> instance:</p>
+
+<pre>
+GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
+ .addApi(Wearable.API)
+ .build();
+</pre>
+
+<p>In situations where the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API is not available, connection requests that include the <a
href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code
Wearable}</a> API fail with the <a
href="{@docRoot}reference/com/google/android/gms/common/ConnectionResult.html#API_UNAVAILABLE">
-<code>API_UNAVAILABLE</code></a> error code. If your app uses the <a
-href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code
-Wearable}</a> API in addition to other Google APIs, use a separate <a
-href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code
-GoogleApiClient}</a> instance to access the <a
-href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code
-Wearable}</a> API. This approach enables you to access other Google APIs on devices that are not
-paired with a wearable device.</p>
+<code>API_UNAVAILABLE</code></a> error code.</p>
-<p>When you use a separate <a
-href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code
-GoogleApiClient}</a> instance to access only the Wearable API, you can determine
-whether the <a
-href="https://play.google.com/store/apps/details?id=com.google.android.wearable.app&hl=en">Android
-Wear app</a> is installed on the device:</p>
+<p>
+The following example shows how to determine whether the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API is available:
+</p>
<pre>
// Connection failed listener method for a client that only
@@ -449,15 +477,55 @@ Wear app</a> is installed on the device:</p>
&#64;Override
public void onConnectionFailed(ConnectionResult result) {
if (result.getErrorCode() == ConnectionResult.API_UNAVAILABLE) {
- // The Android Wear app is not installed
+ // The Wearable API is unavailable
}
...
}
</pre>
+<h4 id="WearableApiWithOthers">Using the Wearable API with other APIs</h4>
+
+<p>
+If your app uses the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API in addition to other Google APIs, call the
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApiIfAvailable(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>, com.google.android.gms.common.api.Scope...)">addApiIfAvailable()</a>
+method and pass in the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API to indicate that your client should gracefully handle the missing API.</p>
+<p>The following example shows how to access the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API along with the
+<a href="{@docRoot}reference/com/google/android/gms/drive/DriveApi.html">{@code Drive}</a>
+API:</p>
+<pre>
+// Create a GoogleApiClient instance
+mGoogleApiClient = new GoogleApiClient.Builder(this)
+ .addApi(Drive.API)
+ .addApiIfAvailable(Wearable.API)
+ .addScope(Drive.SCOPE_FILE)
+ .addConnectionCallbacks(this)
+ .addOnConnectionFailedListener(this)
+ .build();
+</pre>
+
+<p>In the example above, the
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code GoogleApiClient}</a>
+can successfully connect with the Google Drive service without connecting to the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API if it is unavailable. After you connect your
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code GoogleApiClient}</a>
+instance, ensure that the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code Wearable}</a>
+API is available before making the API calls:
+</p>
+
+<pre>
+mGoogleApiClient.hasConnectedApi(Wearable.API);
+</pre>
<h2 id="Communicating">Communicate with Google Services</h2>
diff --git a/docs/html/training/wearables/data-layer/accessing.jd b/docs/html/training/wearables/data-layer/accessing.jd
index 0c0a2d5..482b30c 100644
--- a/docs/html/training/wearables/data-layer/accessing.jd
+++ b/docs/html/training/wearables/data-layer/accessing.jd
@@ -61,13 +61,16 @@ GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
</pre>
<p class="caution">
-<strong>Important:</strong> To avoid client connection errors on devices that do not have the
+<strong>Important:</strong> If you are adding multiple APIs to a
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html"><code>GoogleApiClient</code></a>,
+you may run into client connection errors on devices that do not have the
<a href="https://play.google.com/store/apps/details?id=com.google.android.wearable.app&hl=en">Android
-Wear app</a> installed, use a separate <a
-href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code
-GoogleApiClient}</a> instance to access only the <a
+Wear app</a> installed. To avoid connection errors, call the
+<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#addApiIfAvailable(com.google.android.gms.common.api.Api<? extends com.google.android.gms.common.api.Api.ApiOptions.NotRequiredOptions>, com.google.android.gms.common.api.Scope...)">{@code addApiIfAvailable()}</a>
+method and pass in the <a
href="{@docRoot}reference/com/google/android/gms/wearable/Wearable.html">{@code
-Wearable}</a> API. For more information, see <a
+Wearable}</a> API to indicate that your client should gracefully handle the missing API.
+For more information, see <a
href="{@docRoot}google/auth/api-client.html#WearableApi">Access the Wearable API</a>.</p>
<p>Before you use the data layer API, start a connection on your client by calling the
diff --git a/docs/html/training/wearables/data-layer/messages.jd b/docs/html/training/wearables/data-layer/messages.jd
index 0826e6b..043aff2 100644
--- a/docs/html/training/wearables/data-layer/messages.jd
+++ b/docs/html/training/wearables/data-layer/messages.jd
@@ -10,6 +10,12 @@ page.title=Sending and Receiving Messages
<li><a href="#SendMessage">Send a Message</a></li>
<li><a href="#ReceiveMessage">Receive a Message</a></li>
</ol>
+<h2>Try it out</h2>
+<ul>
+ <li>
+ <a href="https://github.com/googlesamples/android-FindMyPhone/" class="external-link">FindMyPhone</a>
+ </li>
+</ul>
</div>
</div>
@@ -138,6 +144,19 @@ private void setupVoiceTranscription() {
}
</pre>
+<p class="note"><strong>Note:</strong>
+If you create a service that extends
+<a href="{@docRoot}reference/com/google/android/gms/wearable/WearableListenerService.html"><code>WearableListenerService</code></a>
+to detect capability changes, you may want to override the
+<a href="{@docRoot}reference/com/google/android/gms/wearable/WearableListenerService.html#onConnectedNodes(java.util.List<com.google.android.gms.wearable.Node>)"><code>onConnectedNodes()</code></a>
+method to listen to finer-grained connectivity details, such as when a wearable device switches
+from Wi-Fi to a Bluetooth connection to the handset. For an example implementation, see the
+<code>DisconnectListenerService</code> class in the
+<a href="https://github.com/googlesamples/android-FindMyPhone/" class="external-link">FindMyPhone</a>
+sample. For more information on how to listen for important events, see
+<a href="{@docRoot}training/wearables/data-layer/events.html#Listen">Listen for Data Layer Events</a>.
+</p>
+
<p>After detecting the capable nodes, determine where to send the message. You should pick a node
that is in close proximity to your wearable device to
minimize message routing through multiple nodes. A nearby node is defined as one that is directly
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 2acb8ba..9fe8e0c 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -81,17 +81,9 @@ public class Canvas {
*/
protected int mScreenDensity = Bitmap.DENSITY_NONE;
- /**
- * Flag for drawTextRun indicating left-to-right run direction.
- * @hide
- */
- public static final int DIRECTION_LTR = 0;
-
- /**
- * Flag for drawTextRun indicating right-to-left run direction.
- * @hide
- */
- public static final int DIRECTION_RTL = 1;
+ // Used by native code
+ @SuppressWarnings("UnusedDeclaration")
+ private int mSurfaceFormat;
// Maximum bitmap size as defined in Skia's native code
// (see SkCanvas.cpp, SkDraw.cpp)
@@ -1724,10 +1716,15 @@ public class Canvas {
}
/**
- * Render a run of all LTR or all RTL text, with shaping. This does not run
- * bidi on the provided text, but renders it as a uniform right-to-left or
- * left-to-right run, as indicated by dir. Alignment of the text is as
- * determined by the Paint's TextAlign value.
+ * Draw a run of text, all in a single direction, with optional context for complex text
+ * shaping.
+ *
+ * <p>See {@link #drawTextRun(CharSequence, int, int, int, int, float, float, boolean, Paint)}
+ * for more details. This method uses a character array rather than CharSequence to
+ * represent the string. Also, to be consistent with the pattern established in
+ * {@link #drawText}, in this method {@code count} and {@code contextCount} are used rather
+ * than offsets of the end position; {@code count = end - start, contextCount = contextEnd -
+ * contextStart}.
*
* @param text the text to render
* @param index the start of the text to render
@@ -1735,13 +1732,12 @@ public class Canvas {
* @param contextIndex the start of the context for shaping. Must be
* no greater than index.
* @param contextCount the number of characters in the context for shaping.
- * ContexIndex + contextCount must be no less than index
+ * contexIndex + contextCount must be no less than index
* + count.
* @param x the x position at which to draw the text
* @param y the y position at which to draw the text
* @param isRtl whether the run is in RTL direction
* @param paint the paint
- * @hide
*/
public void drawTextRun(@NonNull char[] text, int index, int count, int contextIndex,
int contextCount, float x, float y, boolean isRtl, @NonNull Paint paint) {
@@ -1761,21 +1757,39 @@ public class Canvas {
}
/**
- * Render a run of all LTR or all RTL text, with shaping. This does not run
- * bidi on the provided text, but renders it as a uniform right-to-left or
- * left-to-right run, as indicated by dir. Alignment of the text is as
- * determined by the Paint's TextAlign value.
+ * Draw a run of text, all in a single direction, with optional context for complex text
+ * shaping.
+ *
+ * <p>The run of text includes the characters from {@code start} to {@code end} in the text. In
+ * addition, the range {@code contextStart} to {@code contextEnd} is used as context for the
+ * purpose of complex text shaping, such as Arabic text potentially shaped differently based on
+ * the text next to it.
+ *
+ * <p>All text outside the range {@code contextStart..contextEnd} is ignored. The text between
+ * {@code start} and {@code end} will be laid out and drawn.
+ *
+ * <p>The direction of the run is explicitly specified by {@code isRtl}. Thus, this method is
+ * suitable only for runs of a single direction. Alignment of the text is as determined by the
+ * Paint's TextAlign value. Further, {@code 0 <= contextStart <= start <= end <= contextEnd
+ * <= text.length} must hold on entry.
+ *
+ * <p>Also see {@link android.graphics.Paint#getRunAdvance} for a corresponding method to
+ * measure the text; the advance width of the text drawn matches the value obtained from that
+ * method.
*
* @param text the text to render
* @param start the start of the text to render. Data before this position
* can be used for shaping context.
* @param end the end of the text to render. Data at or after this
* position can be used for shaping context.
+ * @param contextStart the index of the start of the shaping context
+ * @param contextEnd the index of the end of the shaping context
* @param x the x position at which to draw the text
* @param y the y position at which to draw the text
* @param isRtl whether the run is in RTL direction
* @param paint the paint
- * @hide
+ *
+ * @see #drawTextRun(char[], int, int, int, int, float, float, boolean, Paint)
*/
public void drawTextRun(@NonNull CharSequence text, int start, int end, int contextStart,
int contextEnd, float x, float y, boolean isRtl, @NonNull Paint paint) {
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index 649d996..20cd9b1 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -184,8 +184,12 @@ public class Paint {
/** @hide bit mask for the flag enabling vertical rendering for text */
public static final int VERTICAL_TEXT_FLAG = 0x1000;
- // we use this when we first create a paint
- static final int DEFAULT_PAINT_FLAGS = DEV_KERN_TEXT_FLAG | EMBEDDED_BITMAP_TEXT_FLAG;
+
+ /** @hide default flags, even if unspecified */
+ public static final int HIDDEN_DEFAULT_PAINT_FLAGS =
+ DEV_KERN_TEXT_FLAG | EMBEDDED_BITMAP_TEXT_FLAG;
+ /** @hide default flags for no-param constructor */
+ public static final int DEFAULT_PAINT_FLAGS = ANTI_ALIAS_FLAG;
/**
* Font hinter option that disables font hinting.
@@ -415,9 +419,11 @@ public class Paint {
/**
* Create a new paint with default settings.
+ *
+ * As of {@link android.os.Build.VERSION_CODES#MNC}, sets {@link #ANTI_ALIAS_FLAG}.
*/
public Paint() {
- this(0);
+ this(DEFAULT_PAINT_FLAGS);
}
/**
@@ -428,7 +434,7 @@ public class Paint {
*/
public Paint(int flags) {
mNativePaint = native_init();
- setFlags(flags | DEFAULT_PAINT_FLAGS);
+ setFlags(flags | HIDDEN_DEFAULT_PAINT_FLAGS);
// TODO: Turning off hinting has undesirable side effects, we need to
// revisit hinting once we add support for subpixel positioning
// setHinting(DisplayMetrics.DENSITY_DEVICE >= DisplayMetrics.DENSITY_TV
@@ -452,7 +458,7 @@ public class Paint {
/** Restores the paint to its default settings. */
public void reset() {
native_reset(mNativePaint);
- setFlags(DEFAULT_PAINT_FLAGS);
+ setFlags(DEFAULT_PAINT_FLAGS | HIDDEN_DEFAULT_PAINT_FLAGS);
// TODO: Turning off hinting has undesirable side effects, we need to
// revisit hinting once we add support for subpixel positioning
@@ -1870,7 +1876,7 @@ public class Paint {
* Convenience overload that takes a char array instead of a
* String.
*
- * @see #getTextRunAdvances(String, int, int, int, int, int, float[], int)
+ * @see #getTextRunAdvances(String, int, int, int, int, boolean, float[], int)
* @hide
*/
public float getTextRunAdvances(char[] chars, int index, int count,
@@ -1915,7 +1921,7 @@ public class Paint {
* Convenience overload that takes a CharSequence instead of a
* String.
*
- * @see #getTextRunAdvances(String, int, int, int, int, int, float[], int)
+ * @see #getTextRunAdvances(String, int, int, int, int, boolean, float[], int)
* @hide
*/
public float getTextRunAdvances(CharSequence text, int start, int end,
@@ -2257,10 +2263,10 @@ public class Paint {
* the input is a pair of regional indicator symbols, determine whether there is an emoji flag
* for the pair.
*
- * Finally, if the string contains a variation selector, the method only returns true if
+ * <p>Finally, if the string contains a variation selector, the method only returns true if
* the fonts contains a glyph specific to that variation.
*
- * Checking is done on the entire fallback chain, not just the immediate font referenced.
+ * <p>Checking is done on the entire fallback chain, not just the immediate font referenced.
*
* @param string the string to test whether there is glyph support
* @return true if the typeface has a glyph for the string
@@ -2277,20 +2283,20 @@ public class Paint {
* purpose of complex text shaping, such as Arabic text potentially shaped differently based on
* the text next to it.
*
- * All text outside the range {@code contextStart..contextEnd} is ignored. The text between
+ * <p>All text outside the range {@code contextStart..contextEnd} is ignored. The text between
* {@code start} and {@code end} will be laid out to be measured.
*
- * The returned width measurement is the advance from {@code start} to {@code offset}. It is
+ * <p>The returned width measurement is the advance from {@code start} to {@code offset}. It is
* generally a positive value, no matter the direction of the run. If {@code offset == end},
* the return value is simply the width of the whole run from {@code start} to {@code end}.
*
- * Ligatures are formed for characters in the range {@code start..end} (but not for
+ * <p>Ligatures are formed for characters in the range {@code start..end} (but not for
* {@code start..contextStart} or {@code end..contextEnd}). If {@code offset} points to a
* character in the middle of such a formed ligature, but at a grapheme cluster boundary, the
* return value will also reflect an advance in the middle of the ligature. See
* {@link #getOffsetForAdvance} for more discussion of grapheme cluster boundaries.
*
- * The direction of the run is explicitly specified by {@code isRtl}. Thus, this method is
+ * <p>The direction of the run is explicitly specified by {@code isRtl}. Thus, this method is
* suitable only for runs of a single direction.
*
* <p>All indices are relative to the start of {@code text}. Further, {@code 0 <= contextStart
@@ -2300,7 +2306,7 @@ public class Paint {
* @param start the index of the start of the range to measure
* @param end the index + 1 of the end of the range to measure
* @param contextStart the index of the start of the shaping context
- * @param contextEnd the index + 1 of the end of the range to measure
+ * @param contextEnd the index + 1 of the end of the shaping context
* @param isRtl whether the run is in RTL direction
* @param offset index of caret position
* @return width measurement between start and offset
@@ -2330,7 +2336,7 @@ public class Paint {
* @param start the index of the start of the range to measure
* @param end the index + 1 of the end of the range to measure
* @param contextStart the index of the start of the shaping context
- * @param contextEnd the index + 1 of the end of the range to measure
+ * @param contextEnd the index + 1 of the end of the shaping context
* @param isRtl whether the run is in RTL direction
* @param offset index of caret position
* @return width measurement between start and offset
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index e009451..ac4c0d0 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -138,7 +138,7 @@ void RenderNode::damageSelf(TreeInfo& info) {
}
void RenderNode::prepareLayer(TreeInfo& info, uint32_t dirtyMask) {
- LayerType layerType = properties().layerProperties().type();
+ LayerType layerType = properties().effectiveLayerType();
if (CC_UNLIKELY(layerType == LayerType::RenderLayer)) {
// Damage applied so far needs to affect our parent, but does not require
// the layer to be updated. So we pop/push here to clear out the current
@@ -153,7 +153,7 @@ void RenderNode::prepareLayer(TreeInfo& info, uint32_t dirtyMask) {
}
void RenderNode::pushLayerUpdate(TreeInfo& info) {
- LayerType layerType = properties().layerProperties().type();
+ LayerType layerType = properties().effectiveLayerType();
// If we are not a layer OR we cannot be rendered (eg, view was detached)
// we need to destroy any Layers we may have had previously
if (CC_LIKELY(layerType != LayerType::RenderLayer) || CC_UNLIKELY(!isRenderable())) {
@@ -384,33 +384,16 @@ void RenderNode::setViewProperties(OpenGLRenderer& renderer, T& handler) {
renderer.concatMatrix(*properties().getTransformMatrix());
}
}
- const bool isLayer = properties().layerProperties().type() != LayerType::None;
+ const bool isLayer = properties().effectiveLayerType() != LayerType::None;
int clipFlags = properties().getClippingFlags();
if (properties().getAlpha() < 1) {
if (isLayer) {
clipFlags &= ~CLIP_TO_BOUNDS; // bounds clipping done by layer
renderer.setOverrideLayerAlpha(properties().getAlpha());
- } else if (!properties().getHasOverlappingRendering()) {
- renderer.scaleAlpha(properties().getAlpha());
} else {
- Rect layerBounds(0, 0, getWidth(), getHeight());
- int saveFlags = SkCanvas::kHasAlphaLayer_SaveFlag;
- if (clipFlags) {
- saveFlags |= SkCanvas::kClipToLayer_SaveFlag;
- properties().getClippingRectForFlags(clipFlags, &layerBounds);
- clipFlags = 0; // all clipping done by saveLayer
- }
-
- ATRACE_FORMAT("%s alpha caused %ssaveLayer %dx%d", getName(),
- (saveFlags & SkCanvas::kClipToLayer_SaveFlag) ? "" : "unclipped ",
- static_cast<int>(layerBounds.getWidth()),
- static_cast<int>(layerBounds.getHeight()));
-
- SaveLayerOp* op = new (handler.allocator()) SaveLayerOp(
- layerBounds.left, layerBounds.top, layerBounds.right, layerBounds.bottom,
- properties().getAlpha() * 255, saveFlags);
- handler(op, PROPERTY_SAVECOUNT, properties().getClipToBounds());
+ LOG_ALWAYS_FATAL_IF(properties().getHasOverlappingRendering());
+ renderer.scaleAlpha(properties().getAlpha());
}
}
if (clipFlags) {
diff --git a/libs/hwui/RenderProperties.cpp b/libs/hwui/RenderProperties.cpp
index 9f1ceed..0ed3c47 100644
--- a/libs/hwui/RenderProperties.cpp
+++ b/libs/hwui/RenderProperties.cpp
@@ -144,27 +144,16 @@ void RenderProperties::debugOutputProperties(const int level) const {
}
}
- const bool isLayer = layerProperties().type() != LayerType::None;
+ const bool isLayer = effectiveLayerType() != LayerType::None;
int clipFlags = getClippingFlags();
if (mPrimitiveFields.mAlpha < 1) {
if (isLayer) {
clipFlags &= ~CLIP_TO_BOUNDS; // bounds clipping done by layer
ALOGD("%*sSetOverrideLayerAlpha %.2f", level * 2, "", mPrimitiveFields.mAlpha);
- } else if (!mPrimitiveFields.mHasOverlappingRendering) {
- ALOGD("%*sScaleAlpha %.2f", level * 2, "", mPrimitiveFields.mAlpha);
} else {
- Rect layerBounds(0, 0, getWidth(), getHeight());
- int saveFlags = SkCanvas::kHasAlphaLayer_SaveFlag;
- if (clipFlags) {
- saveFlags |= SkCanvas::kClipToLayer_SaveFlag;
- getClippingRectForFlags(clipFlags, &layerBounds);
- clipFlags = 0; // all clipping done by saveLayer
- }
-
- ALOGD("%*sSaveLayerAlpha %d, %d, %d, %d, %d, 0x%x", level * 2, "",
- (int)layerBounds.left, (int)layerBounds.top, (int)layerBounds.right, (int)layerBounds.bottom,
- (int)(mPrimitiveFields.mAlpha * 255), saveFlags);
+ LOG_ALWAYS_FATAL_IF(mPrimitiveFields.mHasOverlappingRendering);
+ ALOGD("%*sScaleAlpha %.2f", level * 2, "", mPrimitiveFields.mAlpha);
}
}
if (clipFlags) {
diff --git a/libs/hwui/RenderProperties.h b/libs/hwui/RenderProperties.h
index 61e98d2..a43566d 100644
--- a/libs/hwui/RenderProperties.h
+++ b/libs/hwui/RenderProperties.h
@@ -73,10 +73,6 @@ public:
return false;
}
- LayerType type() const {
- return mType;
- }
-
bool setOpaque(bool opaque) {
return RP_SET(mOpaque, opaque);
}
@@ -122,6 +118,11 @@ private:
~LayerProperties();
void reset();
+ // Private since external users should go through properties().effectiveLayerType()
+ LayerType type() const {
+ return mType;
+ }
+
friend class RenderProperties;
LayerType mType = LayerType::None;
@@ -575,6 +576,17 @@ public:
&& getOutline().getAlpha() != 0.0f;
}
+ LayerType effectiveLayerType() const {
+ LayerType type = mLayerProperties.mType;
+ if (type == LayerType::None
+ && !MathUtils::isZero(mPrimitiveFields.mAlpha)
+ && mPrimitiveFields.mAlpha < 1
+ && mPrimitiveFields.mHasOverlappingRendering) {
+ return LayerType::RenderLayer;
+ }
+ return type;
+ }
+
private:
// Rendering properties
struct PrimitiveFields {
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index d851ad7..eeac69a 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -38,6 +38,7 @@ import android.os.Looper;
import android.os.Message;
import android.os.Process;
import android.os.RemoteException;
+import android.os.SystemProperties;
import android.os.SystemClock;
import android.os.ServiceManager;
import android.provider.Settings;
@@ -64,6 +65,16 @@ public class AudioManager {
private static final AudioPortEventHandler sAudioPortEventHandler = new AudioPortEventHandler();
/**
+ * System properties for whether the default microphone and speaker paths support
+ * near-ultrasound frequencies (range of 18 - 21 kHz).
+ */
+ private static final String SYSTEM_PROPERTY_MIC_NEAR_ULTRASOUND =
+ "persist.audio.mic.ultrasound";
+ private static final String SYSTEM_PROPERTY_SPEAKER_NEAR_ULTRASOUND =
+ "persist.audio.spkr.ultrasound";
+ private static final String DEFAULT_RESULT_FALSE_STRING = "false";
+
+ /**
* Broadcast intent, a hint for applications that audio is about to become
* 'noisy' due to a change in audio outputs. For example, this intent may
* be sent when a wired headset is unplugged, or when an A2DP audio
@@ -3175,6 +3186,12 @@ public class AudioManager {
} else if (PROPERTY_OUTPUT_FRAMES_PER_BUFFER.equals(key)) {
int outputFramesPerBuffer = AudioSystem.getPrimaryOutputFrameCount();
return outputFramesPerBuffer > 0 ? Integer.toString(outputFramesPerBuffer) : null;
+ } else if (PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND.equals(key)) {
+ return SystemProperties.get(SYSTEM_PROPERTY_MIC_NEAR_ULTRASOUND,
+ DEFAULT_RESULT_FALSE_STRING);
+ } else if (PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND.equals(key)) {
+ return SystemProperties.get(SYSTEM_PROPERTY_SPEAKER_NEAR_ULTRASOUND,
+ DEFAULT_RESULT_FALSE_STRING);
} else {
// null or unknown key
return null;
diff --git a/media/java/android/media/tv/TvInputManager.java b/media/java/android/media/tv/TvInputManager.java
index 601fa45..3272a23 100644
--- a/media/java/android/media/tv/TvInputManager.java
+++ b/media/java/android/media/tv/TvInputManager.java
@@ -1696,6 +1696,8 @@ public final class TvInputManager {
* @param rate The ratio between desired playback rate and normal one.
* @param audioMode Audio playback mode. Must be one of the supported audio modes:
* <ul>
+ * <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_DEFAULT}
+ * <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_STRETCH}
* <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_RESAMPLE}
* </ul>
*/
diff --git a/media/java/android/media/tv/TvInputService.java b/media/java/android/media/tv/TvInputService.java
index 5156ae8..34c36c3 100644
--- a/media/java/android/media/tv/TvInputService.java
+++ b/media/java/android/media/tv/TvInputService.java
@@ -891,6 +891,8 @@ public abstract class TvInputService extends Service {
* @param rate The ratio between desired playback rate and normal one.
* @param audioMode Audio playback mode. Must be one of the supported audio modes:
* <ul>
+ * <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_DEFAULT}
+ * <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_STRETCH}
* <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_RESAMPLE}
* </ul>
* @see #onTimeShiftResume
diff --git a/media/java/android/media/tv/TvView.java b/media/java/android/media/tv/TvView.java
index d248b12..7e64b17 100644
--- a/media/java/android/media/tv/TvView.java
+++ b/media/java/android/media/tv/TvView.java
@@ -457,6 +457,8 @@ public class TvView extends ViewGroup {
* @param rate The ratio between desired playback rate and normal one.
* @param audioMode Audio playback mode. Must be one of the supported audio modes:
* <ul>
+ * <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_DEFAULT}
+ * <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_STRETCH}
* <li> {@link android.media.MediaPlayer#PLAYBACK_RATE_AUDIO_MODE_RESAMPLE}
* </ul>
*/
diff --git a/media/jni/android_media_ImageWriter.cpp b/media/jni/android_media_ImageWriter.cpp
index 8c76665..294cd84 100644
--- a/media/jni/android_media_ImageWriter.cpp
+++ b/media/jni/android_media_ImageWriter.cpp
@@ -160,7 +160,7 @@ void JNIImageWriterContext::onBufferReleased() {
// Writer. Do the detach unconditionally for opaque format now. see b/19977520
if (mFormat == HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) {
sp<Fence> fence;
- ANativeWindowBuffer* buffer;
+ sp<GraphicBuffer> buffer;
ALOGV("%s: One buffer is detached", __FUNCTION__);
mProducer->detachNextBuffer(&buffer, &fence);
}
diff --git a/packages/DocumentsUI/res/values-af/strings.xml b/packages/DocumentsUI/res/values-af/strings.xml
index 8eba5c0..3f7571a 100644
--- a/packages/DocumentsUI/res/values-af/strings.xml
+++ b/packages/DocumentsUI/res/values-af/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Kopieer tans <xliff:g id="COUNT_0">%1$d</xliff:g> lêer.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Maak tans gereed vir kopieer …"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Kon <xliff:g id="COUNT_1">%1$d</xliff:g> lêers nie kopieer nie</item>
+ <item quantity="one">Kon <xliff:g id="COUNT_0">%1$d</xliff:g> lêer nie kopieer nie</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Raak om besonderhede te bekyk"</string>
<string name="retry" msgid="7564024179122207376">"Herprobeer"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Hierdie lêers is nie gekopieer nie: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-am/strings.xml b/packages/DocumentsUI/res/values-am/strings.xml
index 61dc142..f4da9eb 100644
--- a/packages/DocumentsUI/res/values-am/strings.xml
+++ b/packages/DocumentsUI/res/values-am/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎች በመቅዳት ላይ።</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"ቅጂ በማዘጋጀት ላይ…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎችን መቅዳት አልተቻለም</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎችን መቅዳት አልተቻለም</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"ዝርዝሮችን ለመመልከት ይንኩ።"</string>
<string name="retry" msgid="7564024179122207376">"እንደገና ይሞክሩ"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"እነዚህ ፋይሎች አልተቀዱም፦ <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ar/strings.xml b/packages/DocumentsUI/res/values-ar/strings.xml
index 35c200f..987e0a1 100644
--- a/packages/DocumentsUI/res/values-ar/strings.xml
+++ b/packages/DocumentsUI/res/values-ar/strings.xml
@@ -69,9 +69,15 @@
<item quantity="one">جارٍ نسخ ملف واحد (<xliff:g id="COUNT_0">%1$d</xliff:g>).</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"جارٍ التحضير للنسخ ..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="zero">لم يتعذر نسخ أية ملفات (<xliff:g id="COUNT_1">%1$d</xliff:g>)</item>
+ <item quantity="two">تعذر نسخ ملفين (<xliff:g id="COUNT_1">%1$d</xliff:g>)</item>
+ <item quantity="few"> تعذر نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> ملفات</item>
+ <item quantity="many"> تعذر نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> ملفًا</item>
+ <item quantity="other"> تعذر نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> من الملفات</item>
+ <item quantity="one"> تعذر نسخ <xliff:g id="COUNT_0">%1$d</xliff:g> ملف</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"المس لعرض التفاصيل"</string>
<string name="retry" msgid="7564024179122207376">"إعادة المحاولة"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"لم يتم نسخ هذه الملفات: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-bg/strings.xml b/packages/DocumentsUI/res/values-bg/strings.xml
index d794e12..3f9774a 100644
--- a/packages/DocumentsUI/res/values-bg/strings.xml
+++ b/packages/DocumentsUI/res/values-bg/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Копира се <xliff:g id="COUNT_0">%1$d</xliff:g> файл.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Подготвя се за копиране…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файла не можаха да се копират</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файл не можа да се копира</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Докоснете, за да видите подробностите"</string>
<string name="retry" msgid="7564024179122207376">"Нов опит"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Следните файлове не бяха копирани: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-bn-rBD/strings.xml b/packages/DocumentsUI/res/values-bn-rBD/strings.xml
index f8ad27b..71ab447 100644
--- a/packages/DocumentsUI/res/values-bn-rBD/strings.xml
+++ b/packages/DocumentsUI/res/values-bn-rBD/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইল অনুলিপি করা হচ্ছে৷</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"অনুলিপি করার জন্য প্রস্তুত করা হচ্ছে..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইলের প্রতিলিপি করা যায়নি</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইলের প্রতিলিপি করা যায়নি</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"বিশদ বিবরণ দেখতে স্পর্শ করুন"</string>
<string name="retry" msgid="7564024179122207376">"পুনরায় চেষ্টা করুন"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"এই ফাইলগুলির প্রতিলিপি করা হয় নি: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ca/strings.xml b/packages/DocumentsUI/res/values-ca/strings.xml
index c2b4630..59cbd04 100644
--- a/packages/DocumentsUI/res/values-ca/strings.xml
+++ b/packages/DocumentsUI/res/values-ca/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">S\'està copiant <xliff:g id="COUNT_0">%1$d</xliff:g> fitxer.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"S\'està preparant una còpia…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">No s\'han pogut copiar <xliff:g id="COUNT_1">%1$d</xliff:g> fitxers</item>
+ <item quantity="one">No s\'ha pogut copiar <xliff:g id="COUNT_0">%1$d</xliff:g> fitxer</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toca per veure els detalls"</string>
<string name="retry" msgid="7564024179122207376">"Torna-ho a provar"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Aquests fitxers no s\'han copiat: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-cs/strings.xml b/packages/DocumentsUI/res/values-cs/strings.xml
index 9892fab..7697a99 100644
--- a/packages/DocumentsUI/res/values-cs/strings.xml
+++ b/packages/DocumentsUI/res/values-cs/strings.xml
@@ -67,9 +67,13 @@
<item quantity="one">Kopírování <xliff:g id="COUNT_0">%1$d</xliff:g> souboru</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Příprava na kopírování…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="few">Nepodařilo se zkopírovat <xliff:g id="COUNT_1">%1$d</xliff:g> soubory</item>
+ <item quantity="many">Nepodařilo se zkopírovat <xliff:g id="COUNT_1">%1$d</xliff:g> souboru</item>
+ <item quantity="other">Nepodařilo se zkopírovat <xliff:g id="COUNT_1">%1$d</xliff:g> souborů</item>
+ <item quantity="one">Nepodařilo se zkopírovat <xliff:g id="COUNT_0">%1$d</xliff:g> soubor</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Podrobnosti zobrazíte klepnutím"</string>
<string name="retry" msgid="7564024179122207376">"Opakovat"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Tyto soubory nebyly zkopírovány: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-da/strings.xml b/packages/DocumentsUI/res/values-da/strings.xml
index 5e110b3..919d785 100644
--- a/packages/DocumentsUI/res/values-da/strings.xml
+++ b/packages/DocumentsUI/res/values-da/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other">Kopierer <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Forbereder kopiering…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> filer blev ikke kopieret</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> filer blev ikke kopieret</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tryk for at se yderligere oplysninger."</string>
<string name="retry" msgid="7564024179122207376">"Prøv igen"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Disse filer blev ikke kopieret: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-de/strings.xml b/packages/DocumentsUI/res/values-de/strings.xml
index aa740e4..2fca9a9 100644
--- a/packages/DocumentsUI/res/values-de/strings.xml
+++ b/packages/DocumentsUI/res/values-de/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> Datei wird kopiert.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopieren wird vorbereitet…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> Dateien konnten nicht kopiert werden.</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> Datei konnte nicht kopiert werden.</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Zum Einblenden von Details tippen"</string>
<string name="retry" msgid="7564024179122207376">"Erneut versuchen"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Diese Dateien wurden nicht kopiert: <xliff:g id="LIST">%1$s</xliff:g>."</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-el/strings.xml b/packages/DocumentsUI/res/values-el/strings.xml
index e5f40e8..409cca7 100644
--- a/packages/DocumentsUI/res/values-el/strings.xml
+++ b/packages/DocumentsUI/res/values-el/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Αντιγραφή <xliff:g id="COUNT_0">%1$d</xliff:g> αρχείου.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Προετοιμασία για αντιγραφή…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Δεν ήταν δυνατή η αντιγραφή <xliff:g id="COUNT_1">%1$d</xliff:g> αρχείων</item>
+ <item quantity="one">Δεν ήταν δυνατή η αντιγραφή <xliff:g id="COUNT_0">%1$d</xliff:g> αρχείου</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Αγγίξτε για προβολή λεπτομερειών"</string>
<string name="retry" msgid="7564024179122207376">"Επανάληψη"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Αυτά τα αρχεία δεν αντιγράφηκαν: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-es-rUS/strings.xml b/packages/DocumentsUI/res/values-es-rUS/strings.xml
index 2dc194a..4edbeda 100644
--- a/packages/DocumentsUI/res/values-es-rUS/strings.xml
+++ b/packages/DocumentsUI/res/values-es-rUS/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Copiando <xliff:g id="COUNT_0">%1$d</xliff:g> archivo</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">No se pudieron copiar <xliff:g id="COUNT_1">%1$d</xliff:g> archivos.</item>
+ <item quantity="one">No se pudo copiar <xliff:g id="COUNT_0">%1$d</xliff:g> archivo.</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toca el elemento para ver más información."</string>
<string name="retry" msgid="7564024179122207376">"Reintentar"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"No se copiaron estos archivos: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-es/strings.xml b/packages/DocumentsUI/res/values-es/strings.xml
index 70baa9f..ac9692c 100644
--- a/packages/DocumentsUI/res/values-es/strings.xml
+++ b/packages/DocumentsUI/res/values-es/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Copiando <xliff:g id="COUNT_0">%1$d</xliff:g> archivo.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">No se han podido copiar <xliff:g id="COUNT_1">%1$d</xliff:g> archivos</item>
+ <item quantity="one">No se ha podido copiar <xliff:g id="COUNT_0">%1$d</xliff:g> archivo</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toca para ver más información"</string>
<string name="retry" msgid="7564024179122207376">"Volver a intentar"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Archivos que no se han copiado: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-et-rEE/strings.xml b/packages/DocumentsUI/res/values-et-rEE/strings.xml
index 95542cb..8f02871 100644
--- a/packages/DocumentsUI/res/values-et-rEE/strings.xml
+++ b/packages/DocumentsUI/res/values-et-rEE/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> faili kopeerimine.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopeerimise ettevalmistamine …"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> faili ei saanud kopeerida</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> faili ei saanud kopeerida</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Puudutage üksikasjade vaatamiseks"</string>
<string name="retry" msgid="7564024179122207376">"Proovi uuesti"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Neid faile ei kopeeritud: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-eu-rES/strings.xml b/packages/DocumentsUI/res/values-eu-rES/strings.xml
index 7134674..3ddc0d1 100644
--- a/packages/DocumentsUI/res/values-eu-rES/strings.xml
+++ b/packages/DocumentsUI/res/values-eu-rES/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fitxategi kopiatzen.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopiatzeko prestatzen…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Ezin izan dira kopiatu <xliff:g id="COUNT_1">%1$d</xliff:g> fitxategi</item>
+ <item quantity="one">Ezin izan da kopiatu <xliff:g id="COUNT_0">%1$d</xliff:g> fitxategi</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Xehetasunak ikusteko, ukitu hau."</string>
<string name="retry" msgid="7564024179122207376">"Saiatu berriro"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Ez dira kopiatu fitxategi hauek: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-fi/strings.xml b/packages/DocumentsUI/res/values-fi/strings.xml
index a5fabfe..a9fe251 100644
--- a/packages/DocumentsUI/res/values-fi/strings.xml
+++ b/packages/DocumentsUI/res/values-fi/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Kopioidaan <xliff:g id="COUNT_0">%1$d</xliff:g> tiedosto.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Valmistellaan kopiointia…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> tiedoston kopioiminen epäonnistui.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> tiedoston kopioiminen epäonnistui.</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Lue lisätietoja koskettamalla"</string>
<string name="retry" msgid="7564024179122207376">"Yritä uudelleen"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Seuraavia tiedostoja ei kopioitu: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-fr-rCA/strings.xml b/packages/DocumentsUI/res/values-fr-rCA/strings.xml
index fce6615..b0c96e8 100644
--- a/packages/DocumentsUI/res/values-fr-rCA/strings.xml
+++ b/packages/DocumentsUI/res/values-fr-rCA/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other">Copier de <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers en cours.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Préparation de la copie en cours"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Impossible de copier <xliff:g id="COUNT_1">%1$d</xliff:g> fichier</item>
+ <item quantity="other">Impossible de copier <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Touchez ici pour afficher les détails"</string>
<string name="retry" msgid="7564024179122207376">"Réessayer"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Ces fichiers ne ont pas été copiés : <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-fr/strings.xml b/packages/DocumentsUI/res/values-fr/strings.xml
index dfbe1278..57fe11a 100644
--- a/packages/DocumentsUI/res/values-fr/strings.xml
+++ b/packages/DocumentsUI/res/values-fr/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other">Copie de <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers en cours…</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Préparation de la copie en cours…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Impossible de copier <xliff:g id="COUNT_1">%1$d</xliff:g> fichier</item>
+ <item quantity="other">Impossible de copier <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Appuyez pour en savoir plus."</string>
<string name="retry" msgid="7564024179122207376">"Réessayer"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Les fichiers suivants n\'ont pas été copiés : <xliff:g id="LIST">%1$s</xliff:g>."</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-gl-rES/strings.xml b/packages/DocumentsUI/res/values-gl-rES/strings.xml
index c9ca2bf..3b7cccf 100644
--- a/packages/DocumentsUI/res/values-gl-rES/strings.xml
+++ b/packages/DocumentsUI/res/values-gl-rES/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Copianto <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Non se puideron copiar <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros</item>
+ <item quantity="one">Non se puido copiar <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toca para ver detalles"</string>
<string name="retry" msgid="7564024179122207376">"Tentar de novo"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Non se copiaron estes ficheiros: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-hi/strings.xml b/packages/DocumentsUI/res/values-hi/strings.xml
index b1d60b2..19269b0 100644
--- a/packages/DocumentsUI/res/values-hi/strings.xml
+++ b/packages/DocumentsUI/res/values-hi/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलें कॉपी की जा रही हैं.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"कॉपी करने की तैयारी हो रही है…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलों की कॉपी नहीं बनाई जा सकती</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलों की कॉपी नहीं बनाई जा सकती</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"विवरण देखने के लिए स्पर्श करें"</string>
<string name="retry" msgid="7564024179122207376">"पुन: प्रयास करें"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"इन फ़ाइलों की कॉपी नहीं बनाई गई: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-hr/strings.xml b/packages/DocumentsUI/res/values-hr/strings.xml
index cc0ce79..1357fc0 100644
--- a/packages/DocumentsUI/res/values-hr/strings.xml
+++ b/packages/DocumentsUI/res/values-hr/strings.xml
@@ -66,9 +66,12 @@
<item quantity="other">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteka.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Priprema za kopiranje…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteka nije kopirana</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteke nisu kopirane</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteka nije kopirano</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Dodirnite da biste vidjeli pojedinosti"</string>
<string name="retry" msgid="7564024179122207376">"Pokušaj ponovo"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Ove datoteke nisu kopirane: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-hu/strings.xml b/packages/DocumentsUI/res/values-hu/strings.xml
index cf6c4fb..07c8ff1 100644
--- a/packages/DocumentsUI/res/values-hu/strings.xml
+++ b/packages/DocumentsUI/res/values-hu/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fájl másolása.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Felkészülés a másolásra…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fájlt nem sikerült átmásolni</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fájlt nem sikerült átmásolni</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Érintse meg a részletek megtekintéséhez"</string>
<string name="retry" msgid="7564024179122207376">"Újra"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"A következő fájlokat nem sikerült átmásolni: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-hy-rAM/strings.xml b/packages/DocumentsUI/res/values-hy-rAM/strings.xml
index b612335..3a214a6 100644
--- a/packages/DocumentsUI/res/values-hy-rAM/strings.xml
+++ b/packages/DocumentsUI/res/values-hy-rAM/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլի պատճենում:</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Պատճենման նախապատրաստում…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Չհաջողվեց պատճենել <xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլ</item>
+ <item quantity="other">Չհաջողվեց պատճենել <xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլ</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Հպեք՝ մանրամասները դիտելու համար"</string>
<string name="retry" msgid="7564024179122207376">"Կրկնել"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Հետևյալ ֆայլերը չեն պատճենվել՝ <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-is-rIS/strings.xml b/packages/DocumentsUI/res/values-is-rIS/strings.xml
index 99a8e2d..00818aa 100644
--- a/packages/DocumentsUI/res/values-is-rIS/strings.xml
+++ b/packages/DocumentsUI/res/values-is-rIS/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other">Afritar <xliff:g id="COUNT_1">%1$d</xliff:g> skrár.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Undirbúningur fyrir afritun…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Ekki var hægt að afrita <xliff:g id="COUNT_1">%1$d</xliff:g> skrá</item>
+ <item quantity="other">Ekki var hægt að afrita <xliff:g id="COUNT_1">%1$d</xliff:g> skrár</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Snertu til að skoða nánari upplýsingar"</string>
<string name="retry" msgid="7564024179122207376">"Reyna aftur"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Þessar skrár voru ekki afritaðar: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-it/strings.xml b/packages/DocumentsUI/res/values-it/strings.xml
index 7781dae..35afe54 100644
--- a/packages/DocumentsUI/res/values-it/strings.xml
+++ b/packages/DocumentsUI/res/values-it/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Copia di <xliff:g id="COUNT_0">%1$d</xliff:g> file in corso.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparazione alla copia…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Impossibile copiare <xliff:g id="COUNT_1">%1$d</xliff:g> file</item>
+ <item quantity="one">Impossibile copiare <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tocca per visualizzare i dettagli"</string>
<string name="retry" msgid="7564024179122207376">"Riprova"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"I seguenti file non sono stati copiati: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ja/strings.xml b/packages/DocumentsUI/res/values-ja/strings.xml
index 461ea26..dbf386b 100644
--- a/packages/DocumentsUI/res/values-ja/strings.xml
+++ b/packages/DocumentsUI/res/values-ja/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>個のファイルをコピーしています。</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"コピーの準備をしています…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>ファイルをコピーできませんでした</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>ファイルをコピーできませんでした</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"タップして詳細をご覧ください"</string>
<string name="retry" msgid="7564024179122207376">"再試行"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"ファイル(<xliff:g id="LIST">%1$s</xliff:g>)をコピーできませんでした"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml
index 6d13d9b..dc7c945 100644
--- a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml
+++ b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файлды көшіру.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Көшіруге дайындау…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файлды көшіру мүмкін емес</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файлды көшіру мүмкін емес</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Толығырақ мәліметті көру үшін түртіңіз"</string>
<string name="retry" msgid="7564024179122207376">"Қайталау"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Бұл файлдар көшірілмейді: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-km-rKH/strings.xml b/packages/DocumentsUI/res/values-km-rKH/strings.xml
index 2b2118a..a8cd4fe 100644
--- a/packages/DocumentsUI/res/values-km-rKH/strings.xml
+++ b/packages/DocumentsUI/res/values-km-rKH/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">កំពុងថតចម្លងឯកសារចំនួន <xliff:g id="COUNT_0">%1$d</xliff:g> ។</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"កំពុងរៀបចំចម្លង…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">មិនអាចចម្លងឯកសារ <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+ <item quantity="one">មិនអាចចម្លងឯកសារ <xliff:g id="COUNT_0">%1$d</xliff:g></item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"ប៉ះ ដើម្បីមើលព័ត៌មានលម្អិត"</string>
<string name="retry" msgid="7564024179122207376">"ព្យាយាមម្ដងទៀត"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"ឯកសារទាំងនេះមិនបានចម្លងទេ៖ <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-kn-rIN/strings.xml b/packages/DocumentsUI/res/values-kn-rIN/strings.xml
index 19578e3..2cb4d8e 100644
--- a/packages/DocumentsUI/res/values-kn-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-kn-rIN/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್‌ಗಳನ್ನು ನಕಲಿಸಲಾಗುತ್ತಿದೆ.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"ನಕಲಿಸಲು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್‌ಗಳನ್ನು ನಕಲು ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</item>
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್‌ಗಳನ್ನು ನಕಲು ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"ವಿವರಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಸ್ಪರ್ಶಿಸಿ"</string>
<string name="retry" msgid="7564024179122207376">"ಮರುಪ್ರಯತ್ನಿಸು"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"ಈ ಫೈಲ್‌ಗಳನ್ನು ನಕಲು ಮಾಡಿಲ್ಲ: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ko/strings.xml b/packages/DocumentsUI/res/values-ko/strings.xml
index 003f9ec..3e6facf 100644
--- a/packages/DocumentsUI/res/values-ko/strings.xml
+++ b/packages/DocumentsUI/res/values-ko/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">파일 <xliff:g id="COUNT_0">%1$d</xliff:g>개를 복사합니다.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"사본 준비 중…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">파일 <xliff:g id="COUNT_1">%1$d</xliff:g>개를 복사할 수 없습니다.</item>
+ <item quantity="one">파일 <xliff:g id="COUNT_0">%1$d</xliff:g>개를 복사할 수 없습니다.</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"세부정보를 보려면 터치하세요."</string>
<string name="retry" msgid="7564024179122207376">"다시 시도"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"다음 파일이 복사되지 않았습니다. <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ky-rKG/strings.xml b/packages/DocumentsUI/res/values-ky-rKG/strings.xml
index eba0df0..8f5bb25 100644
--- a/packages/DocumentsUI/res/values-ky-rKG/strings.xml
+++ b/packages/DocumentsUI/res/values-ky-rKG/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файл көчүрүлүүдө.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Көчүрүүгө даярдалууда…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файл көчүрүлбөй койду</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файл көчүрүлбөй койду</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Чоо-жайын билүү үчүн тийип коюңуз"</string>
<string name="retry" msgid="7564024179122207376">"Дагы аракет кылуу"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Төмөнкү файлдар көчүрүлгөн жок: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-lo-rLA/strings.xml b/packages/DocumentsUI/res/values-lo-rLA/strings.xml
index 45c4d66..f57071b 100644
--- a/packages/DocumentsUI/res/values-lo-rLA/strings.xml
+++ b/packages/DocumentsUI/res/values-lo-rLA/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">ກຳ​ລັງ​ອັດ​ສຳ​ເນົາ <xliff:g id="COUNT_0">%1$d</xliff:g> ໄຟ​ລ໌.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"ກຳ​ລັງ​ກຽມ​ອັດ​ສຳ​ເນົາ…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">ບໍ່​ສາ​ມາດ​ອັດ​ສຳ​ເນົາ <xliff:g id="COUNT_1">%1$d</xliff:g> ໄຟ​ລ໌​ໄດ້</item>
+ <item quantity="one">ບໍ່​ສາ​ມາດ​ອັດ​ສຳ​ເນົາ <xliff:g id="COUNT_0">%1$d</xliff:g> ໄຟ​ລ໌​ໄດ້</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"ສຳ​ພັດເພື່ອເບິ່ງລາຍລະອຽດ"</string>
<string name="retry" msgid="7564024179122207376">"ລອງໃໝ່"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"ໄຟ​ລ໌​ເຫຼົ່າ​ນີ້​ບໍ່​ຖື​ກ​ອັດ​ສຳ​ເນົາ: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-lt/strings.xml b/packages/DocumentsUI/res/values-lt/strings.xml
index fec8ad7..66f5387 100644
--- a/packages/DocumentsUI/res/values-lt/strings.xml
+++ b/packages/DocumentsUI/res/values-lt/strings.xml
@@ -67,9 +67,13 @@
<item quantity="other">Kopijuojama <xliff:g id="COUNT_1">%1$d</xliff:g> failų.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Ruošiamasi kopijuoti…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Nepavyko nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failo</item>
+ <item quantity="few">Nepavyko nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failų</item>
+ <item quantity="many">Nepavyko nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failo</item>
+ <item quantity="other">Nepavyko nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failų</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Palieskite, kad peržiūr. išsamią informaciją"</string>
<string name="retry" msgid="7564024179122207376">"Bandyti dar kartą"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Šie failai nenukopijuoti: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-lv/strings.xml b/packages/DocumentsUI/res/values-lv/strings.xml
index d3d88b0..4e254a1 100644
--- a/packages/DocumentsUI/res/values-lv/strings.xml
+++ b/packages/DocumentsUI/res/values-lv/strings.xml
@@ -66,9 +66,12 @@
<item quantity="other">Notiek <xliff:g id="COUNT_1">%1$d</xliff:g> failu kopēšana.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Gatavošanās kopēšanai…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="zero">Nevarēja nokopēt <xliff:g id="COUNT_1">%1$d</xliff:g> failus</item>
+ <item quantity="one">Nevarēja nokopēt <xliff:g id="COUNT_1">%1$d</xliff:g> failu</item>
+ <item quantity="other">Nevarēja nokopēt <xliff:g id="COUNT_1">%1$d</xliff:g> failus</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Pieskarieties, lai skatītu informāciju"</string>
<string name="retry" msgid="7564024179122207376">"Mēģināt vēlreiz"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Netika nokopēti šādi faili: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-mk-rMK/strings.xml b/packages/DocumentsUI/res/values-mk-rMK/strings.xml
index 219d36f..cfe7947 100644
--- a/packages/DocumentsUI/res/values-mk-rMK/strings.xml
+++ b/packages/DocumentsUI/res/values-mk-rMK/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other">Се копираат <xliff:g id="COUNT_1">%1$d</xliff:g> датотеки.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Се подготвува за копирање…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Не може да копира <xliff:g id="COUNT_1">%1$d</xliff:g> датотека</item>
+ <item quantity="other">Не може да копираат <xliff:g id="COUNT_1">%1$d</xliff:g> датотеки</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Допрете за да ги погледнете деталите"</string>
<string name="retry" msgid="7564024179122207376">"Обидете се повторно"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Датотекиве не се ископирани: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ml-rIN/strings.xml b/packages/DocumentsUI/res/values-ml-rIN/strings.xml
index 7d1acf5..a5b5bbd 100644
--- a/packages/DocumentsUI/res/values-ml-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-ml-rIN/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ഫയൽ പകർത്തുന്നു.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"പകർപ്പിനായി തയ്യാറെടുക്കുന്നു…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ഫയലുകൾ പകർത്താനായില്ല</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ഫയൽ പകർത്താനായില്ല</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"വിശദാംശങ്ങൾ കാണാൻ സ്‌പർശിക്കുക"</string>
<string name="retry" msgid="7564024179122207376">"വീണ്ടും ശ്രമിക്കുക"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"ഈ ഫയലുകൾ പകർത്താനായില്ല: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-mr-rIN/strings.xml b/packages/DocumentsUI/res/values-mr-rIN/strings.xml
index 71c245d..b7b1f23 100644
--- a/packages/DocumentsUI/res/values-mr-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-mr-rIN/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फायली कॉपी करीत आहे.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"कॉपी करण्‍यासाठी तयार करीत आहे…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> फाईल कॉपी करू शकलो नाही</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फायली कॉपी करू शकलो नाही</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"तपशील पाहण्यासाठी स्पर्श करा"</string>
<string name="retry" msgid="7564024179122207376">"पुन्हा प्रयत्न करा"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"या फायली कॉपी झाल्या नाहीत: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ms-rMY/strings.xml b/packages/DocumentsUI/res/values-ms-rMY/strings.xml
index 0fa0f5c..9762c00 100644
--- a/packages/DocumentsUI/res/values-ms-rMY/strings.xml
+++ b/packages/DocumentsUI/res/values-ms-rMY/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Menyalin <xliff:g id="COUNT_0">%1$d</xliff:g> fail.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Bersedia untuk salin..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Tidak dapat menyalin <xliff:g id="COUNT_1">%1$d</xliff:g> fail</item>
+ <item quantity="one">Tidak dapat menyalin <xliff:g id="COUNT_0">%1$d</xliff:g> fail</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Sentuh untuk melihat butiran"</string>
<string name="retry" msgid="7564024179122207376">"Cuba semula"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Fail ini tidak disalin: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-nb/strings.xml b/packages/DocumentsUI/res/values-nb/strings.xml
index c16295b..8f70690 100644
--- a/packages/DocumentsUI/res/values-nb/strings.xml
+++ b/packages/DocumentsUI/res/values-nb/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Kopierer <xliff:g id="COUNT_0">%1$d</xliff:g> fil.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Forbereder kopiering …"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Kunne ikke kopiere <xliff:g id="COUNT_1">%1$d</xliff:g> filer</item>
+ <item quantity="one">Kunne ikke kopiere <xliff:g id="COUNT_0">%1$d</xliff:g> fil</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Trykk for å se detaljer"</string>
<string name="retry" msgid="7564024179122207376">"Prøv på nytt"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Disse filene ble ikke kopiert: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ne-rNP/strings.xml b/packages/DocumentsUI/res/values-ne-rNP/strings.xml
index f041de3..283e6f2 100644
--- a/packages/DocumentsUI/res/values-ne-rNP/strings.xml
+++ b/packages/DocumentsUI/res/values-ne-rNP/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> फाइल प्रतिलिपि गर्दै।</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"प्रतिलिपिको लागि तयारी गर्दै ..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> फाइलहरू प्रतिलिपि गर्न सकेन</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> फाइल प्रतिलिपि गर्न सकेन</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"विवरणहरू हेर्न छुनुहोस्"</string>
<string name="retry" msgid="7564024179122207376">"पुनःप्रयास गर्नुहोस्"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"यी फाइलहरू प्रतिलिपि गरिएको थिएनः <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-nl/strings.xml b/packages/DocumentsUI/res/values-nl/strings.xml
index a826710..ba37d81 100644
--- a/packages/DocumentsUI/res/values-nl/strings.xml
+++ b/packages/DocumentsUI/res/values-nl/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> bestand kopiëren.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopiëren voorbereiden…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Kan <xliff:g id="COUNT_1">%1$d</xliff:g> bestanden niet kopiëren</item>
+ <item quantity="one">Kan <xliff:g id="COUNT_0">%1$d</xliff:g> bestand niet kopiëren</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tik om details weer te geven"</string>
<string name="retry" msgid="7564024179122207376">"Opnieuw proberen"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Deze bestanden zijn niet gekopieerd: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-pl/strings.xml b/packages/DocumentsUI/res/values-pl/strings.xml
index 884010f..79485ef 100644
--- a/packages/DocumentsUI/res/values-pl/strings.xml
+++ b/packages/DocumentsUI/res/values-pl/strings.xml
@@ -67,9 +67,13 @@
<item quantity="one">Kopiowanie <xliff:g id="COUNT_0">%1$d</xliff:g> pliku.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Przygotowuję do kopiowania…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="few">Nie można skopiować <xliff:g id="COUNT_1">%1$d</xliff:g> plików</item>
+ <item quantity="many">Nie można skopiować <xliff:g id="COUNT_1">%1$d</xliff:g> plików</item>
+ <item quantity="other">Nie można skopiować <xliff:g id="COUNT_1">%1$d</xliff:g> pliku</item>
+ <item quantity="one">Nie można skopiować <xliff:g id="COUNT_0">%1$d</xliff:g> pliku</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Kliknij, by zobaczyć szczegóły"</string>
<string name="retry" msgid="7564024179122207376">"Ponów"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Te pliki nie zostały skopiowane: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-pt-rPT/strings.xml b/packages/DocumentsUI/res/values-pt-rPT/strings.xml
index 4d3222c..931b85c 100644
--- a/packages/DocumentsUI/res/values-pt-rPT/strings.xml
+++ b/packages/DocumentsUI/res/values-pt-rPT/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">A copiar <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"A preparar para copiar…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Não foi possível copiar <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros</item>
+ <item quantity="one">Não foi possível copiar <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toque para ver detalhes"</string>
<string name="retry" msgid="7564024179122207376">"Tentar novamente"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Os seguintes ficheiros não foram copiados: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-pt/strings.xml b/packages/DocumentsUI/res/values-pt/strings.xml
index 067ba58..534caf0 100644
--- a/packages/DocumentsUI/res/values-pt/strings.xml
+++ b/packages/DocumentsUI/res/values-pt/strings.xml
@@ -65,9 +65,11 @@
<item quantity="other">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Não foi possível copiar <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos</item>
+ <item quantity="other">Não foi possível copiar <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toque para ver detalhes"</string>
<string name="retry" msgid="7564024179122207376">"Repetir"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Estes arquivos não foram copiados: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ro/strings.xml b/packages/DocumentsUI/res/values-ro/strings.xml
index 786e538..7ffe10d 100644
--- a/packages/DocumentsUI/res/values-ro/strings.xml
+++ b/packages/DocumentsUI/res/values-ro/strings.xml
@@ -66,9 +66,12 @@
<item quantity="one">Se copiază <xliff:g id="COUNT_0">%1$d</xliff:g> fișier.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Se pregătește copierea..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="few">Nu s-au putut copia <xliff:g id="COUNT_1">%1$d</xliff:g> fișiere</item>
+ <item quantity="other">Nu s-au putut copia <xliff:g id="COUNT_1">%1$d</xliff:g> de fișiere</item>
+ <item quantity="one">Nu s-a putut copia <xliff:g id="COUNT_0">%1$d</xliff:g> fișier</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Atingeți pentru a afișa detaliile"</string>
<string name="retry" msgid="7564024179122207376">"Reîncercați"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Aceste fișiere nu au fost copiate: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ru/strings.xml b/packages/DocumentsUI/res/values-ru/strings.xml
index 83dbb34..5c2e530 100644
--- a/packages/DocumentsUI/res/values-ru/strings.xml
+++ b/packages/DocumentsUI/res/values-ru/strings.xml
@@ -67,9 +67,13 @@
<item quantity="other">Копируется <xliff:g id="COUNT_1">%1$d</xliff:g> файла...</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Подготовка к копированию…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Не удалось скопировать <xliff:g id="COUNT_1">%1$d</xliff:g> файл</item>
+ <item quantity="few">Не удалось скопировать <xliff:g id="COUNT_1">%1$d</xliff:g> файла</item>
+ <item quantity="many">Не удалось скопировать <xliff:g id="COUNT_1">%1$d</xliff:g> файлов</item>
+ <item quantity="other">Не удалось скопировать <xliff:g id="COUNT_1">%1$d</xliff:g> файла</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Нажмите, чтобы узнать подробности."</string>
<string name="retry" msgid="7564024179122207376">"Повторить"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Не удалось скопировать эти файлы: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-sk/strings.xml b/packages/DocumentsUI/res/values-sk/strings.xml
index de68d27..8692913 100644
--- a/packages/DocumentsUI/res/values-sk/strings.xml
+++ b/packages/DocumentsUI/res/values-sk/strings.xml
@@ -67,9 +67,13 @@
<item quantity="one">Kopíruje sa <xliff:g id="COUNT_0">%1$d</xliff:g> súbor.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Pripravuje sa na kopírovanie..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="few">Zlyhalo kopírovanie <xliff:g id="COUNT_1">%1$d</xliff:g> súborov</item>
+ <item quantity="many">Zlyhalo kopírovanie <xliff:g id="COUNT_1">%1$d</xliff:g> súboru</item>
+ <item quantity="other">Zlyhalo kopírovanie <xliff:g id="COUNT_1">%1$d</xliff:g> súborov</item>
+ <item quantity="one">Zlyhalo kopírovanie <xliff:g id="COUNT_0">%1$d</xliff:g> súboru</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Klepnutím zobrazíte podrobné informácie"</string>
<string name="retry" msgid="7564024179122207376">"Skúsiť znova"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Tieto súbory neboli skopírované: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-sr/strings.xml b/packages/DocumentsUI/res/values-sr/strings.xml
index 7151950..9db6e13 100644
--- a/packages/DocumentsUI/res/values-sr/strings.xml
+++ b/packages/DocumentsUI/res/values-sr/strings.xml
@@ -66,9 +66,12 @@
<item quantity="other">Копирање <xliff:g id="COUNT_1">%1$d</xliff:g> датотека.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Припрема се копирање…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Нисмо успели да копирамо <xliff:g id="COUNT_1">%1$d</xliff:g> датотеку</item>
+ <item quantity="few">Нисмо успели да копирамо <xliff:g id="COUNT_1">%1$d</xliff:g> датотеке</item>
+ <item quantity="other">Нисмо успели да копирамо <xliff:g id="COUNT_1">%1$d</xliff:g> датотека</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Додирните да бисте видели детаље"</string>
<string name="retry" msgid="7564024179122207376">"Покушај поново"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Следеће датотеке нису копиране: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-sv/strings.xml b/packages/DocumentsUI/res/values-sv/strings.xml
index 1716962..6e2eddf 100644
--- a/packages/DocumentsUI/res/values-sv/strings.xml
+++ b/packages/DocumentsUI/res/values-sv/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Kopierar <xliff:g id="COUNT_0">%1$d</xliff:g> fil.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopieringen förbereds …"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> filer gick inte att kopiera</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fil gick inte att kopiera</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tryck här om du vill veta mer"</string>
<string name="retry" msgid="7564024179122207376">"Försök igen"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Följande filer kopierades inte: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-sw/strings.xml b/packages/DocumentsUI/res/values-sw/strings.xml
index 3476331..5a3dd37 100644
--- a/packages/DocumentsUI/res/values-sw/strings.xml
+++ b/packages/DocumentsUI/res/values-sw/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Inanakili faili <xliff:g id="COUNT_0">%1$d</xliff:g>.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Inaanda kunakili..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Haikuweza kunakili faili <xliff:g id="COUNT_1">%1$d</xliff:g> </item>
+ <item quantity="one">Haikuweza kunakili faili <xliff:g id="COUNT_0">%1$d</xliff:g></item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Gusa ili uone maelezo"</string>
<string name="retry" msgid="7564024179122207376">"Jaribu tena"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Faili hizi hazikunakiliwa: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ta-rIN/strings.xml b/packages/DocumentsUI/res/values-ta-rIN/strings.xml
index f845de3..cc6b1df 100644
--- a/packages/DocumentsUI/res/values-ta-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-ta-rIN/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> கோப்பை நகலெடுக்கிறது.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"நகல் தயாராகிறது…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> கோப்புகளை நகலெடுக்க முடியவில்லை</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> கோப்பை நகலெடுக்க முடியவில்லை</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"விவரங்களைப் பார்க்க, தொடவும்"</string>
<string name="retry" msgid="7564024179122207376">"மீண்டும் முயற்சிக்கவும்"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"நகலெடுக்கப்படாத கோப்புகள்: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-te-rIN/strings.xml b/packages/DocumentsUI/res/values-te-rIN/strings.xml
index c9c83c8..cf13ec5 100644
--- a/packages/DocumentsUI/res/values-te-rIN/strings.xml
+++ b/packages/DocumentsUI/res/values-te-rIN/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ఫైల్‌ను కాపీ చేస్తోంది.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"కాపీ చేయడానికి సిద్ధం చేస్తోంది…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ఫైల్‌లను కాపీ చేయలేకపోయింది</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ఫైల్‌ను కాపీ చేయలేకపోయింది</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"వివరాలను వీక్షించడానికి తాకండి"</string>
<string name="retry" msgid="7564024179122207376">"మళ్లీ ప్రయత్నించు"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"ఈ ఫైల్‌లు కాపీ చేయబడలేదు: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-th/strings.xml b/packages/DocumentsUI/res/values-th/strings.xml
index a596c1d..ac7bd5d 100644
--- a/packages/DocumentsUI/res/values-th/strings.xml
+++ b/packages/DocumentsUI/res/values-th/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">กำลังคัดลอก <xliff:g id="COUNT_0">%1$d</xliff:g> ไฟล์</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"กำลังเตรียมการคัดลอก…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">ไม่สามารถคัดลอก <xliff:g id="COUNT_1">%1$d</xliff:g> ไฟล์</item>
+ <item quantity="one">ไม่สามารถคัดลอก <xliff:g id="COUNT_0">%1$d</xliff:g> ไฟล์</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"แตะเพื่อดูรายละเอียด"</string>
<string name="retry" msgid="7564024179122207376">"ลองอีกครั้ง"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"ไม่มีการคัดลอกไฟล์เหล่านี้: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-tr/strings.xml b/packages/DocumentsUI/res/values-tr/strings.xml
index 891190c..bda4543 100644
--- a/packages/DocumentsUI/res/values-tr/strings.xml
+++ b/packages/DocumentsUI/res/values-tr/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dosya kopyalanıyor.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopyalanmak için hazırlanıyor…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dosya kopyalanamadı</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dosya kopyalanamadı</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Ayrıntıları görüntülemek için dokunun"</string>
<string name="retry" msgid="7564024179122207376">"Yeniden dene"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Şu dosyalar kopyalanmadı: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-uk/strings.xml b/packages/DocumentsUI/res/values-uk/strings.xml
index fa0833d..999dc70 100644
--- a/packages/DocumentsUI/res/values-uk/strings.xml
+++ b/packages/DocumentsUI/res/values-uk/strings.xml
@@ -67,9 +67,13 @@
<item quantity="other">Копіювання <xliff:g id="COUNT_1">%1$d</xliff:g> файлу.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Підготовка до копіювання…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="one">Не вдалося скопіювати <xliff:g id="COUNT_1">%1$d</xliff:g> файл</item>
+ <item quantity="few">Не вдалося скопіювати <xliff:g id="COUNT_1">%1$d</xliff:g> файли</item>
+ <item quantity="many">Не вдалося скопіювати <xliff:g id="COUNT_1">%1$d</xliff:g> файлів</item>
+ <item quantity="other">Не вдалося скопіювати <xliff:g id="COUNT_1">%1$d</xliff:g> файлу</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Торкніться, щоб дізнатися більше"</string>
<string name="retry" msgid="7564024179122207376">"Повторити"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Ці файли не скопійовано: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-ur-rPK/strings.xml b/packages/DocumentsUI/res/values-ur-rPK/strings.xml
index 03f53fe..31c1909 100644
--- a/packages/DocumentsUI/res/values-ur-rPK/strings.xml
+++ b/packages/DocumentsUI/res/values-ur-rPK/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> فائل کاپی کی جا رہی ہے۔</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"کاپی کیلئے تیار ہو رہا ہے…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> فائلز کاپی نہیں کی جا سکیں</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> فائل کاپی نہیں کی جا سکی</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"تفصیلات دیکھنے کیلئے ٹچ کریں"</string>
<string name="retry" msgid="7564024179122207376">"دوبارہ کوشش کریں"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"یہ فائلز کاپی نہیں کی گئیں: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml
index 690d6d4..f7c6c45 100644
--- a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml
+++ b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> ta fayl nusxalanmoqda</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Nuxsa olishga tayyorgarlik..."</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ta fayldan nusxa olinmadi</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> ta fayldan nusxa olinmadi</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Batafsil ma’lumot olish uchun bosing"</string>
<string name="retry" msgid="7564024179122207376">"Qayta urinish"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Ushbu fayllardan nusxa olinmadi: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-vi/strings.xml b/packages/DocumentsUI/res/values-vi/strings.xml
index ecef48b..3bd7d78 100644
--- a/packages/DocumentsUI/res/values-vi/strings.xml
+++ b/packages/DocumentsUI/res/values-vi/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">Đang sao chép <xliff:g id="COUNT_0">%1$d</xliff:g> tệp.</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Đang chuẩn bị sao chép…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">Không thể sao chép <xliff:g id="COUNT_1">%1$d</xliff:g> tệp</item>
+ <item quantity="one">Không thể sao chép <xliff:g id="COUNT_0">%1$d</xliff:g> tệp</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"Chạm để xem chi tiết"</string>
<string name="retry" msgid="7564024179122207376">"Thử lại"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Những tệp này chưa được sao chép: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-zh-rHK/strings.xml b/packages/DocumentsUI/res/values-zh-rHK/strings.xml
index 15d8316..352ba9e 100644
--- a/packages/DocumentsUI/res/values-zh-rHK/strings.xml
+++ b/packages/DocumentsUI/res/values-zh-rHK/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">正在複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案。</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"正在準備複製…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">無法複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案</item>
+ <item quantity="one">無法複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"輕觸即可查看詳情"</string>
<string name="retry" msgid="7564024179122207376">"重試"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"以下檔案不會被複製:<xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/DocumentsUI/res/values-zh-rTW/strings.xml b/packages/DocumentsUI/res/values-zh-rTW/strings.xml
index 3a5e0ba..8de8402 100644
--- a/packages/DocumentsUI/res/values-zh-rTW/strings.xml
+++ b/packages/DocumentsUI/res/values-zh-rTW/strings.xml
@@ -65,9 +65,11 @@
<item quantity="one">正在複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案。</item>
</plurals>
<string name="copy_preparing" msgid="3896202461003039386">"正在準備複製…"</string>
- <!-- no translation found for copy_error_notification_title (5267616889076217261) -->
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other">無法複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案</item>
+ <item quantity="one">無法複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案</item>
+ </plurals>
<string name="notification_touch_for_details" msgid="4483108577842961665">"輕觸即可查看詳細資料"</string>
<string name="retry" msgid="7564024179122207376">"重試"</string>
- <!-- no translation found for copy_failure_alert_content (3715575000297709082) -->
- <skip />
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"未複製這些檔案:<xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 0d61606..1953e75 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -1500,17 +1500,16 @@ public class SettingsProvider extends ContentProvider {
}
public void onPackageRemovedLocked(String packageName, int userId) {
- final int globalKey = makeKey(SETTINGS_TYPE_GLOBAL, UserHandle.USER_OWNER);
- SettingsState globalSettings = mSettingsStates.get(globalKey);
- if (globalSettings != null) globalSettings.onPackageRemovedLocked(packageName);
-
- final int secureKey = makeKey(SETTINGS_TYPE_SECURE, userId);
- SettingsState secureSettings = mSettingsStates.get(secureKey);
- if (secureSettings != null) secureSettings.onPackageRemovedLocked(packageName);
+ // Global and secure settings are signature protected. Apps signed
+ // by the platform certificate are generally not uninstalled and
+ // the main exception is tests. We trust components signed
+ // by the platform certificate and do not do a clean up after them.
final int systemKey = makeKey(SETTINGS_TYPE_SYSTEM, userId);
SettingsState systemSettings = mSettingsStates.get(systemKey);
- if (systemSettings != null) systemSettings.onPackageRemovedLocked(packageName);
+ if (systemSettings != null) {
+ systemSettings.onPackageRemovedLocked(packageName);
+ }
}
private SettingsState peekSettingsStateLocked(int key) {
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
index 8d99a64..f853f3f 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
@@ -153,7 +153,7 @@ final class SettingsState {
final int settingCount = mSettings.size();
for (int i = settingCount - 1; i >= 0; i--) {
String name = mSettings.keyAt(i);
- // Settings defined by use are never dropped.
+ // Settings defined by us are never dropped.
if (Settings.System.PUBLIC_SETTINGS.contains(name)
|| Settings.System.PRIVATE_SETTINGS.contains(name)) {
continue;
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 2226a07..51a5a19 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -365,7 +365,7 @@
<string name="monitoring_description_device_owned" msgid="5780988291898461883">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, data, der er knyttet til din enhed, og din enheds placeringsoplysninger. Kontakt din administrator, hvis du vil have flere oplysninger."</string>
<string name="monitoring_description_profile_owned" msgid="8110044290898637925">"Din arbejdsprofil administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge din netværksaktivitet, herunder e-mails, apps og sikre websites.\n\nKontakt din administrator, hvis du vil have flere oplysninger."</string>
<string name="monitoring_description_device_and_profile_owned" msgid="1664428184778531249">"Din enhed administreres af:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nDin arbejdsprofil administreres af:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nDin administrator kan overvåge din enhed og netværksaktivitet, herunder e-mails, apps og sikre websites.\n\nKontakt din administrator, hvis du vil have flere oplysninger."</string>
- <string name="monitoring_description_vpn" msgid="912328761766161919">"Du har givet en app tilladelse til at oprette en VPN-forbindelse.\n\nDenne app kan overvåge din netværksaktivitet, herunder e-mails, apps og sikre websites."</string>
+ <string name="monitoring_description_vpn" msgid="912328761766161919">"Du har givet en app tilladelse til at oprette en VPN-forbindelse.\n\nDenne app kan overvåge din enhed og netværksaktivitet, herunder e-mails, apps og sikre websites."</string>
<string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, data, der er knyttet til din enhed, og din enheds placeringsoplysninger.\n\nDu har forbindelse til et VPN, som kan overvåge din netværksaktivitet, herunder e-mails, apps og websites.\n\nKontakt din administrator, hvis du vil have flere oplysninger."</string>
<string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Din arbejdsprofil administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge din netværksaktivitet, herunder e-mails, apps og sikre websites.\n\nKontakt din administrator, hvis du vil have flere oplysninger.\n\nDu har også forbindelse til et VPN, som kan overvåge din netværksaktivitet."</string>
<string name="monitoring_description_vpn_device_and_profile_owned" msgid="2198546817407897093">"Din enhed administreres af <xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nDin arbejdsprofil administreres af:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nDin administrator kan overvåge din netværksaktivitet, herunder e-mail, apps og sikre websites.\n\nKontakt din administrator, hvis du vil have flere oplysninger.\n\nDu har også forbindelse til et VPN, som kan overvåge din personlige netværksaktivitet."</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 1d2b12b..3e3a91d 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -368,7 +368,7 @@
<string name="monitoring_description_profile_owned" msgid="8110044290898637925">"Votre profil professionnel est géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nVotre administrateur peut contrôler votre activité sur le réseau (courriels, applications et sites sécurisés).\n\nPour en savoir plus, communiquez avec votre administrateur."</string>
<string name="monitoring_description_device_and_profile_owned" msgid="1664428184778531249">"Votre appareil est géré par \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nVotre profil professionnel est géré par \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nVotre administrateur peut contrôler l\'activité de votre appareil et votre activité réseau (courriels, applications et sites sécurisés).\n\nPour en savoir plus, communiquez avec votre administrateur."</string>
<string name="monitoring_description_vpn" msgid="912328761766161919">"Vous avez autorisé une application à configurer une connexion RPV.\n\nCette application peut contrôler l\'activité de votre appareil et votre activité sur le réseau (courriels, applications et sites sécurisés)."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Votre appareil géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nVotre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les données associées à cet appareil et les données de localisation de celui-ci.\n\nVous êtes connecté à un RPV qui peut contrôler votre activité sur le réseau (courriels, applications et sites Web).\n\nPour en savoir plus, communiquez avec votre administrateur."</string>
+ <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Votre appareil est géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nVotre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les données associées à cet appareil et les données de localisation de celui-ci.\n\nVous êtes connecté à un RPV qui peut contrôler votre activité sur le réseau (courriels, applications et sites Web).\n\nPour en savoir plus, communiquez avec votre administrateur."</string>
<string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Votre profil professionnel est géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nVotre administrateur peut contrôler votre activité sur le réseau (courriels, applications et sites sécurisés).\n\nPour en savoir plus, communiquez avec votre administrateur.\n\nVous êtes également connecté à un RPV qui peut contrôler votre activité sur le réseau."</string>
<string name="monitoring_description_vpn_device_and_profile_owned" msgid="2198546817407897093">"Votre appareil est géré par <xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nVotre profil professionnel est géré par \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nVotre administrateur peut contrôler votre activité sur le réseau (courriels, applications et sites sécurisés).\n\nPour en savoir plus, communiquez avec votre administrateur.\n\nVous êtes également connecté à un RPV qui peut contrôler votre activité personnelle sur le réseau."</string>
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"L\'appareil restera verrouillé jusqu\'à ce que vous le déverrouilliez manuellement"</string>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml
index 9acc498..3fd5003 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings.xml
@@ -364,7 +364,7 @@
<string name="disconnect_vpn" msgid="1324915059568548655">"Անջատել VPN-ը"</string>
<string name="monitoring_description_device_owned" msgid="5780988291898461883">"Սարքի կառավարիչն է՝ <xliff:g id="ORGANIZATION">%1$s</xliff:g>:\n\nԱդմինիստրատորը կարող է վերահսկել և կառավարել կարգավորումները, կորպորատիվ հաշիվը, հավելվածները, սարքի հետ առնչվող և սարքի տեղադրության տվյալները: Լրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:"</string>
<string name="monitoring_description_profile_owned" msgid="8110044290898637925">"Աշխատանքային պրոֆիլի կառավարիչն է՝ <xliff:g id="ORGANIZATION">%1$s</xliff:g>:\n\nԱդմինիստրատորը կարող է վերահսկել ցանցում ունեցած գործունեությունը, այդ թվում՝ էլեկտրոնային նամակները, հավելվածները և վստահելի կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:"</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="1664428184778531249">"Սարքի կառավարիչ՝\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>:\nՊրոֆիլի կառավարիչ՝\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>:\n\nԱդմինիստրատորը կարող է վերահսկել ձեր սարքի և ցանցի գործունեությունը՝ նամակները, հավելվածները և վստահելի կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:"</string>
+ <string name="monitoring_description_device_and_profile_owned" msgid="1664428184778531249">"Սարքի կառավարիչ՝\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>:\nԱշխատանքային պրոֆիլի կառավարիչ՝\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>:\n\nԱդմինիստրատորը կարող է վերահսկել ձեր սարքի և ցանցի գործունեությունը՝ նամակները, հավելվածները և վստահելի կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:"</string>
<string name="monitoring_description_vpn" msgid="912328761766161919">"Ինչ-որ հավելվածի թույլ եք տվեք հաստատել VPN կապակցում:\n\nԱյդ հավելվածը կարող է վերահսկել ձեր սարքի և ցանցի գործունեությունը, այդ թվում նաև՝ էլեկտրոնային նամակները, հավելվածները և վստահելի կայքերը:"</string>
<string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Սարքի կառավարիչն է՝ <xliff:g id="ORGANIZATION">%1$s</xliff:g>:\n\nԱդմինիստրատորը կարող է վերահսկել և կառավարել կարգավորումները, կորպորատիվ հաշիվը, հավելվածները, սարքի հետ առնչվող և սարքի տեղադրության տվյալները:\n\nՆաև ունեք VPN կապակցում, ինչը կարող է վերահսկել ձեր ցանցի գործունեությունը, այդ թվում նաև՝ էլեկտրոնային նամակները, հավելվածները և կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:"</string>
<string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Աշխատանքային պրոֆիլի կառավարիչն է՝ <xliff:g id="ORGANIZATION">%1$s</xliff:g>:\n\nԱդմինիստրատորը կարող է վերահսկել ցանցում ունեցած գործունեությունը, այդ թվում՝ էլեկտրոնային նամակները, հավելվածները և վստահելի կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:\n\nՆաև ունեք VPN կապակցում, ինչը կարող է վերահսկել ձեր ցանցում կատարած գործողությունները:"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index d4c1bdd..088585a 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -366,9 +366,9 @@
<string name="monitoring_description_profile_owned" msgid="8110044290898637925">"Profil kerja dikelola oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web aman.\n\nUntuk informasi selengkapnya, hubungi administrator."</string>
<string name="monitoring_description_device_and_profile_owned" msgid="1664428184778531249">"Perangkat dikelola oleh:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nProfil kerja dikelola oleh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nAdministrator dapat memantau aktivitas perangkat dan jaringan, termasuk email, aplikasi, dan situs web aman.\n\nUntuk informasi selengkapnya, hubungi administrator."</string>
<string name="monitoring_description_vpn" msgid="912328761766161919">"Anda memberikan izin kepada aplikasi untuk menyiapkan sambungan VPN.\n\nAplikasi ini dapat memantau aktivitas perangkat dan jaringan, termasuk email, aplikasi, dan situs web aman."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Perangkat dikelola oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator dapat memantau dan mengelola setelan, akses perusahaan, aplikasi, data terkait perangkat, dan informasi lokasi perangkat.\n\nAnda tersambung ke VPN, yang dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web.\n\nUntuk informasi selengkapnya, hubungi administrator."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Profil kerja dikelola oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web aman.\n\nUntuk informasi selengkapnya, hubungi administrator.\n\nAnda juga tersambung ke VPN, yang dapat memantau aktivitas jaringan."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="2198546817407897093">"Perangkat dikelola oleh <xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nProfil kerja dikelola oleh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nAdministrator dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web aman.\n\nUntuk informasi selengkapnya, hubungi administrator.\n\nAnda juga tersambung ke VPN, yang dapat memantau aktivitas jaringan"</string>
+ <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Perangkat dikelola oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator dapat memantau dan mengelola setelan, akses perusahaan, aplikasi, data terkait perangkat, dan informasi lokasi perangkat.\n\nAnda tersambung ke VPN yang dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web.\n\nUntuk informasi selengkapnya, hubungi administrator."</string>
+ <string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Profil kerja dikelola oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web aman.\n\nUntuk informasi selengkapnya, hubungi administrator.\n\nAnda juga tersambung ke VPN yang dapat memantau aktivitas jaringan."</string>
+ <string name="monitoring_description_vpn_device_and_profile_owned" msgid="2198546817407897093">"Perangkat dikelola oleh <xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nProfil kerja dikelola oleh:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nAdministrator dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web aman.\n\nUntuk informasi selengkapnya, hubungi administrator.\n\nAnda juga tersambung ke VPN yang dapat memantau aktivitas jaringan"</string>
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Perangkat akan tetap terkunci hingga Anda membukanya secara manual"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Dapatkan pemberitahuan lebih cepat"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Lihat sebelum membuka kunci"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index fd40338..5b4c0cd 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -369,7 +369,7 @@
<string name="monitoring_description_device_and_profile_owned" msgid="1664428184778531249">"Urządzeniem zarządza:\n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nTwoim profilem do pracy zarządza:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nAdministrator może monitorować Twoje urządzenie i aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe.\n\nSkontaktuj się z nim, by dowiedzieć się więcej."</string>
<string name="monitoring_description_vpn" msgid="912328761766161919">"Nadałeś aplikacji uprawnienie do konfigurowania połączenia VPN.\n\nMoże ona monitorować Twoją aktywność na urządzeniu i w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe."</string>
<string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Urządzeniem zarządza <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator może monitorować ustawienia, firmowe uprawnienia dostępu, aplikacje, dane powiązane z tym urządzeniem i informacje o lokalizacji urządzenia oraz nimi zarządzać.\n\nMasz połączenie z siecią VPN, która może monitorować Twoją aktywność w sieci, w tym e-maile, aplikacje i strony internetowe.\n\nAby uzyskać więcej informacji, skontaktuj się z administratorem."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Twoim profilem do pracy zarządza <xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nAdministrator może monitorować Twoją aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe.\n\nSkontaktuj się z nim, by dowiedzieć się więcej.\n\nMasz także połączenie z siecią VPN, która może monitorować Twoją aktywność w sieci."</string>
+ <string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Twoim profilem do pracy zarządza <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator może monitorować Twoją aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony internetowe.\n\nSkontaktuj się z nim, by dowiedzieć się więcej.\n\nMasz także połączenie z siecią VPN, która może monitorować Twoją aktywność w sieci."</string>
<string name="monitoring_description_vpn_device_and_profile_owned" msgid="2198546817407897093">"Urządzeniem zarządza <xliff:g id="ORGANIZATION_0">%1$s</xliff:g>.\nTwoim profilem do pracy zarządza:\n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g>.\n\nAdministrator może monitorować Twoją aktywność w sieci, w tym e-maile, aplikacje i bezpieczne strony.\n\nSkontaktuj się z nim, by dowiedzieć się więcej.\n\nMasz także połączenie z siecią VPN, która może monitorować Twoją osobistą aktywność w sieci"</string>
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Urządzenie pozostanie zablokowane, aż odblokujesz je ręcznie"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Szybszy dostęp do powiadomień"</string>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index 34f4f6e..2c29f24 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -362,13 +362,13 @@
<string name="monitoring_title" msgid="169206259253048106">"Tarmoqlarni kuzatish"</string>
<string name="disable_vpn" msgid="4435534311510272506">"VPN tarmog‘ini o‘chirish"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN ulanishini uzish"</string>
- <string name="monitoring_description_device_owned" msgid="5780988291898461883">"Qurilmangiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministratoringiz sozlamalar, korporativ ruxsat, ilovalar, qurilmangiz va qurilmangizning joylashuv ma’lumoti bilan bog‘liq ma’lumotlarni kuzata oladi va boshqara oladi. Ko‘proq ma’lumot olish uchun administrator bilan bog‘laning."</string>
- <string name="monitoring_description_profile_owned" msgid="8110044290898637925">"Sizning ish profilingiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministratoringiz tarmoqdagi faoliyatingizni, jumladan, e-pochtalar, ilovalar va xavfsiz veb-saytlaringizni kuzata oladi.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning."</string>
- <string name="monitoring_description_device_and_profile_owned" msgid="1664428184778531249">"Qurilmangiz \n<xliff:g id="ORGANIZATION_0">%1$s</xliff:g> tomonidan boshqariladi.\nIsh profilingiz \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g> tomonidan boshqariladi.\n\nAdministratoringiz qurilmangiz va tarmoqdagi faoliyatingiz, jumladan, e-pochta, ilova va xavfsiz veb-saytlaringizni kuzata oladi.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning."</string>
- <string name="monitoring_description_vpn" msgid="912328761766161919">"Siz ilovaga VPN ulanishini o‘rnatishga ruxsat bergansiz.\n\nUshbu ilova qurilmangiz va tarmoqdagi faoliyatingizni, jumladan, e-pochta, ilovalar va xavfsiz veb-saytlar bilan ishlashingizni kuzata oladi."</string>
- <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Qurilmangiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministratoringiz sozlamalar, korporativ ruxsat, ilovalar, qurilmangiz va qurilmangizning joylashuv ma’lumoti bilan bog‘liq ma’lumotlarni kuzata oladi va boshqara oladi.\n\nShuningdek, siz tarmoqdagi faoliyatingizni, jumladan, e-pochtal, ilova va veb-saytlaringizni kuzata oladigan VPN tarmog‘iga ham ulangansiz.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Sizning ish profilingiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministratoringiz tarmoqdagi faoliyatingizni, jumladan, e-pochta, ilova va xavfsiz veb-saytlar bilan ishlashingizni kuzata oladi.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning.\n\nShuningdek, siz tarmoqdagi faoliyatingizni kuzata oladigan VPN tarmog‘iga ham ulangansiz."</string>
- <string name="monitoring_description_vpn_device_and_profile_owned" msgid="2198546817407897093">"Qurilmangiz <xliff:g id="ORGANIZATION_0">%1$s</xliff:g> tomonidan boshqariladi.\nIsh profilingiz \n<xliff:g id="ORGANIZATION_1">%2$s</xliff:g> tomonidan boshqariladi.\n\nAdministratoringiz tarmoqdagi faoliyatingizni, jumladan, e-pochta, ilova va xavfsiz veb-saytlaringizni kuzata oladi.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning.\n\nShuningdek, siz shaxsiy tarmoqdagi faoliyatingizni kuzata oladigan VPN tarmog‘iga ham ulangansiz."</string>
+ <string name="monitoring_description_device_owned" msgid="5780988291898461883">"Qurilmangiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministrator sozlamalar, korporativ kirish huquqi, ilovalar, qurilmangizdagi ma’lumotlar, jumladan, joylashuv ma’lumotlari hamda unga bog‘liq boshqa ma’lumotlarni boshqarishi mumkin. Ko‘proq ma’lumot olish uchun administrator bilan bog‘laning."</string>
+ <string name="monitoring_description_profile_owned" msgid="8110044290898637925">"Ishchi profilingiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministrator Internetdagi harakatlaringiz, jumladan, e-pochta, ilova va xavfsiz veb-saytlar bilan ishlashingizni kuzatishi mumkin.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning."</string>
+ <string name="monitoring_description_device_and_profile_owned" msgid="1664428184778531249">"Qurilmangiz <xliff:g id="ORGANIZATION_0">%1$s</xliff:g>\ntomonidan boshqariladi.\nIshchi profilingiz <xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\ntomonidan boshqariladi.\n\nAdministrator Internetdagi harakatlaringiz, jumladan, e-pochta, ilova va xavfsiz veb-saytlar bilan ishlashingizni kuzatishi mumkin.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning."</string>
+ <string name="monitoring_description_vpn" msgid="912328761766161919">"Siz ilovaga VPN tarmog‘iga ulanishga ruxsat bergansiz.\n\nUshbu ilova qurilmangiz va Internetdagi harakatlaringizni, jumladan, e-pochta, ilovalar va xavfsiz veb-saytlar bilan ishlashingizni kuzatishi mumkin."</string>
+ <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Qurilmangiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministrator sozlamalar, korporativ kirish huquqi, ilovalar, qurilmangizdagi ma’lumotlar, jumladan, joylashuv ma’lumotlarini boshqarishi mumkin.\n\nShuningdek, siz Internetdagi harakatlaringizni, jumladan, e-pochta, ilova va veb-saytlar bilan ishlashingizni kuzata oladigan VPN tarmog‘iga ham ulangansiz.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning."</string>
+ <string name="monitoring_description_vpn_profile_owned" msgid="2224494839524715272">"Sizning ishchi profilingiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministrator Internetdagi harakatlaringizni, jumladan, e-pochta, ilova va xavfsiz veb-saytlar bilan ishlashingizni kuzata oladi.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning.\n\nShuningdek, siz tarmoqdagi faoliyatingizni kuzata oladigan VPN tarmog‘iga ham ulangansiz."</string>
+ <string name="monitoring_description_vpn_device_and_profile_owned" msgid="2198546817407897093">"Qurilmangiz <xliff:g id="ORGANIZATION_0">%1$s</xliff:g> tomonidan boshqariladi.\nIshchi profilingiz <xliff:g id="ORGANIZATION_1">%2$s</xliff:g>\n tomonidan boshqariladi.\n\nAdministrator Internetdagi harakatlaringizni, jumladan, e-pochta, ilova va xavfsiz veb-saytlar bilan ishlashingizni kuzatishi mumkin.\n\nKo‘proq ma’lumot olish uchun administrator bilan bog‘laning.\n\nShuningdek, siz shaxsiy tarmoqdagi faoliyatingizni kuzata oladigan VPN tarmog‘iga ham ulangansiz."</string>
<string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Qurilma qo‘lda qulfdan chiqarilmaguncha qulflangan holatda qoladi"</string>
<string name="hidden_notifications_title" msgid="7139628534207443290">"Bildirishnomalarni tezroq oling"</string>
<string name="hidden_notifications_text" msgid="2326409389088668981">"Ularni qulfdan chiqarishdan oldin ko‘ring"</string>
diff --git a/packages/SystemUI/src/com/android/systemui/EventLogTags.logtags b/packages/SystemUI/src/com/android/systemui/EventLogTags.logtags
index d2ce94b..a584cf6 100644
--- a/packages/SystemUI/src/com/android/systemui/EventLogTags.logtags
+++ b/packages/SystemUI/src/com/android/systemui/EventLogTags.logtags
@@ -5,7 +5,7 @@ option java_package com.android.systemui;
# ---------------------------
# PhoneStatusBar.java
# ---------------------------
-36000 sysui_statusbar_touch (type|1),(x|1),(y|1),(enabled|1)
+36000 sysui_statusbar_touch (type|1),(x|1),(y|1),(disable1|1),(disable2|1)
36001 sysui_heads_up_status (key|3),(visible|1)
36002 sysui_fullscreen_notification (key|3)
36003 sysui_heads_up_escalation (key|3)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index e542264..7271469 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -581,7 +581,7 @@ public abstract class BaseStatusBar extends SystemUI implements
createAndAddWindows();
mSettingsObserver.onChange(false); // set up
- disable(switches[0], false /* animate */);
+ disable(switches[0], switches[6], false /* animate */);
setSystemUiVisibility(switches[1], 0xffffffff);
topAppWindowChanged(switches[2] != 0);
// StatusBarManagerService has a back up of IME token and it's restored here.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
index 7aa9a90..4542054 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -83,7 +83,7 @@ public class CommandQueue extends IStatusBar.Stub {
public void updateIcon(String slot, int index, int viewIndex,
StatusBarIcon old, StatusBarIcon icon);
public void removeIcon(String slot, int index, int viewIndex);
- public void disable(int state, boolean animate);
+ public void disable(int state1, int state2, boolean animate);
public void animateExpandNotificationsPanel();
public void animateCollapsePanels(int flags);
public void animateExpandSettingsPanel();
@@ -127,10 +127,10 @@ public class CommandQueue extends IStatusBar.Stub {
}
}
- public void disable(int state) {
+ public void disable(int state1, int state2) {
synchronized (mList) {
mHandler.removeMessages(MSG_DISABLE);
- mHandler.obtainMessage(MSG_DISABLE, state, 0, null).sendToTarget();
+ mHandler.obtainMessage(MSG_DISABLE, state1, state2, null).sendToTarget();
}
}
@@ -304,7 +304,7 @@ public class CommandQueue extends IStatusBar.Stub {
break;
}
case MSG_DISABLE:
- mCallbacks.disable(msg.arg1, true /* animate */);
+ mCallbacks.disable(msg.arg1, msg.arg2, true /* animate */);
break;
case MSG_EXPAND_NOTIFICATIONS:
mCallbacks.animateExpandNotificationsPanel();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 12c5589..6b17589 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -305,7 +305,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
ArrayList<Runnable> mPostCollapseRunnables = new ArrayList<>();
// for disabling the status bar
- int mDisabled = 0;
+ int mDisabled1 = 0;
+ int mDisabled2 = 0;
// tracking calls to View.setSystemUiVisibility()
int mSystemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE;
@@ -427,7 +428,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
}
};
- private int mDisabledUnmodified;
+ private int mDisabledUnmodified1;
+ private int mDisabledUnmodified2;
/** Keys of notifications currently visible to the user. */
private final ArraySet<String> mCurrentlyVisibleNotifications = new ArraySet<String>();
@@ -637,7 +639,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
mNavigationBarView =
(NavigationBarView) View.inflate(context, R.layout.navigation_bar, null);
- mNavigationBarView.setDisabledFlags(mDisabled);
+ mNavigationBarView.setDisabledFlags(mDisabled1);
mNavigationBarView.setBar(this);
mNavigationBarView.setOnVerticalChangedListener(
new NavigationBarView.OnVerticalChangedListener() {
@@ -1691,84 +1693,91 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
/**
* State is one or more of the DISABLE constants from StatusBarManager.
*/
- public void disable(int state, boolean animate) {
- mDisabledUnmodified = state;
- state = adjustDisableFlags(state);
- final int old = mDisabled;
- final int diff = state ^ old;
- mDisabled = state;
+ public void disable(int state1, int state2, boolean animate) {
+ mDisabledUnmodified1 = state1;
+ mDisabledUnmodified2 = state2;
+ state1 = adjustDisableFlags(state1);
+ final int old1 = mDisabled1;
+ final int diff1 = state1 ^ old1;
+ mDisabled1 = state1;
+
+ final int old2 = mDisabled2;
+ final int diff2 = state2 ^ old2;
+ mDisabled2 = state2;
if (DEBUG) {
- Log.d(TAG, String.format("disable: 0x%08x -> 0x%08x (diff: 0x%08x)",
- old, state, diff));
+ Log.d(TAG, String.format("disable1: 0x%08x -> 0x%08x (diff1: 0x%08x)",
+ old1, state1, diff1));
+ Log.d(TAG, String.format("disable2: 0x%08x -> 0x%08x (diff2: 0x%08x)",
+ old2, state2, diff2));
}
StringBuilder flagdbg = new StringBuilder();
flagdbg.append("disable: < ");
- flagdbg.append(((state & StatusBarManager.DISABLE_EXPAND) != 0) ? "EXPAND" : "expand");
- flagdbg.append(((diff & StatusBarManager.DISABLE_EXPAND) != 0) ? "* " : " ");
- flagdbg.append(((state & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) ? "ICONS" : "icons");
- flagdbg.append(((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) ? "* " : " ");
- flagdbg.append(((state & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0) ? "ALERTS" : "alerts");
- flagdbg.append(((diff & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0) ? "* " : " ");
- flagdbg.append(((state & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) ? "SYSTEM_INFO" : "system_info");
- flagdbg.append(((diff & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) ? "* " : " ");
- flagdbg.append(((state & StatusBarManager.DISABLE_BACK) != 0) ? "BACK" : "back");
- flagdbg.append(((diff & StatusBarManager.DISABLE_BACK) != 0) ? "* " : " ");
- flagdbg.append(((state & StatusBarManager.DISABLE_HOME) != 0) ? "HOME" : "home");
- flagdbg.append(((diff & StatusBarManager.DISABLE_HOME) != 0) ? "* " : " ");
- flagdbg.append(((state & StatusBarManager.DISABLE_RECENT) != 0) ? "RECENT" : "recent");
- flagdbg.append(((diff & StatusBarManager.DISABLE_RECENT) != 0) ? "* " : " ");
- flagdbg.append(((state & StatusBarManager.DISABLE_CLOCK) != 0) ? "CLOCK" : "clock");
- flagdbg.append(((diff & StatusBarManager.DISABLE_CLOCK) != 0) ? "* " : " ");
- flagdbg.append(((state & StatusBarManager.DISABLE_SEARCH) != 0) ? "SEARCH" : "search");
- flagdbg.append(((diff & StatusBarManager.DISABLE_SEARCH) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_EXPAND) != 0) ? "EXPAND" : "expand");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_EXPAND) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) ? "ICONS" : "icons");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0) ? "ALERTS" : "alerts");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) ? "SYSTEM_INFO" : "system_info");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_BACK) != 0) ? "BACK" : "back");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_BACK) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_HOME) != 0) ? "HOME" : "home");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_HOME) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_RECENT) != 0) ? "RECENT" : "recent");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_RECENT) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_CLOCK) != 0) ? "CLOCK" : "clock");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_CLOCK) != 0) ? "* " : " ");
+ flagdbg.append(((state1 & StatusBarManager.DISABLE_SEARCH) != 0) ? "SEARCH" : "search");
+ flagdbg.append(((diff1 & StatusBarManager.DISABLE_SEARCH) != 0) ? "* " : " ");
flagdbg.append(">");
Log.d(TAG, flagdbg.toString());
- if ((diff & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) {
- if ((state & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) {
+ if ((diff1 & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) {
+ if ((state1 & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) {
mIconController.hideSystemIconArea(animate);
} else {
mIconController.showSystemIconArea(animate);
}
}
- if ((diff & StatusBarManager.DISABLE_CLOCK) != 0) {
- boolean visible = (state & StatusBarManager.DISABLE_CLOCK) == 0;
+ if ((diff1 & StatusBarManager.DISABLE_CLOCK) != 0) {
+ boolean visible = (state1 & StatusBarManager.DISABLE_CLOCK) == 0;
mIconController.setClockVisibility(visible);
}
- if ((diff & StatusBarManager.DISABLE_EXPAND) != 0) {
- if ((state & StatusBarManager.DISABLE_EXPAND) != 0) {
+ if ((diff1 & StatusBarManager.DISABLE_EXPAND) != 0) {
+ if ((state1 & StatusBarManager.DISABLE_EXPAND) != 0) {
animateCollapsePanels();
}
}
- if ((diff & (StatusBarManager.DISABLE_HOME
+ if ((diff1 & (StatusBarManager.DISABLE_HOME
| StatusBarManager.DISABLE_RECENT
| StatusBarManager.DISABLE_BACK
| StatusBarManager.DISABLE_SEARCH)) != 0) {
// the nav bar will take care of these
- if (mNavigationBarView != null) mNavigationBarView.setDisabledFlags(state);
+ if (mNavigationBarView != null) mNavigationBarView.setDisabledFlags(state1);
- if ((state & StatusBarManager.DISABLE_RECENT) != 0) {
+ if ((state1 & StatusBarManager.DISABLE_RECENT) != 0) {
// close recents if it's visible
mHandler.removeMessages(MSG_HIDE_RECENT_APPS);
mHandler.sendEmptyMessage(MSG_HIDE_RECENT_APPS);
}
}
- if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) {
- if ((state & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) {
+ if ((diff1 & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) {
+ if ((state1 & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) {
mIconController.hideNotificationIconArea(animate);
} else {
mIconController.showNotificationIconArea(animate);
}
}
- if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0) {
+ if ((diff1 & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0) {
mDisableNotificationAlerts =
- (state & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0;
+ (state1 & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0;
mHeadsUpObserver.onChange(true);
}
}
@@ -1941,7 +1950,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
}
boolean panelsEnabled() {
- return (mDisabled & StatusBarManager.DISABLE_EXPAND) == 0;
+ return (mDisabled1 & StatusBarManager.DISABLE_EXPAND) == 0;
}
void makeExpandedVisible(boolean force) {
@@ -1961,7 +1970,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
visibilityChanged(true);
mWaitingForKeyguardExit = false;
- disable(mDisabledUnmodified, !force /* animate */);
+ disable(mDisabledUnmodified1, mDisabledUnmodified2, !force /* animate */);
setInteracting(StatusBarManager.WINDOW_STATUS_BAR, true);
}
@@ -2094,7 +2103,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
runPostCollapseRunnables();
setInteracting(StatusBarManager.WINDOW_STATUS_BAR, false);
showBouncer();
- disable(mDisabledUnmodified, true /* animate */);
+ disable(mDisabledUnmodified1, mDisabledUnmodified2, true /* animate */);
// Trimming will happen later if Keyguard is showing - doing it here might cause a jank in
// the bouncer appear animation.
@@ -2107,20 +2116,21 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
if (DEBUG_GESTURES) {
if (event.getActionMasked() != MotionEvent.ACTION_MOVE) {
EventLog.writeEvent(EventLogTags.SYSUI_STATUSBAR_TOUCH,
- event.getActionMasked(), (int) event.getX(), (int) event.getY(), mDisabled);
+ event.getActionMasked(), (int) event.getX(), (int) event.getY(),
+ mDisabled1, mDisabled2);
}
}
if (SPEW) {
- Log.d(TAG, "Touch: rawY=" + event.getRawY() + " event=" + event + " mDisabled="
- + mDisabled + " mTracking=" + mTracking);
+ Log.d(TAG, "Touch: rawY=" + event.getRawY() + " event=" + event + " mDisabled1="
+ + mDisabled1 + " mDisabled2=" + mDisabled2 + " mTracking=" + mTracking);
} else if (CHATTY) {
if (event.getAction() != MotionEvent.ACTION_MOVE) {
Log.d(TAG, String.format(
- "panel: %s at (%f, %f) mDisabled=0x%08x",
+ "panel: %s at (%f, %f) mDisabled1=0x%08x mDisabled2=0x%08x",
MotionEvent.actionToString(event.getAction()),
- event.getRawX(), event.getRawY(), mDisabled));
+ event.getRawX(), event.getRawY(), mDisabled1, mDisabled2));
}
}
@@ -2921,7 +2931,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
public boolean shouldDisableNavbarGestures() {
return !isDeviceProvisioned()
|| mExpandedVisible
- || (mDisabled & StatusBarManager.DISABLE_SEARCH) != 0;
+ || (mDisabled1 & StatusBarManager.DISABLE_SEARCH) != 0;
}
public void postStartSettingsActivity(final Intent intent, int delay) {
@@ -3235,7 +3245,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
startTime + fadeoutDuration
- StatusBarIconController.DEFAULT_TINT_ANIMATION_DURATION,
StatusBarIconController.DEFAULT_TINT_ANIMATION_DURATION);
- disable(mDisabledUnmodified, true /* animate */);
+ disable(mDisabledUnmodified1, mDisabledUnmodified2, true /* animate */);
}
public boolean isKeyguardFadingAway() {
@@ -3547,7 +3557,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
@Override
public void setBouncerShowing(boolean bouncerShowing) {
super.setBouncerShowing(bouncerShowing);
- disable(mDisabledUnmodified, true /* animate */);
+ disable(mDisabledUnmodified1, mDisabledUnmodified2, true /* animate */);
}
public void onScreenTurnedOff() {
@@ -3591,7 +3601,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
if ((time - mLastLockToAppLongPress) < LOCK_TO_APP_GESTURE_TOLERENCE) {
activityManager.stopLockTaskModeOnCurrent();
// When exiting refresh disabled flags.
- mNavigationBarView.setDisabledFlags(mDisabled, true);
+ mNavigationBarView.setDisabledFlags(mDisabled1, true);
} else if ((v.getId() == R.id.back)
&& !mNavigationBarView.getRecentsButton().isPressed()) {
// If we aren't pressing recents right now then they presses
@@ -3608,7 +3618,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
// should stop lock task.
activityManager.stopLockTaskModeOnCurrent();
// When exiting refresh disabled flags.
- mNavigationBarView.setDisabledFlags(mDisabled, true);
+ mNavigationBarView.setDisabledFlags(mDisabled1, true);
}
}
if (sendBackLongPress) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
index dce695d..dda40d3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
@@ -59,7 +59,7 @@ public class TvStatusBar extends BaseStatusBar {
}
@Override
- public void disable(int state, boolean animate) {
+ public void disable(int state1, int state2, boolean animate) {
}
@Override
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 4970e0f..15d7367 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -442,6 +442,12 @@ public final class ActivityManagerService extends ActivityManagerNative
*/
String mDeviceOwnerName;
+ /**
+ * Preferred activities to start on boot/user switch, as set by DevicePolicyManager. Indexed
+ * by userId.
+ */
+ SparseArray<ComponentName> mPreferredSetupActivities = new SparseArray<>();
+
public class PendingAssistExtras extends Binder implements Runnable {
public final ActivityRecord activity;
public final Bundle extras;
@@ -3334,15 +3340,22 @@ public final class ActivityManagerService extends ActivityManagerNative
ComponentName comp = intent.getComponent();
try {
if (comp != null) {
+ // Factory test.
ai = AppGlobals.getPackageManager().getActivityInfo(comp, flags, userId);
} else {
- ResolveInfo info = AppGlobals.getPackageManager().resolveIntent(
- intent,
- intent.resolveTypeIfNeeded(mContext.getContentResolver()),
- flags, userId);
+ ComponentName preferredComponent = mPreferredSetupActivities.get(userId);
+ if (preferredComponent != null) {
+ ai = AppGlobals.getPackageManager().getActivityInfo(
+ preferredComponent, flags, userId);
+ } else {
+ ResolveInfo info = AppGlobals.getPackageManager().resolveIntent(
+ intent,
+ intent.resolveTypeIfNeeded(mContext.getContentResolver()),
+ flags, userId);
- if (info != null) {
- ai = info.activityInfo;
+ if (info != null) {
+ ai = info.activityInfo;
+ }
}
}
} catch (RemoteException e) {
@@ -8574,6 +8587,22 @@ public final class ActivityManagerService extends ActivityManagerNative
}
@Override
+ public void updatePreferredSetupActivity(ComponentName preferredActivity, int userId) {
+ final int callingUid = Binder.getCallingUid();
+ if (callingUid != 0 && callingUid != Process.SYSTEM_UID) {
+ throw new SecurityException(
+ "updatePreferredSetupActivity called from non-system process");
+ }
+ synchronized (this) {
+ if (preferredActivity == null) {
+ mPreferredSetupActivities.delete(userId);
+ } else {
+ mPreferredSetupActivities.put(userId, preferredActivity);
+ }
+ }
+ }
+
+ @Override
public void updateDeviceOwner(String packageName) {
final int callingUid = Binder.getCallingUid();
if (callingUid != 0 && callingUid != Process.SYSTEM_UID) {
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index 184224b..5669f30 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -59,7 +59,8 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
// for disabling the status bar
private final ArrayList<DisableRecord> mDisableRecords = new ArrayList<DisableRecord>();
private IBinder mSysUiVisToken = new Binder();
- private int mDisabled = 0;
+ private int mDisabled1 = 0;
+ private int mDisabled2 = 0;
private Object mLock = new Object();
// encompasses lights-out mode and other flags defined on View
@@ -74,12 +75,14 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
private class DisableRecord implements IBinder.DeathRecipient {
int userId;
String pkg;
- int what;
+ int what1;
+ int what2;
IBinder token;
public void binderDied() {
Slog.i(TAG, "binder died for pkg=" + pkg);
disableForUser(0, token, pkg, userId);
+ disable2ForUser(0, token, pkg, userId);
token.unlinkToDeath(this, 0);
}
}
@@ -202,29 +205,57 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
enforceStatusBar();
synchronized (mLock) {
- disableLocked(userId, what, token, pkg);
+ disableLocked(userId, what, token, pkg, 1);
}
}
- private void disableLocked(int userId, int what, IBinder token, String pkg) {
+ /**
+ * Disable additional status bar features. Pass the bitwise-or of the DISABLE2_* flags.
+ * To re-enable everything, pass {@link #DISABLE_NONE}.
+ *
+ * Warning: Only pass DISABLE2_* flags into this function, do not use DISABLE_* flags.
+ */
+ @Override
+ public void disable2(int what, IBinder token, String pkg) {
+ disableForUser(what, token, pkg, mCurrentUserId);
+ }
+
+ /**
+ * Disable additional status bar features for a given user. Pass the bitwise-or of the
+ * DISABLE2_* flags. To re-enable everything, pass {@link #DISABLE_NONE}.
+ *
+ * Warning: Only pass DISABLE2_* flags into this function, do not use DISABLE_* flags.
+ */
+ @Override
+ public void disable2ForUser(int what, IBinder token, String pkg, int userId) {
+ enforceStatusBar();
+
+ synchronized (mLock) {
+ disableLocked(userId, what, token, pkg, 2);
+ }
+ }
+
+ private void disableLocked(int userId, int what, IBinder token, String pkg, int whichFlag) {
// It's important that the the callback and the call to mBar get done
// in the same order when multiple threads are calling this function
// so they are paired correctly. The messages on the handler will be
// handled in the order they were enqueued, but will be outside the lock.
- manageDisableListLocked(userId, what, token, pkg);
+ manageDisableListLocked(userId, what, token, pkg, whichFlag);
// Ensure state for the current user is applied, even if passed a non-current user.
- final int net = gatherDisableActionsLocked(mCurrentUserId);
- if (net != mDisabled) {
- mDisabled = net;
+ final int net1 = gatherDisableActionsLocked(mCurrentUserId, 1);
+ final int net2 = gatherDisableActionsLocked(mCurrentUserId, 2);
+ if (net1 != mDisabled1 || net2 != mDisabled2) {
+ mDisabled1 = net1;
+ mDisabled2 = net2;
mHandler.post(new Runnable() {
public void run() {
- mNotificationDelegate.onSetDisabled(net);
+ mNotificationDelegate.onSetDisabled(net1);
}
});
if (mBar != null) {
try {
- mBar.disable(net);
+ mBar.disable(net1, net2);
} catch (RemoteException ex) {
}
}
@@ -375,7 +406,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
mCurrentUserId,
vis & StatusBarManager.DISABLE_MASK,
mSysUiVisToken,
- cause);
+ cause, 1);
}
}
@@ -513,12 +544,13 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
iconList.copyFrom(mIcons);
}
synchronized (mLock) {
- switches[0] = gatherDisableActionsLocked(mCurrentUserId);
+ switches[0] = gatherDisableActionsLocked(mCurrentUserId, 1);
switches[1] = mSystemUiVisibility;
switches[2] = mMenuVisible ? 1 : 0;
switches[3] = mImeWindowVis;
switches[4] = mImeBackDisposition;
switches[5] = mShowImeSwitcher ? 1 : 0;
+ switches[6] = gatherDisableActionsLocked(mCurrentUserId, 2);
binders.add(mImeToken);
}
}
@@ -660,7 +692,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
// ================================================================================
// lock on mDisableRecords
- void manageDisableListLocked(int userId, int what, IBinder token, String pkg) {
+ void manageDisableListLocked(int userId, int what, IBinder token, String pkg, int which) {
if (SPEW) {
Slog.d(TAG, "manageDisableList userId=" + userId
+ " what=0x" + Integer.toHexString(what) + " pkg=" + pkg);
@@ -693,21 +725,25 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
}
mDisableRecords.add(tok);
}
- tok.what = what;
+ if (which == 1) {
+ tok.what1 = what;
+ } else {
+ tok.what2 = what;
+ }
tok.token = token;
tok.pkg = pkg;
}
}
// lock on mDisableRecords
- int gatherDisableActionsLocked(int userId) {
+ int gatherDisableActionsLocked(int userId, int which) {
final int N = mDisableRecords.size();
// gather the new net flags
int net = 0;
for (int i=0; i<N; i++) {
final DisableRecord rec = mDisableRecords.get(i);
if (rec.userId == userId) {
- net |= rec.what;
+ net |= (which == 1) ? rec.what1 : rec.what2;
}
}
return net;
@@ -731,13 +767,15 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
}
synchronized (mLock) {
- pw.println(" mDisabled=0x" + Integer.toHexString(mDisabled));
+ pw.println(" mDisabled1=0x" + Integer.toHexString(mDisabled1));
+ pw.println(" mDisabled2=0x" + Integer.toHexString(mDisabled2));
final int N = mDisableRecords.size();
pw.println(" mDisableRecords.size=" + N);
for (int i=0; i<N; i++) {
DisableRecord tok = mDisableRecords.get(i);
pw.println(" [" + i + "] userId=" + tok.userId
- + " what=0x" + Integer.toHexString(tok.what)
+ + " what1=0x" + Integer.toHexString(tok.what1)
+ + " what2=0x" + Integer.toHexString(tok.what2)
+ " pkg=" + tok.pkg
+ " token=" + tok.token);
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 2b88158..31d7f74 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -181,6 +181,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
private static final String ATTR_PERMISSION_PROVIDER = "permission-provider";
private static final String ATTR_SETUP_COMPLETE = "setup-complete";
+ private static final String ATTR_PREFERRED_SETUP_ACTIVITY = "setup-activity";
private static final String ATTR_DELEGATED_CERT_INSTALLER = "delegated-cert-installer";
@@ -315,6 +316,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
boolean doNotAskCredentialsOnBoot = false;
+ ComponentName mPreferredSetupActivity;
+
public DevicePolicyData(int userHandle) {
mUserHandle = userHandle;
}
@@ -1410,7 +1413,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
out.attribute(null, ATTR_DELEGATED_CERT_INSTALLER,
policy.mDelegatedCertInstallerPackage);
}
-
+ if (policy.mPreferredSetupActivity != null) {
+ out.attribute(null, ATTR_PREFERRED_SETUP_ACTIVITY,
+ policy.mPreferredSetupActivity.flattenToString());
+ } else {
+ out.attribute(null, ATTR_PREFERRED_SETUP_ACTIVITY, "");
+ }
final int N = policy.mAdminList.size();
for (int i=0; i<N; i++) {
@@ -1531,6 +1539,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
}
policy.mDelegatedCertInstallerPackage = parser.getAttributeValue(null,
ATTR_DELEGATED_CERT_INSTALLER);
+ String preferredSetupActivity =
+ parser.getAttributeValue(null, ATTR_PREFERRED_SETUP_ACTIVITY);
+ if (preferredSetupActivity != null) {
+ policy.mPreferredSetupActivity =
+ ComponentName.unflattenFromString(preferredSetupActivity);
+ }
type = parser.next();
int outerDepth = parser.getDepth();
@@ -1654,6 +1668,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
if (!policy.mStatusBarEnabledState) {
setStatusBarEnabledStateInternal(policy.mStatusBarEnabledState, userHandle);
}
+ updatePreferredSetupActivityLocked(userHandle);
}
private void updateLockTaskPackagesLocked(List<String> packages, int userId) {
@@ -4632,6 +4647,43 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
}
@Override
+ public void setPreferredSetupActivity(ComponentName who, ComponentName activity) {
+ if (!mHasFeature) {
+ return;
+ }
+ Preconditions.checkNotNull(who, "ComponentName is null");
+ synchronized (this) {
+ ActiveAdmin activeAdmin =
+ getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER);
+ if (!isDeviceInitializer(activeAdmin.info.getPackageName())) {
+ throw new SecurityException(
+ "This method can only be called by device initializers");
+ }
+ int userHandle = UserHandle.getCallingUserId();
+ DevicePolicyData userData = getUserData(userHandle);
+ userData.mPreferredSetupActivity = activity;
+ saveSettingsLocked(userHandle);
+ updatePreferredSetupActivityLocked(userHandle);
+ }
+ }
+
+ private void updatePreferredSetupActivityLocked(int userHandle) {
+ if (!mHasFeature) {
+ return;
+ }
+ IActivityManager am = ActivityManagerNative.getDefault();
+ long ident = Binder.clearCallingIdentity();
+ try {
+ am.updatePreferredSetupActivity(
+ getUserData(userHandle).mPreferredSetupActivity, userHandle);
+ } catch (RemoteException e) {
+ // Not gonna happen.
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+ }
+
+ @Override
public void setApplicationRestrictions(ComponentName who, String packageName, Bundle settings) {
Preconditions.checkNotNull(who, "ComponentName is null");
final UserHandle userHandle = new UserHandle(UserHandle.getCallingUserId());
@@ -6000,6 +6052,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
if (!policy.mUserSetupComplete) {
policy.mUserSetupComplete = true;
synchronized (this) {
+ // Clear the preferred setup activity.
+ policy.mPreferredSetupActivity = null;
+ updatePreferredSetupActivityLocked(userHandle);
// The DeviceInitializer was whitelisted but now should be removed.
removeDeviceInitializerFromLockTaskPackages(userHandle);
saveSettingsLocked(userHandle);
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
index 7dce83e..81c5e6a 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
@@ -28,6 +28,8 @@ import android.content.pm.IPackageManager;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.database.ContentObserver;
import android.hardware.soundtrigger.IRecognitionStatusCallback;
import android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel;
@@ -79,6 +81,7 @@ public class VoiceInteractionManagerService extends SystemService {
mResolver = context.getContentResolver();
mDbHelper = new DatabaseHelper(context);
mSoundTriggerHelper = new SoundTriggerHelper(context);
+ mServiceStub = new VoiceInteractionManagerServiceStub();
}
@Override
@@ -104,8 +107,7 @@ public class VoiceInteractionManagerService extends SystemService {
}
// implementation entry point and binder service
- private final VoiceInteractionManagerServiceStub mServiceStub
- = new VoiceInteractionManagerServiceStub();
+ private final VoiceInteractionManagerServiceStub mServiceStub;
class VoiceInteractionManagerServiceStub extends IVoiceInteractionManagerService.Stub {
@@ -113,6 +115,11 @@ public class VoiceInteractionManagerService extends SystemService {
private boolean mSafeMode;
private int mCurUser;
+ private final boolean mEnableService;
+
+ VoiceInteractionManagerServiceStub() {
+ mEnableService = shouldEnableService(mContext.getResources());
+ }
@Override
public boolean onTransact(int code, Parcel data, Parcel reply, int flags)
@@ -138,8 +145,7 @@ public class VoiceInteractionManagerService extends SystemService {
VoiceInteractionServiceInfo curInteractorInfo = null;
if (DEBUG) Slog.d(TAG, "curInteractorStr=" + curInteractorStr
+ " curRecognizer=" + curRecognizer);
- if (curInteractorStr == null && curRecognizer != null
- && !ActivityManager.isLowRamDeviceStatic()) {
+ if (curInteractorStr == null && curRecognizer != null && mEnableService) {
// If there is no interactor setting, that means we are upgrading
// from an older platform version. If the current recognizer is not
// set or matches the preferred recognizer, then we want to upgrade
@@ -159,7 +165,7 @@ public class VoiceInteractionManagerService extends SystemService {
// If we are on a svelte device, make sure an interactor is not currently
// enabled; if it is, turn it off.
- if (ActivityManager.isLowRamDeviceStatic() && curInteractorStr != null) {
+ if (!mEnableService && curInteractorStr != null) {
if (!TextUtils.isEmpty(curInteractorStr)) {
if (DEBUG) Slog.d(TAG, "Svelte device; disabling interactor");
setCurInteractor(null, userHandle);
@@ -192,7 +198,7 @@ public class VoiceInteractionManagerService extends SystemService {
}
// Initializing settings, look for an interactor first (but only on non-svelte).
- if (curInteractorInfo == null && !ActivityManager.isLowRamDeviceStatic()) {
+ if (curInteractorInfo == null && mEnableService) {
curInteractorInfo = findAvailInteractor(userHandle, null);
}
@@ -218,6 +224,12 @@ public class VoiceInteractionManagerService extends SystemService {
}
}
+ private boolean shouldEnableService(Resources res) {
+ // VoiceInteractionService should not be enabled on low ram devices unless it has the config flag.
+ return !ActivityManager.isLowRamDeviceStatic()
+ || res.getBoolean(com.android.internal.R.bool.config_forceEnableVoiceInteractionService);
+ }
+
public void systemRunning(boolean safeMode) {
mSafeMode = safeMode;
@@ -740,6 +752,7 @@ public class VoiceInteractionManagerService extends SystemService {
}
synchronized (this) {
pw.println("VOICE INTERACTION MANAGER (dumpsys voiceinteraction)\n");
+ pw.println(" mEnableService: " + mEnableService);
if (mImpl == null) {
pw.println(" (No active implementation)");
return;
diff --git a/telecomm/java/android/telecom/DefaultDialerManager.java b/telecomm/java/android/telecom/DefaultDialerManager.java
index bf8fac6..93823d1 100644
--- a/telecomm/java/android/telecom/DefaultDialerManager.java
+++ b/telecomm/java/android/telecom/DefaultDialerManager.java
@@ -41,7 +41,7 @@ public class DefaultDialerManager {
*
* @hide
* */
- public static void setDefaultPhoneApplication(Context context, String packageName) {
+ public static void setDefaultDialerApplication(Context context, String packageName) {
// Get old package name
String oldPackageName = Settings.Secure.getString(context.getContentResolver(),
Settings.Secure.DIALER_DEFAULT_APPLICATION);
@@ -150,6 +150,27 @@ public class DefaultDialerManager {
}
/**
+ * Determines if the package name belongs to the user-selected default dialer or the preloaded
+ * system dialer, and thus should be allowed to perform certain privileged operations.
+ *
+ * @param context A valid context.
+ * @param packageName of the package to check for.
+ *
+ * @return {@code true} if the provided package name corresponds to the user-selected default
+ * dialer or the preloaded system dialer, {@code false} otherwise.
+ *
+ * @hide
+ */
+ public static boolean isDefaultOrSystemDialer(Context context, String packageName) {
+ if (TextUtils.isEmpty(packageName)) {
+ return false;
+ }
+ final TelecomManager tm = getTelecomManager(context);
+ return packageName.equals(tm.getDefaultDialerPackage())
+ || packageName.equals(tm.getSystemDialerPackage());
+ }
+
+ /**
* Returns the component from a list of application components that corresponds to the package
* name.
*
diff --git a/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java
index 4d2d100..e1091f0 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java
@@ -220,7 +220,8 @@ public final class Canvas_Delegate {
}
@LayoutlibDelegate
- /*package*/ static void native_restore(long nativeCanvas) {
+ /*package*/ static void native_restore(long nativeCanvas, boolean throwOnUnderflow) {
+ // FIXME: implement throwOnUnderflow.
// get the delegate from the native int.
Canvas_Delegate canvasDelegate = sManager.getDelegate(nativeCanvas);
if (canvasDelegate == null) {
@@ -231,7 +232,9 @@ public final class Canvas_Delegate {
}
@LayoutlibDelegate
- /*package*/ static void native_restoreToCount(long nativeCanvas, int saveCount) {
+ /*package*/ static void native_restoreToCount(long nativeCanvas, int saveCount,
+ boolean throwOnUnderflow) {
+ // FIXME: implement throwOnUnderflow.
// get the delegate from the native int.
Canvas_Delegate canvasDelegate = sManager.getDelegate(nativeCanvas);
if (canvasDelegate == null) {
@@ -844,7 +847,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static void native_drawText(long nativeCanvas, char[] text, int index, int count,
float startX, float startY, int flags, long paint, long typeface) {
- drawText(nativeCanvas, text, index, count, startX, startY, flags == Canvas.DIRECTION_RTL,
+ drawText(nativeCanvas, text, index, count, startX, startY, (flags & 1) != 0,
paint, typeface);
}
diff --git a/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
index 8ffd1d8..f5ef01b 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
@@ -1137,7 +1137,7 @@ public class Paint_Delegate {
}
private void reset() {
- mFlags = Paint.DEFAULT_PAINT_FLAGS;
+ mFlags = Paint.DEFAULT_PAINT_FLAGS | Paint.HIDDEN_DEFAULT_PAINT_FLAGS;
mColor = 0xFF000000;
mStyle = Paint.Style.FILL.nativeInt;
mCap = Paint.Cap.BUTT.nativeInt;
diff --git a/tools/layoutlib/bridge/src/android/view/ViewGroup_Delegate.java b/tools/layoutlib/bridge/src/android/view/ViewGroup_Delegate.java
index e72a0db..51d32e3 100644
--- a/tools/layoutlib/bridge/src/android/view/ViewGroup_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/view/ViewGroup_Delegate.java
@@ -46,16 +46,12 @@ public class ViewGroup_Delegate {
/*package*/ static boolean drawChild(ViewGroup thisVG, Canvas canvas, View child,
long drawingTime) {
if (child.getZ() > thisVG.getZ()) {
+ // The background's bounds are set lazily. Make sure they are set correctly so that
+ // the outline obtained is correct.
+ child.setBackgroundBounds();
ViewOutlineProvider outlineProvider = child.getOutlineProvider();
- Outline outline = new Outline();
+ Outline outline = child.mAttachInfo.mTmpOutline;
outlineProvider.getOutline(child, outline);
- if (outline.mPath == null && outline.mRect == null) {
- // Sometimes, the bounds of the background drawable are not set until View.draw()
- // is called. So, we set the bounds manually and try to get the outline again.
- child.getBackground().setBounds(0, 0, child.mRight - child.mLeft,
- child.mBottom - child.mTop);
- outlineProvider.getOutline(child, outline);
- }
if (outline.mPath != null || (outline.mRect != null && !outline.mRect.isEmpty())) {
int restoreTo = transformCanvas(thisVG, canvas, child);
drawShadow(thisVG, canvas, child, outline);