diff options
221 files changed, 3886 insertions, 1779 deletions
@@ -142,6 +142,7 @@ LOCAL_SRC_FILES += \ core/java/android/content/pm/IPackageManager.aidl \ core/java/android/content/pm/IPackageMoveObserver.aidl \ core/java/android/content/pm/IPackageStatsObserver.aidl \ + core/java/android/content/pm/IOnPermissionsChangeListener.aidl \ core/java/android/database/IContentObserver.aidl \ core/java/android/hardware/ICameraService.aidl \ core/java/android/hardware/ICameraServiceListener.aidl \ diff --git a/api/current.txt b/api/current.txt index 049d790..567b172 100644 --- a/api/current.txt +++ b/api/current.txt @@ -222,6 +222,12 @@ package android { ctor public R.attr(); field public static final int __reserved0 = 16844020; // 0x10104f4 field public static final int __reserved1 = 16844019; // 0x10104f3 + field public static final int __reserved2 = 16843999; // 0x10104df + field public static final int __reserved3 = 16844000; // 0x10104e0 + field public static final int __reserved4 = 16844001; // 0x10104e1 + field public static final int __reserved5 = 16844002; // 0x10104e2 + field public static final int __reserved6 = 16844003; // 0x10104e3 + field public static final int __reserved7 = 16844004; // 0x10104e4 field public static final int absListViewStyle = 16842858; // 0x101006a field public static final int accessibilityEventTypes = 16843648; // 0x1010380 field public static final int accessibilityFeedbackType = 16843650; // 0x1010382 @@ -570,7 +576,7 @@ package android { field public static final int fillViewport = 16843130; // 0x101017a field public static final int filter = 16843035; // 0x101011b field public static final int filterTouchesWhenObscured = 16843460; // 0x10102c4 - field public static final int fingerprintDrawable = 16844025; // 0x10104f9 + field public static final int fingerprintAuthDrawable = 16844025; // 0x10104f9 field public static final int finishOnCloseSystemDialogs = 16843431; // 0x10102a7 field public static final int finishOnTaskLaunch = 16842772; // 0x1010014 field public static final int firstDayOfWeek = 16843581; // 0x101033d @@ -661,8 +667,6 @@ package android { field public static final int hyphenationFrequency = 16844024; // 0x10104f8 field public static final int icon = 16842754; // 0x1010002 field public static final int iconPreview = 16843337; // 0x1010249 - field public static final int iconTint = 16843999; // 0x10104df - field public static final int iconTintMode = 16844000; // 0x10104e0 field public static final int iconifiedByDefault = 16843514; // 0x10102fa field public static final int id = 16842960; // 0x10100d0 field public static final int ignoreGravity = 16843263; // 0x10101ff @@ -874,8 +878,6 @@ package android { field public static final int navigationContentDescription = 16843969; // 0x10104c1 field public static final int navigationIcon = 16843968; // 0x10104c0 field public static final int navigationMode = 16843471; // 0x10102cf - field public static final int navigationTint = 16844003; // 0x10104e3 - field public static final int navigationTintMode = 16844004; // 0x10104e4 field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 field public static final int nextFocusDown = 16842980; // 0x10100e4 @@ -907,8 +909,6 @@ package android { field public static final int overScrollFooter = 16843459; // 0x10102c3 field public static final int overScrollHeader = 16843458; // 0x10102c2 field public static final int overScrollMode = 16843457; // 0x10102c1 - field public static final int overflowTint = 16844001; // 0x10104e1 - field public static final int overflowTintMode = 16844002; // 0x10104e2 field public static final int overlapAnchor = 16843874; // 0x1010462 field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2 field public static final int packageNames = 16843649; // 0x1010381 @@ -7721,6 +7721,7 @@ package android.content { method public final java.lang.String getString(int, java.lang.Object...); method public abstract java.lang.Object getSystemService(java.lang.String); method public final T getSystemService(java.lang.Class<T>); + method public abstract java.lang.String getSystemServiceName(java.lang.Class<?>); method public final java.lang.CharSequence getText(int); method public abstract android.content.res.Resources.Theme getTheme(); method public abstract deprecated android.graphics.drawable.Drawable getWallpaper(); @@ -17210,7 +17211,7 @@ package android.media.browse { method public void connect(); method public void disconnect(); method public android.os.Bundle getExtras(); - method public void getMediaItem(java.lang.String, android.media.browse.MediaBrowser.MediaItemCallback); + method public void getItem(java.lang.String, android.media.browse.MediaBrowser.ItemCallback); method public java.lang.String getRoot(); method public android.content.ComponentName getServiceComponent(); method public android.media.session.MediaSession.Token getSessionToken(); @@ -17226,6 +17227,12 @@ package android.media.browse { method public void onConnectionSuspended(); } + public static abstract class MediaBrowser.ItemCallback { + ctor public MediaBrowser.ItemCallback(); + method public void onError(java.lang.String); + method public void onItemLoaded(android.media.browse.MediaBrowser.MediaItem); + } + public static class MediaBrowser.MediaItem implements android.os.Parcelable { ctor public MediaBrowser.MediaItem(android.media.MediaDescription, int); method public int describeContents(); @@ -17240,12 +17247,6 @@ package android.media.browse { field public static final int FLAG_PLAYABLE = 2; // 0x2 } - public static abstract class MediaBrowser.MediaItemCallback { - ctor public MediaBrowser.MediaItemCallback(); - method public void onError(); - method public void onMediaItemLoaded(android.media.browse.MediaBrowser.MediaItem); - } - public static abstract class MediaBrowser.SubscriptionCallback { ctor public MediaBrowser.SubscriptionCallback(); method public void onChildrenLoaded(java.lang.String, java.util.List<android.media.browse.MediaBrowser.MediaItem>); @@ -24476,6 +24477,7 @@ package android.printservice { method protected abstract void onPrintJobQueued(android.printservice.PrintJob); method protected abstract void onRequestCancelPrintJob(android.printservice.PrintJob); field public static final java.lang.String EXTRA_PRINTER_INFO = "android.intent.extra.print.EXTRA_PRINTER_INFO"; + field public static final java.lang.String EXTRA_PRINT_DOCUMENT_INFO = "android.printservice.extra.PRINT_DOCUMENT_INFO"; field public static final java.lang.String EXTRA_PRINT_JOB_INFO = "android.intent.extra.print.PRINT_JOB_INFO"; field public static final java.lang.String SERVICE_INTERFACE = "android.printservice.PrintService"; field public static final java.lang.String SERVICE_META_DATA = "android.printservice"; @@ -26099,6 +26101,7 @@ package android.provider { method public static boolean isDocumentUri(android.content.Context, android.net.Uri); method public static android.net.Uri renameDocument(android.content.ContentResolver, android.net.Uri, java.lang.String); field public static final java.lang.String EXTRA_ERROR = "error"; + field public static final java.lang.String EXTRA_EXCLUDE_SELF = "android.provider.extra.EXCLUDE_SELF"; field public static final java.lang.String EXTRA_INFO = "info"; field public static final java.lang.String EXTRA_LOADING = "loading"; field public static final java.lang.String PROVIDER_INTERFACE = "android.content.action.DOCUMENTS_PROVIDER"; @@ -26536,6 +26539,7 @@ package android.provider { field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS"; field public static final java.lang.String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS"; field public static final java.lang.String ACTION_HOME_SETTINGS = "android.settings.HOME_SETTINGS"; + field public static final java.lang.String ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS = "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS"; field public static final java.lang.String ACTION_INPUT_METHOD_SETTINGS = "android.settings.INPUT_METHOD_SETTINGS"; field public static final java.lang.String ACTION_INPUT_METHOD_SUBTYPE_SETTINGS = "android.settings.INPUT_METHOD_SUBTYPE_SETTINGS"; field public static final java.lang.String ACTION_INTERNAL_STORAGE_SETTINGS = "android.settings.INTERNAL_STORAGE_SETTINGS"; @@ -28785,12 +28789,12 @@ package android.service.media { public abstract class MediaBrowserService extends android.app.Service { ctor public MediaBrowserService(); method public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]); - method public void getMediaItem(java.lang.String, android.service.media.MediaBrowserService.Result<android.media.browse.MediaBrowser.MediaItem>) throws java.lang.UnsupportedOperationException; method public android.media.session.MediaSession.Token getSessionToken(); method public void notifyChildrenChanged(java.lang.String); method public android.os.IBinder onBind(android.content.Intent); method public abstract android.service.media.MediaBrowserService.BrowserRoot onGetRoot(java.lang.String, int, android.os.Bundle); method public abstract void onLoadChildren(java.lang.String, android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>); + method public void onLoadItem(java.lang.String, android.service.media.MediaBrowserService.Result<android.media.browse.MediaBrowser.MediaItem>); method public void setSessionToken(android.media.session.MediaSession.Token); field public static final java.lang.String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService"; } @@ -30733,7 +30737,7 @@ package android.telephony { field public static final java.lang.String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool"; field public static final java.lang.String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool"; field public static final java.lang.String KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL = "voicemail_notification_persistent_bool"; - field public static final java.lang.String KEY_VOICE_PRIVACY_DISABLE_BOOL = "voice_privacy_disable_bool"; + field public static final java.lang.String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool"; field public static final java.lang.String KEY_VOLTE_REPLACEMENT_RAT_INT = "volte_replacement_rat_int"; field public static final java.lang.String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; } @@ -35489,8 +35493,6 @@ package android.view { method public abstract android.view.MenuItem setEnabled(boolean); method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable); method public abstract android.view.MenuItem setIcon(int); - method public abstract android.view.MenuItem setIconTintList(android.content.res.ColorStateList); - method public abstract android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode); method public abstract android.view.MenuItem setIntent(android.content.Intent); method public abstract android.view.MenuItem setNumericShortcut(char); method public abstract android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener); @@ -39551,14 +39553,14 @@ package android.widget { ctor public ActionMenuView(android.content.Context, android.util.AttributeSet); method public void dismissPopupMenus(); method public android.view.Menu getMenu(); + method public android.graphics.drawable.Drawable getOverflowIcon(); method public int getPopupTheme(); method public boolean hideOverflowMenu(); method public boolean isOverflowMenuShowing(); method public void onConfigurationChanged(android.content.res.Configuration); method public void onDetachedFromWindow(); method public void setOnMenuItemClickListener(android.widget.ActionMenuView.OnMenuItemClickListener); - method public void setOverflowTintList(android.content.res.ColorStateList); - method public void setOverflowTintMode(android.graphics.PorterDuff.Mode); + method public void setOverflowIcon(android.graphics.drawable.Drawable); method public void setPopupTheme(int); method public boolean showOverflowMenu(); } @@ -41848,6 +41850,7 @@ package android.widget { method public android.view.Menu getMenu(); method public java.lang.CharSequence getNavigationContentDescription(); method public android.graphics.drawable.Drawable getNavigationIcon(); + method public android.graphics.drawable.Drawable getOverflowIcon(); method public int getPopupTheme(); method public java.lang.CharSequence getSubtitle(); method public java.lang.CharSequence getTitle(); @@ -41867,11 +41870,8 @@ package android.widget { method public void setNavigationIcon(int); method public void setNavigationIcon(android.graphics.drawable.Drawable); method public void setNavigationOnClickListener(android.view.View.OnClickListener); - method public void setNavigationTintList(android.content.res.ColorStateList); - method public void setNavigationTintMode(android.graphics.PorterDuff.Mode); method public void setOnMenuItemClickListener(android.widget.Toolbar.OnMenuItemClickListener); - method public void setOverflowTintList(android.content.res.ColorStateList); - method public void setOverflowTintMode(android.graphics.PorterDuff.Mode); + method public void setOverflowIcon(android.graphics.drawable.Drawable); method public void setPopupTheme(int); method public void setSubtitle(int); method public void setSubtitle(java.lang.CharSequence); diff --git a/api/system-current.txt b/api/system-current.txt index 8b3c181..a4e4848 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -297,6 +297,12 @@ package android { ctor public R.attr(); field public static final int __reserved0 = 16844020; // 0x10104f4 field public static final int __reserved1 = 16844019; // 0x10104f3 + field public static final int __reserved2 = 16843999; // 0x10104df + field public static final int __reserved3 = 16844000; // 0x10104e0 + field public static final int __reserved4 = 16844001; // 0x10104e1 + field public static final int __reserved5 = 16844002; // 0x10104e2 + field public static final int __reserved6 = 16844003; // 0x10104e3 + field public static final int __reserved7 = 16844004; // 0x10104e4 field public static final int absListViewStyle = 16842858; // 0x101006a field public static final int accessibilityEventTypes = 16843648; // 0x1010380 field public static final int accessibilityFeedbackType = 16843650; // 0x1010382 @@ -645,7 +651,7 @@ package android { field public static final int fillViewport = 16843130; // 0x101017a field public static final int filter = 16843035; // 0x101011b field public static final int filterTouchesWhenObscured = 16843460; // 0x10102c4 - field public static final int fingerprintDrawable = 16844025; // 0x10104f9 + field public static final int fingerprintAuthDrawable = 16844025; // 0x10104f9 field public static final int finishOnCloseSystemDialogs = 16843431; // 0x10102a7 field public static final int finishOnTaskLaunch = 16842772; // 0x1010014 field public static final int firstDayOfWeek = 16843581; // 0x101033d @@ -736,8 +742,6 @@ package android { field public static final int hyphenationFrequency = 16844024; // 0x10104f8 field public static final int icon = 16842754; // 0x1010002 field public static final int iconPreview = 16843337; // 0x1010249 - field public static final int iconTint = 16843999; // 0x10104df - field public static final int iconTintMode = 16844000; // 0x10104e0 field public static final int iconifiedByDefault = 16843514; // 0x10102fa field public static final int id = 16842960; // 0x10100d0 field public static final int ignoreGravity = 16843263; // 0x10101ff @@ -949,8 +953,6 @@ package android { field public static final int navigationContentDescription = 16843969; // 0x10104c1 field public static final int navigationIcon = 16843968; // 0x10104c0 field public static final int navigationMode = 16843471; // 0x10102cf - field public static final int navigationTint = 16844003; // 0x10104e3 - field public static final int navigationTintMode = 16844004; // 0x10104e4 field public static final int negativeButtonText = 16843254; // 0x10101f6 field public static final int nestedScrollingEnabled = 16843830; // 0x1010436 field public static final int nextFocusDown = 16842980; // 0x10100e4 @@ -982,8 +984,6 @@ package android { field public static final int overScrollFooter = 16843459; // 0x10102c3 field public static final int overScrollHeader = 16843458; // 0x10102c2 field public static final int overScrollMode = 16843457; // 0x10102c1 - field public static final int overflowTint = 16844001; // 0x10104e1 - field public static final int overflowTintMode = 16844002; // 0x10104e2 field public static final int overlapAnchor = 16843874; // 0x1010462 field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2 field public static final int packageNames = 16843649; // 0x1010381 @@ -7944,6 +7944,7 @@ package android.content { method public final java.lang.String getString(int, java.lang.Object...); method public abstract java.lang.Object getSystemService(java.lang.String); method public final T getSystemService(java.lang.Class<T>); + method public abstract java.lang.String getSystemServiceName(java.lang.Class<?>); method public final java.lang.CharSequence getText(int); method public abstract android.content.res.Resources.Theme getTheme(); method public abstract deprecated android.graphics.drawable.Drawable getWallpaper(); @@ -9521,6 +9522,7 @@ package android.content.pm { public abstract class PackageManager { ctor public PackageManager(); + method public abstract void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener); method public abstract deprecated void addPackageToPreferred(java.lang.String); method public abstract boolean addPermission(android.content.pm.PermissionInfo); method public abstract boolean addPermissionAsync(android.content.pm.PermissionInfo); @@ -9594,6 +9596,7 @@ package android.content.pm { method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentContentProviders(android.content.Intent, int); method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentServices(android.content.Intent, int); method public abstract java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException; + method public abstract void removeOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener); method public abstract deprecated void removePackageFromPreferred(java.lang.String); method public abstract void removePermission(java.lang.String); method public abstract android.content.pm.ResolveInfo resolveActivity(android.content.Intent, int); @@ -9769,6 +9772,10 @@ package android.content.pm { ctor public PackageManager.NameNotFoundException(java.lang.String); } + public static abstract interface PackageManager.OnPermissionsChangedListener { + method public abstract void onPermissionsChanged(int); + } + public static abstract class PackageManager.PermissionFlags implements java.lang.annotation.Annotation { } @@ -18522,7 +18529,7 @@ package android.media.browse { method public void connect(); method public void disconnect(); method public android.os.Bundle getExtras(); - method public void getMediaItem(java.lang.String, android.media.browse.MediaBrowser.MediaItemCallback); + method public void getItem(java.lang.String, android.media.browse.MediaBrowser.ItemCallback); method public java.lang.String getRoot(); method public android.content.ComponentName getServiceComponent(); method public android.media.session.MediaSession.Token getSessionToken(); @@ -18538,6 +18545,12 @@ package android.media.browse { method public void onConnectionSuspended(); } + public static abstract class MediaBrowser.ItemCallback { + ctor public MediaBrowser.ItemCallback(); + method public void onError(java.lang.String); + method public void onItemLoaded(android.media.browse.MediaBrowser.MediaItem); + } + public static class MediaBrowser.MediaItem implements android.os.Parcelable { ctor public MediaBrowser.MediaItem(android.media.MediaDescription, int); method public int describeContents(); @@ -18552,12 +18565,6 @@ package android.media.browse { field public static final int FLAG_PLAYABLE = 2; // 0x2 } - public static abstract class MediaBrowser.MediaItemCallback { - ctor public MediaBrowser.MediaItemCallback(); - method public void onError(); - method public void onMediaItemLoaded(android.media.browse.MediaBrowser.MediaItem); - } - public static abstract class MediaBrowser.SubscriptionCallback { ctor public MediaBrowser.SubscriptionCallback(); method public void onChildrenLoaded(java.lang.String, java.util.List<android.media.browse.MediaBrowser.MediaItem>); @@ -19194,7 +19201,9 @@ package android.media.tv { method public android.content.Intent createSettingsIntent(); method public android.content.Intent createSetupIntent(); method public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.hardware.hdmi.HdmiDeviceInfo, java.lang.String, java.lang.String, android.net.Uri) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.hardware.hdmi.HdmiDeviceInfo, java.lang.String, int, android.graphics.drawable.Icon) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; method public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.media.tv.TvInputHardwareInfo, java.lang.String, android.net.Uri) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.media.tv.TvInputHardwareInfo, int, android.graphics.drawable.Icon) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; method public int describeContents(); method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo(); method public java.lang.String getId(); @@ -26406,6 +26415,7 @@ package android.printservice { method protected abstract void onPrintJobQueued(android.printservice.PrintJob); method protected abstract void onRequestCancelPrintJob(android.printservice.PrintJob); field public static final java.lang.String EXTRA_PRINTER_INFO = "android.intent.extra.print.EXTRA_PRINTER_INFO"; + field public static final java.lang.String EXTRA_PRINT_DOCUMENT_INFO = "android.printservice.extra.PRINT_DOCUMENT_INFO"; field public static final java.lang.String EXTRA_PRINT_JOB_INFO = "android.intent.extra.print.PRINT_JOB_INFO"; field public static final java.lang.String SERVICE_INTERFACE = "android.printservice.PrintService"; field public static final java.lang.String SERVICE_META_DATA = "android.printservice"; @@ -28029,6 +28039,7 @@ package android.provider { method public static boolean isDocumentUri(android.content.Context, android.net.Uri); method public static android.net.Uri renameDocument(android.content.ContentResolver, android.net.Uri, java.lang.String); field public static final java.lang.String EXTRA_ERROR = "error"; + field public static final java.lang.String EXTRA_EXCLUDE_SELF = "android.provider.extra.EXCLUDE_SELF"; field public static final java.lang.String EXTRA_INFO = "info"; field public static final java.lang.String EXTRA_LOADING = "loading"; field public static final java.lang.String PROVIDER_INTERFACE = "android.content.action.DOCUMENTS_PROVIDER"; @@ -28568,6 +28579,7 @@ package android.provider { field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS"; field public static final java.lang.String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS"; field public static final java.lang.String ACTION_HOME_SETTINGS = "android.settings.HOME_SETTINGS"; + field public static final java.lang.String ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS = "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS"; field public static final java.lang.String ACTION_INPUT_METHOD_SETTINGS = "android.settings.INPUT_METHOD_SETTINGS"; field public static final java.lang.String ACTION_INPUT_METHOD_SUBTYPE_SETTINGS = "android.settings.INPUT_METHOD_SUBTYPE_SETTINGS"; field public static final java.lang.String ACTION_INTERNAL_STORAGE_SETTINGS = "android.settings.INTERNAL_STORAGE_SETTINGS"; @@ -30818,12 +30830,12 @@ package android.service.media { public abstract class MediaBrowserService extends android.app.Service { ctor public MediaBrowserService(); method public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]); - method public void getMediaItem(java.lang.String, android.service.media.MediaBrowserService.Result<android.media.browse.MediaBrowser.MediaItem>) throws java.lang.UnsupportedOperationException; method public android.media.session.MediaSession.Token getSessionToken(); method public void notifyChildrenChanged(java.lang.String); method public android.os.IBinder onBind(android.content.Intent); method public abstract android.service.media.MediaBrowserService.BrowserRoot onGetRoot(java.lang.String, int, android.os.Bundle); method public abstract void onLoadChildren(java.lang.String, android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>); + method public void onLoadItem(java.lang.String, android.service.media.MediaBrowserService.Result<android.media.browse.MediaBrowser.MediaItem>); method public void setSessionToken(android.media.session.MediaSession.Token); field public static final java.lang.String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService"; } @@ -32949,7 +32961,7 @@ package android.telephony { field public static final java.lang.String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool"; field public static final java.lang.String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool"; field public static final java.lang.String KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL = "voicemail_notification_persistent_bool"; - field public static final java.lang.String KEY_VOICE_PRIVACY_DISABLE_BOOL = "voice_privacy_disable_bool"; + field public static final java.lang.String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool"; field public static final java.lang.String KEY_VOLTE_REPLACEMENT_RAT_INT = "volte_replacement_rat_int"; field public static final java.lang.String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; } @@ -33514,6 +33526,10 @@ package android.telephony { field public static final int CALL_STATE_IDLE = 0; // 0x0 field public static final int CALL_STATE_OFFHOOK = 2; // 0x2 field public static final int CALL_STATE_RINGING = 1; // 0x1 + field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe + field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1 + field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0 + field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff field public static final int DATA_ACTIVITY_DORMANT = 4; // 0x4 field public static final int DATA_ACTIVITY_IN = 1; // 0x1 field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3 @@ -34151,6 +34167,7 @@ package android.test.mock { public class MockPackageManager extends android.content.pm.PackageManager { ctor public MockPackageManager(); + method public void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener); method public void addPackageToPreferred(java.lang.String); method public boolean addPermission(android.content.pm.PermissionInfo); method public boolean addPermissionAsync(android.content.pm.PermissionInfo); @@ -34225,6 +34242,7 @@ package android.test.mock { method public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProviders(android.content.Intent, int); method public java.util.List<android.content.pm.ResolveInfo> queryIntentServices(android.content.Intent, int); method public java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException; + method public void removeOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener); method public void removePackageFromPreferred(java.lang.String); method public void removePermission(java.lang.String); method public android.content.pm.ResolveInfo resolveActivity(android.content.Intent, int); @@ -37755,8 +37773,6 @@ package android.view { method public abstract android.view.MenuItem setEnabled(boolean); method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable); method public abstract android.view.MenuItem setIcon(int); - method public abstract android.view.MenuItem setIconTintList(android.content.res.ColorStateList); - method public abstract android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode); method public abstract android.view.MenuItem setIntent(android.content.Intent); method public abstract android.view.MenuItem setNumericShortcut(char); method public abstract android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener); @@ -42131,14 +42147,14 @@ package android.widget { ctor public ActionMenuView(android.content.Context, android.util.AttributeSet); method public void dismissPopupMenus(); method public android.view.Menu getMenu(); + method public android.graphics.drawable.Drawable getOverflowIcon(); method public int getPopupTheme(); method public boolean hideOverflowMenu(); method public boolean isOverflowMenuShowing(); method public void onConfigurationChanged(android.content.res.Configuration); method public void onDetachedFromWindow(); method public void setOnMenuItemClickListener(android.widget.ActionMenuView.OnMenuItemClickListener); - method public void setOverflowTintList(android.content.res.ColorStateList); - method public void setOverflowTintMode(android.graphics.PorterDuff.Mode); + method public void setOverflowIcon(android.graphics.drawable.Drawable); method public void setPopupTheme(int); method public boolean showOverflowMenu(); } @@ -44428,6 +44444,7 @@ package android.widget { method public android.view.Menu getMenu(); method public java.lang.CharSequence getNavigationContentDescription(); method public android.graphics.drawable.Drawable getNavigationIcon(); + method public android.graphics.drawable.Drawable getOverflowIcon(); method public int getPopupTheme(); method public java.lang.CharSequence getSubtitle(); method public java.lang.CharSequence getTitle(); @@ -44447,11 +44464,8 @@ package android.widget { method public void setNavigationIcon(int); method public void setNavigationIcon(android.graphics.drawable.Drawable); method public void setNavigationOnClickListener(android.view.View.OnClickListener); - method public void setNavigationTintList(android.content.res.ColorStateList); - method public void setNavigationTintMode(android.graphics.PorterDuff.Mode); method public void setOnMenuItemClickListener(android.widget.Toolbar.OnMenuItemClickListener); - method public void setOverflowTintList(android.content.res.ColorStateList); - method public void setOverflowTintMode(android.graphics.PorterDuff.Mode); + method public void setOverflowIcon(android.graphics.drawable.Drawable); method public void setPopupTheme(int); method public void setSubtitle(int); method public void setSubtitle(java.lang.CharSequence); diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java index b0a7dc7..bf3b455 100644 --- a/cmds/am/src/com/android/commands/am/Am.java +++ b/cmds/am/src/com/android/commands/am/Am.java @@ -305,11 +305,23 @@ public class Am extends BaseCommand { " [--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]\n" + " [--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]\n" + " [--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]\n" + + " (mutiple extras passed as Integer[])\n" + + " [--eial <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]\n" + + " (mutiple extras passed as List<Integer>)\n" + " [--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]\n" + + " (mutiple extras passed as Long[])\n" + + " [--elal <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]\n" + + " (mutiple extras passed as List<Long>)\n" + " [--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]\n" + + " (mutiple extras passed as Float[])\n" + + " [--efal <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]\n" + + " (mutiple extras passed as List<Float>)\n" + " [--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]\n" + - " (to embed a comma into a string escape it using \"\\,\")\n" + - " [-n <COMPONENT>] [-p <PACKAGE>] [-f <FLAGS>]\n" + + " (mutiple extras passed as String[]; to embed a comma into a string,\n" + + " escape it using \"\\,\")\n" + + " [--esal <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]\n" + + " (mutiple extras passed as List<String>; to embed a comma into a string,\n" + + " escape it using \"\\,\")\n" + " [--grant-read-uri-permission] [--grant-write-uri-permission]\n" + " [--grant-persistable-uri-permission] [--grant-prefix-uri-permission]\n" + " [--debug-log-resolution] [--exclude-stopped-packages]\n" + @@ -490,6 +502,15 @@ public class Am extends BaseCommand { list[i] = Integer.decode(strings[i]); } intent.putExtra(key, list); + } else if (opt.equals("--eial")) { + String key = nextArgRequired(); + String value = nextArgRequired(); + String[] strings = value.split(","); + ArrayList<Integer> list = new ArrayList<>(strings.length); + for (int i = 0; i < strings.length; i++) { + list.add(Integer.decode(strings[i])); + } + intent.putExtra(key, list); } else if (opt.equals("--el")) { String key = nextArgRequired(); String value = nextArgRequired(); @@ -504,6 +525,16 @@ public class Am extends BaseCommand { } intent.putExtra(key, list); hasIntentInfo = true; + } else if (opt.equals("--elal")) { + String key = nextArgRequired(); + String value = nextArgRequired(); + String[] strings = value.split(","); + ArrayList<Long> list = new ArrayList<>(strings.length); + for (int i = 0; i < strings.length; i++) { + list.add(Long.valueOf(strings[i])); + } + intent.putExtra(key, list); + hasIntentInfo = true; } else if (opt.equals("--ef")) { String key = nextArgRequired(); String value = nextArgRequired(); @@ -519,6 +550,16 @@ public class Am extends BaseCommand { } intent.putExtra(key, list); hasIntentInfo = true; + } else if (opt.equals("--efal")) { + String key = nextArgRequired(); + String value = nextArgRequired(); + String[] strings = value.split(","); + ArrayList<Float> list = new ArrayList<>(strings.length); + for (int i = 0; i < strings.length; i++) { + list.add(Float.valueOf(strings[i])); + } + intent.putExtra(key, list); + hasIntentInfo = true; } else if (opt.equals("--esa")) { String key = nextArgRequired(); String value = nextArgRequired(); @@ -528,6 +569,19 @@ public class Am extends BaseCommand { String[] strings = value.split("(?<!\\\\),"); intent.putExtra(key, strings); hasIntentInfo = true; + } else if (opt.equals("--esal")) { + String key = nextArgRequired(); + String value = nextArgRequired(); + // Split on commas unless they are preceeded by an escape. + // The escape character must be escaped for the string and + // again for the regex, thus four escape characters become one. + String[] strings = value.split("(?<!\\\\),"); + ArrayList<String> list = new ArrayList<>(strings.length); + for (int i = 0; i < strings.length; i++) { + list.add(strings[i]); + } + intent.putExtra(key, list); + hasIntentInfo = true; } else if (opt.equals("--ez")) { String key = nextArgRequired(); String value = nextArgRequired().toLowerCase(); diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp index dbc35af..c469ae4 100644 --- a/cmds/screencap/screencap.cpp +++ b/cmds/screencap/screencap.cpp @@ -30,6 +30,7 @@ #include <gui/SurfaceComposerClient.h> #include <gui/ISurfaceComposer.h> +#include <ui/DisplayInfo.h> #include <ui/PixelFormat.h> // TODO: Fix Skia. @@ -159,9 +160,35 @@ int main(int argc, char** argv) uint32_t w, s, h, f; size_t size = 0; + // Maps orientations from DisplayInfo to ISurfaceComposer + static const uint32_t ORIENTATION_MAP[] = { + ISurfaceComposer::eRotateNone, // 0 == DISPLAY_ORIENTATION_0 + ISurfaceComposer::eRotate270, // 1 == DISPLAY_ORIENTATION_90 + ISurfaceComposer::eRotate180, // 2 == DISPLAY_ORIENTATION_180 + ISurfaceComposer::eRotate90, // 3 == DISPLAY_ORIENTATION_270 + }; + ScreenshotClient screenshot; sp<IBinder> display = SurfaceComposerClient::getBuiltInDisplay(displayId); - if (display != NULL && screenshot.update(display, Rect(), false) == NO_ERROR) { + if (display == NULL) { + fprintf(stderr, "Unable to get handle for display %d\n", displayId); + return 1; + } + + Vector<DisplayInfo> configs; + SurfaceComposerClient::getDisplayConfigs(display, &configs); + int activeConfig = SurfaceComposerClient::getActiveConfig(display); + if (static_cast<size_t>(activeConfig) >= configs.size()) { + fprintf(stderr, "Active config %d not inside configs (size %zu)\n", + activeConfig, configs.size()); + return 1; + } + uint8_t displayOrientation = configs[activeConfig].orientation; + uint32_t captureOrientation = ORIENTATION_MAP[displayOrientation]; + + status_t result = screenshot.update(display, Rect(), 0, 0, 0, -1U, + false, captureOrientation); + if (result == NO_ERROR) { base = screenshot.getPixels(); w = screenshot.getWidth(); h = screenshot.getHeight(); diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 41e3db8..cb1e7aa 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -31,6 +31,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.ComponentInfo; import android.content.pm.ContainerEncryptionParams; import android.content.pm.FeatureInfo; +import android.content.pm.IOnPermissionsChangeListener; import android.content.pm.IPackageDataObserver; import android.content.pm.IPackageDeleteObserver; import android.content.pm.IPackageInstallObserver; @@ -88,6 +89,7 @@ import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Objects; /*package*/ @@ -1048,6 +1050,38 @@ final class ApplicationPackageManager extends PackageManager { } } + @Override + public void addOnPermissionsChangeListener(OnPermissionsChangedListener listener) { + synchronized (mPermissionListeners) { + if (mPermissionListeners.get(listener) != null) { + return; + } + OnPermissionsChangeListenerDelegate delegate = + new OnPermissionsChangeListenerDelegate(listener, Looper.getMainLooper()); + try { + mPM.addOnPermissionsChangeListener(delegate); + mPermissionListeners.put(listener, delegate); + } catch (RemoteException e) { + throw new RuntimeException("Package manager has died", e); + } + } + } + + @Override + public void removeOnPermissionsChangeListener(OnPermissionsChangedListener listener) { + synchronized (mPermissionListeners) { + IOnPermissionsChangeListener delegate = mPermissionListeners.get(listener); + if (delegate != null) { + try { + mPM.removeOnPermissionsChangeListener(delegate); + mPermissionListeners.remove(listener); + } catch (RemoteException e) { + throw new RuntimeException("Package manager has died", e); + } + } + } + } + static void configurationChanged() { synchronized (sSync) { sIconCache.clear(); @@ -2139,4 +2173,39 @@ final class ApplicationPackageManager extends PackageManager { = new ArrayMap<ResourceName, WeakReference<Drawable.ConstantState>>(); private static ArrayMap<ResourceName, WeakReference<CharSequence>> sStringCache = new ArrayMap<ResourceName, WeakReference<CharSequence>>(); + + private final Map<OnPermissionsChangedListener, IOnPermissionsChangeListener> + mPermissionListeners = new ArrayMap<>(); + + public class OnPermissionsChangeListenerDelegate extends IOnPermissionsChangeListener.Stub + implements Handler.Callback{ + private static final int MSG_PERMISSIONS_CHANGED = 1; + + private final OnPermissionsChangedListener mListener; + private final Handler mHandler; + + + public OnPermissionsChangeListenerDelegate(OnPermissionsChangedListener listener, + Looper looper) { + mListener = listener; + mHandler = new Handler(looper, this); + } + + @Override + public void onPermissionsChanged(int uid) { + mHandler.obtainMessage(MSG_PERMISSIONS_CHANGED, uid, 0).sendToTarget(); + } + + @Override + public boolean handleMessage(Message msg) { + switch (msg.what) { + case MSG_PERMISSIONS_CHANGED: { + final int uid = msg.arg1; + mListener.onPermissionsChanged(uid); + return true; + } + } + return false; + } + } } diff --git a/core/java/android/app/Presentation.java b/core/java/android/app/Presentation.java index bb45abb4..e110dcb 100644 --- a/core/java/android/app/Presentation.java +++ b/core/java/android/app/Presentation.java @@ -213,7 +213,7 @@ public class Presentation extends Dialog { // dismiss the presentation immediately. This case is expected // to be rare but surprising, so we'll write a log message about it. if (!isConfigurationStillValid()) { - Log.i(TAG, "Presentation is being immediately dismissed because the " + Log.i(TAG, "Presentation is being dismissed because the " + "display metrics have changed since it was created."); mHandler.sendEmptyMessage(MSG_CANCEL); } @@ -274,6 +274,8 @@ public class Presentation extends Dialog { // is invalid and the application must recreate the presentation to get // a new context. if (!isConfigurationStillValid()) { + Log.i(TAG, "Presentation is being dismissed because the " + + "display metrics have changed since it was created."); cancel(); } } diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 3ab0e01..bf44746 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -2275,7 +2275,7 @@ public class DevicePolicyManager { if (mService != null) { try { final String alias = getCaCertAlias(certBuffer); - mService.uninstallCaCert(admin, alias); + mService.uninstallCaCerts(admin, new String[] {alias}); } catch (CertificateException e) { Log.w(TAG, "Unable to parse certificate", e); } catch (RemoteException e) { @@ -2322,12 +2322,11 @@ public class DevicePolicyManager { */ public void uninstallAllUserCaCerts(@Nullable ComponentName admin) { if (mService != null) { - for (String alias : new TrustedCertificateStore().userAliases()) { - try { - mService.uninstallCaCert(admin, alias); - } catch (RemoteException re) { - Log.w(TAG, "Failed talking with device policy service", re); - } + try { + mService.uninstallCaCerts(admin, new TrustedCertificateStore().userAliases() + .toArray(new String[0])); + } 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 8c7b20a..a700806 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -128,7 +128,7 @@ interface IDevicePolicyManager { boolean hasUserSetupCompleted(); boolean installCaCert(in ComponentName admin, in byte[] certBuffer); - void uninstallCaCert(in ComponentName admin, in String alias); + void uninstallCaCerts(in ComponentName admin, in String[] aliases); void enforceCanManageCaCerts(in ComponentName admin); boolean installKeyPair(in ComponentName who, in byte[] privKeyBuffer, in byte[] certBuffer, String alias); diff --git a/core/java/android/content/ContentProviderOperation.java b/core/java/android/content/ContentProviderOperation.java index 49ac062..fd1e24a 100644 --- a/core/java/android/content/ContentProviderOperation.java +++ b/core/java/android/content/ContentProviderOperation.java @@ -28,6 +28,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +/** + * Represents a single operation to be performed as part of a batch of operations. + * + * @see ContentProvider#applyBatch(ArrayList) + */ public class ContentProviderOperation implements Parcelable { /** @hide exposed for unit tests */ public final static int TYPE_INSERT = 1; @@ -195,10 +200,19 @@ public class ContentProviderOperation implements Parcelable { return new Builder(TYPE_ASSERT, uri); } + /** + * Gets the Uri for the target of the operation. + */ public Uri getUri() { return mUri; } + /** + * Returns true if the operation allows yielding the database to other transactions + * if the database is contended. + * + * @see android.database.sqlite.SQLiteDatabase#yieldIfContendedSafely() + */ public boolean isYieldAllowed() { return mYieldAllowed; } @@ -208,26 +222,58 @@ public class ContentProviderOperation implements Parcelable { return mType; } + /** + * Returns true if the operation represents an insertion. + * + * @see #newInsert + */ public boolean isInsert() { return mType == TYPE_INSERT; } + /** + * Returns true if the operation represents a deletion. + * + * @see #newDelete + */ public boolean isDelete() { return mType == TYPE_DELETE; } + /** + * Returns true if the operation represents an update. + * + * @see #newUpdate + */ public boolean isUpdate() { return mType == TYPE_UPDATE; } + /** + * Returns true if the operation represents an assert query. + * + * @see #newAssertQuery + */ public boolean isAssertQuery() { return mType == TYPE_ASSERT; } + /** + * Returns true if the operation represents an insertion, deletion, or update. + * + * @see #isInsert + * @see #isDelete + * @see #isUpdate + */ public boolean isWriteOperation() { return mType == TYPE_DELETE || mType == TYPE_INSERT || mType == TYPE_UPDATE; } + /** + * Returns true if the operation represents an assert query. + * + * @see #isAssertQuery + */ public boolean isReadOperation() { return mType == TYPE_ASSERT; } @@ -617,7 +663,7 @@ public class ContentProviderOperation implements Parcelable { } /** - * If set then if the number of rows affected by this operation do not match + * If set then if the number of rows affected by this operation does not match * this count {@link OperationApplicationException} will be throw. * This can only be used with builders of type update, delete, or assert. * @return this builder, to allow for chaining. @@ -631,6 +677,12 @@ public class ContentProviderOperation implements Parcelable { return this; } + /** + * If set to true then the operation allows yielding the database to other transactions + * if the database is contended. + * @return this builder, to allow for chaining. + * @see android.database.sqlite.SQLiteDatabase#yieldIfContendedSafely() + */ public Builder withYieldAllowed(boolean yieldAllowed) { mYieldAllowed = yieldAllowed; return this; diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index a434c7b..970623a 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -1256,7 +1256,7 @@ public abstract class Context { * @param intent The description of the activity to start. * * @throws ActivityNotFoundException - * + *` * @see #startActivity(Intent, Bundle) * @see PackageManager#resolveActivity */ @@ -2443,8 +2443,6 @@ public abstract class Context { * * @param serviceClass The class of the desired service. * @return The service name or null if the class is not a supported system service. - * - * @hide */ public abstract String getSystemServiceName(Class<?> serviceClass); diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 25be96a..5190037 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -1576,13 +1576,17 @@ public class Intent implements Parcelable, Cloneable { * Broadcast action that requests current permission granted information. It will respond * to the request by sending a broadcast with action defined by * {@link #EXTRA_GET_PERMISSIONS_RESPONSE_INTENT}. The response will contain - * {@link #EXTRA_GET_PERMISSIONS_COUNT_RESULT} with contents described below or a null upon - * failure. + * {@link #EXTRA_GET_PERMISSIONS_COUNT_RESULT}, as well as + * {@link #EXTRA_GET_PERMISSIONS_GROUP_LIST_RESULT}, with contents described below or + * a null upon failure. * - * <p>If {@link #EXTRA_PACKAGE_NAME} is included then the number of permissions granted and the - * number of permissions requested by that package will be calculated and included as the first + * <p>If {@link #EXTRA_PACKAGE_NAME} is included then the number of permissions granted, the + * number of permissions requested and the number of granted additional permissions + * by that package will be calculated and included as the first * and second elements respectively of an int[] in the response as - * {@link #EXTRA_GET_PERMISSIONS_COUNT_RESULT}. + * {@link #EXTRA_GET_PERMISSIONS_COUNT_RESULT}. The response will also deliver the list + * of localized permission group names that are granted in + * {@link #EXTRA_GET_PERMISSIONS_GROUP_LIST_RESULT}. * * <p>If {@link #EXTRA_PACKAGE_NAME} is not included then the number of apps granted any runtime * permissions and the total number of apps requesting runtime permissions will be the first @@ -1602,7 +1606,14 @@ public class Intent implements Parcelable, Cloneable { = "android.intent.extra.GET_PERMISSIONS_COUNT_RESULT"; /** - * Required extra to be sent with {@link #ACTION_GET_PERMISSIONS_COUNT} broadcast. + * List of CharSequence of localized permission group labels. + * @hide + */ + public static final String EXTRA_GET_PERMISSIONS_GROUP_LIST_RESULT + = "android.intent.extra.GET_PERMISSIONS_GROUP_LIST_RESULT"; + + /** + * Required extra to be sent with {@link #ACTION_GET_PERMISSIONS_COUNT} broadcasts. * @hide */ public static final String EXTRA_GET_PERMISSIONS_RESPONSE_INTENT diff --git a/core/java/android/content/pm/IOnPermissionsChangeListener.aidl b/core/java/android/content/pm/IOnPermissionsChangeListener.aidl new file mode 100644 index 0000000..7791b50 --- /dev/null +++ b/core/java/android/content/pm/IOnPermissionsChangeListener.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.content.pm; + +/** + * Listener for changes in the permissions for installed packages. + * {@hide} + */ +oneway interface IOnPermissionsChangeListener { + void onPermissionsChanged(int uid); +} diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl index 00b8c71..0c07bc3 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -31,6 +31,7 @@ import android.content.pm.IPackageDeleteObserver2; import android.content.pm.IPackageDataObserver; import android.content.pm.IPackageMoveObserver; import android.content.pm.IPackageStatsObserver; +import android.content.pm.IOnPermissionsChangeListener; import android.content.pm.IntentFilterVerificationInfo; import android.content.pm.InstrumentationInfo; import android.content.pm.KeySet; @@ -490,4 +491,7 @@ interface IPackageManager { KeySet getSigningKeySet(String packageName); boolean isPackageSignedByKeySet(String packageName, in KeySet ks); boolean isPackageSignedByKeySetExactly(String packageName, in KeySet ks); + + void addOnPermissionsChangeListener(in IOnPermissionsChangeListener listener); + void removeOnPermissionsChangeListener(in IOnPermissionsChangeListener listener); } diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 68092c8..bd50ca0 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -16,11 +16,13 @@ package android.content.pm; +import android.Manifest; import android.annotation.CheckResult; import android.annotation.DrawableRes; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.RequiresPermission; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.StringRes; @@ -78,6 +80,21 @@ public abstract class PackageManager { } /** + * Listener for changes in permissions granted to a UID. + * + * @hide + */ + @SystemApi + public interface OnPermissionsChangedListener { + + /** + * Called when the permissions for a UID change. + * @param uid The UID with a change. + */ + public void onPermissionsChanged(int uid); + } + + /** * {@link PackageInfo} flag: return information about * activities in the package in {@link PackageInfo#activities}. */ @@ -2636,7 +2653,7 @@ public abstract class PackageManager { /** * Retrieve the official name associated with a user id. This name is - * guaranteed to never change, though it is possibly for the underlying + * guaranteed to never change, though it is possible for the underlying * user id to be changed. That is, if you are storing information about * user ids in persistent storage, you should use the string returned * by this function instead of the raw user-id. @@ -4295,6 +4312,27 @@ public abstract class PackageManager { public abstract boolean isSafeMode(); /** + * Adds a listener for permission changes for installed packages. + * + * @param listener The listener to add. + * + * @hide + */ + @SystemApi + @RequiresPermission(Manifest.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS) + public abstract void addOnPermissionsChangeListener(OnPermissionsChangedListener listener); + + /** + * Remvoes a listener for permission changes for installed packages. + * + * @param listener The listener to remove. + * + * @hide + */ + @SystemApi + public abstract void removeOnPermissionsChangeListener(OnPermissionsChangedListener listener); + + /** * Return the {@link KeySet} associated with the String alias for this * application. * diff --git a/core/java/android/hardware/SensorManager.java b/core/java/android/hardware/SensorManager.java index fda889f..d6b1142 100644 --- a/core/java/android/hardware/SensorManager.java +++ b/core/java/android/hardware/SensorManager.java @@ -1577,7 +1577,7 @@ public abstract class SensorManager { * Significant Motion, Step Counter etc. * * The tests which call this API need to have {@code - * android.permission.HARDWARE_TEST} permission which isn't + * android.permission.LOCATION_HADWARE} permission which isn't * available for third party applications. * * @param enable True to set the HAL in DATA_INJECTION mode. @@ -1607,7 +1607,7 @@ public abstract class SensorManager { * the HAL is already in data injection mode. * * The tests which call this API need to have {@code - * android.permission.HARDWARE_TEST} permission which isn't + * android.permission.LOCATION_HARDWARE} permission which isn't * available for third party applications. * * @param sensor The sensor to inject. diff --git a/core/java/android/hardware/SystemSensorManager.java b/core/java/android/hardware/SystemSensorManager.java index 22a9e9c..d7960af 100644 --- a/core/java/android/hardware/SystemSensorManager.java +++ b/core/java/android/hardware/SystemSensorManager.java @@ -80,7 +80,7 @@ public class SystemSensorManager extends SensorManager { nativeClassInit(); } mHasDataInjectionPermissions = context.checkSelfPermission( - Manifest.permission.HARDWARE_TEST) == PackageManager.PERMISSION_GRANTED; + Manifest.permission.LOCATION_HARDWARE) == PackageManager.PERMISSION_GRANTED; } // initialize the sensor list @@ -233,7 +233,7 @@ public class SystemSensorManager extends SensorManager { protected boolean enableDataInjectionImpl(boolean enable) { if (!mHasDataInjectionPermissions) { throw new SecurityException("Permission denial. Calling enableDataInjection without " - + Manifest.permission.HARDWARE_TEST); + + Manifest.permission.LOCATION_HARDWARE); } synchronized (mLock) { int ret = nativeEnableDataInjection(mNativeInstance, enable); @@ -256,7 +256,7 @@ public class SystemSensorManager extends SensorManager { long timestamp) { if (!mHasDataInjectionPermissions) { throw new SecurityException("Permission denial. Calling injectSensorData without " - + Manifest.permission.HARDWARE_TEST); + + Manifest.permission.LOCATION_HARDWARE); } synchronized (mLock) { if (!mDataInjectionMode) { diff --git a/core/java/android/hardware/camera2/CameraCaptureSession.java b/core/java/android/hardware/camera2/CameraCaptureSession.java index 82d40d3..c547b06 100644 --- a/core/java/android/hardware/camera2/CameraCaptureSession.java +++ b/core/java/android/hardware/camera2/CameraCaptureSession.java @@ -150,9 +150,17 @@ public abstract class CameraCaptureSession implements AutoCloseable { * {@link CaptureRequest.Builder#addTarget}) must be a subset of the surfaces provided when this * capture session was created.</p> * - * <p>Multiple requests can be in progress at once. They are processed in - * first-in, first-out order, with minimal delays between each - * capture. Requests submitted through this method have higher priority than + * <p>Multiple regular and reprocess requests can be in progress at once. If there are only + * regular requests or reprocess requests in progress, they are processed in first-in, + * first-out order. If there are both regular and reprocess requests in progress, regular + * requests are processed in first-in, first-out order and reprocess requests are processed in + * first-in, first-out order, respectively. However, the processing order of a regular request + * and a reprocess request in progress is not specified. In other words, a regular request + * will always be processed before regular requets that are submitted later. A reprocess request + * will always be processed before reprocess requests that are submitted later. However, a + * regular request may not be processed before reprocess requests that are submitted later.<p> + * + * <p>Requests submitted through this method have higher priority than * those submitted through {@link #setRepeatingRequest} or * {@link #setRepeatingBurst}, and will be processed as soon as the current * repeat/repeatBurst processing completes.</p> @@ -207,10 +215,13 @@ public abstract class CameraCaptureSession implements AutoCloseable { * not be interleaved with requests submitted by other capture or repeat * calls. * - * <p>The requests will be captured in order, each capture producing one {@link CaptureResult} - * and image buffers for one or more target {@link android.view.Surface surfaces}. The target - * surfaces (set with {@link CaptureRequest.Builder#addTarget}) must be a subset of the surfaces - * provided when this capture session was created.</p> + * <p>Regular and reprocess requests can be mixed together in a single burst. Regular requests + * will be captured in order and reprocess requests will be processed in order, respectively. + * However, the processing order between a regular request and a reprocess request is not + * specified. Each capture produces one {@link CaptureResult} and image buffers for one or more + * target {@link android.view.Surface surfaces}. The target surfaces (set with + * {@link CaptureRequest.Builder#addTarget}) must be a subset of the surfaces provided when + * this capture session was created.</p> * * <p>The main difference between this method and simply calling * {@link #capture} repeatedly is that this method guarantees that no diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java index c073ba5..ed167f0 100644 --- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java @@ -1924,6 +1924,28 @@ public class CameraDeviceImpl extends CameraDevice { return mCharacteristics; } + /** + * A high speed output surface can only be preview or hardware encoder surface. + * + * @param surface The high speed output surface to be checked. + */ + private void checkHighSpeedSurfaceFormat(Surface surface) { + // TODO: remove this override since the default format should be + // ImageFormat.PRIVATE. b/9487482 + final int HAL_FORMAT_RGB_START = 1; // HAL_PIXEL_FORMAT_RGBA_8888 from graphics.h + final int HAL_FORMAT_RGB_END = 5; // HAL_PIXEL_FORMAT_BGRA_8888 from graphics.h + int surfaceFormat = SurfaceUtils.getSurfaceFormat(surface); + if (surfaceFormat >= HAL_FORMAT_RGB_START && + surfaceFormat <= HAL_FORMAT_RGB_END) { + surfaceFormat = ImageFormat.PRIVATE; + } + + if (surfaceFormat != ImageFormat.PRIVATE) { + throw new IllegalArgumentException("Surface format(" + surfaceFormat + ") is not" + + " for preview or hardware video encoding!"); + } + } + private void checkConstrainedHighSpeedSurfaces(Collection<Surface> surfaces, Range<Integer> fpsRange) { if (surfaces == null || surfaces.size() == 0 || surfaces.size() > 2) { @@ -1948,15 +1970,10 @@ public class CameraDeviceImpl extends CameraDevice { } for (Surface surface : surfaces) { + checkHighSpeedSurfaceFormat(surface); + // Surface size must be supported high speed sizes. Size surfaceSize = SurfaceUtils.getSurfaceSize(surface); - int surfaceFormat = SurfaceUtils.getSurfaceFormat(surface); - - if (surfaceFormat != ImageFormat.PRIVATE) { - throw new IllegalArgumentException("Surface format is not for preview or" - + " hardware video encoding" + surfaceFormat); - } - if (!highSpeedSizes.contains(surfaceSize)) { throw new IllegalArgumentException("Surface size " + surfaceSize.toString() + " is" + " not part of the high speed supported size list " + diff --git a/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java b/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java index cc9d496..a3a998e 100644 --- a/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java +++ b/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java @@ -565,7 +565,7 @@ public class LegacyCameraDevice implements AutoCloseable { throw new IllegalArgumentException("Surface was abandoned", e); } - return previewConsumer && (surfaceFormat == ImageFormat.PRIVATE); + return previewConsumer; } public static boolean isVideoEncoderConsumer(Surface output) { @@ -583,7 +583,7 @@ public class LegacyCameraDevice implements AutoCloseable { throw new IllegalArgumentException("Surface was abandoned", e); } - return videoEncoderConsumer && (surfaceFormat == ImageFormat.PRIVATE); + return videoEncoderConsumer; } /** diff --git a/core/java/android/hardware/camera2/utils/SurfaceUtils.java b/core/java/android/hardware/camera2/utils/SurfaceUtils.java index 32e74e2..40005a5 100644 --- a/core/java/android/hardware/camera2/utils/SurfaceUtils.java +++ b/core/java/android/hardware/camera2/utils/SurfaceUtils.java @@ -16,6 +16,7 @@ package android.hardware.camera2.utils; +import android.graphics.ImageFormat; import android.hardware.camera2.legacy.LegacyCameraDevice; import android.hardware.camera2.legacy.LegacyExceptionUtils.BufferQueueAbandonedException; import android.util.Size; @@ -27,7 +28,7 @@ import android.view.Surface; public class SurfaceUtils { /** - * Check if a surface is for preview consumer. + * Check if a surface is for preview consumer based on consumer end point Gralloc usage flags. * * @param surface The surface to be checked. * @return true if the surface is for preview consumer, false otherwise. @@ -37,7 +38,8 @@ public class SurfaceUtils { } /** - * Check if the surface is for hardware video encoder consumer. + * Check if the surface is for hardware video encoder consumer based on consumer end point + * Gralloc usage flags. * * @param surface The surface to be checked. * @return true if the surface is for hardware video encoder consumer, false otherwise. diff --git a/core/java/android/hardware/usb/IUsbManager.aidl b/core/java/android/hardware/usb/IUsbManager.aidl index 881dc0f..31a6a96 100644 --- a/core/java/android/hardware/usb/IUsbManager.aidl +++ b/core/java/android/hardware/usb/IUsbManager.aidl @@ -85,6 +85,16 @@ interface IUsbManager /* Sets the current USB function. */ void setCurrentFunction(String function); + /* Sets whether USB data (for example, MTP exposed pictures) should be made + * available on the USB connection. Unlocking data should only be done with + * user involvement, since exposing pictures or other data could leak sensitive + * user information. + */ + void setUsbDataUnlocked(boolean unlock); + + /* Returns true iff sensitive user data is exposed on the USB connection. */ + boolean isUsbDataUnlocked(); + /* Allow USB debugging from the attached host. If alwaysAllow is true, add the * the public key to list of host keys that the user has approved. */ diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java index 000d41f..c83f466 100644 --- a/core/java/android/hardware/usb/UsbManager.java +++ b/core/java/android/hardware/usb/UsbManager.java @@ -142,6 +142,16 @@ public class UsbManager { public static final String USB_CONFIGURED = "configured"; /** + * Boolean extra indicating whether confidential user data, such as photos, should be + * made available on the USB connection. This variable will only be set when the user + * has explicitly asked for this data to be unlocked. + * Used in extras for the {@link #ACTION_USB_STATE} broadcast. + * + * {@hide} + */ + public static final String USB_DATA_UNLOCKED = "unlocked"; + + /** * Name of the USB mass storage USB function. * Used in extras for the {@link #ACTION_USB_STATE} broadcast * @@ -464,4 +474,34 @@ public class UsbManager { Log.e(TAG, "RemoteException in setCurrentFunction", e); } } + + /** + * Sets whether USB data (for example, MTP exposed pictures) should be made available + * on the USB connection. Unlocking usb data should only be done with user involvement, + * since exposing pictures or other data could leak sensitive user information. + * + * {@hide} + */ + public void setUsbDataUnlocked(boolean unlocked) { + try { + mService.setUsbDataUnlocked(unlocked); + } catch (RemoteException e) { + Log.e(TAG, "RemoteException in setUsbDataUnlocked", e); + } + } + + /** + * Returns {@code true} iff access to sensitive USB data is currently allowed. + * + * {@hide} + */ + public boolean isUsbDataUnlocked() { + try { + return mService.isUsbDataUnlocked(); + } catch (RemoteException e) { + Log.e(TAG, "RemoteException in isUsbDataUnlocked", e); + } + return false; + } + } diff --git a/core/java/android/net/NetworkFactory.java b/core/java/android/net/NetworkFactory.java index e47220b..5f46c73 100644 --- a/core/java/android/net/NetworkFactory.java +++ b/core/java/android/net/NetworkFactory.java @@ -24,8 +24,13 @@ import android.os.Messenger; import android.util.Log; import android.util.SparseArray; +import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Protocol; +import java.io.FileDescriptor; +import java.io.PrintWriter; + /** * A NetworkFactory is an entity that creates NetworkAgent objects. * The bearers register with ConnectivityService using {@link #register} and @@ -157,6 +162,11 @@ public class NetworkFactory extends Handler { this.score = score; this.requested = false; } + + @Override + public String toString() { + return "{" + request + ", score=" + score + ", requested=" + requested + "}"; + } } private void handleAddRequest(NetworkRequest request, int score) { @@ -176,9 +186,9 @@ public class NetworkFactory extends Handler { private void handleRemoveRequest(NetworkRequest request) { NetworkRequestInfo n = mNetworkRequests.get(request.requestId); - if (n != null && n.requested) { + if (n != null) { mNetworkRequests.remove(request.requestId); - releaseNetworkFor(n.request); + if (n.requested) releaseNetworkFor(n.request); } } @@ -273,15 +283,31 @@ public class NetworkFactory extends Handler { sendMessage(obtainMessage(CMD_SET_FILTER, new NetworkCapabilities(netCap))); } + @VisibleForTesting + protected int getRequestCount() { + return mNetworkRequests.size(); + } + protected void log(String s) { Log.d(LOG_TAG, s); } + public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { + final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); + pw.println(toString()); + pw.increaseIndent(); + for (int i = 0; i < mNetworkRequests.size(); i++) { + pw.println(mNetworkRequests.valueAt(i)); + } + pw.decreaseIndent(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder("{").append(LOG_TAG).append(" - ScoreFilter="). append(mScore).append(", Filter=").append(mCapabilityFilter).append(", requests="). - append(mNetworkRequests.size()).append("}"); + append(mNetworkRequests.size()).append(", refCount=").append(mRefCount). + append("}"); return sb.toString(); } } diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index c9609e5..a6efc58 100644 --- a/core/java/android/os/BatteryStats.java +++ b/core/java/android/os/BatteryStats.java @@ -3489,57 +3489,90 @@ public abstract class BatteryStats implements Parcelable { pw.println(); for (int i=0; i<sippers.size(); i++) { final BatterySipper bs = sippers.get(i); + pw.print(prefix); switch (bs.drainType) { case IDLE: - pw.print(prefix); pw.print(" Idle: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Idle: "); break; case CELL: - pw.print(prefix); pw.print(" Cell standby: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Cell standby: "); break; case PHONE: - pw.print(prefix); pw.print(" Phone calls: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Phone calls: "); break; case WIFI: - pw.print(prefix); pw.print(" Wifi: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Wifi: "); break; case BLUETOOTH: - pw.print(prefix); pw.print(" Bluetooth: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Bluetooth: "); break; case SCREEN: - pw.print(prefix); pw.print(" Screen: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Screen: "); break; case FLASHLIGHT: - pw.print(prefix); pw.print(" Flashlight: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Flashlight: "); break; case APP: - pw.print(prefix); pw.print(" Uid "); + pw.print(" Uid "); UserHandle.formatUid(pw, bs.uidObj.getUid()); - pw.print(": "); printmAh(pw, bs.totalPowerMah); pw.println(); + pw.print(": "); break; case USER: - pw.print(prefix); pw.print(" User "); pw.print(bs.userId); - pw.print(": "); printmAh(pw, bs.totalPowerMah); pw.println(); + pw.print(" User "); pw.print(bs.userId); + pw.print(": "); break; case UNACCOUNTED: - pw.print(prefix); pw.print(" Unaccounted: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Unaccounted: "); break; case OVERCOUNTED: - pw.print(prefix); pw.print(" Over-counted: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Over-counted: "); break; case CAMERA: - pw.print(prefix); pw.print(" Camera: "); printmAh(pw, bs.totalPowerMah); - pw.println(); + pw.print(" Camera: "); + break; + default: + pw.print(" ???: "); break; } + printmAh(pw, bs.totalPowerMah); + + if (bs.drainType == BatterySipper.DrainType.APP) { + pw.print(" ("); + if (bs.cpuPowerMah != 0) { + pw.print(" cpu="); + printmAh(pw, bs.cpuPowerMah); + } + if (bs.wakeLockPowerMah != 0) { + pw.print(" wake="); + printmAh(pw, bs.wakeLockPowerMah); + } + if (bs.mobileRadioPowerMah != 0) { + pw.print(" radio="); + printmAh(pw, bs.mobileRadioPowerMah); + } + if (bs.wifiPowerMah != 0) { + pw.print(" wifi="); + printmAh(pw, bs.wifiPowerMah); + } + if (bs.gpsPowerMah != 0) { + pw.print(" gps="); + printmAh(pw, bs.gpsPowerMah); + } + if (bs.sensorPowerMah != 0) { + pw.print(" sensor="); + printmAh(pw, bs.sensorPowerMah); + } + if (bs.cameraPowerMah != 0) { + pw.print(" camera="); + printmAh(pw, bs.cameraPowerMah); + } + if (bs.flashlightPowerMah != 0) { + pw.print(" flash="); + printmAh(pw, bs.flashlightPowerMah); + } + pw.print(" )"); + } + pw.println(); } pw.println(); } diff --git a/core/java/android/os/RemoteCallbackList.java b/core/java/android/os/RemoteCallbackList.java index d2a9cdc..5849350 100644 --- a/core/java/android/os/RemoteCallbackList.java +++ b/core/java/android/os/RemoteCallbackList.java @@ -77,7 +77,6 @@ public class RemoteCallbackList<E extends IInterface> { public boolean register(E callback) { return register(callback, null); } - /** * Add a new callback to the list. This callback will remain in the list * until a corresponding call to {@link #unregister} or its hosting process diff --git a/core/java/android/os/storage/VolumeInfo.java b/core/java/android/os/storage/VolumeInfo.java index 2622ee0..372725f 100644 --- a/core/java/android/os/storage/VolumeInfo.java +++ b/core/java/android/os/storage/VolumeInfo.java @@ -32,7 +32,9 @@ import android.text.TextUtils; import android.util.ArrayMap; import android.util.DebugUtils; import android.util.SparseArray; +import android.util.SparseIntArray; +import com.android.internal.R; import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Preconditions; @@ -80,6 +82,7 @@ public class VolumeInfo implements Parcelable { private static SparseArray<String> sStateToEnvironment = new SparseArray<>(); private static ArrayMap<String, String> sEnvironmentToBroadcast = new ArrayMap<>(); + private static SparseIntArray sStateToDescrip = new SparseIntArray(); private static final Comparator<VolumeInfo> sDescriptionComparator = new Comparator<VolumeInfo>() { @@ -116,6 +119,16 @@ public class VolumeInfo implements Parcelable { sEnvironmentToBroadcast.put(Environment.MEDIA_UNMOUNTABLE, Intent.ACTION_MEDIA_UNMOUNTABLE); sEnvironmentToBroadcast.put(Environment.MEDIA_REMOVED, Intent.ACTION_MEDIA_REMOVED); sEnvironmentToBroadcast.put(Environment.MEDIA_BAD_REMOVAL, Intent.ACTION_MEDIA_BAD_REMOVAL); + + sStateToDescrip.put(VolumeInfo.STATE_UNMOUNTED, R.string.ext_media_status_unmounted); + sStateToDescrip.put(VolumeInfo.STATE_CHECKING, R.string.ext_media_status_checking); + sStateToDescrip.put(VolumeInfo.STATE_MOUNTED, R.string.ext_media_status_mounted); + sStateToDescrip.put(VolumeInfo.STATE_MOUNTED_READ_ONLY, R.string.ext_media_status_mounted_ro); + sStateToDescrip.put(VolumeInfo.STATE_FORMATTING, R.string.ext_media_status_formatting); + sStateToDescrip.put(VolumeInfo.STATE_EJECTING, R.string.ext_media_status_ejecting); + sStateToDescrip.put(VolumeInfo.STATE_UNMOUNTABLE, R.string.ext_media_status_unmountable); + sStateToDescrip.put(VolumeInfo.STATE_REMOVED, R.string.ext_media_status_removed); + sStateToDescrip.put(VolumeInfo.STATE_BAD_REMOVAL, R.string.ext_media_status_bad_removal); } /** vold state */ @@ -201,6 +214,10 @@ public class VolumeInfo implements Parcelable { return state; } + public int getStateDescription() { + return sStateToDescrip.get(state, 0); + } + public @Nullable String getFsUuid() { return fsUuid; } diff --git a/core/java/android/preference/SeekBarDialogPreference.java b/core/java/android/preference/SeekBarDialogPreference.java index 9a08827..eeb69a3 100644 --- a/core/java/android/preference/SeekBarDialogPreference.java +++ b/core/java/android/preference/SeekBarDialogPreference.java @@ -18,29 +18,28 @@ package android.preference; import android.content.Context; import android.graphics.drawable.Drawable; -import android.preference.DialogPreference; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import android.widget.SeekBar; +import com.android.internal.R; + /** * @hide */ public class SeekBarDialogPreference extends DialogPreference { - private static final String TAG = "SeekBarDialogPreference"; - - private Drawable mMyIcon; + private final Drawable mMyIcon; public SeekBarDialogPreference( Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); - setDialogLayoutResource(com.android.internal.R.layout.seekbar_dialog); createActionButtons(); // Steal the XML dialogIcon attribute's value mMyIcon = getDialogIcon(); + setDialogIcon(null); } @@ -49,7 +48,7 @@ public class SeekBarDialogPreference extends DialogPreference { } public SeekBarDialogPreference(Context context, AttributeSet attrs) { - this(context, attrs, com.android.internal.R.attr.dialogPreferenceStyle); + this(context, attrs, R.attr.seekBarDialogPreferenceStyle); } public SeekBarDialogPreference(Context context) { @@ -58,15 +57,15 @@ public class SeekBarDialogPreference extends DialogPreference { // Allow subclasses to override the action buttons public void createActionButtons() { - setPositiveButtonText(android.R.string.ok); - setNegativeButtonText(android.R.string.cancel); + setPositiveButtonText(R.string.ok); + setNegativeButtonText(R.string.cancel); } @Override protected void onBindDialogView(View view) { super.onBindDialogView(view); - final ImageView iconView = (ImageView) view.findViewById(android.R.id.icon); + final ImageView iconView = (ImageView) view.findViewById(R.id.icon); if (mMyIcon != null) { iconView.setImageDrawable(mMyIcon); } else { @@ -75,6 +74,6 @@ public class SeekBarDialogPreference extends DialogPreference { } protected static SeekBar getSeekBar(View dialogView) { - return (SeekBar) dialogView.findViewById(com.android.internal.R.id.seekbar); + return (SeekBar) dialogView.findViewById(R.id.seekbar); } } diff --git a/core/java/android/preference/VolumePreference.java b/core/java/android/preference/VolumePreference.java index a2da01b..573499a 100644 --- a/core/java/android/preference/VolumePreference.java +++ b/core/java/android/preference/VolumePreference.java @@ -26,14 +26,13 @@ import android.view.KeyEvent; import android.view.View; import android.widget.SeekBar; +import com.android.internal.R; + /** * @hide */ public class VolumePreference extends SeekBarDialogPreference implements PreferenceManager.OnActivityStopListener, View.OnKeyListener, SeekBarVolumizer.Callback { - - static final String TAG = "VolumePreference"; - private int mStreamType; /** May be null if the dialog isn't visible. */ @@ -44,7 +43,7 @@ public class VolumePreference extends SeekBarDialogPreference implements super(context, attrs, defStyleAttr, defStyleRes); final TypedArray a = context.obtainStyledAttributes(attrs, - com.android.internal.R.styleable.VolumePreference, defStyleAttr, defStyleRes); + R.styleable.VolumePreference, defStyleAttr, defStyleRes); mStreamType = a.getInt(android.R.styleable.VolumePreference_streamType, 0); a.recycle(); } @@ -54,7 +53,11 @@ public class VolumePreference extends SeekBarDialogPreference implements } public VolumePreference(Context context, AttributeSet attrs) { - this(context, attrs, com.android.internal.R.attr.dialogPreferenceStyle); + this(context, attrs, R.attr.seekBarDialogPreferenceStyle); + } + + public VolumePreference(Context context) { + this(context, null); } public void setStreamType(int streamType) { @@ -65,7 +68,7 @@ public class VolumePreference extends SeekBarDialogPreference implements protected void onBindDialogView(View view) { super.onBindDialogView(view); - final SeekBar seekBar = (SeekBar) view.findViewById(com.android.internal.R.id.seekbar); + final SeekBar seekBar = (SeekBar) view.findViewById(R.id.seekbar); mSeekBarVolumizer = new SeekBarVolumizer(getContext(), mStreamType, null, this); mSeekBarVolumizer.start(); mSeekBarVolumizer.setSeekBar(seekBar); @@ -128,14 +131,17 @@ public class VolumePreference extends SeekBarDialogPreference implements getPreferenceManager().unregisterOnActivityStopListener(this); if (mSeekBarVolumizer != null) { - Dialog dialog = getDialog(); + final Dialog dialog = getDialog(); if (dialog != null && dialog.isShowing()) { - View view = dialog.getWindow().getDecorView() - .findViewById(com.android.internal.R.id.seekbar); - if (view != null) view.setOnKeyListener(null); + final View view = dialog.getWindow().getDecorView().findViewById(R.id.seekbar); + if (view != null) { + view.setOnKeyListener(null); + } + // Stopped while dialog was showing, revert changes mSeekBarVolumizer.revertVolume(); } + mSeekBarVolumizer.stop(); mSeekBarVolumizer = null; } diff --git a/core/java/android/printservice/PrintService.java b/core/java/android/printservice/PrintService.java index 527c8ae..6295822 100644 --- a/core/java/android/printservice/PrintService.java +++ b/core/java/android/printservice/PrintService.java @@ -231,6 +231,19 @@ public abstract class PrintService extends Service { */ public static final String EXTRA_PRINTER_INFO = "android.intent.extra.print.EXTRA_PRINTER_INFO"; + /** + * If you declared an optional activity with advanced print options via the + * {@link android.R.attr#advancedPrintOptionsActivity advancedPrintOptionsActivity} + * attribute, this extra is used to pass in the meta-data for the currently printed + * document as a {@link android.print.PrintDocumentInfo} to your activity allowing + * you to inspect it. + * + * @see #EXTRA_PRINT_JOB_INFO + * @see #EXTRA_PRINTER_INFO + */ + public static final String EXTRA_PRINT_DOCUMENT_INFO = + "android.printservice.extra.PRINT_DOCUMENT_INFO"; + private Handler mHandler; private IPrintServiceClient mClient; diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java index 69338b0..30535ff 100644 --- a/core/java/android/provider/DocumentsContract.java +++ b/core/java/android/provider/DocumentsContract.java @@ -93,6 +93,12 @@ public final class DocumentsContract { public static final String EXTRA_SHOW_ADVANCED = "android.content.extra.SHOW_ADVANCED"; /** + * Set this in a DocumentsUI intent to cause a package's own roots to be + * excluded from the roots list. + */ + public static final String EXTRA_EXCLUDE_SELF = "android.provider.extra.EXCLUDE_SELF"; + + /** * Included in {@link AssetFileDescriptor#getExtras()} when returned * thumbnail should be rotated. * diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 640f434..167d8e5 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -577,6 +577,21 @@ public final class Settings { "android.settings.APPLICATION_DETAILS_SETTINGS"; /** + * Activity Action: Show screen for controlling which apps can ignore battery optimizations. + * <p> + * In some cases, a matching Activity may not exist, so ensure you + * safeguard against this. + * <p> + * Input: The Intent's data URI specifies the application package name + * to be shown, with the "package" scheme. That is "package:com.my.app". + * <p> + * Output: Nothing. + */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS = + "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS"; + + /** * @hide * Activity Action: Show the "app ops" settings screen. * <p> diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java index b8493d4..8c6cd09 100644 --- a/core/java/android/service/notification/NotificationListenerService.java +++ b/core/java/android/service/notification/NotificationListenerService.java @@ -646,7 +646,7 @@ public abstract class NotificationListenerService extends Service { private void createLegacyIconExtras(Notification n) { Icon smallIcon = n.getSmallIcon(); Icon largeIcon = n.getLargeIcon(); - if (smallIcon.getType() == Icon.TYPE_RESOURCE) { + if (smallIcon != null && smallIcon.getType() == Icon.TYPE_RESOURCE) { n.extras.putInt(Notification.EXTRA_SMALL_ICON, smallIcon.getResId()); n.icon = smallIcon.getResId(); } diff --git a/core/java/android/text/Spanned.java b/core/java/android/text/Spanned.java index b4622e0..a785d1b 100644 --- a/core/java/android/text/Spanned.java +++ b/core/java/android/text/Spanned.java @@ -187,12 +187,11 @@ extends CharSequence public int getSpanFlags(Object tag); /** - * Return the first offset greater than or equal to <code>start</code> - * where a markup object of class <code>type</code> begins or ends, - * or <code>limit</code> if there are no starts or ends greater than or - * equal to <code>start</code> but less than <code>limit</code>. Specify - * <code>null</code> or Object.class for the type if you want every - * transition regardless of type. + * Return the first offset greater than <code>start</code> where a markup + * object of class <code>type</code> begins or ends, or <code>limit</code> + * if there are no starts or ends greater than <code>start</code> but less + * than <code>limit</code>. Specify <code>null</code> or Object.class for + * the type if you want every transition regardless of type. */ public int nextSpanTransition(int start, int limit, Class type); } diff --git a/core/java/android/view/MenuInflater.java b/core/java/android/view/MenuInflater.java index dc8cadf..1c67ba7 100644 --- a/core/java/android/view/MenuInflater.java +++ b/core/java/android/view/MenuInflater.java @@ -25,11 +25,8 @@ import android.annotation.MenuRes; import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; -import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; -import android.graphics.PorterDuff; -import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Log; import android.util.Xml; @@ -337,11 +334,6 @@ public class MenuInflater { private ActionProvider itemActionProvider; - private ColorStateList itemIconTintList; - private boolean itemIconTintListSet; - private PorterDuff.Mode itemIconTintMode; - private boolean itemIconTintModeSet; - private static final int defaultGroupId = NO_ID; private static final int defaultItemId = NO_ID; private static final int defaultItemCategory = 0; @@ -432,23 +424,6 @@ public class MenuInflater { itemActionProvider = null; } - if (a.hasValueOrEmpty(com.android.internal.R.styleable.MenuItem_iconTint)) { - itemIconTintList = a.getColorStateList( - com.android.internal.R.styleable.MenuItem_iconTint); - itemIconTintListSet = true; - } else { - itemIconTintList = null; - itemIconTintListSet = false; - } - if (a.hasValueOrEmpty(com.android.internal.R.styleable.MenuItem_iconTintMode)) { - itemIconTintMode = Drawable.parseTintMode( - a.getInt(com.android.internal.R.styleable.MenuItem_iconTintMode, -1), null); - itemIconTintModeSet = true; - } else { - itemIconTintMode = null; - itemIconTintModeSet = false; - } - a.recycle(); itemAdded = false; @@ -511,13 +486,6 @@ public class MenuInflater { if (itemActionProvider != null) { item.setActionProvider(itemActionProvider); } - - if (itemIconTintListSet) { - item.setIconTintList(itemIconTintList); - } - if (itemIconTintModeSet) { - item.setIconTintMode(itemIconTintMode); - } } public MenuItem addItem() { diff --git a/core/java/android/view/MenuItem.java b/core/java/android/view/MenuItem.java index 2948007..9e8b97e 100644 --- a/core/java/android/view/MenuItem.java +++ b/core/java/android/view/MenuItem.java @@ -21,8 +21,6 @@ import android.annotation.LayoutRes; import android.annotation.StringRes; import android.app.Activity; import android.content.Intent; -import android.content.res.ColorStateList; -import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.view.ContextMenu.ContextMenuInfo; import android.view.View.OnCreateContextMenuListener; @@ -601,26 +599,4 @@ public interface MenuItem { * @return This menu item instance for call chaining */ public MenuItem setOnActionExpandListener(OnActionExpandListener listener); - - /** - * Applies a tint to the icon drawable. Does not modify the current tint - * mode, which is {@link PorterDuff.Mode#SRC_IN} by default. - * <p> - * Subsequent calls to {@link android.view.MenuItem#setIcon(android.graphics.drawable.Drawable)} - * will automatically mutate the drawable and apply the specified tint and tint mode. - * - * @param tint the tint to apply, may be {@code null} to clear tint - * @return This menu item instance for call chaining - */ - public MenuItem setIconTintList(ColorStateList tint); - - /** - * Specifies the blending mode used to apply the tint specified by {@link - * #setIconTintList(ColorStateList)} to the icon drawable. The default mode is {@link - * PorterDuff.Mode#SRC_IN}. - * - * @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint - * @return This menu item instance for call chaining - */ - public MenuItem setIconTintMode(PorterDuff.Mode tintMode); } diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 160c662..7d48a9a 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -523,7 +523,7 @@ public class SurfaceView extends View { mVisibleInsets, mStableInsets, mOutsets, mConfiguration, mNewSurface); if ((relayoutResult & WindowManagerGlobal.RELAYOUT_RES_FIRST_TIME) != 0) { - mReportDrawNeeded = true; + reportDrawNeeded = true; } if (DEBUG) Log.i(TAG, "New surface: " + mNewSurface diff --git a/core/java/android/view/ViewPropertyAnimator.java b/core/java/android/view/ViewPropertyAnimator.java index f18b7ac..bd45007 100644 --- a/core/java/android/view/ViewPropertyAnimator.java +++ b/core/java/android/view/ViewPropertyAnimator.java @@ -80,18 +80,12 @@ public class ViewPropertyAnimator { /** * The interpolator of the underlying Animator object. By default, we don't set the interpolator - * on the Animator and just use its default interpolator. If the interpolator is ever set on - * this Animator, then we use the interpolator that it was set to. + * on the Animator and just use its default interpolator. If the interpolator is set to a + * non-null value on this Animator, then we use the interpolator that it was set to. */ private TimeInterpolator mInterpolator; /** - * A flag indicating whether the interpolator has been set on this object. If not, we don't set - * the interpolator on the underlying Animator, but instead just use its default interpolator. - */ - private boolean mInterpolatorSet = false; - - /** * Listener for the lifecycle events of the underlying ValueAnimator object. */ private Animator.AnimatorListener mListener = null; @@ -338,7 +332,6 @@ public class ViewPropertyAnimator { * @return This object, allowing calls to methods in this class to be chained. */ public ViewPropertyAnimator setInterpolator(TimeInterpolator interpolator) { - mInterpolatorSet = true; mInterpolator = interpolator; return this; } @@ -349,7 +342,7 @@ public class ViewPropertyAnimator { * @return The timing interpolator for this animation. */ public TimeInterpolator getInterpolator() { - if (mInterpolatorSet) { + if (mInterpolator != null) { return mInterpolator; } else { // Just return the default from ValueAnimator, since that's what we'd get if @@ -897,7 +890,7 @@ public class ViewPropertyAnimator { if (mDurationSet) { animator.setDuration(mDuration); } - if (mInterpolatorSet) { + if (mInterpolator != null) { animator.setInterpolator(mInterpolator); } animator.start(); diff --git a/core/java/android/widget/ActionMenuPresenter.java b/core/java/android/widget/ActionMenuPresenter.java index f08141c..a5696ee 100644 --- a/core/java/android/widget/ActionMenuPresenter.java +++ b/core/java/android/widget/ActionMenuPresenter.java @@ -21,10 +21,8 @@ import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.content.Context; -import android.content.res.ColorStateList; import android.content.res.Configuration; import android.content.res.Resources; -import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os.Parcel; import android.os.Parcelable; @@ -64,6 +62,8 @@ public class ActionMenuPresenter extends BaseMenuPresenter private static final boolean ACTIONBAR_ANIMATIONS_ENABLED = false; private OverflowMenuButton mOverflowButton; + private Drawable mPendingOverflowIcon; + private boolean mPendingOverflowIconSet; private boolean mReserveOverflow; private boolean mReserveOverflowSet; private int mWidthLimit; @@ -85,8 +85,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter private OpenOverflowRunnable mPostedOpenRunnable; private ActionMenuPopupCallback mPopupCallback; - private TintInfo mOverflowTintInfo; - final PopupPresenterCallback mPopupPresenterCallback = new PopupPresenterCallback(); int mOpenSubMenuId; @@ -154,9 +152,13 @@ public class ActionMenuPresenter extends BaseMenuPresenter if (mReserveOverflow) { if (mOverflowButton == null) { mOverflowButton = new OverflowMenuButton(mSystemContext); + if (mPendingOverflowIconSet) { + mOverflowButton.setImageDrawable(mPendingOverflowIcon); + mPendingOverflowIcon = null; + mPendingOverflowIconSet = false; + } final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); mOverflowButton.measure(spec, spec); - applyOverflowTint(); } width -= mOverflowButton.getMeasuredWidth(); } else { @@ -198,6 +200,24 @@ public class ActionMenuPresenter extends BaseMenuPresenter mExpandedActionViewsExclusive = isExclusive; } + public void setOverflowIcon(Drawable icon) { + if (mOverflowButton != null) { + mOverflowButton.setImageDrawable(icon); + } else { + mPendingOverflowIconSet = true; + mPendingOverflowIcon = icon; + } + } + + public Drawable getOverflowIcon() { + if (mOverflowButton != null) { + return mOverflowButton.getDrawable(); + } else if (mPendingOverflowIconSet) { + return mPendingOverflowIcon; + } + return null; + } + @Override public MenuView getMenuView(ViewGroup root) { MenuView oldMenuView = mMenuView; @@ -449,7 +469,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter if (hasOverflow) { if (mOverflowButton == null) { mOverflowButton = new OverflowMenuButton(mSystemContext); - applyOverflowTint(); } ViewGroup parent = (ViewGroup) mOverflowButton.getParent(); if (parent != mMenuView) { @@ -764,40 +783,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter } } - public void setOverflowTintList(ColorStateList tint) { - if (mOverflowTintInfo == null) { - mOverflowTintInfo = new TintInfo(); - } - mOverflowTintInfo.mTintList = tint; - mOverflowTintInfo.mHasTintList = true; - - applyOverflowTint(); - } - - public void setOverflowTintMode(PorterDuff.Mode tintMode) { - if (mOverflowTintInfo == null) { - mOverflowTintInfo = new TintInfo(); - } - mOverflowTintInfo.mTintMode = tintMode; - mOverflowTintInfo.mHasTintMode = true; - - applyOverflowTint(); - } - - private void applyOverflowTint() { - final TintInfo tintInfo = mOverflowTintInfo; - if (tintInfo != null && (tintInfo.mHasTintList || tintInfo.mHasTintMode)) { - if (mOverflowButton != null) { - if (tintInfo.mHasTintList) { - mOverflowButton.setImageTintList(tintInfo.mTintList); - } - if (tintInfo.mHasTintMode) { - mOverflowButton.setImageTintMode(tintInfo.mTintMode); - } - } - } - } - private static class SavedState implements Parcelable { public int openSubMenuId; @@ -1023,13 +1008,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter } } - private static class TintInfo { - ColorStateList mTintList; - PorterDuff.Mode mTintMode; - boolean mHasTintMode; - boolean mHasTintList; - } - /** * This class holds layout information for a menu item. This is used to determine * pre- and post-layout information about menu items, which will then be used to @@ -1077,5 +1055,4 @@ public class ActionMenuPresenter extends BaseMenuPresenter this.animType = animType; } } - } diff --git a/core/java/android/widget/ActionMenuView.java b/core/java/android/widget/ActionMenuView.java index 278a8fb..1f02c3b 100644 --- a/core/java/android/widget/ActionMenuView.java +++ b/core/java/android/widget/ActionMenuView.java @@ -16,11 +16,11 @@ package android.widget; import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.StyleRes; import android.content.Context; -import android.content.res.ColorStateList; import android.content.res.Configuration; -import android.graphics.PorterDuff; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.ContextThemeWrapper; import android.view.Gravity; @@ -541,39 +541,35 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo dismissPopupMenus(); } - /** @hide */ - public boolean isOverflowReserved() { - return mReserveOverflow; - } - - /** @hide */ - public void setOverflowReserved(boolean reserveOverflow) { - mReserveOverflow = reserveOverflow; - } - /** - * Applies a tint to the overflow drawable. Does not modify the current tint - * mode, which is {@link PorterDuff.Mode#SRC_IN} by default. + * Set the icon to use for the overflow button. * - * @param tint the tint to apply, may be {@code null} to clear tint + * @param icon Drawable to set, may be null to clear the icon */ - public void setOverflowTintList(ColorStateList tint) { - if (mPresenter != null) { - mPresenter.setOverflowTintList(tint); - } + public void setOverflowIcon(@Nullable Drawable icon) { + getMenu(); + mPresenter.setOverflowIcon(icon); } /** - * Specifies the blending mode used to apply the tint specified by {@link - * #setOverflowTintList(ColorStateList)} to the overflow drawable. - * The default mode is {@link PorterDuff.Mode#SRC_IN}. + * Return the current drawable used as the overflow icon. * - * @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint + * @return The overflow icon drawable */ - public void setOverflowTintMode(PorterDuff.Mode tintMode) { - if (mPresenter != null) { - mPresenter.setOverflowTintMode(tintMode); - } + @Nullable + public Drawable getOverflowIcon() { + getMenu(); + return mPresenter.getOverflowIcon(); + } + + /** @hide */ + public boolean isOverflowReserved() { + return mReserveOverflow; + } + + /** @hide */ + public void setOverflowReserved(boolean reserveOverflow) { + mReserveOverflow = reserveOverflow; } @Override diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java index 17ec567..e43237a 100644 --- a/core/java/android/widget/Editor.java +++ b/core/java/android/widget/Editor.java @@ -262,6 +262,8 @@ public class Editor { } }; + boolean mIsInsertionActionModeStartPending = false; + Editor(TextView textView) { mTextView = textView; // Synchronize the filter list, which places the undo input filter at the end. @@ -990,7 +992,7 @@ public class Editor { } public boolean performLongClick(boolean handled) { - // Long press in empty space moves cursor and starts the selection action mode. + // Long press in empty space moves cursor and starts the insertion action mode. if (!handled && !isPositionOnText(mLastDownPositionX, mLastDownPositionY) && mInsertionControllerEnabled) { final int offset = mTextView.getOffsetForPosition(mLastDownPositionX, @@ -998,7 +1000,7 @@ public class Editor { stopTextActionMode(); Selection.setSelection((Spannable) mTextView.getText(), offset); getInsertionController().show(); - startInsertionActionMode(); + mIsInsertionActionModeStartPending = true; handled = true; } @@ -1710,14 +1712,14 @@ public class Editor { } /** - * @return true if the selection mode was actually started. + * Start an Insertion action mode. */ - private boolean startInsertionActionMode() { + void startInsertionActionMode() { if (mInsertionActionModeRunnable != null) { mTextView.removeCallbacks(mInsertionActionModeRunnable); } if (extractedTextModeWillBeStarted()) { - return false; + return; } stopTextActionMode(); @@ -1725,7 +1727,9 @@ public class Editor { new TextActionModeCallback(false /* hasSelection */); mTextActionMode = mTextView.startActionMode( actionModeCallback, ActionMode.TYPE_FLOATING); - return mTextActionMode != null; + if (mTextActionMode != null && getInsertionController() != null) { + getInsertionController().show(); + } } /** @@ -1796,7 +1800,7 @@ public class Editor { private boolean startSelectionActionModeInternal() { if (mTextActionMode != null) { - // Selection action mode is already started + // Text action mode is already started mTextActionMode.invalidate(); return false; } @@ -3873,7 +3877,7 @@ public class Editor { private static final int DELAY_BEFORE_HANDLE_FADES_OUT = 4000; private static final int RECENT_CUT_COPY_DURATION = 15 * 1000; // seconds - // Used to detect taps on the insertion handle, which will affect the selection action mode + // Used to detect taps on the insertion handle, which will affect the insertion action mode private float mDownPositionX, mDownPositionY; private Runnable mHider; @@ -3898,17 +3902,20 @@ public class Editor { // timeout has passed. if (!mDoubleTap && !isCursorInsideEasyCorrectionSpan() && (durationSinceCutOrCopy < RECENT_CUT_COPY_DURATION)) { - if (mInsertionActionModeRunnable == null) { - mInsertionActionModeRunnable = new Runnable() { - public void run() { - startInsertionActionMode(); - } - }; + if (mTextActionMode == null) { + if (mInsertionActionModeRunnable == null) { + mInsertionActionModeRunnable = new Runnable() { + @Override + public void run() { + startInsertionActionMode(); + } + }; + } + mTextView.postDelayed( + mInsertionActionModeRunnable, + ViewConfiguration.getDoubleTapTimeout() + 1); } - mTextView.postDelayed( - mInsertionActionModeRunnable, - ViewConfiguration.getDoubleTapTimeout() + 1); } hideAfterDelay(); @@ -3975,7 +3982,7 @@ public class Editor { final int touchSlop = viewConfiguration.getScaledTouchSlop(); if (distanceSquared < touchSlop * touchSlop) { - // Tapping on the handle toggles the selection action mode. + // Tapping on the handle toggles the insertion action mode. if (mTextActionMode != null) { mTextActionMode.finish(); } else { diff --git a/core/java/android/widget/ListPopupWindow.java b/core/java/android/widget/ListPopupWindow.java index 94b9416..afc683a 100644 --- a/core/java/android/widget/ListPopupWindow.java +++ b/core/java/android/widget/ListPopupWindow.java @@ -618,12 +618,11 @@ public class ListPopupWindow { heightSpec = mDropDownHeight; } - mPopup.setWidth(widthSpec); - mPopup.setHeight(heightSpec); mPopup.setOutsideTouchable(!mForceIgnoreOutsideTouch && !mDropDownAlwaysVisible); mPopup.update(getAnchorView(), mDropDownHorizontalOffset, - mDropDownVerticalOffset, -1, -1); + mDropDownVerticalOffset, (widthSpec < 0)? -1 : widthSpec, + (heightSpec < 0)? -1 : heightSpec); } else { final int widthSpec; if (mDropDownWidth == ViewGroup.LayoutParams.MATCH_PARENT) { diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index b68934b..353901c 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -8320,12 +8320,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener final boolean superResult = super.onTouchEvent(event); /* - * Don't handle the release after a long press, because it will - * move the selection away from whatever the menu action was - * trying to affect. + * Don't handle the release after a long press, because it will move the selection away from + * whatever the menu action was trying to affect. If the long press should have triggered an + * insertion action mode, we can now actually show it. */ if (mEditor != null && mEditor.mDiscardNextActionUp && action == MotionEvent.ACTION_UP) { mEditor.mDiscardNextActionUp = false; + + if (mEditor.mIsInsertionActionModeStartPending) { + mEditor.startInsertionActionMode(); + mEditor.mIsInsertionActionModeStartPending = false; + } return superResult; } diff --git a/core/java/android/widget/Toolbar.java b/core/java/android/widget/Toolbar.java index 62d948d..8ace0f3 100644 --- a/core/java/android/widget/Toolbar.java +++ b/core/java/android/widget/Toolbar.java @@ -25,9 +25,8 @@ import android.annotation.StringRes; import android.annotation.StyleRes; import android.app.ActionBar; import android.content.Context; -import android.content.res.ColorStateList; import android.content.res.TypedArray; -import android.graphics.PorterDuff; +import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.os.Parcel; import android.os.Parcelable; @@ -110,9 +109,6 @@ public class Toolbar extends ViewGroup { private ImageButton mNavButtonView; private ImageView mLogoView; - private TintInfo mOverflowTintInfo; - private TintInfo mNavTintInfo; - private Drawable mCollapseIcon; private CharSequence mCollapseDescription; private ImageButton mCollapseButtonView; @@ -275,21 +271,6 @@ public class Toolbar extends ViewGroup { if (!TextUtils.isEmpty(navDesc)) { setNavigationContentDescription(navDesc); } - - if (a.hasValue(R.styleable.Toolbar_overflowTint)) { - setOverflowTintList(a.getColorStateList(R.styleable.Toolbar_overflowTint)); - } - if (a.hasValue(R.styleable.Toolbar_overflowTintMode)) { - setOverflowTintMode(Drawable.parseTintMode( - a.getInt(R.styleable.Toolbar_overflowTintMode, -1), null)); - } - if (a.hasValue(R.styleable.Toolbar_navigationTint)) { - setNavigationTintList(a.getColorStateList(R.styleable.Toolbar_navigationTint)); - } - if (a.hasValue(R.styleable.Toolbar_navigationTintMode)) { - setNavigationTintMode(Drawable.parseTintMode( - a.getInt(R.styleable.Toolbar_navigationTintMode, -1), null)); - } a.recycle(); } @@ -830,101 +811,37 @@ public class Toolbar extends ViewGroup { } /** - * Applies a tint to the icon drawable. Does not modify the current tint - * mode, which is {@link PorterDuff.Mode#SRC_IN} by default. - * <p> - * Subsequent calls to {@link #setNavigationIcon(Drawable)} will automatically mutate - * the drawable and apply the specified tint and tint mode. - * - * @param tint the tint to apply, may be {@code null} to clear tint - * - * @attr ref android.R.styleable#Toolbar_navigationTint - */ - public void setNavigationTintList(ColorStateList tint) { - if (mNavTintInfo == null) { - mNavTintInfo = new TintInfo(); - } - mNavTintInfo.mTintList = tint; - mNavTintInfo.mHasTintList = true; - - applyNavigationTint(); - } - - /** - * Specifies the blending mode used to apply the tint specified by {@link - * #setNavigationTintList(ColorStateList)} to the navigation drawable. - * The default mode is {@link PorterDuff.Mode#SRC_IN}. - * - * @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint - * - * @attr ref android.R.styleable#Toolbar_navigationTintMode - */ - public void setNavigationTintMode(PorterDuff.Mode tintMode) { - if (mNavTintInfo == null) { - mNavTintInfo = new TintInfo(); - } - mNavTintInfo.mTintMode = tintMode; - mNavTintInfo.mHasTintMode = true; - - applyNavigationTint(); - } - - /** - * Applies a tint to the overflow drawable. Does not modify the current tint - * mode, which is {@link PorterDuff.Mode#SRC_IN} by default. + * Return the Menu shown in the toolbar. * - * @param tint the tint to apply, may be {@code null} to clear tint + * <p>Applications that wish to populate the toolbar's menu can do so from here. To use + * an XML menu resource, use {@link #inflateMenu(int)}.</p> * - * @attr ref android.R.styleable#Toolbar_overflowTint + * @return The toolbar's Menu */ - public void setOverflowTintList(ColorStateList tint) { - if (mMenuView != null) { - // If the menu view is available, directly set the tint - mMenuView.setOverflowTintList(tint); - } else { - // Otherwise we will record the value - if (mOverflowTintInfo == null) { - mOverflowTintInfo = new TintInfo(); - } - mOverflowTintInfo.mTintList = tint; - mOverflowTintInfo.mHasTintList = true; - } + public Menu getMenu() { + ensureMenu(); + return mMenuView.getMenu(); } /** - * Specifies the blending mode used to apply the tint specified by {@link - * #setOverflowTintList(ColorStateList)} to the overflow drawable. - * The default mode is {@link PorterDuff.Mode#SRC_IN}. - * - * @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint + * Set the icon to use for the overflow button. * - * @attr ref android.R.styleable#Toolbar_overflowTintMode + * @param icon Drawable to set, may be null to clear the icon */ - public void setOverflowTintMode(PorterDuff.Mode tintMode) { - if (mMenuView != null) { - // If the menu view is available, directly set the tint mode - mMenuView.setOverflowTintMode(tintMode); - } else { - // Otherwise we will record the value - if (mOverflowTintInfo == null) { - mOverflowTintInfo = new TintInfo(); - } - mOverflowTintInfo.mTintMode = tintMode; - mOverflowTintInfo.mHasTintMode = true; - } + public void setOverflowIcon(@Nullable Drawable icon) { + ensureMenu(); + mMenuView.setOverflowIcon(icon); } /** - * Return the Menu shown in the toolbar. - * - * <p>Applications that wish to populate the toolbar's menu can do so from here. To use - * an XML menu resource, use {@link #inflateMenu(int)}.</p> + * Return the current drawable used as the overflow icon. * - * @return The toolbar's Menu + * @return The overflow icon drawable */ - public Menu getMenu() { + @Nullable + public Drawable getOverflowIcon() { ensureMenu(); - return mMenuView.getMenu(); + return mMenuView.getOverflowIcon(); } private void ensureMenu() { @@ -950,17 +867,6 @@ public class Toolbar extends ViewGroup { lp.gravity = Gravity.END | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK); mMenuView.setLayoutParams(lp); addSystemView(mMenuView); - - if (mOverflowTintInfo != null) { - // If we have tint info for the overflow, set it on the menu view now - if (mOverflowTintInfo.mHasTintList) { - mMenuView.setOverflowTintList(mOverflowTintInfo.mTintList); - } - if (mOverflowTintInfo.mHasTintMode) { - mMenuView.setOverflowTintMode(mOverflowTintInfo.mTintMode); - } - mOverflowTintInfo = null; - } } } @@ -1114,7 +1020,6 @@ public class Toolbar extends ViewGroup { final LayoutParams lp = generateDefaultLayoutParams(); lp.gravity = Gravity.START | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK); mNavButtonView.setLayoutParams(lp); - applyNavigationTint(); } } @@ -1133,7 +1038,6 @@ public class Toolbar extends ViewGroup { collapseActionView(); } }); - applyNavigationTint(); } } @@ -1885,30 +1789,6 @@ public class Toolbar extends ViewGroup { return mPopupContext; } - private void applyNavigationTint() { - final TintInfo tintInfo = mNavTintInfo; - if (tintInfo != null && (tintInfo.mHasTintList || tintInfo.mHasTintMode)) { - if (mNavButtonView != null) { - if (tintInfo.mHasTintList) { - mNavButtonView.setImageTintList(tintInfo.mTintList); - } - if (tintInfo.mHasTintMode) { - mNavButtonView.setImageTintMode(tintInfo.mTintMode); - } - } - - if (mCollapseButtonView != null) { - // We will use the same tint for the collapse button - if (tintInfo.mHasTintList) { - mCollapseButtonView.setImageTintList(tintInfo.mTintList); - } - if (tintInfo.mHasTintMode) { - mCollapseButtonView.setImageTintMode(tintInfo.mTintMode); - } - } - } - } - /** * Interface responsible for receiving menu item click events if the items themselves * do not have individual item click listeners. @@ -2136,11 +2016,4 @@ public class Toolbar extends ViewGroup { public void onRestoreInstanceState(Parcelable state) { } } - - private static class TintInfo { - ColorStateList mTintList; - PorterDuff.Mode mTintMode; - boolean mHasTintMode; - boolean mHasTintList; - } } diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java index ba4af89..39c86f9 100644 --- a/core/java/com/android/internal/app/ResolverActivity.java +++ b/core/java/com/android/internal/app/ResolverActivity.java @@ -18,8 +18,6 @@ package com.android.internal.app; import android.app.Activity; import android.app.ActivityThread; -import android.app.usage.UsageStats; -import android.app.usage.UsageStatsManager; import android.os.AsyncTask; import android.provider.Settings; import android.text.TextUtils; @@ -64,14 +62,11 @@ import android.widget.TextView; import android.widget.Toast; import com.android.internal.widget.ResolverDrawerLayout; -import java.text.Collator; import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.Set; import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR; @@ -100,10 +95,7 @@ public class ResolverActivity extends Activity { private boolean mResolvingHome = false; private int mProfileSwitchMessageId = -1; private final ArrayList<Intent> mIntents = new ArrayList<>(); - - private UsageStatsManager mUsm; - private Map<String, UsageStats> mStats; - private static final long USAGE_STATS_PERIOD = 1000 * 60 * 60 * 24 * 14; + private ResolverComparator mResolverComparator; private boolean mRegistered; private final PackageMonitor mPackageMonitor = new PackageMonitor() { @@ -222,10 +214,6 @@ public class ResolverActivity extends Activity { } mPm = getPackageManager(); - mUsm = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE); - - final long sinceTime = System.currentTimeMillis() - USAGE_STATS_PERIOD; - mStats = mUsm.queryAndAggregateUsageStats(sinceTime, System.currentTimeMillis()); mPackageMonitor.register(this, getMainLooper(), false); mRegistered = true; @@ -236,6 +224,10 @@ public class ResolverActivity extends Activity { // Add our initial intent as the first item, regardless of what else has already been added. mIntents.add(0, new Intent(intent)); + final String referrerPackage = getReferrerPackageName(); + + mResolverComparator = new ResolverComparator(this, getTargetIntent(), referrerPackage); + configureContentView(mIntents, initialIntents, rList, alwaysUseOption); // Prevent the Resolver window from becoming the top fullscreen window and thus from taking @@ -265,7 +257,6 @@ public class ResolverActivity extends Activity { // Try to initialize the title icon if we have a view for it and a title to match final ImageView titleIcon = (ImageView) findViewById(R.id.title_icon); if (titleIcon != null) { - final String referrerPackage = getReferrerPackageName(); ApplicationInfo ai = null; try { if (!TextUtils.isEmpty(referrerPackage)) { @@ -1175,8 +1166,8 @@ public class ResolverActivity extends Activity { } } if (N > 1) { - Collections.sort(currentResolveList, - new ResolverComparator(ResolverActivity.this, getTargetIntent())); + mResolverComparator.compute(currentResolveList); + Collections.sort(currentResolveList, mResolverComparator); } // First put the initial items at the top. if (mInitialIntents != null) { @@ -1651,63 +1642,4 @@ public class ResolverActivity extends Activity { && match <= IntentFilter.MATCH_CATEGORY_PATH; } - class ResolverComparator implements Comparator<ResolvedComponentInfo> { - private final Collator mCollator; - private final boolean mHttp; - - public ResolverComparator(Context context, Intent intent) { - mCollator = Collator.getInstance(context.getResources().getConfiguration().locale); - String scheme = intent.getScheme(); - mHttp = "http".equals(scheme) || "https".equals(scheme); - } - - @Override - public int compare(ResolvedComponentInfo lhsp, ResolvedComponentInfo rhsp) { - final ResolveInfo lhs = lhsp.getResolveInfoAt(0); - final ResolveInfo rhs = rhsp.getResolveInfoAt(0); - - // We want to put the one targeted to another user at the end of the dialog. - if (lhs.targetUserId != UserHandle.USER_CURRENT) { - return 1; - } - - if (mHttp) { - // Special case: we want filters that match URI paths/schemes to be - // ordered before others. This is for the case when opening URIs, - // to make native apps go above browsers. - final boolean lhsSpecific = isSpecificUriMatch(lhs.match); - final boolean rhsSpecific = isSpecificUriMatch(rhs.match); - if (lhsSpecific != rhsSpecific) { - return lhsSpecific ? -1 : 1; - } - } - - if (mStats != null) { - final long timeDiff = - getPackageTimeSpent(rhs.activityInfo.packageName) - - getPackageTimeSpent(lhs.activityInfo.packageName); - - if (timeDiff != 0) { - return timeDiff > 0 ? 1 : -1; - } - } - - CharSequence sa = lhs.loadLabel(mPm); - if (sa == null) sa = lhs.activityInfo.name; - CharSequence sb = rhs.loadLabel(mPm); - if (sb == null) sb = rhs.activityInfo.name; - - return mCollator.compare(sa.toString(), sb.toString()); - } - - private long getPackageTimeSpent(String packageName) { - if (mStats != null) { - final UsageStats stats = mStats.get(packageName); - if (stats != null) { - return stats.getTotalTimeInForeground(); - } - } - return 0; - } - } } diff --git a/core/java/com/android/internal/app/ResolverComparator.java b/core/java/com/android/internal/app/ResolverComparator.java new file mode 100644 index 0000000..42668f1 --- /dev/null +++ b/core/java/com/android/internal/app/ResolverComparator.java @@ -0,0 +1,215 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package com.android.internal.app; + +import android.app.usage.UsageStats; +import android.app.usage.UsageStatsManager; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.pm.ApplicationInfo; +import android.content.pm.ComponentInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.os.UserHandle; +import android.text.TextUtils; +import android.util.Log; +import com.android.internal.app.ResolverActivity.ResolvedComponentInfo; + +import java.text.Collator; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * Ranks and compares packages based on usage stats. + */ +class ResolverComparator implements Comparator<ResolvedComponentInfo> { + private static final String TAG = "ResolverComparator"; + + private static final boolean DEBUG = true; + + // Two weeks + private static final long USAGE_STATS_PERIOD = 1000 * 60 * 60 * 24 * 14; + + private static final long RECENCY_TIME_PERIOD = 1000 * 60 * 60 * 12; + + private static final float RECENCY_MULTIPLIER = 3.f; + + private final Collator mCollator; + private final boolean mHttp; + private final PackageManager mPm; + private final UsageStatsManager mUsm; + private final Map<String, UsageStats> mStats; + private final long mCurrentTime; + private final long mSinceTime; + private final LinkedHashMap<ComponentName, ScoredTarget> mScoredTargets = new LinkedHashMap<>(); + private final String mReferrerPackage; + + public ResolverComparator(Context context, Intent intent, String referrerPackage) { + mCollator = Collator.getInstance(context.getResources().getConfiguration().locale); + String scheme = intent.getScheme(); + mHttp = "http".equals(scheme) || "https".equals(scheme); + mReferrerPackage = referrerPackage; + + mPm = context.getPackageManager(); + mUsm = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE); + + mCurrentTime = System.currentTimeMillis(); + mSinceTime = mCurrentTime - USAGE_STATS_PERIOD; + mStats = mUsm.queryAndAggregateUsageStats(mSinceTime, mCurrentTime); + } + + public void compute(List<ResolvedComponentInfo> targets) { + mScoredTargets.clear(); + + final long recentSinceTime = mCurrentTime - RECENCY_TIME_PERIOD; + + long mostRecentlyUsedTime = recentSinceTime + 1; + long mostTimeSpent = 1; + int mostLaunched = 1; + + for (ResolvedComponentInfo target : targets) { + final ScoredTarget scoredTarget + = new ScoredTarget(target.getResolveInfoAt(0).activityInfo); + mScoredTargets.put(target.name, scoredTarget); + final UsageStats pkStats = mStats.get(target.name.getPackageName()); + if (pkStats != null) { + // Only count recency for apps that weren't the caller + // since the caller is always the most recent. + // Persistent processes muck this up, so omit them too. + if (!target.name.getPackageName().equals(mReferrerPackage) + && !isPersistentProcess(target)) { + final long lastTimeUsed = pkStats.getLastTimeUsed(); + scoredTarget.lastTimeUsed = lastTimeUsed; + if (lastTimeUsed > mostRecentlyUsedTime) { + mostRecentlyUsedTime = lastTimeUsed; + } + } + final long timeSpent = pkStats.getTotalTimeInForeground(); + scoredTarget.timeSpent = timeSpent; + if (timeSpent > mostTimeSpent) { + mostTimeSpent = timeSpent; + } + final int launched = pkStats.mLaunchCount; + scoredTarget.launchCount = launched; + if (launched > mostLaunched) { + mostLaunched = launched; + } + } + } + + + if (DEBUG) { + Log.d(TAG, "compute - mostRecentlyUsedTime: " + mostRecentlyUsedTime + + " mostTimeSpent: " + mostTimeSpent + + " recentSinceTime: " + recentSinceTime + + " mostLaunched: " + mostLaunched); + } + + for (ScoredTarget target : mScoredTargets.values()) { + final float recency = (float) Math.max(target.lastTimeUsed - recentSinceTime, 0) + / (mostRecentlyUsedTime - recentSinceTime); + final float recencyScore = recency * recency * RECENCY_MULTIPLIER; + final float usageTimeScore = (float) target.timeSpent / mostTimeSpent; + final float launchCountScore = (float) target.launchCount / mostLaunched; + + target.score = recencyScore + usageTimeScore + launchCountScore; + if (DEBUG) { + Log.d(TAG, "Scores: recencyScore: " + recencyScore + + " usageTimeScore: " + usageTimeScore + + " launchCountScore: " + launchCountScore + + " - " + target); + } + } + } + + static boolean isPersistentProcess(ResolvedComponentInfo rci) { + if (rci != null && rci.getCount() > 0) { + return (rci.getResolveInfoAt(0).activityInfo.applicationInfo.flags & + ApplicationInfo.FLAG_PERSISTENT) != 0; + } + return false; + } + + @Override + public int compare(ResolvedComponentInfo lhsp, ResolvedComponentInfo rhsp) { + final ResolveInfo lhs = lhsp.getResolveInfoAt(0); + final ResolveInfo rhs = rhsp.getResolveInfoAt(0); + + // We want to put the one targeted to another user at the end of the dialog. + if (lhs.targetUserId != UserHandle.USER_CURRENT) { + return 1; + } + + if (mHttp) { + // Special case: we want filters that match URI paths/schemes to be + // ordered before others. This is for the case when opening URIs, + // to make native apps go above browsers. + final boolean lhsSpecific = ResolverActivity.isSpecificUriMatch(lhs.match); + final boolean rhsSpecific = ResolverActivity.isSpecificUriMatch(rhs.match); + if (lhsSpecific != rhsSpecific) { + return lhsSpecific ? -1 : 1; + } + } + + if (mStats != null) { + final ScoredTarget lhsTarget = mScoredTargets.get(new ComponentName( + lhs.activityInfo.packageName, lhs.activityInfo.name)); + final ScoredTarget rhsTarget = mScoredTargets.get(new ComponentName( + rhs.activityInfo.packageName, rhs.activityInfo.name)); + final float diff = rhsTarget.score - lhsTarget.score; + + if (diff != 0) { + return diff > 0 ? 1 : -1; + } + } + + CharSequence sa = lhs.loadLabel(mPm); + if (sa == null) sa = lhs.activityInfo.name; + CharSequence sb = rhs.loadLabel(mPm); + if (sb == null) sb = rhs.activityInfo.name; + + return mCollator.compare(sa.toString().trim(), sb.toString().trim()); + } + + static class ScoredTarget { + public final ComponentInfo componentInfo; + public float score; + public long lastTimeUsed; + public long timeSpent; + public long launchCount; + + public ScoredTarget(ComponentInfo ci) { + componentInfo = ci; + } + + @Override + public String toString() { + return "ScoredTarget{" + componentInfo + + " score: " + score + + " lastTimeUsed: " + lastTimeUsed + + " timeSpent: " + timeSpent + + " launchCount: " + launchCount + + "}"; + } + } +} diff --git a/core/java/com/android/internal/view/menu/ActionMenuItem.java b/core/java/com/android/internal/view/menu/ActionMenuItem.java index 00af401..ed676bb 100644 --- a/core/java/com/android/internal/view/menu/ActionMenuItem.java +++ b/core/java/com/android/internal/view/menu/ActionMenuItem.java @@ -18,8 +18,6 @@ package com.android.internal.view.menu; import android.content.Context; import android.content.Intent; -import android.content.res.ColorStateList; -import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.view.ActionProvider; import android.view.ContextMenu.ContextMenuInfo; @@ -44,7 +42,6 @@ public class ActionMenuItem implements MenuItem { private Drawable mIconDrawable; private int mIconResId = NO_ICON; - private TintInfo mIconTintInfo; private Context mContext; @@ -161,14 +158,12 @@ public class ActionMenuItem implements MenuItem { public MenuItem setIcon(Drawable icon) { mIconDrawable = icon; mIconResId = NO_ICON; - applyIconTint(); return this; } public MenuItem setIcon(int iconRes) { mIconResId = iconRes; mIconDrawable = mContext.getDrawable(iconRes); - applyIconTint(); return this; } @@ -279,48 +274,4 @@ public class ActionMenuItem implements MenuItem { // No need to save the listener; ActionMenuItem does not support collapsing items. return this; } - - @Override - public MenuItem setIconTintList(ColorStateList tintList) { - if (mIconTintInfo == null) { - mIconTintInfo = new TintInfo(); - } - mIconTintInfo.mTintList = tintList; - mIconTintInfo.mHasTintList = true; - applyIconTint(); - return this; - } - - @Override - public MenuItem setIconTintMode(PorterDuff.Mode tintMode) { - if (mIconTintInfo == null) { - mIconTintInfo = new TintInfo(); - } - mIconTintInfo.mTintMode = tintMode; - mIconTintInfo.mHasTintMode = true; - applyIconTint(); - return this; - } - - private void applyIconTint() { - final TintInfo tintInfo = mIconTintInfo; - if (mIconDrawable != null && tintInfo != null) { - if (tintInfo.mHasTintList || tintInfo.mHasTintMode) { - mIconDrawable = mIconDrawable.mutate(); - if (tintInfo.mHasTintList) { - mIconDrawable.setTintList(tintInfo.mTintList); - } - if (tintInfo.mHasTintMode) { - mIconDrawable.setTintMode(tintInfo.mTintMode); - } - } - } - } - - private static class TintInfo { - ColorStateList mTintList; - PorterDuff.Mode mTintMode; - boolean mHasTintMode; - boolean mHasTintList; - } } diff --git a/core/java/com/android/internal/view/menu/MenuItemImpl.java b/core/java/com/android/internal/view/menu/MenuItemImpl.java index ef4e546..3b1f20d 100644 --- a/core/java/com/android/internal/view/menu/MenuItemImpl.java +++ b/core/java/com/android/internal/view/menu/MenuItemImpl.java @@ -21,8 +21,6 @@ import com.android.internal.view.menu.MenuView.ItemView; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; -import android.content.res.ColorStateList; -import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.util.Log; import android.view.ActionProvider; @@ -62,11 +60,6 @@ public final class MenuItemImpl implements MenuItem { * needed). */ private int mIconResId = NO_ICON; - - /** - * Tint info for the icon - */ - private TintInfo mIconTintInfo; /** The menu to which this item belongs */ private MenuBuilder mMenu; @@ -392,10 +385,10 @@ public final class MenuItemImpl implements MenuItem { } if (mIconResId != NO_ICON) { - mIconDrawable = mMenu.getContext().getDrawable(mIconResId); + Drawable icon = mMenu.getContext().getDrawable(mIconResId); mIconResId = NO_ICON; - applyIconTint(); - return mIconDrawable; + mIconDrawable = icon; + return icon; } return null; @@ -404,7 +397,6 @@ public final class MenuItemImpl implements MenuItem { public MenuItem setIcon(Drawable icon) { mIconResId = NO_ICON; mIconDrawable = icon; - applyIconTint(); mMenu.onItemsChanged(false); return this; @@ -678,48 +670,4 @@ public final class MenuItemImpl implements MenuItem { public boolean isActionViewExpanded() { return mIsActionViewExpanded; } - - @Override - public MenuItem setIconTintList(ColorStateList tintList) { - if (mIconTintInfo == null) { - mIconTintInfo = new TintInfo(); - } - mIconTintInfo.mTintList = tintList; - mIconTintInfo.mHasTintList = true; - applyIconTint(); - return this; - } - - @Override - public MenuItem setIconTintMode(PorterDuff.Mode tintMode) { - if (mIconTintInfo == null) { - mIconTintInfo = new TintInfo(); - } - mIconTintInfo.mTintMode = tintMode; - mIconTintInfo.mHasTintMode = true; - applyIconTint(); - return this; - } - - private void applyIconTint() { - final TintInfo tintInfo = mIconTintInfo; - if (mIconDrawable != null && tintInfo != null) { - if (tintInfo.mHasTintList || tintInfo.mHasTintMode) { - mIconDrawable = mIconDrawable.mutate(); - if (tintInfo.mHasTintList) { - mIconDrawable.setTintList(tintInfo.mTintList); - } - if (tintInfo.mHasTintMode) { - mIconDrawable.setTintMode(tintInfo.mTintMode); - } - } - } - } - - private static class TintInfo { - ColorStateList mTintList; - PorterDuff.Mode mTintMode; - boolean mHasTintMode; - boolean mHasTintList; - } } diff --git a/core/java/com/android/internal/widget/FloatingToolbar.java b/core/java/com/android/internal/widget/FloatingToolbar.java index c77d614..2d0989f 100644 --- a/core/java/com/android/internal/widget/FloatingToolbar.java +++ b/core/java/com/android/internal/widget/FloatingToolbar.java @@ -361,7 +361,7 @@ public final class FloatingToolbar { mParent = Preconditions.checkNotNull(parent); mContentContainer = createContentContainer(parent.getContext()); mPopupWindow = createPopupWindow(mContentContainer); - mDismissAnimation = createShrinkFadeOutFromBottomAnimation( + mDismissAnimation = createExitAnimation( mContentContainer, 150, // startDelay new AnimatorListenerAdapter() { @@ -371,7 +371,7 @@ public final class FloatingToolbar { mContentContainer.removeAllViews(); } }); - mHideAnimation = createShrinkFadeOutFromBottomAnimation( + mHideAnimation = createExitAnimation( mContentContainer, 0, // startDelay new AnimatorListenerAdapter() { @@ -561,7 +561,7 @@ public final class FloatingToolbar { * Performs the "show" animation on the floating popup. */ private void runShowAnimation() { - createGrowFadeInFromBottom(mContentContainer).start(); + createEnterAnimation(mContentContainer).start(); } /** @@ -1369,38 +1369,35 @@ public final class FloatingToolbar { } /** - * Creates a "grow and fade in from the bottom" animation for the specified view. + * Creates an "appear" animation for the specified view. * * @param view The view to animate */ - private static AnimatorSet createGrowFadeInFromBottom(View view) { - AnimatorSet growFadeInFromBottomAnimation = new AnimatorSet(); - growFadeInFromBottomAnimation.playTogether( - ObjectAnimator.ofFloat(view, View.SCALE_X, 0.5f, 1).setDuration(125), - ObjectAnimator.ofFloat(view, View.SCALE_Y, 0.5f, 1).setDuration(125), - ObjectAnimator.ofFloat(view, View.ALPHA, 0, 1).setDuration(75), + private static AnimatorSet createEnterAnimation(View view) { + AnimatorSet animation = new AnimatorSet(); + animation.playTogether( + ObjectAnimator.ofFloat(view, View.ALPHA, 0, 1).setDuration(200), // Make sure that view.x is always fixed throughout the duration of this animation. ObjectAnimator.ofFloat(view, View.X, view.getX(), view.getX())); - growFadeInFromBottomAnimation.setStartDelay(50); - return growFadeInFromBottomAnimation; + animation.setStartDelay(50); + return animation; } /** - * Creates a "shrink and fade out from bottom" animation for the specified view. + * Creates a "disappear" animation for the specified view. * * @param view The view to animate * @param startDelay The start delay of the animation * @param listener The animation listener */ - private static AnimatorSet createShrinkFadeOutFromBottomAnimation( + private static AnimatorSet createExitAnimation( View view, int startDelay, Animator.AnimatorListener listener) { - AnimatorSet shrinkFadeOutFromBottomAnimation = new AnimatorSet(); - shrinkFadeOutFromBottomAnimation.playTogether( - ObjectAnimator.ofFloat(view, View.SCALE_Y, 1, 0.5f).setDuration(125), - ObjectAnimator.ofFloat(view, View.ALPHA, 1, 0).setDuration(75)); - shrinkFadeOutFromBottomAnimation.setStartDelay(startDelay); - shrinkFadeOutFromBottomAnimation.addListener(listener); - return shrinkFadeOutFromBottomAnimation; + AnimatorSet animation = new AnimatorSet(); + animation.playTogether( + ObjectAnimator.ofFloat(view, View.ALPHA, 1, 0).setDuration(200)); + animation.setStartDelay(startDelay); + animation.addListener(listener); + return animation; } private static int getEstimatedToolbarHeight(Context context) { diff --git a/core/jni/android_view_MotionEvent.cpp b/core/jni/android_view_MotionEvent.cpp index 1f28643..eb28c4d 100644 --- a/core/jni/android_view_MotionEvent.cpp +++ b/core/jni/android_view_MotionEvent.cpp @@ -370,7 +370,7 @@ static jlong android_view_MotionEvent_nativeInitialize(JNIEnv* env, jclass clazz env->DeleteLocalRef(pointerCoordsObj); } - event->initialize(deviceId, source, action, flags, edgeFlags, metaState, buttonState, 0, + event->initialize(deviceId, source, action, 0, flags, edgeFlags, metaState, buttonState, xOffset, yOffset, xPrecision, yPrecision, downTimeNanos, eventTimeNanos, pointerCount, pointerProperties, rawPointerCoords); diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 709de9e..0911d42 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1979,6 +1979,10 @@ <permission android:name="android.permission.GRANT_REVOKE_PERMISSIONS" android:protectionLevel="signature" /> + <!-- @hide Allows an application to observe permission changes. --> + <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" + android:protectionLevel="signatureOrSystem" /> + <!-- Allows an application to use SurfaceFlinger's low level features. <p>Not for use by third-party applications. --> <permission android:name="android.permission.ACCESS_SURFACE_FLINGER" diff --git a/core/res/res/drawable-hdpi/ic_fingerprint_light_overlay.png b/core/res/res/drawable-hdpi/ic_fingerprint_light_overlay.png Binary files differdeleted file mode 100644 index 0253c77..0000000 --- a/core/res/res/drawable-hdpi/ic_fingerprint_light_overlay.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/ic_fingerprint_light_overlay.png b/core/res/res/drawable-mdpi/ic_fingerprint_light_overlay.png Binary files differdeleted file mode 100644 index 5a1c61e..0000000 --- a/core/res/res/drawable-mdpi/ic_fingerprint_light_overlay.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/ic_fingerprint_light_overlay.png b/core/res/res/drawable-xhdpi/ic_fingerprint_light_overlay.png Binary files differdeleted file mode 100644 index 5f0c362..0000000 --- a/core/res/res/drawable-xhdpi/ic_fingerprint_light_overlay.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/ic_fingerprint_light_overlay.png b/core/res/res/drawable-xxhdpi/ic_fingerprint_light_overlay.png Binary files differdeleted file mode 100644 index f4cf906..0000000 --- a/core/res/res/drawable-xxhdpi/ic_fingerprint_light_overlay.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/ic_fingerprint_light_overlay.png b/core/res/res/drawable-xxxhdpi/ic_fingerprint_light_overlay.png Binary files differdeleted file mode 100644 index dcdbed9..0000000 --- a/core/res/res/drawable-xxxhdpi/ic_fingerprint_light_overlay.png +++ /dev/null diff --git a/core/res/res/drawable/ic_fingerprint.xml b/core/res/res/drawable/ic_fingerprint.xml new file mode 100644 index 0000000..c19f00f --- /dev/null +++ b/core/res/res/drawable/ic_fingerprint.xml @@ -0,0 +1,37 @@ +<!-- + ~ Copyright (C) 2015 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24.0dp" + android:height="24.0dp" + android:tint="?attr/colorControlNormal" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#ffffff" + android:pathData="M17.5,4.47c-0.08,0.0 -0.16,-0.02 -0.24,-0.06C15.45,3.42 13.88,3.0 12.01,3.0c-1.87,0.0 -3.64,0.47 -5.25,1.4C6.52,4.54 6.22,4.46 6.08,4.22C5.94,3.98 6.02,3.67 6.26,3.54C8.03,2.52 9.96,2.0 12.01,2.0c2.02,0.0 3.79,0.47 5.73,1.53c0.24,0.13 0.33,0.44 0.2,0.68C17.85,4.38 17.68,4.47 17.5,4.47z"/> + <path + android:fillColor="#ffffff" + android:pathData="M3.95,9.72c-0.1,0.0 -0.19,-0.03 -0.28,-0.08C3.44,9.48 3.38,9.17 3.54,8.94c0.94,-1.4 2.14,-2.5 3.56,-3.28c2.99,-1.63 6.82,-1.63 9.81,-0.01c1.42,0.77 2.61,1.87 3.56,3.26c0.15,0.23 0.09,0.54 -0.13,0.69c-0.23,0.16 -0.54,0.09 -0.69,-0.13c-0.85,-1.26 -1.93,-2.24 -3.2,-2.94c-2.7,-1.47 -6.16,-1.46 -8.86,0.01C6.3,7.24 5.22,8.23 4.37,9.5C4.27,9.64 4.11,9.72 3.95,9.72z"/> + <path + android:fillColor="#ffffff" + android:pathData="M9.86,21.79c-0.13,0.0 -0.27,-0.05 -0.36,-0.16c-0.82,-0.87 -1.26,-1.43 -1.9,-2.63c-0.65,-1.23 -1.0,-2.73 -1.0,-4.33c0.0,-2.97 2.42,-5.39 5.39,-5.39s5.39,2.42 5.39,5.39c0.0,0.28 -0.22,0.5 -0.5,0.5s-0.5,-0.22 -0.5,-0.5c0.0,-2.42 -1.97,-4.39 -4.39,-4.39S7.6,12.24 7.6,14.66c0.0,1.44 0.3,2.78 0.88,3.86c0.61,1.15 1.02,1.64 1.75,2.42c0.19,0.2 0.18,0.52 -0.02,0.71C10.11,21.74 9.98,21.79 9.86,21.79z"/> + <path + android:fillColor="#ffffff" + android:pathData="M16.7,19.94c-1.14,0.0 -2.13,-0.3 -2.96,-0.89c-1.41,-1.01 -2.25,-2.65 -2.25,-4.38c0.0,-0.28 0.22,-0.5 0.5,-0.5s0.5,0.22 0.5,0.5c0.0,1.41 0.69,2.75 1.83,3.57c0.66,0.48 1.44,0.71 2.38,0.71c0.23,0.0 0.6,-0.02 0.98,-0.1c0.27,-0.05 0.53,0.13 0.58,0.4c0.05,0.27 -0.13,0.53 -0.4,0.58C17.3,19.93 16.83,19.94 16.7,19.94z"/> + <path + android:fillColor="#ffffff" + android:pathData="M14.76,22.0c-0.05,0.0 -0.09,-0.01 -0.14,-0.02c-1.51,-0.44 -2.51,-1.03 -3.53,-2.11c-1.32,-1.39 -2.05,-3.24 -2.05,-5.21c0.0,-1.62 1.32,-2.94 2.94,-2.94c1.62,0.0 2.94,1.32 2.94,2.94c0.0,1.07 0.87,1.94 1.94,1.94s1.94,-0.87 1.94,-1.94c0.0,-3.77 -3.07,-6.83 -6.83,-6.83c-2.68,0.0 -5.12,1.58 -6.23,4.02c-0.37,0.81 -0.56,1.76 -0.56,2.81c0.0,0.78 0.07,2.01 0.63,3.61c0.09,0.26 -0.04,0.55 -0.3,0.64c-0.26,0.09 -0.55,-0.04 -0.64,-0.3c-0.46,-1.31 -0.69,-2.6 -0.69,-3.95c0.0,-1.2 0.22,-2.28 0.65,-3.23c1.27,-2.8 4.07,-4.61 7.14,-4.61c4.32,0.0 7.83,3.51 7.83,7.83c0.0,1.62 -1.32,2.94 -2.94,2.94c-1.62,0.0 -2.94,-1.32 -2.94,-2.94c0.0,-1.07 -0.87,-1.94 -1.94,-1.94s-1.94,0.87 -1.94,1.94c0.0,1.71 0.63,3.32 1.77,4.52c0.9,0.95 1.74,1.45 3.08,1.84c0.27,0.08 0.42,0.35 0.34,0.62C15.18,21.86 14.98,22.0 14.76,22.0z"/> +</vector> diff --git a/core/res/res/drawable/ic_fingerprint_dark.xml b/core/res/res/drawable/ic_fingerprint_dark.xml deleted file mode 100644 index 6eb6ada..0000000 --- a/core/res/res/drawable/ic_fingerprint_dark.xml +++ /dev/null @@ -1,37 +0,0 @@ -<!-- - ~ Copyright (C) 2015 The Android Open Source Project - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License - --> - -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="32.0dp" - android:height="32.0dp" - android:viewportWidth="32.0" - android:viewportHeight="32.0"> - <path - android:fillColor="?attr/colorControlNormal" - android:pathData="M23.7,5.9c-0.1,0.0 -0.2,0.0 -0.3,-0.1C21.0,4.5 18.6,3.9 16.0,3.9c-2.5,0.0 -4.6,0.6 -6.9,1.9C8.8,6.0 8.3,5.9 8.1,5.5C7.9,5.2 8.0,4.7 8.4,4.5c2.5,-1.4 4.9,-2.1 7.7,-2.1c2.8,0.0 5.4,0.7 8.0,2.1c0.4,0.2 0.5,0.6 0.3,1.0C24.2,5.7 24.0,5.9 23.7,5.9z"/> - <path - android:fillColor="?attr/colorControlNormal" - android:pathData="M5.3,13.2c-0.1,0.0 -0.3,0.0 -0.4,-0.1c-0.3,-0.2 -0.4,-0.7 -0.2,-1.0c1.3,-1.9 2.9,-3.4 4.9,-4.5c4.1,-2.2 9.3,-2.2 13.4,0.0c1.9,1.1 3.6,2.5 4.9,4.4c0.2,0.3 0.1,0.8 -0.2,1.0c-0.3,0.2 -0.8,0.1 -1.0,-0.2c-1.2,-1.7 -2.6,-3.0 -4.3,-4.0c-3.7,-2.0 -8.3,-2.0 -12.0,0.0c-1.7,0.9 -3.2,2.3 -4.3,4.0C5.7,13.1 5.5,13.2 5.3,13.2z"/> - <path - android:fillColor="?attr/colorControlNormal" - android:pathData="M13.3,29.6c-0.2,0.0 -0.4,-0.1 -0.5,-0.2c-1.1,-1.2 -1.7,-2.0 -2.6,-3.6c-0.9,-1.7 -1.4,-3.7 -1.4,-5.9c0.0,-4.1 3.3,-7.4 7.4,-7.4c4.1,0.0 7.4,3.3 7.4,7.4c0.0,0.4 -0.3,0.7 -0.7,0.7s-0.7,-0.3 -0.7,-0.7c0.0,-3.3 -2.7,-5.9 -5.9,-5.9c-3.3,0.0 -5.9,2.7 -5.9,5.9c0.0,2.0 0.4,3.8 1.2,5.2c0.8,1.6 1.4,2.2 2.4,3.3c0.3,0.3 0.3,0.8 0.0,1.0C13.7,29.5 13.5,29.6 13.3,29.6z"/> - <path - android:fillColor="?attr/colorControlNormal" - android:pathData="M22.6,27.1c-1.6,0.0 -2.9,-0.4 -4.1,-1.2c-1.9,-1.4 -3.1,-3.6 -3.1,-6.0c0.0,-0.4 0.3,-0.7 0.7,-0.7s0.7,0.3 0.7,0.7c0.0,1.9 0.9,3.7 2.5,4.8c0.9,0.6 1.9,1.0 3.2,1.0c0.3,0.0 0.8,0.0 1.3,-0.1c0.4,-0.1 0.8,0.2 0.8,0.6c0.1,0.4 -0.2,0.8 -0.6,0.8C23.4,27.1 22.8,27.1 22.6,27.1z"/> - <path - android:fillColor="?attr/colorControlNormal" - android:pathData="M20.0,29.9c-0.1,0.0 -0.1,0.0 -0.2,0.0c-2.1,-0.6 -3.4,-1.4 -4.8,-2.9c-1.8,-1.9 -2.8,-4.4 -2.8,-7.1c0.0,-2.2 1.8,-4.1 4.1,-4.1c2.2,0.0 4.1,1.8 4.1,4.1c0.0,1.4 1.2,2.6 2.6,2.6c1.4,0.0 2.6,-1.2 2.6,-2.6c0.0,-5.1 -4.2,-9.3 -9.3,-9.3c-3.6,0.0 -6.9,2.1 -8.4,5.4C7.3,17.1 7.0,18.4 7.0,19.8c0.0,1.1 0.1,2.7 0.9,4.9c0.1,0.4 -0.1,0.8 -0.4,0.9c-0.4,0.1 -0.8,-0.1 -0.9,-0.4c-0.6,-1.8 -0.9,-3.6 -0.9,-5.4c0.0,-1.6 0.3,-3.1 0.9,-4.4c1.7,-3.8 5.6,-6.3 9.8,-6.3c5.9,0.0 10.7,4.8 10.7,10.7c0.0,2.2 -1.8,4.1 -4.1,4.1s-4.0,-1.8 -4.0,-4.1c0.0,-1.4 -1.2,-2.6 -2.6,-2.6c-1.4,0.0 -2.6,1.2 -2.6,2.6c0.0,2.3 0.9,4.5 2.4,6.1c1.2,1.3 2.4,2.0 4.2,2.5c0.4,0.1 0.6,0.5 0.5,0.9C20.6,29.7 20.3,29.9 20.0,29.9z"/> -</vector> diff --git a/core/res/res/drawable/ic_fingerprint_light.xml b/core/res/res/drawable/ic_fingerprint_light.xml deleted file mode 100644 index 223d16b..0000000 --- a/core/res/res/drawable/ic_fingerprint_light.xml +++ /dev/null @@ -1,28 +0,0 @@ -<!-- - Copyright (C) 2015 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item> - <shape android:shape="oval"> - <solid android:color="?attr/colorAccent"/> - <size - android:width="40dp" - android:height="40dp"/> - </shape> - </item> - <item> - <bitmap android:src="@drawable/ic_fingerprint_light_overlay"/> - </item> -</layer-list> diff --git a/core/res/res/layout/seekbar_dialog.xml b/core/res/res/layout/preference_dialog_seekbar.xml index 84352a5..4e366c4 100644 --- a/core/res/res/layout/seekbar_dialog.xml +++ b/core/res/res/layout/preference_dialog_seekbar.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project +<!-- Copyright (C) 2015 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,20 +15,21 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center_horizontal" + android:orientation="vertical"> + + <ImageView + android:id="@+id/icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingTop="20dp" /> + + <SeekBar + android:id="@+id/seekbar" android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" - android:gravity="center_horizontal"> - - <ImageView android:id="@+id/icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="20dip" /> - - <SeekBar android:id="@+id/seekbar" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:padding="20dip" /> - + android:layout_height="wrap_content" + android:padding="20dp" /> + </LinearLayout> - diff --git a/core/res/res/layout/preference_dialog_seekbar_material.xml b/core/res/res/layout/preference_dialog_seekbar_material.xml new file mode 100644 index 0000000..a98a995 --- /dev/null +++ b/core/res/res/layout/preference_dialog_seekbar_material.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2015 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center_horizontal" + android:orientation="vertical"> + + <ImageView + android:id="@+id/icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingTop="?attr/dialogPreferredPadding" /> + + <SeekBar + android:id="@+id/seekbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingTop="?attr/dialogPreferredPadding" + android:paddingStart="?attr/dialogPreferredPadding" + android:paddingEnd="?attr/dialogPreferredPadding" /> + +</LinearLayout> diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index 796bce6..9012dc0 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Werkprofiel is uitgevee"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Werkprofiel is uitgevee weens ontbrekende administrasieprogram."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Die werkprofiel se administrasieprogram ontbreek of is korrup. Gevolglik is jou werkprofiel en verwante data uitgevee. Kontak jou administrateur vir bystand."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Jou toestel sal uitgevee word"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Die administrasieprogram kort komponente of is korrup en kan nie gebruik word nie. Jou toestel sal nou uitgevee word. Kontak jou administrateur vir bystand."</string> <string name="me" msgid="6545696007631404292">"Ek"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Luitoestel af"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Luitoestel vibreer"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Luitoestel aan"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Berei voor vir opdatering"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Verwerk tans die opdateringpakket …"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Sit tans af…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Jou tablet gaan nou afskakel."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Jou TV sal afskakel."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakte"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"gaan by jou kontakte in"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Ligging"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"toegang tot jou ligging verkry"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Jou sosiale inligting"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direkte toegang tot inligting oor jou kontakte en sosiale verbindings."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalender"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Dit laat die houer toe om aan die top-koppelvlak van \'n diensverskaffer-boodskapdiens te bind. Behoort nooit vir gewone programme nodig te wees nie."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"verbind aan diensverskafferdienste"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Laat die houer toe om aan diensverskafferdienste te verbind. Behoort nooit vir normale programme nodig te wees nie."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"verkry toegang tot Moenie steur nie"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Laat die program toe om Moenie steur nie-opstelling te lees en skryf."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Stel wagwoordreëls"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Beheer die lengte en die karakters wat in skermslotwagwoorde en -PIN\'e toegelaat word."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitor pogings om skerm te ontsluit"</string> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index 14cc1b8..ee1b7bb 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"የስራ መገለጫ ተሰርዟል"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"በጎደለ የአስተዳዳሪ መተግበሪያ ምክንያት የስራ መገለጫ ተሰርዟል።"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"የስራ መገለጫ አስተዳዳሪ መተግበሪያው ወይም ይጎድላል ወይም ተበላሽቷል። በዚህ ምክንያት የስራ መገለጫዎ እና ተዛማጅ ውሂብ ተሰርዘዋል። እርዳታን ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"የእርስዎ መሣሪያ ይደመሰሳል"</string> <string name="factory_reset_message" msgid="4905025204141900666">"የአስተዳዳሪ መተግበሪያው ክፍሎች ይጎድሉታል ወይም ተበላሽቷል፣ እና ስራ ላይ መዋል አይችልም። የእርስዎ መሣሪያ አሁን ይደመሰሳል። እርዳታ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string> <string name="me" msgid="6545696007631404292">"እኔ"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"መጥሪያ ጠፍቷል"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"ነዛሪ መጥሪያ"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"መጥሪያ በርቷል"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"ለዝማኔ አዘጋጅ"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"የዝማኔ ጥቅልን በማስሄድ ላይ…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"በመዝጋት ላይ..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"ጡባዊዎ ይዘጋል።"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"የእርስዎ ቴሌቪዥን ይዘጋል።"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"ዕውቂያዎች"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"የእርስዎ እውቂያዎች ላይ ይድረሱባቸው"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"መገኛ አካባቢ"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"የእርስዎን መገኛ አካባቢ ይድረስበት"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ማህበራዊ መረጃዎ"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"ወደ የእውቂያዎችህና የማህበራዊ ግንኙነቶችህ መረጃ ቀጥተኛ መዳረሻ።"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ቀን መቁጠሪያ"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ያዢው በሞባይል አገልግሎት ሰጪ የመልዕክት አላላክ አገልግሎት ላይ ከፍተኛውን ደረጃ በይነ ገጽ እንዲይዝ ይፈቅድለታል። ለመደበኛ መተግበሪያ በጭራሽ አያስፈልግም።"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"ከአገልግሎት አቅራቢ አገልግሎቶች ጋር እሰር"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"ያዢው የአገልግሎት አቅራቢ አገልግሎቶችን እንዲያስር ይፈቅድለታል። ለመደበኛ መተግበሪያዎች በጭራሽ ሊያስፈልግ አይገባም።"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"አትረብሽን ድረስበት"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"መተግበሪያው የአትረብሽ ውቅረትን እንዲያነብብ እና እንዲጸፍ ይፈቅዳል።"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"የይለፍ ቃል ደንቦች አዘጋጅ"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"በማያ ገጽ መቆለፊያ የይለፍ ቃሎች እና ፒኖች ውስጥ የሚፈቀዱ ቁምፊዎችን እና ርዝመታቸውን ተቆጣጠር።"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"የማሳያ-ክፈት ሙከራዎችን አሳይ"</string> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 5376016..e60de01 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -176,6 +176,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"تم حذف الملف الشخصي للعمل."</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"تم حذف الملف الشخصي للعمل نتيجة فقد تطبيق المشرف."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"تطبيق المشرف للملف الشخصي للعمل مفقود أو تالف لذا تم حذف الملف والبيانات ذات الصلة. اتصل بالمشرف للحصول على المساعدة."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"سيتم محو بيانات جهازك."</string> <string name="factory_reset_message" msgid="4905025204141900666">"تطبيق المشرف فاقد لمكونات أو تالف ويتعذر استخدامه. سيتم محو بيانات جهازك الآن. اتصل بالمشرف للحصول على المساعدة."</string> <string name="me" msgid="6545696007631404292">"أنا"</string> @@ -190,8 +192,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"إيقاف الرنين"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"اهتزاز الرنين"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"تشغيل الرنين"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"التحضير للتحديث"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"جارٍ معالجة حزم التحديث…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"جارٍ إيقاف التشغيل..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"سيتم إيقاف تشغيل الجهاز اللوحي."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"سيتم إيقاف التلفزيون."</string> @@ -228,7 +240,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"جهات الاتصال"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"الوصول إلى جهات اتصالك"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"الموقع"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"الدخول إلى موقعك"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"المعلومات الاجتماعية"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"الدخول المباشر إلى معلومات عن جهات الاتصال والاتصالات الاجتماعية."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"التقويم"</string> @@ -515,6 +528,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"يسمح لحامله بالالتزام بواجهة المستوى العالي لخدمة المراسلة التابعة لمشغل شبكة الجوَّال. ومن المفترض عدم الحاجة إليه مع التطبيقات العادية."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"الالتزام بخدمات مشغل شبكة الجوال"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"للسماح للمالك بالالتزام بخدمات مشغل شبكة الجوال. لن تكون هناك حاجة إليه مطلقًا مع التطبيقات العادية."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"الوصول إلى إعداد \"الرجاء عدم الإزعاج\""</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"للسماح للتطبيق بقراءة تهيئة \"الرجاء عدم الإزعاج\" وكتابتها."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"تعيين قواعد كلمة المرور"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"للتحكم في الطول والأحرف المسموح بها في كلمات المرور وأرقام التعريف الشخصي في قفل الشاشة."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"مراقبة محاولات إلغاء قفل الشاشة"</string> diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml index b61ac01..0a07f7d 100644 --- a/core/res/res/values-az-rAZ/strings.xml +++ b/core/res/res/values-az-rAZ/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"İş profili silindi"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"İnzibatçı proqramı olmadığından iş profili silindi."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"İnzibatçı proqramın iş profili ya yoxdur, ya da korlanıb. Nəticədə iş profiliniz və onunla bağlı məlumatlar silinib. Yardım üçün inzibatçınızla əlaqə saxlayın."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Cihazınız təmizlənəcəkdir"</string> <string name="factory_reset_message" msgid="4905025204141900666">"İnzibatçı proqramında komponentlər yoxdur və ya korlanıb və istifadə oluna bilməz. Cihazınız indi təmizlənəcəkdir. Yardım üçün inzibatçınızla əlaqə saxlayın."</string> <string name="me" msgid="6545696007631404292">"Mən"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Zəng deaktivdir"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Zəng vibrasiyadadır"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Zəngvuran açıqdır"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Güncəlləmə üçün hazırlayın"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Güncəlləmə paketi icra olunur..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Söndürülür..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Planşetiniz sönəcək."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"TV-niz sönəcəkdir."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktlar"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"kontaktlarınıza daxil olun"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Yer"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"məkananınıza daxil olun"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Sosial məlumatınız"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Kontaktlarınız və sosial əlaqələriniz haqqında məlumata birbaşa giriş."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Təqvim"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Sahibə operatorun mesajlaşma xidmətinin yüksək səviyyəli interfeysini əlaqələndirmək imkanı verir. Adi proqramlar üçün heç vaxt lazım olmur."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"operator xidmətləri ilə əlaqələndirin"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Sahibinə operator xidmətləri ilə əlaqələndirməyə icazə verir. Normal tətbiqlər üçün heç vaxt lazım olmamalıdır."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"giriş Narahat etmə"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Oxumaq və konfiqurasiya Narahat etməyin yazmaq imkan verir."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Parol qaydalarını təyin edin"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ekran kilidinin parolu və PINlərində icazə verilən uzunluq və simvollara nəzarət edin."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Ekran kilidi cəhdlərini monitorinq et"</string> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index ffe749c..26ad9e5 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Служебният потребителски профил е изтрит"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Служебният потребителски профил е изтрит поради липса на администраторско приложение."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Администраторското приложение на служебния потребителски профил липсва или е повредено. В резултат на това той и свързаните с него данни са изтрити. За съдействие се свържете с администратора си."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Данните на устройството ви ще бъдат изтрити"</string> <string name="factory_reset_message" msgid="4905025204141900666">"В администраторското приложение липсват компоненти или то е невалидно и не може да се използва. Сега данните на устройството ви ще бъдат изтрити. Свържете се с администратора си за съдействие."</string> <string name="me" msgid="6545696007631404292">"Аз"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Звъненето е изключено"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Вибрира при звънене"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Звъненето е включено"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Подготвяне за актуализация"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Пакетът с актуализацията се обработва…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Изключва се..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Таблетът ви ще се изключи."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Телевизорът ви ще се изключи."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Контакти"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"достъп до контактите ви"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Местоположение"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"достъп до местоположението ви"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Социалната ви информация"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Осъществяване на директен достъп до информация за контактите и социалните ви връзки."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Календар"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Достъп до наличните профили."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"четене на емисиите с абонамент"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Разрешава на приложението да получи подробности за текущо синхронизираните емисии."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"изпращане и преглед на SMS съобщения"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Разрешава на приложението да изпраща SMS съобщения. Това може да доведе до неочаквано таксуване. Злонамерените приложения могат да ви въвлекат в разходи, като изпращат съобщения без потвърждение от ваша страна."</string> <string name="permlab_readSms" msgid="8745086572213270480">"четене на текстовите ви съобщения (SMS или MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Разрешава на приложението да чете SMS съобщенията, съхранени на таблета или SIM картата ви. Това разрешение му позволява да чете всички съобщения независимо от съдържанието или поверителността."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Разрешава на притежателя да се свърже към интерфейса от най-високото ниво на услуга за съобщения от оператор. Нормалните приложения би трябвало никога да не се нуждаят от това."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"свързване с услуги на оператор"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Разрешава на собственика да се свързва с услуги на оператор. Нормалните приложения би трябвало никога да не се нуждаят от това."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"достъп до „Не безпокойте“"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Предоставя на приложението достъп за четене и запис до конфигурацията на „Не безпокойте“."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Задаване на правила за паролата"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролира дължината и разрешените знаци за паролите и ПИН кодовете за заключване на екрана."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Наблюдаване на опитите за отключване на екрана"</string> diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml index f51de3d..2991769 100644 --- a/core/res/res/values-bn-rBD/strings.xml +++ b/core/res/res/values-bn-rBD/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"কাজের প্রোফাইল মুছে ফেলা হয়েছে"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"প্রশাসক অ্যাপ্লিকেশান অনুপস্থিত থাকায় কাজের প্রোফাইল মুছে ফেলা হয়েছে৷"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"কাজের প্রোফাইলের প্রশাসক অ্যাপ্লিকেশান হয় অনুপস্থিত বা ক্ষতিগ্রস্ত হয়েছে৷ এর ফলস্বরূপ আপনার কাজের প্রোফাইল এবং সম্পর্কিত ডেটা মুছে দেওয়া হয়েছে৷ সহায়তার জন্য আপনার প্রশাসকের সাথে যোগাযোগ করুন৷"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"আপনার ডিভাইসটি মুছে ফেলা হবে"</string> <string name="factory_reset_message" msgid="4905025204141900666">"প্রশাসক অ্যাপকেশানটিতে উপাদান অনুপস্থিত বা ক্ষতিগ্রস্ত হয়েছে এবং ব্যবহার করা যাবে না৷ আপনার ডিভাইস এখন মুছে ফেলা হবে৷ সহায়তার জন্য আপনার প্রশাসকের সাথে যোগাযোগ করুন৷"</string> <string name="me" msgid="6545696007631404292">"আমাকে"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"রিং বাজার শব্দ বন্ধ করা আছে"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"রিং বাজার সাথে স্পন্দিত করুন"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"রিং বাজার শব্দ চালু করা আছে"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"আপডেট করার জন্য প্রস্তুত"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"আপডেট প্যাকেজটি প্রক্রিয়া করা হচ্ছে..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"বন্ধ হচ্ছে…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"আপনার ট্যাবলেট বন্ধ হবে৷"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"আপনার টিভি বন্ধ হবে৷"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"পরিচিতি"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"আপনার পরিচিতিগুলিতে অ্যাক্সেস করুন"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"অবস্থান"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"আপনার অবস্থান অ্যাক্সেস করুন"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"আপনার সামাজিক তথ্য"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"আপনার পরিচিতিগুলি এবং সামাজিক পরিচিতিগুলি সম্পর্কিত তথ্যে সরাসরি অ্যাক্সেস৷"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ক্যালেন্ডার"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"উপলব্ধ অ্যাকাউন্টগুলি অ্যাক্সেস করে৷"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"গ্রাহক হিসাবে নেওয়া ফিডগুলি পড়ে"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"অ্যাপ্লিকেশানকে বর্তমানে সিঙ্ক করা ফিডগুলির সম্পর্কে বিবরণ পেতে দেয়৷"</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS বার্তাগুলি পাঠান এবং দেখুন"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"অ্যাপ্লিকেশানটিকে SMS বার্তাগুলি পাঠাতে অনুমতি দেয়৷ এর জন্য অপ্রত্যাশিত চার্জ কাটা হতে পারে৷ ক্ষতিকারক অ্যাপ্লিকেশানগুলি আপনার নিশ্চিতকরণ ছাড়া বার্তা পাঠানোর মাধ্যমে আপনাকে অর্থ চার্জ করতে পারে৷"</string> <string name="permlab_readSms" msgid="8745086572213270480">"আপনার পাঠ্য বার্তা পড়ুন (SMS বা MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"অ্যাপ্লিকেশানটিকে আপনার ট্যাবলেটে বা আপনার সিম কার্ডে সংরক্ষিত SMS বার্তাগুলি পড়ার অনুমতি দেয়৷ এটি অ্যাপ্লিকেশানটিকে সামগ্রী বা গোপনীয়তার সমস্ত SMS বার্তা নির্বিশেষে পড়ার অনুমতি দেয়৷"</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ধারককে, একটি ক্যারিয়ার বার্তাপ্রেরণ পরিষেবার উচ্চ স্তরের ইন্টারফেসে জুড়তে অনুমতি দেয়৷ সধারণ অ্যাপ্লিকেশানগুলির জন্য কখনই প্রয়োজন হয় না৷"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"পরিষেবা প্রদানকারীর সাথে যুক্ত হন"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"কোনো পরিষেবা প্রদানকারীর সাথে যুক্ত হতে ধারককে অনুমতি দিন। সাধারণ অ্যাপ্লিকেশানের জন্য প্র্রয়োজন হয় না।"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"\'বিরক্ত করবেন না\' -তে অ্যাক্সেস"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"অ্যাপটিকে \'বিরক্ত করবেন না\' কনফিগারেশন পড়া এবং লেখার অনুমতি দেয়।"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"পাসওয়ার্ড নিয়মগুলি সেট করে"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"স্ক্রীন লক করার পাসওয়ার্ডগুলিতে অনুমতিপ্রাপ্ত অক্ষর এবং দৈর্ঘ্য নিয়ন্ত্রণ করে৷"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"স্ক্রীণ আনলক করার প্রচেষ্টাগুলি নিরীক্ষণ করে"</string> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index 055ad96..60c220d 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"S\'ha suprimit el perfil professional"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"S\'ha suprimit el perfil professional perquè no s\'ha detectat cap aplicació d\'administració."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"L\'aplicació d\'administració del perfil professional està malmesa o no es detecta. Com a conseqüència, el perfil professional i les dades relacionades s\'han suprimit. Contacta amb l\'administrador per obtenir ajuda."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"El contingut del dispositiu s\'esborrarà"</string> <string name="factory_reset_message" msgid="4905025204141900666">"L\'aplicació d\'administració està malmesa o hi falten components, i no es pot fer servir. El contingut del dispositiu s\'esborrarà. Contacta amb l\'administrador per obtenir ajuda."</string> <string name="me" msgid="6545696007631404292">"Mi"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Timbre desactivat"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Mode vibració"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Timbre activat"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Preparació per a l\'actualització"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"S\'està processant el paquet d\'actualització…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"S\'està apagant..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"La tauleta s\'apagarà."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"El televisor s\'apagarà."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contactes"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"accedir als contactes"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Ubicació"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"accedir a la ubicació"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Informació social"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Accés directe a informació sobre els teus contactes i sobre les teves connexions socials."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendari"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Accedeix als comptes disponibles."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"llegir els feeds als quals esteu subscrit"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permet que l\'aplicació obtingui detalls sobre els feeds sincronitzats actualment."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"envia i llegeix missatges SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permet que l\'aplicació enviï missatges SMS. Aquesta acció pot provocar càrrecs inesperats. Les aplicacions malicioses poden enviar missatges sense la teva confirmació, cosa que et pot fer gastar diners."</string> <string name="permlab_readSms" msgid="8745086572213270480">"lectura dels missatges de text (SMS o MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permet que l\'aplicació llegeixi missatges SMS emmagatzemats a la tauleta o a la targeta SIM. Això permet que l\'aplicació llegeixi tots els missatges SMS, independentment del contingut o de la confidencialitat."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permet que el propietari la pugui vincular a la interfície principal del servei de missatgeria d\'un operador. No s\'hauria de necessitar mai per a les aplicacions normals."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"vincular-la a serveis de l\'operador de telefonia mòbil"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permet que el propietari la vinculi a serveis de l\'operador de telefonia mòbil. No s\'hauria de necessitar mai per a les aplicacions normals."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"accedir a No molesteu"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permet que l\'aplicació llegeixi la configuració No molesteu i hi escrigui."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Definir les normes de contrasenya"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Permet controlar la longitud i el nombre de caràcters permesos a les contrasenyes i als PIN del bloqueig de pantalla."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Controlar els intents de desbloqueig de pantalla"</string> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index 22efe16..7887fce 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Pracovní profil byl smazán."</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Pracovní profil byl smazán, protože není k dispozici aplikace pro správu."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Aplikace pro správu pracovního profilu chybí nebo je poškozena. Váš pracovní profil a související data proto byla smazána. Kontaktujte svého administrátora a požádejte jej o pomoc."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Zařízení bude vymazáno"</string> <string name="factory_reset_message" msgid="4905025204141900666">"V aplikaci pro správu chybí některé součásti nebo je poškozená, a proto ji nelze použít. Zařízení nyní bude vymazáno. Kontaktujte svého administrátora a požádejte jej o pomoc."</string> <string name="me" msgid="6545696007631404292">"Já"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Vyzvánění vypnuto"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibrační vyzvánění"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Vyzvánění zapnuto"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Příprava na aktualizaci"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Zpracovávání balíčku aktualizací…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Vypínání..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tablet se vypne."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televize se vypne."</string> @@ -207,7 +219,7 @@ <string name="global_action_power_off" msgid="4471879440839879722">"Vypnout"</string> <string name="global_action_bug_report" msgid="7934010578922304799">"Hlášení chyb"</string> <string name="bugreport_title" msgid="2667494803742548533">"Vytvořit chybové hlášení"</string> - <string name="bugreport_message" msgid="398447048750350456">"Shromažďuje informace o aktuálním stavu zařízení. Tyto informace je následně možné poslat v e-mailové zprávě, chvíli však potrvá, než bude hlášení o chybě připraveno k odeslání. Buďte prosím trpěliví."</string> + <string name="bugreport_message" msgid="398447048750350456">"Shromažďuje informace o aktuálním stavu zařízení. Tyto informace je následně možné poslat v e-mailové zprávě, chvíli však potrvá, než bude hlášení o chybě připraveno k odeslání. Buďte prosím trpěliví."</string> <string name="global_action_toggle_silent_mode" msgid="8219525344246810925">"Tichý režim"</string> <string name="global_action_silent_mode_on_status" msgid="3289841937003758806">"Zvuk je VYPNUTÝ."</string> <string name="global_action_silent_mode_off_status" msgid="1506046579177066419">"Zvuk je zapnutý"</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakty"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"přístup ke kontaktům"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Poloha"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"přístup k poloze"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Informace o vašich kontaktech a sociálních sítích"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Přímý přístup k informacím o vašich kontaktech a sociálních propojeních"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendář"</string> @@ -275,8 +288,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Přístup k dostupným účtům."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"čtení zdrojů přihlášených k odběru"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Umožňuje aplikaci získat podrobnosti o aktuálně synchronizovaných zdrojích."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"odesílání a zobrazení zpráv SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Umožňuje aplikaci odesílat zprávy SMS. Může to mít za následek účtování neočekávaných poplatků. Škodlivé aplikace vás mohou připravit o peníze odesíláním zpráv bez vašeho svolení."</string> <string name="permlab_readSms" msgid="8745086572213270480">"čtení textových zpráv (SMS nebo MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Umožňuje aplikaci číst zprávy SMS uložené v tabletu nebo na SIM kartě.Toto oprávnění umožňuje aplikaci číst zprávy SMS bez ohledu na jejich obsah nebo důvěrnost."</string> @@ -514,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Umožňuje držiteli navázat se na nejvyšší úroveň rozhraní služby zasílání zpráv prostřednictvím operátora. Běžné aplikace by toto oprávnění neměly nikdy potřebovat."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"navázat se na služby operátora"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Umožňuje držiteli oprávnění navázat se na služby operátora. Běžné aplikace by toto oprávnění neměly nikdy požadovat."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"přístup k režimu Nerušit"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Umožňuje aplikaci číst a zapisovat konfiguraci režimu Nerušit."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Nastavit pravidla pro heslo"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ovládání délky a znaků povolených v heslech a kódech PIN zámku obrazovky."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Sledovat pokusy o odemčení obrazovky"</string> @@ -1036,7 +1050,7 @@ <string name="sim_added_title" msgid="3719670512889674693">"SIM karta přidána."</string> <string name="sim_added_message" msgid="7797975656153714319">"Mobilní síť bude přístupná po restartu zařízení."</string> <string name="sim_restart_button" msgid="4722407842815232347">"Restartovat"</string> - <string name="time_picker_dialog_title" msgid="8349362623068819295">"Nastavení času"</string> + <string name="time_picker_dialog_title" msgid="8349362623068819295">"Nastavit čas"</string> <string name="date_picker_dialog_title" msgid="5879450659453782278">"Nastavení data"</string> <string name="date_time_set" msgid="5777075614321087758">"Nastavit"</string> <string name="date_time_done" msgid="2507683751759308828">"Hotovo"</string> @@ -1101,7 +1115,7 @@ <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"Neodebírat"</string> <string name="ext_media_init_action" msgid="8317198948634872507">"Nastavení"</string> <string name="ext_media_unmount_action" msgid="1121883233103278199">"Odpojit"</string> - <string name="ext_media_browse_action" msgid="8322172381028546087">"Prozkoumat"</string> + <string name="ext_media_browse_action" msgid="8322172381028546087">"Otevřít"</string> <string name="ext_media_missing_title" msgid="620980315821543904">"<xliff:g id="NAME">%s</xliff:g> chybí"</string> <string name="ext_media_missing_message" msgid="5761133583368750174">"Znovu toto zařízení vložte"</string> <string name="ext_media_move_specific_title" msgid="1471100343872375842">"Přesouvání aplikace <xliff:g id="NAME">%s</xliff:g>"</string> @@ -1158,7 +1172,7 @@ <string name="submit" msgid="1602335572089911941">"Odeslat"</string> <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Aktivován režim V autě"</string> <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"Dotykem ukončíte režim V autě."</string> - <string name="tethered_notification_title" msgid="3146694234398202601">"Je aktivní tethering nebo hotspot"</string> + <string name="tethered_notification_title" msgid="3146694234398202601">"Sdílené připojení nebo hotspot je aktivní."</string> <string name="tethered_notification_message" msgid="6857031760103062982">"Dotykem nastavíte."</string> <string name="back_button_label" msgid="2300470004503343439">"Zpět"</string> <string name="next_button_label" msgid="1080555104677992408">"Další"</string> @@ -1483,7 +1497,7 @@ <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Aplikace je připnutá: Odepnutí v tomto zařízení není povoleno."</string> <string name="lock_to_app_start" msgid="6643342070839862795">"Obrazovka připnuta"</string> <string name="lock_to_app_exit" msgid="8598219838213787430">"Obrazovka uvolněna"</string> - <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Před uvolněním požádat o kód PIN"</string> + <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Před uvolněním požádat o PIN"</string> <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Před uvolněním požádat o bezpečnostní gesto"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Před uvolněním požádat o heslo"</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"Nainstalováno administrátorem"</string> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index fc6957e..eabefea 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -23,7 +23,7 @@ <string name="byteShort" msgid="8340973892742019101">"b"</string> <string name="kilobyteShort" msgid="5973789783504771878">"Kb"</string> <string name="megabyteShort" msgid="6355851576770428922">"Mb"</string> - <string name="gigabyteShort" msgid="3259882455212193214">"Gb"</string> + <string name="gigabyteShort" msgid="3259882455212193214">"GB"</string> <string name="terabyteShort" msgid="231613018159186962">"Tb"</string> <string name="petabyteShort" msgid="5637816680144990219">"Pb"</string> <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string> @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Arbejdsprofilen blev slettet"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Arbejdsprofilen blev slettet, fordi der mangler en administrationsapp."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Administrationsappen til arbejdsprofilen mangler eller er beskadiget. Derfor er din arbejdsprofil og dine relaterede data blevet slettet. Kontakt din administrator for at få hjælp."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Enheden slettes"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Administrationsappen mangler komponenter eller er beskadiget og kan ikke bruges. Enheden vil nu blive slettet. Kontakt din administrator for at få hjælp."</string> <string name="me" msgid="6545696007631404292">"Mig"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Ringeren er deaktiveret"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Ringervibrering"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Ringeren er aktiveret"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Gør klar til opdatering"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Behandler opdateringspakken…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Lukker ned..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Din tablet slukkes nu."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Dit tv vil lukke ned."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktpersoner"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"have adgang til dine kontaktpersoner"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Placering"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"få adgang til din placering"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Dine sociale oplysninger"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direkte adgang til oplysninger om dine kontaktpersoner og sociale forbindelser."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalender"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Få adgang til de tilgængelige konti."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"læse feeds, jeg abonnerer på"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Tillader, at appen kan hente oplysninger om de feeds, der synkroniseres."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"Send og se sms-beskeder"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Tillader, at appen kan sende sms-beskeder. Dette kan resultere i uventede opkrævninger. Skadelige apps kan koste dig penge ved at sende beskeder uden din bekræftelse."</string> <string name="permlab_readSms" msgid="8745086572213270480">"læse dine tekstbeskeder (sms eller mms)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Tillader, at appen kan læse de sms-beskeder, der er gemt på din tablet eller dit SIM-kort. Med denne tilladelse kan appen læse alle sms-beskeder, uanset indhold eller fortrolighed."</string> @@ -512,7 +524,9 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Dette giver indehaveren mulighed for at knytte sig til det øverste grænsefladeniveau for et mobilselskabs beskedtjeneste. Dette bør ikke være nødvendigt i normale apps."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"knytte til tjenester fra mobilselskabet"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Tillader, at brugeren knytter sig til tjenester fra mobilselskabet. Dette bør aldrig være nødvendigt for almindelige apps."</string> - <string name="policylab_limitPassword" msgid="4497420728857585791">"Indstil regler for adgangskode"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Adgang til Vil ikke forstyrres"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Giver appen tilladelse til at læse og skrive konfigurationen af Vil ikke forstyrres."</string> + <string name="policylab_limitPassword" msgid="4497420728857585791">"Angiv regler for adgangskoder"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrollér længden samt tilladte tegn i adgangskoder og pinkoder til skærmlåsen."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Overvåg forsøg på oplåsning af skærm"</string> <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Overvåg antallet af forkert indtastede adgangskoder, når du låser skærmen op, og lås din tablet, eller slet alle data i den, hvis der er indtastet for mange forkerte adgangskoder."</string> @@ -522,7 +536,7 @@ <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Registrer antallet af forkerte adgangskoder, der indtastes ved oplåsning af skærmen, og lås tv-adgangen, eller slet alle brugerens data, hvis adgangskoden tastes forkert for mange gange."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Registrer antallet af forkerte adgangskoder, der indtastes ved oplåsning af skærmen, og lås telefonen, eller slet alle brugerens data, hvis adgangskoden tastes forkert for mange gange."</string> <string name="policylab_resetPassword" msgid="4934707632423915395">"Skift skærmlås"</string> - <string name="policydesc_resetPassword" msgid="1278323891710619128">"Skift skærmlås."</string> + <string name="policydesc_resetPassword" msgid="1278323891710619128">"Skifte skærmlås"</string> <string name="policylab_forceLock" msgid="2274085384704248431">"Låse skærmen"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrollerer, hvordan og hvornår skærmen låses."</string> <string name="policylab_wipeData" msgid="3910545446758639713">"Slette alle data"</string> @@ -951,7 +965,7 @@ <string name="dump_heap_text" msgid="4809417337240334941">"Processen <xliff:g id="PROC">%1$s</xliff:g> har overskredet sin proceshukommelsesgrænse på <xliff:g id="SIZE">%2$s</xliff:g>. En heap dump er tilgængelig og kan deles med udvikleren. Vær forsigtig: Denne heap dump kan indeholde dine personlige oplysninger, som appen har adgang til."</string> <string name="sendText" msgid="5209874571959469142">"Vælg en handling for teksten"</string> <string name="volume_ringtone" msgid="6885421406845734650">"Lydstyrke for opkald"</string> - <string name="volume_music" msgid="5421651157138628171">"Lydstyrke for medier"</string> + <string name="volume_music" msgid="5421651157138628171">"Medielydstyrke"</string> <string name="volume_music_hint_playing_through_bluetooth" msgid="9165984379394601533">"Afspilning via Bluetooth"</string> <string name="volume_music_hint_silent_ringtone_selected" msgid="8310739960973156272">"Lydløs ringetone er angivet"</string> <string name="volume_call" msgid="3941680041282788711">"Lydstyrke for opkald"</string> @@ -962,7 +976,7 @@ <string name="volume_icon_description_bluetooth" msgid="6538894177255964340">"Lydstyrke for bluetooth"</string> <string name="volume_icon_description_ringer" msgid="3326003847006162496">"Lydstyrke for ringetone"</string> <string name="volume_icon_description_incall" msgid="8890073218154543397">"Lydstyrke for opkald"</string> - <string name="volume_icon_description_media" msgid="4217311719665194215">"Lydstyrke for medier"</string> + <string name="volume_icon_description_media" msgid="4217311719665194215">"Medielydstyrke"</string> <string name="volume_icon_description_notification" msgid="7044986546477282274">"Lydstyrke for meddelelser"</string> <string name="ringtone_default" msgid="3789758980357696936">"Standardringetone"</string> <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Standardringetone (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> @@ -1506,7 +1520,7 @@ </plurals> <string name="zen_mode_until" msgid="7336308492289875088">"Indtil <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string> <string name="zen_mode_forever" msgid="7420011936770086993">"Indtil du slår denne indstilling fra"</string> - <string name="zen_mode_forever_dnd" msgid="3792132696572189081">"Indtil du slår \"Forstyr ikke\" fra"</string> + <string name="zen_mode_forever_dnd" msgid="3792132696572189081">"Indtil du slår \"Vil ikke forstyrres\" fra"</string> <string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string> <string name="toolbar_collapse_description" msgid="2821479483960330739">"Skjul"</string> <string name="zen_mode_feature_name" msgid="5254089399895895004">"Vil ikke forstyrres"</string> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index 2875932..bfe5540 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Arbeitsprofil gelöscht"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Arbeitsprofil aufgrund fehlender Admin-App gelöscht"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Die Admin-App für das Arbeitsprofil fehlt oder ist beschädigt. Daher wurden Ihr Arbeitsprofil und alle zugehörigen Daten gelöscht. Wenden Sie sich für weitere Hilfe an Ihren Administrator."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Die Daten auf Ihrem Gerät werden gelöscht."</string> <string name="factory_reset_message" msgid="4905025204141900666">"Die Admin-App kann nicht verwendet werden, da sie beschädigt wurde oder Komponenten fehlen. Die Daten auf Ihrem Gerät werden nun gelöscht. Wenden Sie sich für weitere Hilfe an Ihren Administrator."</string> <string name="me" msgid="6545696007631404292">"Eigene"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Klingelton aus"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Klingeltonmodus \"Vibration\""</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Klingelton ein"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Für Update vorbereiten"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Updatepaket wird verarbeitet…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Wird heruntergefahren..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Ihr Tablet wird heruntergefahren."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Ihr Fernseher wird ausgeschaltet."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakte"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"Auf Kontakte zuzugreifen"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Standort"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"Auf Standort zugreifen"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Ihre sozialen Informationen"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direkter Zugriff auf Informationen über Ihre Kontakte und sozialen Verbindungen"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalender"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Zugriff auf verfügbare Konten"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"Abonnierte Feeds lesen"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Ermöglicht der App, Details zu den zurzeit synchronisierten Feeds abzurufen"</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS senden und abrufen"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Ermöglicht der App, SMS zu senden. Dies kann zu unerwarteten Kosten führen. Schädliche Apps können Kosten verursachen, indem sie Nachrichten ohne Ihre Bestätigung senden."</string> <string name="permlab_readSms" msgid="8745086572213270480">"SMS oder MMS lesen"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Ermöglicht der App, auf Ihrem Tablet oder Ihrer SIM-Karte gespeicherte SMS zu lesen. Die App kann alle SMS lesen, unabhängig von Inhalt und Vertraulichkeit."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ermöglicht dem Inhaber die Bindung an die Oberfläche eines Mobilfunkanbieter-SMS/MMS-Dienstes auf oberster Ebene. Für normale Apps sollte dies nie erforderlich sein."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"An Mobilfunkanbieter-Dienste binden"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Ermöglicht dem Inhaber die Bindung an Mobilfunkanbieter-Dienste. Für normale Apps sollte dies nicht erforderlich sein."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Auf \"Nicht stören\" zugreifen"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Ermöglicht der App Lese- und Schreibzugriff auf die \"Nicht stören\"-Konfiguration"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Passwortregeln festlegen"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Zulässige Länge und Zeichen für Passwörter für die Displaysperre festlegen"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Versuche zum Entsperren des Displays überwachen"</string> @@ -900,7 +914,7 @@ <string name="whichViewApplicationNamed" msgid="2286418824011249620">"Mit %1$s öffnen"</string> <string name="whichEditApplication" msgid="144727838241402655">"Bearbeiten mit"</string> <string name="whichEditApplicationNamed" msgid="1775815530156447790">"Mit %1$s bearbeiten"</string> - <string name="whichSendApplication" msgid="6902512414057341668">"Freigeben für"</string> + <string name="whichSendApplication" msgid="6902512414057341668">"Freigeben über"</string> <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Für %1$s freigeben"</string> <string name="whichHomeApplication" msgid="4307587691506919691">"Start-App auswählen"</string> <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"%1$s als Start-App verwenden"</string> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index e1becd3..de9332f 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Το προφίλ εργασίας διαγράφηκε"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Το προφίλ εργασίας διαγράφηκε επειδή λείπει η εφαρμογή διαχείρισης."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Η εφαρμογή διαχείρισης προφίλ εργασίας είτε λείπει είτε είναι κατεστραμμένη. Ως αποτέλεσμα, το προφίλ εργασίας και σχετικά δεδομένα διαγράφηκαν. Επικοινωνήστε με το διαχειριστή για βοήθεια."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Η συσκευή σας θα διαγραφεί"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Λείπουν στοιχεία από την εφαρμογή διαχείρισης ή είναι κατεστραμμένη, και δεν μπορεί να χρησιμοποιηθεί. Η συσκευή σας θα διαγραφεί. Επικοινωνήστε με το διαχειριστή για βοήθεια."</string> <string name="me" msgid="6545696007631404292">"Για εμένα"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Ειδοποίηση ήχου ανενεργή"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Δόνηση ειδοποίησης ήχου"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Ειδοποίηση ήχου ενεργή"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Προετοιμασία για ενημέρωση"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Επεξεργασία πακέτου ενημέρωσης…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Απενεργοποίηση..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Το tablet σας θα απενεργοποιηθεί."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Η τηλεόρασή σας θα κλείσει."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Επαφές"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"πρόσβαση στις επαφές σας"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Τοποθεσία"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"πρόσβαση στην τοποθεσία σας"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Οι κοινωνικές πληροφορίες σας"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Άμεση πρόσβαση σε πληροφορίες σχετικά με τις επαφές και τις κοινωνικές συνδέσεις σας."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Ημερολόγιο"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Πρόσβαση στους διαθέσιμους λογαριασμούς."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"ανάγνωση ροών δεδομένων στις οποίες έχετε εγγραφεί"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Επιτρέπει στην εφαρμογή τη λήψη λεπτομερειών σχετικά με τις τρέχουσες συγχρονισμένες ροές δεδομένων."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"αποστολή και προβολή μηνυμάτων SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Επιτρέπει στην εφαρμογή των αποστολή μηνυμάτων SMS. Αυτό μπορεί να προκαλέσει μη αναμενόμενες χρεώσεις. Οι κακόβουλες εφαρμογές ενδέχεται να σας κοστίσουν χρήματα, αποστέλλοντας μηνύματα χωρίς την έγκρισή σας."</string> <string name="permlab_readSms" msgid="8745086572213270480">"ανάγνωση των μηνυμάτων κειμένου σας (SMS ή MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Επιτρέπει στην εφαρμογή την ανάγνωση μηνυμάτων SMS που είναι αποθηκευμένα στο tablet σας ή στην κάρτα σας SIM. Αυτό δίνει τη δυνατότητα στην εφαρμογή να διαβάζει όλα τα μηνύματα SMS, ανεξάρτητα από το περιεχόμενο ή το επίπεδο εμπιστευτικότητάς τους."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Επιτρέπει στον κάτοχο τη δέσμευση στη διεπαφή ανωτάτου επιπέδου μιας υπηρεσίας ανταλλαγής μηνυμάτων εταιρείας κινητής τηλεφωνίας. Δεν απαιτείται για συνήθεις εφαρμογές."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"δέσμευση σε υπηρεσίες εταιρείας κινητής τηλεφωνίας"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Δίνει στον κάτοχο τη δυνατότητα δέσμευσης σε υπηρεσίες εταιρείας κινητής τηλεφωνίας. Δεν απαιτείται ποτέ για κανονικές εφαρμογές."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"πρόσβαση στη λειτουργία \"Μην ενοχλείτε\""</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Επιτρέπει στην εφαρμογή την εγγραφή και τη σύνταξη διαμόρφωσης για τη λειτουργία \"Μην ενοχλείτε\"."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Ορισμός κανόνων κωδικού πρόσβασης"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ελέγξτε την έκταση και τους επιτρεπόμενους χαρακτήρες σε κωδικούς πρόσβασης κλειδώματος οθόνης και PIN."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Παρακολούθηση προσπαθειών ξεκλειδώματος οθόνης"</string> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index e11408e..d69ea11 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Work profile deleted"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Work profile deleted due to missing admin app."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"The work profile admin app is either missing or corrupted. As a result, your work profile and related data have been deleted. Contact your administrator for assistance."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Your device will be erased"</string> <string name="factory_reset_message" msgid="4905025204141900666">"The admin app is missing components or corrupted, and can\'t be used. Your device will now be erased. Contact your administrator for assistance."</string> <string name="me" msgid="6545696007631404292">"Me"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Ringer off"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Ringer vibrate"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Ringer on"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Prepare for update"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Processing the update package…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Shutting down…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Your tablet will shut down."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Your TV will shut down."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contacts"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"access your contacts"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Location"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"access your location"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Your social information"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direct access to information about your contacts and social connections."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendar"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Allows the holder to bind to the top-level interface of a carrier messaging service. Should never be needed for normal apps."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"bind to operator services"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Allows the holder to bind to operator services. Should never be needed for normal apps."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"access Do Not Disturb"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Allows the app to read and write Do Not Disturb configuration."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Set password rules"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Control the length and the characters allowed in screen lock passwords and PINs."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitor screen-unlock attempts"</string> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index e11408e..d69ea11 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Work profile deleted"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Work profile deleted due to missing admin app."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"The work profile admin app is either missing or corrupted. As a result, your work profile and related data have been deleted. Contact your administrator for assistance."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Your device will be erased"</string> <string name="factory_reset_message" msgid="4905025204141900666">"The admin app is missing components or corrupted, and can\'t be used. Your device will now be erased. Contact your administrator for assistance."</string> <string name="me" msgid="6545696007631404292">"Me"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Ringer off"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Ringer vibrate"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Ringer on"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Prepare for update"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Processing the update package…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Shutting down…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Your tablet will shut down."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Your TV will shut down."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contacts"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"access your contacts"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Location"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"access your location"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Your social information"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direct access to information about your contacts and social connections."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendar"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Allows the holder to bind to the top-level interface of a carrier messaging service. Should never be needed for normal apps."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"bind to operator services"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Allows the holder to bind to operator services. Should never be needed for normal apps."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"access Do Not Disturb"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Allows the app to read and write Do Not Disturb configuration."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Set password rules"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Control the length and the characters allowed in screen lock passwords and PINs."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitor screen-unlock attempts"</string> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index e11408e..d69ea11 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Work profile deleted"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Work profile deleted due to missing admin app."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"The work profile admin app is either missing or corrupted. As a result, your work profile and related data have been deleted. Contact your administrator for assistance."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Your device will be erased"</string> <string name="factory_reset_message" msgid="4905025204141900666">"The admin app is missing components or corrupted, and can\'t be used. Your device will now be erased. Contact your administrator for assistance."</string> <string name="me" msgid="6545696007631404292">"Me"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Ringer off"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Ringer vibrate"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Ringer on"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Prepare for update"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Processing the update package…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Shutting down…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Your tablet will shut down."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Your TV will shut down."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contacts"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"access your contacts"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Location"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"access your location"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Your social information"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direct access to information about your contacts and social connections."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendar"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Allows the holder to bind to the top-level interface of a carrier messaging service. Should never be needed for normal apps."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"bind to operator services"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Allows the holder to bind to operator services. Should never be needed for normal apps."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"access Do Not Disturb"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Allows the app to read and write Do Not Disturb configuration."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Set password rules"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Control the length and the characters allowed in screen lock passwords and PINs."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitor screen-unlock attempts"</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index 58cb3af..bddc03b 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Perfil de trabajo eliminado"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Se eliminó el perfil de trabajo debido a la falta de una aplicación de administración."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"La aplicación de administración de perfil de trabajo no se encuentra o está dañada. Por lo tanto, se eliminaron tu perfil de trabajo y los datos relacionados. Para obtener asistencia, comunícate con el administrador."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Se borrarán los datos del dispositivo"</string> <string name="factory_reset_message" msgid="4905025204141900666">"La aplicación de administración no cuenta con algunos componentes o está dañada, de modo que no puede usarse. Se borrarán los datos del dispositivo. Para obtener asistencia, comunícate con el administrador."</string> <string name="me" msgid="6545696007631404292">"Yo"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Timbre desactivado"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Modo vibración"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Timbre activado"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Prepárate para la actualización"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Procesando el paquete de actualización…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Apagando…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tu tablet se apagará."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Se apagará la TV."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contactos"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"acceder a los contactos"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Ubicación"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"acceder a tu ubicación"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Tu información social"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Acceso directo a información sobre tus contactos y conexiones sociales"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendario"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Acceder a las cuentas disponibles."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"leer canales suscritos"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permite que la aplicación obtenga detalles sobre los feeds sincronizados en este momento."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"enviar y ver mensajes SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite que la aplicación envíe mensajes SMS, lo que puede generar cargos inesperados. Las aplicaciones malintencionadas pueden causarte gastos imprevistos al enviar mensajes sin tu confirmación."</string> <string name="permlab_readSms" msgid="8745086572213270480">"leer tus mensajes de texto (SMS o MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite que la aplicación consulte los mensajes SMS almacenados en la tablet o en la tarjeta SIM. La aplicación puede utilizar este permiso para leer todos los mensajes SMS, independientemente de cuál sea su contenido o su nivel de confidencialidad."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite al propietario vincularse a la interfaz de nivel superior del servicio de mensajería del proveedor. Las aplicaciones regulares no lo necesitan."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"vincular con servicios de proveedores"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permite al propietario vincular con servicios de proveedores. Las aplicaciones normales no deberían necesitar este permiso."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Acceso a la función No molestar"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permite que la aplicación lea y modifique la configuración de la función No molestar."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Establecer reglas de contraseña"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Permite controlar la longitud y los caracteres permitidos en las contraseñas y los PIN para el bloqueo de pantalla."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Supervisa los intentos para desbloquear la pantalla"</string> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 1ed42fb..ff25ba2 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Perfil de trabajo eliminado"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Perfil de trabajo eliminado porque falta la aplicación de administración."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"La aplicación de administración del perfil de trabajo falta o está dañada. Como consecuencia, se han eliminado tu perfil de trabajo y todos los datos asociados. Si necesitas ayuda, ponte en contacto con tu administrador."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Tu dispositivo se borrará"</string> <string name="factory_reset_message" msgid="4905025204141900666">"La aplicación de administración no se puede usar porque está dañada o le faltan componentes. Tu dispositivo se borrará. Si necesitas ayuda, ponte en contacto con tu administrador."</string> <string name="me" msgid="6545696007631404292">"Yo"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Timbre desactivado"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Modo vibración"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Timbre activado"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Preparándose para la actualización"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Procesando paquete de actualización…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Apagando..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"El tablet se apagará."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"La TV se apagará."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contactos"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"acceder a tus contactos"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Ubicación"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"acceder a tu ubicación"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Tu información social"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Acceder directamente a la información de tus contactos y tus conexiones sociales"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendario"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Acceder a las cuentas disponibles"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"leer feeds a los que está suscrito el usuario"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permite que la aplicación obtenga detalles sobre los feeds sincronizados actualmente."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"enviar y ver mensajes SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite que la aplicación envíe mensajes SMS, lo que puede generar cargos inesperados. Las aplicaciones malintencionadas pueden causarte gastos imprevistos al enviar mensajes sin tu confirmación."</string> <string name="permlab_readSms" msgid="8745086572213270480">"leer tus mensajes de texto (SMS o MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite que la aplicación lea mensajes SMS almacenados en el tablet o en la tarjeta SIM. La aplicación puede utilizar este permiso para leer todos los mensajes SMS, independientemente de cuál sea su contenido o su nivel de confidencialidad."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite enlazar con la interfaz de nivel superior del servicio de mensajería de un operador. Las aplicaciones normales no deberían necesitar este permiso."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"enlazar con servicios de operador"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permite enlazar con servicios de operador. Las aplicaciones normales no deberían necesitar este permiso."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"acceso a No molestar"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permite que la aplicación lea y modifique la configuración de No molestar."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Establecimiento de reglas de contraseña"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla la longitud y los caracteres permitidos en los PIN y en las contraseñas de bloqueo de pantalla."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Control de intentos de bloqueo de pantalla"</string> diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml index c700d84..b611459 100644 --- a/core/res/res/values-et-rEE/strings.xml +++ b/core/res/res/values-et-rEE/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Tööprofiil on kustutatud"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Tööprofiil on kustutatud puuduva administraatori rakenduse tõttu."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Tööprofiili administraatori rakendus puudub või on rikutud. Seetõttu on teie tööprofiil ja seotud andmed kustutatud. Abi saamiseks võtke ühendust administraatoriga."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Seade kustutatakse"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Administraatori rakendusel on puuduvaid osi või on see rikutud ja seda ei saa kasutada. Seade kustutatakse. Abi saamiseks võtke ühendust administraatoriga."</string> <string name="me" msgid="6545696007631404292">"Mina"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Helin on väljas"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibreeriv helin"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Helin on sees"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Värskenduseks valmistumine"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Värskenduspaketi töötlemine …"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Väljalülitamine ..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Teie tahvelarvuti lülitub välja."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Teler suletakse."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktid"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"juurdepääs kontaktidele"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Asukoht"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"asukohale juurdepääsemine"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Teie sotsiaalne teave"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Otsene juurdepääs teie kontaktide teabele ja sotsiaalsetele sidemetele."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalender"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Juurdepääs saadaolevatele kontodele."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"loe tellitud kanaleid"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Võimaldab rakendusel saada üksikasju praegu sünkroonitavate voogude kohta."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"saata ja vaadata SMS-sõnumeid"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Võimaldab rakendusel saata SMS-sõnumeid. See võib kaasa tuua ootamatuid tasusid. Pahatahtlikud rakendused võivad teile tekitada kulusid, saates sõnumeid teie kinnituseta."</string> <string name="permlab_readSms" msgid="8745086572213270480">"lugege oma tekstisõnumeid (SMS või MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Võimaldab rakendusel lugeda tahvelarvutisse või SIM-kaardile salvestatud SMS-sõnumeid. See võimaldab rakendusel lugeda kõiki SMS-sõnumeid sisust või konfidentsiaalsusest hoolimata."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Lubab omanikul luua seose operaatori sõnumisideteenuse ülataseme liidesega. Pole kunagi vajalik tavalise rakenduse puhul."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"sidumine operaatoriteenustega"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Lubab omanikul siduda operaatoriteenustega. Seda ei tohiks tavarakenduste puhul kunagi tarvis minna."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"juurdepääs funktsioonile Mitte segada"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Võimaldab rakendusel lugeda ja kirjutada funktsiooni Mitte segada seadistusi."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Parooli reeglite määramine"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Juhitakse ekraaniluku paroolide ja PIN-koodide pikkusi ning lubatud tähemärkide seadeid."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Ekraani avamiskatsed"</string> diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml index b3b59a6..45b7bed 100644 --- a/core/res/res/values-eu-rES/strings.xml +++ b/core/res/res/values-eu-rES/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Laneko profila ezabatu egin da"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Laneko profila ezabatu egin da hura administratzeko aplikazioa falta delako."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Laneko profila administratzeko aplikazioa falta da edo hondatuta dago. Ondorioz, laneko profila eta horrekin erlazionatutako datuak ezabatu egin dira. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Gailuko datuak ezabatu egingo dira"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Administrazio-aplikazioaren osagai batzuk falta dira edo aplikazioa hondatuta dago eta ezin da erabili. Gailuko datuak ezabatu egingo dira. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string> <string name="me" msgid="6545696007631404292">"Ni"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Tonu-jotzailea desaktibatuta"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Tonu-jotzailea dardaran"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Tonu-jotzailea aktibatuta"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Prestatu eguneratzeko"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Eguneratzeen paketea prozesatzen…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Itzaltzen…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tableta itzali egingo da."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Telebista itzali egingo da."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktuak"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"Atzitu kontaktuak"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Kokapena"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"Atzitu kokapena"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Sare sozialetako zure informazioa"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Zure kontaktuei eta konexio sozialei buruzko informaziorako sarbide zuzena."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Egutegia"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Sartu kontu erabilgarrietan."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"irakurri harpidetutako jarioak"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Unean sinkronizatutako jarioei buruzko xehetasunak lortzea baimentzen die aplikazioei."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"bidali eta ikusi SMS mezuak"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"SMS mezuak bidaltzeko baimena ematen die aplikazioei. Horrela, ustekabeko gastuak eragin daitezke. Aplikazio gaiztoek erabil dezakete zuk berretsi gabeko mezuak bidalita gastuak eragiteko."</string> <string name="permlab_readSms" msgid="8745086572213270480">"testu-mezuak (SMSak edo MMSak) irakurtzea"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Tabletan edo SIM txartelean gordetako SMS mezuak irakurtzeko baimena ematen die aplikazioei. Horrela, aplikazioak SMS mezu guztiak irakurri ahal izango ditu, edukia edo isilpekotasuna kontuan izan gabe."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Operadore baten mezularitza-zerbitzuaren goi-mailako interfazeari lotzea baimentzen die erabiltzaileei. Aplikazio normalek ez lukete inoiz beharko."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"operadorearen zerbitzuei lotzea"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Operadorearen zerbitzuei lotzea baimentzen die titularrei. Aplikazio normalek ez dute baimen hau behar."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Atzitu \"Ez molestatu\" egoera"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"\"Ez molestatu\" konfigurazioa irakurtzea eta bertan idaztea baimentzen die aplikazioei."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Ezarri pasahitzen arauak"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolatu pantaila blokeoaren pasahitzen eta PINen luzera eta onartutako karaktereak."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Kontrolatu pantaila desblokeatzeko saiakerak"</string> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index c9ed120..dd6158a 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"نمایه کار حذف شد"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"به دلیل نداشتن برنامه سرپرست، نمایه کار حذف شده است."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"برنامه سرپرست نمایه کار وجود ندارد یا خراب است. در نتیجه، نمایه کاریتان و اطلاعات مرتبط حذف شده است. برای دریافت راهنمایی با سرپرستتان تماس بگیرید."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"دستگاهتان پاک خواهد شد"</string> <string name="factory_reset_message" msgid="4905025204141900666">"برنامه سرپرست بخشهایی را ندارد یا خراب است، و نمیتواند استفاده شود. دستگاهتان اکنون پاک میشود. برای این که راهنمایی شوید، با سرپرستتان تماس بگیرید."</string> <string name="me" msgid="6545696007631404292">"من"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"زنگ خاموش"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"زنگ لرزشی"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"زنگ روشن"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"آمادهسازی برای بهروزرسانی"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"در حال پردازش بستهبندی بهروز…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"در حال خاموش شدن…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"رایانهٔ لوحی شما خاموش میشود."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"تلویزیون شما خاموش خواهد شد."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"مخاطبین"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"دسترسی به مخاطبین شما"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"مکان"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"دسترسی به مکان شما"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"اطلاعات اجتماعی شما"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"مستقیم به اطلاعات مخاطبین و روابط اجتماعی دسترسی داشته باشید."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"تقویم"</string> @@ -243,14 +256,14 @@ <string name="permgroupdesc_phone" msgid="6234224354060641055">"برقراری و مدیریت تماسهای تلفنی"</string> <string name="permgrouplab_sensors" msgid="7416703484233940260">"حسگرها"</string> <string name="permgroupdesc_sensors" msgid="6376772456799240169">"دسترسی به اطلاعات به دست آمده از حسگرها و دستگاههای پوشیدنی"</string> - <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"بازیابی محتوای پنجره"</string> - <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"محتوای پنجرهای را که در حال تعامل با آن هستید بررسی کنید."</string> + <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"محتوای پنجره را بازیابی کند"</string> + <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"محتوای پنجرهای را که درحال تعامل با آن هستید بررسی میکند."</string> <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"فعالسازی کاوش لمسی"</string> <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"موارد لمس شده با صدای بلند خوانده میشوند و با استفاده از حرکات میتوانید صفحه را کاوش کنید."</string> <string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"فعالسازی دسترسپذیری پیشرفته برای وب"</string> <string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"ممکن است جهت افزایش دسترسپذیری به محتوای برنامه، اسکریپتهایی نصب شود."</string> - <string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"نوشتاری را که تایپ میکنید مشاهده نمایید"</string> - <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"اطلاعات شخصی مانند شماره کارت اعتباری و گذرواژهها را شامل میشود."</string> + <string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"نوشتاری را که تایپ میکنید مشاهده کند"</string> + <string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"اطلاعات شخصی مانند شماره کارت اعتباری و گذرواژهها را لحاظ میکند."</string> <string name="permlab_statusBar" msgid="7417192629601890791">"غیرفعال کردن یا تغییر نوار وضعیت"</string> <string name="permdesc_statusBar" msgid="8434669549504290975">"به برنامه اجازه میدهد تا نوار وضعیت را غیرفعال کند یا نمادهای سیستم را اضافه یا حذف کند."</string> <string name="permlab_statusBarService" msgid="7247281911387931485">"نوار وضعیت"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"به کنترلکننده اجازه میدهد که به سطح بالای رابط کاربر سرویس پیامرسانی شرکت مخابراتی مقید شود. هرگز نباید برای برنامههای عادی مورد نیاز شود."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"اتصال به سرویسهای شرکت مخابراتی"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"به دارنده امکان میدهد به سرویسهای شرکت مخابراتی متصل شود. هرگز نباید برای برنامههای عادی مورد نیاز باشد."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"دسترسی به حالت «مزاحم نشوید»"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"به برنامه امکان میدهد پیکربندی «مزاحم نشوید» را بخواند و بنویسد."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"تنظیم قوانین رمز ورود"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"کنترل طول و نوع نویسههایی که در گذرواژه و پین قفل صفحه مجاز است."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"نمایش تلاشهای قفل گشایی صفحه"</string> @@ -521,9 +536,9 @@ <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"بر تعداد گذرواژههای نادرستی که هنگام باز کردن قفل صفحه تایپ شده، نظارت میکند، و اگر تعداد گذرواژههای تایپ شده نادرست بیش از حد بود، تلویزیون را قفل میکند یا کلیه دادههای کاربر را پاک میکند."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"بر تعداد گذرواژههای نادرستی که هنگام باز کردن قفل صفحه تایپ شده، نظارت میکند، و اگر تعداد گذرواژههای تایپ شده نادرست بیش از حد بود، تلفن را قفل میکند یا کلیه دادههای کاربر را پاک میکند."</string> <string name="policylab_resetPassword" msgid="4934707632423915395">"تغییر قفل صفحه"</string> - <string name="policydesc_resetPassword" msgid="1278323891710619128">"تغییر قفل صفحه."</string> + <string name="policydesc_resetPassword" msgid="1278323891710619128">"قفل صفحه را تغییر میدهد."</string> <string name="policylab_forceLock" msgid="2274085384704248431">"قفل کردن صفحه"</string> - <string name="policydesc_forceLock" msgid="1141797588403827138">"نحوه و زمان قفل شدن صفحه را کنترل کنید."</string> + <string name="policydesc_forceLock" msgid="1141797588403827138">"نحوه و زمان قفل شدن صفحه را کنترل میکند."</string> <string name="policylab_wipeData" msgid="3910545446758639713">"پاک کردن تمام دادهها"</string> <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"با انجام بازنشانی به دادههای کارخانه، دادههای رایانهٔ لوحی بدون هشدار پاک میشود."</string> <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"دادههای تلویزیون را بدون هشدار با انجام بازنشانی به داده کارخانه پاک کنید."</string> @@ -698,19 +713,19 @@ <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"لطفاً به راهنمای کاربر مراجعه کرده یا با مرکز پشتیبانی از مشتریان تماس بگیرید."</string> <string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"سیم کارت قفل شد."</string> <string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"بازگشایی قفل سیم کارت..."</string> - <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"الگوی بازگشایی قفل خود را <xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه کشیدهاید. \n\nلطفاً پس از <xliff:g id="NUMBER_1">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> + <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"الگوی بازگشایی قفل خود را <xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه کشیدهاید. \n\nپس از <xliff:g id="NUMBER_1">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"گذرواژهٔ خود را <xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه تایپ کردهاید. \n\nپس از <xliff:g id="NUMBER_1">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"پین را<xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه تایپ کردهاید. \n\nپس از <xliff:g id="NUMBER_1">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"شما الگوی بازگشایی قفل خود را <xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه کشیدهاید. بعد از <xliff:g id="NUMBER_1">%d</xliff:g> تلاش ناموفق، از شما خواسته میشود که برای بازگشایی قفل رایانهٔ لوحی خود به Google وارد شوید.\n\n لطفاً پس از <xliff:g id="NUMBER_2">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"الگوی بازگشایی را <xliff:g id="NUMBER_0">%d</xliff:g> دفعه به صورت نادرست رسم کردهاید. پس از <xliff:g id="NUMBER_1">%d</xliff:g> تلاش ناموفق دیگر، از شما خواسته خواهد شد تا با استفاده از ورود به سیستم Google، قفل تلویزیونتان را باز کنید.\n\n پس از <xliff:g id="NUMBER_2">%d</xliff:g> ثانیه، دوباره امتحان کنید."</string> - <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"شما الگوی بازگشایی قفل خود را <xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه کشیدهاید. پس از <xliff:g id="NUMBER_1">%d</xliff:g> تلاش ناموفق دیگر از شما خواسته میشود که برای بازگشایی قفل گوشی خود به برنامهٔ Google وارد شوید.\n\n لطفاً پس از <xliff:g id="NUMBER_2">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> + <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"الگوی قفلگشایی را <xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه کشیدهاید. پس از <xliff:g id="NUMBER_1">%d</xliff:g> تلاش ناموفق دیگر از شما خواسته میشود که برای بازگشایی قفل گوشی خود به برنامه Google وارد شوید.\n\n پس از <xliff:g id="NUMBER_2">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"شما به اشتباه <xliff:g id="NUMBER_0">%d</xliff:g> بار اقدام به باز کردن قفل رایانهٔ لوحی کردهاید. پس از <xliff:g id="NUMBER_1">%d</xliff:g> تلاش ناموفق دیگر، رایانهٔ لوحی به پیشفرض کارخانه بازنشانی میشود و تمام دادههای کاربر از دست خواهد رفت."</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"<xliff:g id="NUMBER_0">%d</xliff:g> دفعه به صورت نادرست سعی کردهاید قفل تلویزیون را باز کنید. پس از <xliff:g id="NUMBER_1">%d</xliff:g> تلاش ناموفق دیگر، تلویزیون به تنظیمات پیشفرض کارخانه بازنشانی خواهد شد و اطلاعات کاربر از دست خواهد رفت."</string> <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"شما به اشتباه <xliff:g id="NUMBER_0">%d</xliff:g> بار اقدام به باز کردن قفل تلفن کردهاید. پس از<xliff:g id="NUMBER_1">%d</xliff:g> تلاش ناموفق دیگر، تلفن به پیشفرض کارخانه بازنشانی میشود و تمام دادههای کاربر از دست خواهد رفت."</string> <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"شما به اشتباه اقدام به باز کردن قفل <xliff:g id="NUMBER">%d</xliff:g> رایانهٔ لوحی کردهاید. رایانهٔ لوحی در حال حاضر به پیشفرض کارخانه بازنشانی میشود."</string> <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"<xliff:g id="NUMBER">%d</xliff:g> دفعه به صورت نادرست سعی کردهاید قفل تلویزیون را باز کنید. اکنون تلویزیون به تنظیمات پیشفرض کارخانه بازنشانی خواهد شد."</string> <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"شما به اشتباه <xliff:g id="NUMBER">%d</xliff:g> بار اقدام به باز کردن قفل تلفن کردهاید. این تلفن در حال حاضر به پیشفرض کارخانه بازنشانی میشود."</string> - <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"در <xliff:g id="NUMBER">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> + <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"پس از <xliff:g id="NUMBER">%d</xliff:g> ثانیه دوباره امتحان کنید."</string> <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"الگو را فراموش کردهاید؟"</string> <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"بازگشایی قفل حساب"</string> <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"تلاشهای زیادی برای کشیدن الگو صورت گرفته است"</string> @@ -1470,7 +1485,7 @@ <string name="package_installed_device_owner" msgid="8420696545959087545">"توسط سرپرستتان نصب شد"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"توسط سرپرست شما بهروزرسانی شد"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"توسط سرپرستتان حذف شد"</string> - <string name="battery_saver_description" msgid="1960431123816253034">"برای کمک به بهبود ماندگاری باتری، ابزار صرفهجویی در مصرف باتری عملکرد دستگاهتان را کاهش میدهد و لرزش، سرویسهای مبتنی بر مکان، و دسترسی به اکثر دادهها در پسزمینه را محدود میکند. ایمیل، پیامرسانی و برنامههای دیگری که به همگامسازی متکی هستند، تا زمانی که آنها را باز نکنید نمیتوانند بهروز شوند.\n\nابزار صرفهجویی در مصرف باتری به صورت خودکار در هنگام شارژ شدن دستگاه خاموش میشود."</string> + <string name="battery_saver_description" msgid="1960431123816253034">"برای کمک به بهبود ماندگاری باتری، ذخیره کننده باتری عملکرد دستگاهتان را کاهش میدهد و لرزش، سرویسهای مبتنی بر مکان، و دسترسی به اکثر دادهها در پسزمینه را محدود میکند. ایمیل، پیامرسانی و برنامههای دیگری که به همگامسازی متکی هستند، تا زمانیکه آنها را باز نکنید نمیتوانند بهروز شوند.\n\nذخیره کننده باتری بهصورت خودکار در هنگام شارژ شدن دستگاه خاموش میشود."</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">به مدت %1$d دقیقه (تا <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">به مدت %1$d دقیقه (تا <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 978152e..c08d334 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Työprofiili poistettiin"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Työprofiili poistettiin, koska laitteelta puuttuu järjestelmänvalvojasovellus."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Työprofiilin järjestelmänvalvojasovellus puuttuu tai se on vioittunut. Tästä syystä työprofiilisi ja siihen liittyvät tiedot on poistettu. Pyydä ohjeita järjestelmänvalvojaltasi."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Laitteen tiedot poistetaan"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Järjestelmänvalvojasovelluksesta puuttuu osia tai se on vioittunut, eikä sitä voi käyttää. Laitteen tiedot poistetaan. Pyydä ohjeita järjestelmänvalvojaltasi."</string> <string name="me" msgid="6545696007631404292">"Minä"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Soittoääni: mykistetty"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Soittoääni: värinä"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Soittoääni: normaali"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Valmistaudu päivitykseen"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Käsitellään päivityspakettia…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Suljetaan..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tablet-laitteesi sammutetaan."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televisio sammutetaan."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktit"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"käyttää yhteystietoja"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Sijainti"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"käytä sijaintiasi"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Sosiaaliset tietosi"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Kontaktiesi ja internet-kontaktiesi tietojen käyttöoikeus."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalenteri"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Käytä saatavilla olevia tilejä."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"lukea tilattuja syötteitä"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Antaa sovelluksen saada tietoja tällä hetkellä synkronoitavista syötteistä."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"lähettää ja tarkastella tekstiviestejä"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Antaa sovelluksen lähettää tekstiviestejä. Tästä voi aiheutua odottamattomia kuluja. Haitalliset sovellukset voivat aiheuttaa kuluja lähettämällä viestejä ilman lupaasi."</string> <string name="permlab_readSms" msgid="8745086572213270480">"lue tekstiviestejä (teksti tai multimedia)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Antaa sovelluksen lukea tablet-laitteeseen tai SIM-kortille tallennettuja tekstiviestejä. Sovellus voi lukea kaikki tekstiviestit huolimatta niiden arkaluonteisuudesta."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Antaa sovelluksen sitoutua operaattorin viestipalvelun ylätason liittymään. Ei tavallisten sovellusten käyttöön."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"Luo sidos operaattorin palveluun"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Antaa sovelluksen luoda sidoksen operaattorin palveluun. Ei tavallisten sovelluksien käyttöön."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Älä häiritse -tilan käyttöoikeus"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Sallii sovelluksen lukea ja muokata Älä häiritse -tilan asetuksia."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Aseta salasanasäännöt"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Hallinnoi ruudun ruudun lukituksen salasanoissa ja PIN-koodeissa sallittuja merkkejä ja niiden pituutta."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Tarkkaile ruudun lukituksen poistoyrityksiä"</string> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index 0f6aa9b..de406d2 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Profil professionnel supprimé"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Profil professionnel supprimé en raison de l\'application d\'administration manquante."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Le profil professionnel de l\'application d\'administration est manquant ou corrompu. Votre profil professionnel et ses données connexes ont donc été supprimés. Communiquez avec votre administrateur pour obtenir de l\'assistance."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Le contenu de votre appareil sera effacé"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Des éléments de l\'application d\'administration sont manquants ou celle-ci est corrompue, ce qui la rend inutilisable. Le contenu de votre appareil sera maintenant effacé. Communiquez avec votre administrateur pour obtenir de l\'assistance."</string> <string name="me" msgid="6545696007631404292">"Moi"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Sonnerie désactivée"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Sonnerie en mode vibreur"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Sonnerie activée"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Préparation pour la mise à jour"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Traitement du paquet de mise à jour en cours..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Arrêt en cours..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Votre tablette va s\'éteindre."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Votre téléviseur va s\'éteindre."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contacts"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"accéder à vos contacts"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Localisation"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"accéder à votre position"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Vos données sur les réseaux sociaux"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Accès direct aux informations sur vos contacts et vos amis sur les réseaux sociaux"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Agenda"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Accéder aux comptes disponibles"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"lire les flux auxquels vous êtes abonné"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permet à l\'application d\'obtenir des données sur les flux en cours de synchronisation."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"envoyer et afficher des messages texte"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permet à l\'application d\'envoyer des messages texte. Cette autorisation peut entraîner des frais inattendus. Des applications malveillantes peuvent générer des frais en envoyant des messages sans votre consentement."</string> <string name="permlab_readSms" msgid="8745086572213270480">"voir les messages texte ou multimédias"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permet à l\'application de lire les SMS stockés sur votre tablette ou sur la carte SIM. Cette autorisation lui permet de lire tous les SMS, indépendamment de leur contenu ou de leur caractère confidentiel."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permet à l\'application autorisée de s\'associer à l\'interface de plus haut niveau d\'un service de messagerie d\'un fournisseur. Les applications standards ne devraient jamais avoir recours à cette fonctionnalité."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"s\'associer aux services d\'un fournisseur"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permet à l\'application autorisée de s\'associer aux services d\'un fournisseur. Ne devrait pas être nécessaire pour les applications standards."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"accéder au mode Ne pas déranger"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permet à l\'application de consulter et de modifier la configuration du mode Ne pas déranger."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Définir les règles du mot de passe"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Gérer le nombre et le type de caractères autorisés dans les mots de passe et les NIP de verrouillage de l\'écran."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Gérer les tentatives de déverrouillage de l\'écran"</string> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index ba50f0f..ad77f4e 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Profil professionnel supprimé"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Le profil professionnel a été supprimé, car une application d\'administration est manquante."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"L\'application d\'administration du profil professionnel est manquante ou endommagée. Par conséquent, votre profil professionnel et toutes les données associées ont été supprimés. Pour obtenir de l\'aide, contactez l\'administrateur."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Les données de votre appareil vont être effacées"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Certains composants de l\'application d\'administration sont manquants ou endommagés, et l\'application est donc inutilisable. Les données de votre appareil vont maintenant être effacées. Pour obtenir de l\'aide, contactez l\'administrateur."</string> <string name="me" msgid="6545696007631404292">"Moi"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Sonnerie désactivée"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Sonnerie en mode vibreur"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Sonnerie activée"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Préparation de la mise à jour"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Traitement du package de mises à jour en cours…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Arrêt en cours..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Votre tablette va s\'éteindre."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Votre téléviseur va s\'éteindre."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contacts"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"accéder à vos contacts"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Position"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"accéder à votre position"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Vos informations sur les réseaux sociaux"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Accès direct aux informations sur vos contacts et vos amis sur les réseaux sociaux"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Agenda"</string> @@ -244,7 +257,7 @@ <string name="permgrouplab_sensors" msgid="7416703484233940260">"Capteurs"</string> <string name="permgroupdesc_sensors" msgid="6376772456799240169">"accéder aux données issues de capteurs et d\'appareils connectés"</string> <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Récupérer le contenu d\'une fenêtre"</string> - <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspecter le contenu d\'une fenêtre avec laquelle vous interagissez."</string> + <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspecter le contenu d\'une fenêtre avec laquelle vous interagissez"</string> <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Activer la fonctionnalité Explorer au toucher"</string> <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"Les éléments sélectionnés sont énoncés à voix haute. Vous pouvez explorer l\'écran à l\'aide de gestes."</string> <string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"Activer l\'accessibilité Web améliorée"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Accéder aux comptes disponibles"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"lire les flux auxquels vous êtes abonné"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permet à l\'application d\'obtenir des informations sur les flux en cours de synchronisation."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"envoyer et consulter des SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permet à l\'application d\'envoyer des messages SMS. Cette autorisation peut entraîner des frais inattendus. Les applications malveillantes peuvent générer des frais en envoyant des messages sans votre consentement."</string> <string name="permlab_readSms" msgid="8745086572213270480">"voir les messages texte (SMS ou MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permet à l\'application de lire les SMS stockés sur votre tablette ou sur la carte SIM. Cette autorisation lui permet de lire tous les SMS, indépendamment de leur contenu ou de leur caractère confidentiel."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permettre à l\'application de s\'associer à l\'interface de niveau supérieur du service SMS/MMS d\'un opérateur. Ne devrait jamais être nécessaire pour les applications standards."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"associer aux services de l\'opérateur"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permet à l\'application autorisée de s\'associer aux services d\'un opérateur. Ne devrait pas être nécessaire pour les applications standards."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"accéder au mode Ne pas déranger"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permet à l\'application de consulter et de modifier la configuration du mode Ne pas déranger."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Définir les règles du mot de passe"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Gérer le nombre et le type de caractères autorisés dans les mots de passe et les codes d\'accès de verrouillage de l\'écran"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Gérer les tentatives de déverrouillage de l\'écran"</string> @@ -1050,7 +1064,7 @@ <string name="dlg_confirm_kill_storage_users_text" msgid="5100428757107469454">"Si vous activez la mémoire de stockage USB, certaines applications en cours d\'utilisation vont être fermées et risquent de rester indisponibles jusqu\'à ce que la mémoire de stockage USB soit désactivée."</string> <string name="dlg_error_title" msgid="7323658469626514207">"Échec du fonctionnement de la mémoire de stockage USB."</string> <string name="dlg_ok" msgid="7376953167039865701">"OK"</string> - <string name="usb_charging_notification_title" msgid="4004114449249406402">"USB pour la charge"</string> + <string name="usb_charging_notification_title" msgid="4004114449249406402">"Recharge par USB"</string> <string name="usb_mtp_notification_title" msgid="8396264943589760855">"USB pour le transfert de fichiers"</string> <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB pour le transfert de photos"</string> <string name="usb_midi_notification_title" msgid="4850904915889144654">"USB en mode MIDI"</string> diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml index b80085a..f8556bc 100644 --- a/core/res/res/values-gl-rES/strings.xml +++ b/core/res/res/values-gl-rES/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Eliminouse o perfil de traballo"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Eliminouse o perfil de traballo porque falta a aplicación de administración."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Falta a aplicación de administración no perfil de traballo ou ben está danada. Como resultado, eliminouse o teu perfil de traballo e os datos relacionados. Ponte en contacto co teu administrador para obter asistencia."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Borrarase o teu dispositivo"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Non se pode utilizar a aplicación de administración porque lle faltan compoñentes ou están danados. Agora borrarase o teu dispositivo. Ponte en contacto co teu administrador para obter asistencia."</string> <string name="me" msgid="6545696007631404292">"Eu"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Timbre desactivado"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Timbre en vibración"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Timbre activado"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Prepara a actualización"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Procesando paquete de actualización…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Apagando…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Apagarase o tablet."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"A televisión apagarase."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contactos"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"acceder aos teus contactos"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Localización"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"acceder á túa localización"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"A túa información social"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Acceso directo a información acerca dos teus contactos e as conexións sociais."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendario"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Acceder ás contas dispoñibles."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"ler feeds subscritos"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permite á aplicación obter detalles acerca dos feeds sincronizados actualmente."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"enviar e consultar mensaxes de SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite á aplicación enviar mensaxes SMS. É posible que esta acción implique custos inesperados. É posible que as aplicacións maliciosas che custen diñeiro debido ao envío de mensaxes sen a túa confirmación."</string> <string name="permlab_readSms" msgid="8745086572213270480">"ler as túas mensaxes de texto (SMS ou MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite á aplicación ler as mensaxes SMS que están almacenadas no teu tablet ou tarxeta SIM. Isto permite á aplicación ler todas as mensaxes SMS, independentemente do seu contido ou confidencialidade."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite ao propietario vincularse á interface de nivel superior dun servizo de mensaxería. As aplicacións normais non deberían necesitar este permiso."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"vincular aos servizos do operador"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permite ao titular vincularse aos servizos do operador. As aplicacións normais non deberían necesitar este permiso."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"acceso ao modo Non molestar"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permite á aplicación ler e escribir a configuración do modo Non molestar."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Establecer as normas de contrasinal"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla a lonxitude e os caracteres permitidos nos contrasinais e nos PIN de bloqueo da pantalla."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Supervisar os intentos de desbloqueo da pantalla"</string> @@ -1506,7 +1520,7 @@ </plurals> <string name="zen_mode_until" msgid="7336308492289875088">"Ata as <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string> <string name="zen_mode_forever" msgid="7420011936770086993">"Ata que desactives isto"</string> - <string name="zen_mode_forever_dnd" msgid="3792132696572189081">"Ata que desactives Non molestar"</string> + <string name="zen_mode_forever_dnd" msgid="3792132696572189081">"Ata que desactives o modo Non molestar"</string> <string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string> <string name="toolbar_collapse_description" msgid="2821479483960330739">"Contraer"</string> <string name="zen_mode_feature_name" msgid="5254089399895895004">"Non molestar"</string> diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml index 246b614..e8070a1 100644 --- a/core/res/res/values-gu-rIN/strings.xml +++ b/core/res/res/values-gu-rIN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"કાર્ય પ્રોફાઇલ કાઢી નાખી"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"ખૂટતી એડમિન એપ્લિકેશનને કારણે કાર્ય પ્રોફાઇલ કાઢી નાખી."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"કાર્ય પ્રોફાઇલ વ્યવસ્થાપક એપ્લિકેશન કાં તો ખૂટે છે અથવા દૂષિત છે. પરિણામે, તમારી કાર્ય પ્રોફાઇલ અને સંબંધિત ડેટા કાઢી નાખવામાં આવ્યો છે. સહાયતા માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"તમારું ઉપકરણ કાઢી નાખવામાં આવશે"</string> <string name="factory_reset_message" msgid="4905025204141900666">"એડમિન એપ્લિકેશનમાં ઘટકો ખૂટે છે અથવા દૂષિત છે અને વાપરી શકાશે નહીં. તમારું ઉપકરણ હવે કાઢી નાખવામાં આવશે. સહાયતા માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string> <string name="me" msgid="6545696007631404292">"મારા"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"રિંગર બંધ"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"રિંગર વાઇબ્રેટ"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"રિંગર ચાલુ"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"અપડેટ માટે તૈયાર થાય છે"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"અપડેટ પૅકેજ પર પ્રક્રિયા કરી રહ્યાં છે…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"શટ ડાઉન થઈ રહ્યું છે…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"તમારું ટેબ્લેટ શટ ડાઉન થઈ જશે."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"તમારું ટીવી શટ ડાઉન થઈ જશે."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"સંપર્કો"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"તમારા સંપર્કોને ઍક્સેસ કરો"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"સ્થાન"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"તમારા સ્થાનને ઍક્સેસ કરો"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"તમારી સામાજિક માહિતી"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"તમારા સંપર્કો અને સામાજિક કનેક્શન્સ વિશેની માહિતીની સીધી ઍક્સેસ."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"કૅલેન્ડર"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"ઉપલબ્ધ એકાઉન્ટ્સ ઍક્સેસ કરો."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"સબ્સ્ક્રાઇબ કરેલ ફીડ્સ વાંચો"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"એપ્લિકેશનને હાલમાં સમન્વયિત ફીડ્સ વિશે વિગતો મેળવવાની મંજૂરી આપે છે."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS સંદેશા મોકલો અને જુઓ"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"એપ્લિકેશનને SMS સંદેશા મોકલવાની મંજૂરી આપે છે. આના પરિણામે અનપેક્ષિત શુલ્ક લાગી શકે છે. દુર્ભાવનાપૂર્ણ એપ્લિકેશન્સ તમારી પુષ્ટિ વિના સંદેશા મોકલીને તમારા નાણા ખર્ચાવી શકે છે."</string> <string name="permlab_readSms" msgid="8745086572213270480">"તમારા ટેક્સ્ટ સંદેશા (SMS અથવા MMS) વાંચો"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"એપ્લિકેશનને તમારા ટેબ્લેટ અથવા SIM કાર્ડ પર સંગ્રહિત SMS સંદેશા વાંચવાની મંજૂરી આપે છે. આ એપ્લિકેશનને તમામ SMS સંદેશા વાંચવાની મંજૂરી આપે છે પછી ભલે સામગ્રી અથવા ગોપનીયતા કોઈપણ હોય."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ધારકને કેરીઅર મેસેજિંગ સેવાના ઉચ્ચ-સ્તર ઇન્ટરફેસથી પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"કેરીઅર સેવાઓથી પ્રતિબદ્ધ થાઓ"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"ધારકને કેરીઅર સેવાઓ સાથે પ્રતિબદ્ધ થવાની મંજૂરી આપે છે. સામાન્ય એપ્લિકેશન્સ માટે ક્યારેય જરૂરી હોતું નથી."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"ખલેલ પાડશો નહીં ઍક્સેસ કરો"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"એપ્લિકેશનને ખલેલ પાડશો નહીં ગોઠવણી વાંચવા અને લખવાની મંજૂરી આપે છે."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"પાસવર્ડ નિયમો સેટ કરો"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"સ્ક્રીન લૉક પાસવર્ડ્સ અને PIN માં મંજૂર લંબાઈ અને અક્ષરોને નિયંત્રિત કરો."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"સ્ક્રીન અનલૉક પ્રયત્નોનું નિરીક્ષણ કરો"</string> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index 85c7dd8..101b5ce 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"कार्य प्रोफ़ाइल हटाई गई"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"अनुपलब्ध व्यवस्थापक ऐप के कारण कार्य प्रोफ़ाइल हटाई गई."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"कार्य प्रोफ़ाइल व्यवस्थापक ऐप या तो अनुपलब्ध है या दूषित है. परिणाम स्वरूप, आपकी कार्य प्रोफ़ाइल और संबंधित डेटा हटा दिया गया है. सहायता के लिए अपने नियंत्रक से संपर्क करें."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"आपके डिवाइस को मिटा दिया जाएगा"</string> <string name="factory_reset_message" msgid="4905025204141900666">"व्यवस्थापक ऐप में घटक अनुपलब्ध हैं या वह दूषित है और उसका उपयोग नहीं किया जा सकता. आपके डिवाइस को अब मिटा दिया जाएगा. सहायता के लिए अपने नियंत्रक से संपर्क करें."</string> <string name="me" msgid="6545696007631404292">"मैं"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"रिंगर बंद"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"रिंगर कंपन"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"रिंगर चालू"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"अपडेट के लिए तैयार रहें"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"अपडेट पैकेज को संसाधित कर रहा है…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"शट डाउन हो रहा है..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"आपकी टेबलेट शट डाउन हो जाएगी."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"आपका टीवी बंद हो जाएगा."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"संपर्क"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"अपने संपर्कों को ऐक्सेस करें"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"स्थान"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"अपना स्थान ऐक्सेस करें"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"आपकी सामाजिक जानकारी"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"अपने संपर्कों और सामाजिक कनेक्शन के बारे में जानकारी पर सीधी पहुंच."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"कैलेंडर"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"उपलब्ध खातों में पहुंचें."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"सदस्यता-प्राप्त फ़ीड पढ़ें"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"ऐप्स को वर्तमान में समन्वयित फ़ीड के बारे में विवरण प्राप्त करने देता है."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS संदेश भेजें और देखें"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"ऐप्स को SMS संदेशों को भेजने देता है. इसके परिणामस्वरूप अप्रत्याशित शुल्क लागू हो सकते हैं. दुर्भावनापूर्ण ऐप्स आपकी पुष्टि के बिना संदेश भेजकर आपका धन व्यय कर सकते हैं."</string> <string name="permlab_readSms" msgid="8745086572213270480">"अपने लेख संदेश (SMS या MMS) पढ़ें"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"ऐप्स को आपके टेबलेट या सिम कार्ड में संग्रहीत SMS संदेश पढ़ने देता है. इससे सामग्री या गोपनीयता पर ध्यान दिए बिना, ऐप्स सभी SMS संदेश पढ़ सकता है."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"धारक को किसी वाहक संदेश सेवा के शीर्ष-स्तरीय इंटरफ़ेस से आबद्ध होने देती है. सामान्य ऐप्स के लिए कभी भी आवश्यक नहीं होना चाहिए."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"वाहक सेवाओं से आबद्ध करें"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"धारक को वाहक सेवाओं से आबद्ध रहने देती है. सामान्य ऐप्स के लिए कभी भी आवश्यक नहीं होना चाहिए."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"परेशान न करें को ऐक्सेस करें"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"ऐप को परेशान न करें कॉन्फ़िगरेशन पढ़ने और लिखने देती है."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"पासवर्ड नियम सेट करें"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रीन लॉक पासवर्ड तथा पिन की लंबाई और उसमें अनुमत वर्णों को नियंत्रित करें."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"स्क्रीन-अनलॉक के प्रयासों पर निगरानी रखें"</string> @@ -1062,7 +1076,7 @@ <string name="extmedia_format_message" product="nosdcard" msgid="3934016853425761078">"आपके USB मेमोरी में संग्रहीत सभी फ़ाइलें मिट जाएंगी. यह क्रिया पूर्ववत नहीं की जा सकती!"</string> <string name="extmedia_format_message" product="default" msgid="14131895027543830">"आपके कार्ड का सभी डेटा खो जाएगा."</string> <string name="extmedia_format_button_format" msgid="4131064560127478695">"प्रारूपित करें"</string> - <string name="adb_active_notification_title" msgid="6729044778949189918">"USB डीबग करना कनेक्ट किया गया"</string> + <string name="adb_active_notification_title" msgid="6729044778949189918">"USB डीबग कनेक्ट किया गया"</string> <string name="adb_active_notification_message" msgid="1016654627626476142">"USB डीबग करना अक्षम करने के लिए स्पर्श करें."</string> <string name="select_input_method" msgid="8547250819326693584">"कीबोर्ड बदल सकता है"</string> <string name="configure_input_methods" msgid="4769971288371946846">"कीबोर्ड चुनें"</string> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index 69b6bf0..d5c6932 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -173,6 +173,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Radni je profil izbrisan"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Radni je profil izbrisan jer nedostaje administratorska aplikacija."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Administratorska aplikacija radnog profila nedostaje ili je oštećena. Zbog toga su radni profil i povezani podaci izbrisani. Za pomoć se obratite svom administratoru."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Uređaj će se izbrisati"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Nije moguće upotrijebiti administratorsku aplikaciju jer joj nedostaju komponente ili je oštećena. Vaš će se uređaj sada izbrisati. Za pomoć se obratite svom administratoru."</string> <string name="me" msgid="6545696007631404292">"Ja"</string> @@ -187,8 +189,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Zvono isključeno"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibracija zvona"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Zvono uključeno"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Pripremite se za ažuriranje"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Obrada paketa za ažuriranje…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Isključivanje..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Vaš tabletni uređaj će se isključiti."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televizor će se isključiti."</string> @@ -225,7 +237,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakti"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"pristupati vašim kontaktima"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Lokacija"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"pristup vašoj lokaciji"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Informacije o vašoj društvenoj aktivnosti"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Izravan pristup informacijama o kontaktima i društvenim vezama."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendar"</string> @@ -274,8 +287,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Pristup dostupnim računima."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"čitanje pretplaćenih feedova"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Aplikaciji omogućuje dohvaćanje detalja o trenutačno sinkroniziranim feedovima."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"slati i pregledavati SMS poruke"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Aplikaciji omogućuje slanje SMS poruka. To može dovesti do neočekivanih troškova. Zlonamjerne aplikacije mogu vam uzrokovati dodatne troškove slanjem poruka bez vašeg odobrenja."</string> <string name="permlab_readSms" msgid="8745086572213270480">"čitanje tekstnih poruka (SMS ili MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Aplikaciji omogućuje čitanje SMS poruka pohranjenih na tabletnom računalu ili SIM kartici. To aplikaciji omogućuje čitanje svih SMS poruka, neovisno o sadržaju ili povjerljivosti."</string> @@ -513,6 +525,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Omogućuje nositelju povezivanje sa sučeljem najviše razine usluge mobilnog operatera za slanje poruka. Ne bi trebalo biti potrebno za uobičajene aplikacije."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"povezivanje s uslugama mobilnog operatera"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Nositelju omogućuje povezivanje s uslugama mobilnog operatera. Ne bi trebalo biti potrebno za uobičajene aplikacije."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"pristupi opciji Ne ometaj"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Omogućuje aplikaciji čitanje i pisanje konfiguracije opcije Ne ometaj."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Postavi pravila zaporke"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Upravlja duljinom i znakovima koji su dopušteni u zaporkama i PIN-ovima zaključavanja zaslona."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Nadgledaj pokušaje otključavanja zaslona"</string> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 62a5102..20491d8 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Munkahelyi profil törölve"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"A munkahelyi profilt a rendszer a hiányzó rendszergazda alkalmazás miatt törölte."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"A munkahelyi profil rendszergazda alkalmazása hiányzik vagy sérült. A rendszer ezért törölte munkahelyi profilját, és az ahhoz kapcsolódó adatokat. Ha segítségre van szüksége, vegye fel a kapcsolatot rendszergazdájával."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"A rendszer törölni fogja eszközét"</string> <string name="factory_reset_message" msgid="4905025204141900666">"A rendszergazda alkalmazás egyes részei hiányoznak, vagy az alkalmazás sérült, ezért nem használható. A rendszer most törölni fogja eszközét. Ha segítségre van szüksége, vegye fel a kapcsolatot rendszergazdájával."</string> <string name="me" msgid="6545696007631404292">"Saját"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Csengő kikapcsolva"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Csengő rezeg"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Csengő bekapcsolva"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Felkészülés a frissítésre"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"A frissítési csomag feldolgozása…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Leállítás..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"A táblagép ki fog kapcsolni."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"A tévé ki fog kapcsolni."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Névjegyek"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"hozzáférés a névjegyekhez"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Helyadatok"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"hozzáférés a helyadatokhoz"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Az Ön közösségi adatai"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Közvetlen hozzáférés a névjegyekre és közösségi kapcsolatokra vonatkozó információkhoz"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Naptár"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Hozzáférés az elérhető fiókokhoz."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"feliratkozott hírcsatornák olvasása"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Lehetővé teszi az alkalmazás számára, hogy részleteket kapjon a jelenleg szinkronizált hírcsatornákról."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS-ek küldése és megtekintése"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Lehetővé teszi az alkalmazás számára, hogy SMS-eket küldjön. Ennek eredményeként váratlan terhelésekkel találkozhat. A rosszindulatú alkalmazások az Ön jóváhagyása nélkül küldhetnek üzeneteket, így költségek merülhetnek fel."</string> <string name="permlab_readSms" msgid="8745086572213270480">"szöveges üzenetek (SMS vagy MMS) olvasása"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Lehetővé teszi az alkalmazás számára, hogy hozzáférjen a táblagépen vagy SIM kártyán tárolt SMS-ekhez. Így az alkalmazás hozzáférhet az összes SMS-hez, azok tartalmától és titkos jellegétől függetlenül."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Lehetővé teszi, hogy a tulajdonos kapcsolódjon egy üzenetszolgáltatás legfelső szintű kezelőfelületéhez. A normál alkalmazásoknak erre soha nincs szükségük."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"kapcsolódás szolgáltatókhoz"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Lehetővé teszi a tulajdonos számára a szolgáltatókhoz való kapcsolódást. A normál alkalmazások esetében erre nincs szükség."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"hozzáférés a „Ne zavarjanak” funkcióhoz"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Az alkalmazás olvashatja és szerkesztheti a „Ne zavarjanak” funkció beállításait."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Jelszavakkal kapcsolatos szabályok beállítása"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"A képernyőzár jelszavaiban és PIN kódjaiban engedélyezett karakterek és hosszúság vezérlése."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Képernyőzár-feloldási kísérletek figyelése"</string> diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml index 772b4cd..3468535 100644 --- a/core/res/res/values-hy-rAM/strings.xml +++ b/core/res/res/values-hy-rAM/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Աշխատանքային պրոֆիլը ջնջվել է"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Աշխատանքային պրոֆիլը ջնջվել է ադմինիստրատորի հավելվածի բացակայության պատճառով:"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Աշխատանքային պրոֆիլի ադմինիստրատորի հավելվածը բացակայում է կամ վնասված է: Արդյունքում ձեր աշխատանքային պրոֆիլը և առնչվող տվյալները ջնջվել են: Օգնության համար դիմեք ձեր ադմինիստրատորին:"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Ձեր սարքը ջնջվելու է"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Ադմինիստրատորի հավելվածում բացակայում են բաղադրիչներ կամ այն վնասված է և չի կարող օգտագործվել: Ձեր սարքն այժմ ջնջվելու է: Օգնություն համար դիմեք ձեր ադմինիստրատորին:"</string> <string name="me" msgid="6545696007631404292">"Իմ"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Զանգակն անջատված է"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Զանգակի թրթռոց"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Զանգակը միացված է"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Պատրաստ է թարմացնելու"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Թարմացման փաթեթի մշակում…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Անջատվում է…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Ձեր գրասալիկը կանջատվի:"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Հեռուստացույցը կանջատվի:"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Կոնտակտներ"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"կոնտակտների հասանելիություն"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Տեղադրություն"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"օգտագործել ձեր տեղադրությունը"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Ձեր սոցիալական տեղեկությունները"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Ուղղակի մուտք ձեր կոնտակտների մասին տեղեկություններ և սոցիալական կապեր:"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Օրացույց"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Մուտքի հնարավորություն առկա հաշիվներ:"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"կարդալ բաժանորդագրված հոսքերը"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Թույլ է տալիս հավելվածին մանրամասներ ստանալ ընթացիկ համաժամեցված հոսքերի մասին:"</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS հաղորդագրությունների ուղարկում և ընթերցում"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Թույլ է տալիս հավելվածին ուղարկել SMS հաղորդագրություններ: Այն կարող է անսպասելի ծախսերի պատճառ դառնալ: Վնասարար հավելվածները կարող են ձեր հաշվից գումար ծախսել` ուղարկելով հաղորդագրություններ` առանց ձեր հաստատման:"</string> <string name="permlab_readSms" msgid="8745086572213270480">"կարդալ ձեր տեքստային հաղորդագրությունները (SMS կամ MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Թույլ է տալիս հավելվածին կարդալ ձեր գրասալիկում կամ SIM քարտում պահված SMS հաղորդագրությունները: Սա թույլ է տալիս հավելվածին կարդալ բոլոր SMS հաղորդագրությունները` անկախ բովանդակությունից կամ գաղտնիությունից:"</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Թույլ է տալիս տիրոջը կապվել օպերատորի հաղորդագրությունների ծառայության վերին մակարդակի միջերեսի հետ: Սա երբեք չի պահանջվում սովորական հավելվածների համար:"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"կապվել օպերատորի ծառայություններին"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Թույլ է տալիս սեփականատիրոջը կապվել օպերատորի ծառայություններին: Սովորական հավելվածների դեպքում չի պահանջվում:"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"հասանելիություն «Չանհանգստացնել» գործառույթին"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Թույլ է տալիս հավելվածին փոփոխել «Չանհանգստացնել» գործառույթի կազմաձևումը:"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Սահմանել գաղտնաբառի կանոնները"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Կառավարել էկրանի ապակողպման գաղտնաբառերի և PIN կոդերի թույլատրելի երկարությունն ու գրանշանները:"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Վերահսկել էկրանի ապակողպման փորձերը"</string> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index 83cf3cd..f305934 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -26,7 +26,7 @@ <string name="gigabyteShort" msgid="3259882455212193214">"GB"</string> <string name="terabyteShort" msgid="231613018159186962">"TB"</string> <string name="petabyteShort" msgid="5637816680144990219">"PB"</string> - <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string> + <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string> <string name="durationDays" msgid="6652371460511178259">"<xliff:g id="DAYS">%1$d</xliff:g> hari"</string> <string name="durationDayHours" msgid="2713107458736744435">"<xliff:g id="DAYS">%1$d</xliff:g> hari <xliff:g id="HOURS">%2$d</xliff:g> jam"</string> <string name="durationDayHour" msgid="7293789639090958917">"<xliff:g id="DAYS">%1$d</xliff:g> hari <xliff:g id="HOURS">%2$d</xliff:g> jam"</string> @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Profil kerja dihapus"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Profil kerja dihapus karena tidak ada aplikasi admin."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Aplikasi admin profil kerja tidak ada atau rusak. Akibatnya, profil kerja dan data terkait telah dihapus. Hubungi administrator untuk meminta bantuan."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Perangkat akan dihapus"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Aplikasi admin kehilangan komponen atau rusak, dan tidak dapat digunakan. Perangkat sekarang akan dihapus. Hubungi administrator untuk meminta bantuan."</string> <string name="me" msgid="6545696007631404292">"Saya"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Pendering mati"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Pendering bergetar"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Pendering nyala"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Mempersiapkan pembaruan"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Memproses pembaruan paket…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Sedang mematikan..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tablet Anda akan dimatikan."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"TV akan dimatikan."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontak"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"mengakses kontak"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Lokasi"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"mengakses lokasi Anda"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Informasi sosial Anda"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Akses langsung ke informasi tentang kontak dan hubungan sosial Anda."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalender"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Mengizinkan operator untuk mengikat ke antarmuka tingkat tinggi dari suatu layanan perpesanan operator. Fitur ini seharusnya tidak diperlukan oleh aplikasi normal."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"mengikat ke layanan operator"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Memungkinkan pemegang untuk mengikat ke layanan operator. Tidak pernah dibutuhkan untuk aplikasi normal."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Akses status Jangan Ganggu"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Mengizinkan aplikasi membaca dan menulis konfigurasi status Jangan Ganggu."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Setel aturan sandi"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Mengontrol panjang dan karakter yang diizinkan dalam sandi dan PIN kunci layar."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Upaya pembukaan kunci layar monitor"</string> diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml index daba3c0..7aa85c9 100644 --- a/core/res/res/values-is-rIS/strings.xml +++ b/core/res/res/values-is-rIS/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Vinnusniði eytt"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Vinnusniði eytt vegna þess að stjórnunarforrit vantar."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Stjórnunarforrit vinnusniðsins vantar eða er skemmt. Vinnusniðinu og gögnum því tengdu hefur því verið eytt. Hafðu samband við kerfisstjórann til að fá frekari aðstoð."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Tækið verður hreinsað"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Stjórnunarforritið vantar íhluti eða er skemmt og ekki er hægt að nota það. Þurrkað verður út af tækinu. Hafðu samband við kerfisstjórann til að fá aðstoð."</string> <string name="me" msgid="6545696007631404292">"Ég"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Slökkt á hringingu"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Titrar við hringingu"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Kveikt á hringingu"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Undirbúa fyrir uppfærslu"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Vinnur úr uppfærslupakka…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Slekkur…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Slökkt verður á spjaldtölvunni."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Slökkt verður á sjónvarpinu."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Tengiliðir"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"fá aðgang að tengiliðunum þínum"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Staðsetning"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"fá aðgang að staðsetningu þinni"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Samfélagsupplýsingarnar þínar"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Beinn aðgangur að upplýsingum um tengiliði og samfélagstengingar."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Dagatal"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Aðgangur að tiltækum reikningum."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"lesa strauma í áskrift"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Leyfir forriti að fá upplýsingar um straumana sem samstilltir eru á hverjum tíma."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"senda og skoða SMS-skilaboð"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Leyfir forriti að senda SMS-skilaboð. Þetta getur valdið óvæntri gjaldtöku. Spilliforrit geta kostað þig peninga með því að senda skilaboð án staðfestingar frá þér."</string> <string name="permlab_readSms" msgid="8745086572213270480">"lesa textaskilaboð (SMS eða MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Leyfir forriti að lesa SMS-skilaboð sem vistuð eru í spjaldtölvunni eða á SIM-kortinu. Þetta gerir forritinu kleift að lesa öll SMS-skilaboð burtséð frá innihaldi eða trúnaðarstigi."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Leyfir forriti að bindast efsta viðmótslagi skilaboðaþjónustu símafyrirtækis. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"bindast þjónustu símafyrirtækis"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Leyfir handhafa að bindast þjónustu símafyrirtækis. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"aðgangur að „Ónáðið ekki“"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Leyfir forriti að lesa og skrifa í grunnstillingu „Ónáðið ekki“."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Setja reglur um aðgangsorð"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Stjórna lengd og fjölda stafa í aðgangsorðum og PIN-númerum skjáláss."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Fylgjast með tilraunum til að taka skjáinn úr lás"</string> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index 4ddbd84..2256d00 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Profilo di lavoro eliminato"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Profilo di lavoro eliminato per app di amministrazione mancante."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"L\'app di amministrazione dei profili di lavoro manca o è danneggiata. Di conseguenza, il tuo profilo di lavoro e i relativi dati sono stati eliminati. Contatta l\'amministratore per ricevere assistenza."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Il dispositivo verrà resettato"</string> <string name="factory_reset_message" msgid="4905025204141900666">"L\'app di amministrazione è danneggiata o mancano componenti, pertanto non è possibile utilizzarla. Il dispositivo verrà resettato. Contatta l\'amministratore per ricevere assistenza."</string> <string name="me" msgid="6545696007631404292">"Io"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Suoneria disattivata"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Suoneria vibrazione"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Suoneria attiva"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Preparazione per l\'aggiornamento"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Elaborazione del pacchetto di aggiornamento…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Spegnimento..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Il tablet verrà spento."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"La TV verrà spenta."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contatti"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"accesso ai contatti"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Posizione"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"accesso alla posizione"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Le tue informazioni social"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Accesso diretto alle informazioni sui tuoi contatti e sulle tue connessioni social."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendario"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Accedere agli account disponibili."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"lettura feed sottoscritti"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Consente all\'applicazione di ottenere dettagli sui feed attualmente sincronizzati."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"invio e lettura di SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Consente all\'applicazione di inviare messaggi SMS. Ciò potrebbe comportare costi imprevisti. Applicazioni dannose potrebbero generare dei costi inviando messaggi senza la tua conferma."</string> <string name="permlab_readSms" msgid="8745086572213270480">"lettura messaggi di testo personali (SMS o MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Consente all\'applicazione di leggere i messaggi SMS memorizzati sul tablet o sulla scheda SIM. Ciò consente all\'applicazione di leggere tutti i messaggi SMS, indipendentemente dai contenuti o dal livello di riservatezza."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Consente l\'associazione di un servizio di messaggi dell\'operatore all\'interfaccia principale. Non dovrebbe mai essere necessaria per le normali applicazioni."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"Collegamento a servizi dell\'operatore"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Consente al titolare di collegarsi a servizi dell\'operatore. Non dovrebbe mai essere necessaria per le normali app."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"accesso alla funzione Non disturbare"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Consente all\'app di leggere e modificare la configurazione della funzione Non disturbare."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Impostazione regole password"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controlla la lunghezza e i caratteri ammessi nelle password e nei PIN del blocco schermo."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Controllo tentativi di sblocco dello schermo"</string> @@ -1465,7 +1479,7 @@ <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"L\'app è bloccata. Su questo dispositivo non è consentito lo sblocco."</string> <string name="lock_to_app_start" msgid="6643342070839862795">"Schermata bloccata"</string> <string name="lock_to_app_exit" msgid="8598219838213787430">"Schermata sbloccata"</string> - <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Richiedi il PIN prima di sbloccare"</string> + <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Richiedi il PIN per lo sblocco"</string> <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Richiedi sequenza di sblocco prima di sbloccare"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Richiedi password prima di sbloccare"</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"Installato dall\'amministratore"</string> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index b7d4d75..b119916 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"פרופיל העבודה נמחק"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"פרופיל העבודה נמחק מפני שחסרה אפליקציית ניהול."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"אפליקציית הניהול של פרופיל העבודה חסרה או פגומה. כתוצאה מכך פרופיל העבודה שלך נמחק, כולל כל הנתונים הקשורים אליו. לקבלת סיוע, פנה למנהל המערכת שלך."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"תתבצע מחיקה של המכשיר"</string> <string name="factory_reset_message" msgid="4905025204141900666">"באפליקציית הניהול חסרים מרכיבים או שהיא פגומה ולא ניתן להשתמש בה. תתבצע כעת מחיקה של המכשיר. לקבלת סיוע, פנה למנהל המערכת שלך."</string> <string name="me" msgid="6545696007631404292">"אני"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"צלצול כבוי"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"צלצול ורטט"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"צלצול מופעל"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"הכן לעדכון"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"מעבד את חבילת העדכון…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"מכבה..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"הטאבלט שלך יכבה."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"הטלוויזיה שלך תיכבה."</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"אנשי קשר"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"גישה אל אנשי הקשר"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"מיקום"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"גישה אל המיקום שלך"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"מידע על הקשרים החברתיים שלך"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"גישה ישירה למידע על אנשי קשר וקשרים חברתיים שלך."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"יומן"</string> @@ -513,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"מאפשרת לבעלים לאגד לממשק ברמה העליונה של שירות העברת הודעות של ספק. לעולם לא אמורה להיות נחוצה עבור אפליקציות רגילות."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"איגוד לשירותי ספק"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"מאפשר לבעלים לאגד לשירות ספק. לעולם לא אמור להיות נחוץ לאפליקציות רגילות."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"גישה אל \'נא לא להפריע\'"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"מאפשר לאפליקציה לקרוא ולכתוב את התצורה של \'נא לא להפריע\'."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"הגדר כללי סיסמה"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"קביעת האורך הנדרש והתווים המותרים בסיסמאות ובקודי PIN של מסך הנעילה."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"עקוב אחר ניסיונות לביטול נעילת מסך"</string> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index 54729a1..bb1ecc6 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"仕事用プロファイルが削除されました"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"管理アプリがないため仕事用プロファイルが削除されました。"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"仕事用プロファイルの管理アプリがないか、破損しています。そのため仕事用プロファイルと関連データが削除されました。管理者にサポートをご依頼ください。"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"端末のデータが消去されます"</string> <string name="factory_reset_message" msgid="4905025204141900666">"管理アプリの構成要素が不足しているか、アプリが破損しているため、ご利用になれません。端末のデータはこれから消去されます。管理者にサポートをご依頼ください。"</string> <string name="me" msgid="6545696007631404292">"自分"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"着信音オフ"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"バイブレーション着信"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"着信音オン"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"更新の準備"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"更新パッケージを処理しています…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"シャットダウン中..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"タブレットの電源をOFFにします。"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"テレビの電源をOFFにします。"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"連絡先"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"連絡先へのアクセス"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"位置情報"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"位置情報にアクセスします"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ソーシャル情報"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"連絡先とソーシャルコネクションに関する情報に直接アクセスします。"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"カレンダー"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"携帯通信会社のSMSサービスのトップレベルインターフェースにバインドすることを所有者に許可します。通常のアプリでは不要です。"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"携帯通信会社のサービスへのバインド"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"携帯通信会社のサービスにバインドすることを所有者に許可します。通常のアプリでは不要です。"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"[通知を非表示]へのアクセス"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"[通知を非表示]の設定の読み取りと書き込みをアプリに許可します。"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"パスワードルールの設定"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"画面ロックのパスワードとPINの長さと使用できる文字を制御します。"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"画面ロック解除試行の監視"</string> diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml index 52ded6d..470874d 100644 --- a/core/res/res/values-ka-rGE/strings.xml +++ b/core/res/res/values-ka-rGE/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"სამუშაო პროფილი წაშლილია"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"სამუშაო პროფილი წაშლილია ადმინისტრატორის აპლიკაციის არ ქონის გამო."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"სამუშაო პროფილის ადმინისტრატორის აპლიკაცია გამოტოვებული ან დაზიანებულია. შედეგად, თქვენი სამუშაო პროფილი და მასთან დაკავშირებული მონაცემები წაიშალა. დახმარებისათვის დაუკავშირდით თქვენს ადმინისტრატორს."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"თქვენი მოწყობილობა წაიშლება"</string> <string name="factory_reset_message" msgid="4905025204141900666">"ადმინისტრატორის აპლიკაციას კომპონენტები აკლია ან დაზიანებულია, შესაბამისად, მისი გამოყენება ვერ მოხერხდება. თქვენი მოწყობილობა წაიშლება. დახმარებისათვის დაუკავშირდით თქვენს ადმინისტრატორს."</string> <string name="me" msgid="6545696007631404292">"მე"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"მრეკავი გათიშულია"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"ვიბრაციის რეჟიმი"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"ზარი ჩართულია"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"განახლებისთვის მომზადება"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"განახლების პაკეტის დამუშავება..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"გამორთვა…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"თქვენი ტაბლეტი გაითიშება."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"თქვენი ტელევიზორი გამოირთვება."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"კონტაქტები"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"თქვენს კონტაქტებზე წვდომა"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"მდებარეობა"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"თქვენს მდებარეობაზე წვდომა"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"თქვენი სოციალური ინფორმაცია"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"თქვენს კონტაქტებისა და სოციალურ კავშირების შესახებ ინფორმაციაზე პირდაპირი წვდომა."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"კალენდარი"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"ხელმისაწვდომ ანგარიშებზე წვდომა."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"გამოწერილი არხების წაკითხვა"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"აპს შეეძლება ინფორმაციის მოპოვება ბოლოს სინქრონიზებული არხების შესახებ."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS-ის შეტყობინებების გაგზავნა და ნახვა"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"აპს შეეძლება, გაგზავნოს SMS შეტყობინებები, რამაც შეიძლება გაუთვალისწინებელი ხარჯები გამოიწვიოს. მავნე აპებმა შეიძლება დაგიხარჯონ ფული შეტყობინებების თქვენი თანხმობის გარეშე გაგზავნით."</string> <string name="permlab_readSms" msgid="8745086572213270480">"თქვენი ტექსტური შეტყობინებების (SMS ან MMS) წაკითხვა"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"აპს შეეძლება თქვენს ტაბლეტში ან SIM ბარათში შენახული SMS შეტყობინებების წაკითხვა. ამგვარად, აპს ექნება შესაძლებლობა წაიკითხოს ყველა SMS შეტყობინება, მათი კონტენტისა და კონფიდენციალურობის მიუხედავად."</string> @@ -512,6 +524,10 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"საშუალებას აძლევს მფლობელს შექმნას შეტყობინების გაცვლის მომსახურების უმახლესი დონის ინტერფეისი. არასდროს იქნება საჭირო ნორმალური აპლიკაციებისათვის."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"ოპერატორის სერვისებთან დაკავშირება"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"მფლობელს აძლევს ოპერატორის სერვისებთან დაკავშირების საშუალებას. ჩვეულებრივი აპებისთვის არასოდეს იქნება საჭირო."</string> + <!-- no translation found for permlab_access_notification_policy (4247510821662059671) --> + <skip /> + <!-- no translation found for permdesc_access_notification_policy (3296832375218749580) --> + <skip /> <string name="policylab_limitPassword" msgid="4497420728857585791">"პაროლის წესების დაყენება"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"აკონტროლეთ ეკრანის ბლოკირების პაროლებისა და PIN-ების სიმბოლოების სიგრძე."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"ეკრანის განბლოკვის მცდელობების გაკონტროლება"</string> diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml index fd28af3..947e996 100644 --- a/core/res/res/values-kk-rKZ/strings.xml +++ b/core/res/res/values-kk-rKZ/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Жұмыс профилі жойылды"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Басқару қолданбасы болмағандықтан жұмыс профилі жойылды."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Жұмыс профилінің басқару қолданбасы жоқ немесе бүлінген. Нәтижесінде жұмыс профиліңіз және қатысты деректер жойылды. Көмек алу үшін әкімшіге хабарласыңыз."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Құрылғыңыздағы деректер өшіріледі"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Басқару қолданбасында құрамдастар жетіспейді немесе ол бүлінген және оны пайдалану мүмкін емес. Құрылғыңыздағы деректер қазір өшіріледі. Көмек алу үшін әкімшіге хабарласыңыз."</string> <string name="me" msgid="6545696007631404292">"Мен"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Қоңырау өшірулі"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Қоңырау тербелісі"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Қоңырау қосулы"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Жаңартуға дайындау"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Жаңарту бумасы өңделуде…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Өшірілуде…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Планшет өшіріледі."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ТД өшіріледі."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Контактілер"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"контактілерге кіру"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Орын"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"орныңызға кіру"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Сіздің әлеуметтік ақпаратыңыз"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Байланыстарыңыз бен әлеуметтік контактілеріңіз туралы ақпаратқа тікелей қол жетімділік."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Күнтізбе"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Қол жетімді есептік жазбаларға кіру."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"жазылған ағындарды оқу"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Қолданбаға қазіргі уақытта синхрондалған арналар туралы мәліметтерді алуға рұқсат береді."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS хабарларын жіберу және көру"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Қолданбаға SMS хабарларын жіберу мүмкіндігін береді. Бұл қосымша төлемдерге себеп болуы мүмкін. Залалды қолданбалар сіздің құптауыңызсыз хабар жіберіп, қосымша шығынға себеп болуы мүмкін."</string> <string name="permlab_readSms" msgid="8745086572213270480">"өзіңіздің мәтін хабарларыңызды оқу (SMS немесе MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Қолданбаға планшетте сақталған SMS хабарларын немесе SIM картасын оқу мүмкіндігін береді. Бұл қолданбаға мазмұны немесе құпиялығына қарамастан барлық SMS хабарларын оқу мүмкіндігін береді."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Иесіне оператордың хабар алмасу қызметінің жоғарғы деңгейлі интерфейсіне байластыруға рұқсат етеді. Қалыпты қолданбалар үшін ешқашан қажет болмайды."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"оператор қызметтеріне қосылу"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Иесіне оператор қызметтеріне қосылуға мүмкіндік береді. Қалыпты қолданбалар үшін қажет болмайды."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"«Мазаламаңыз» режиміне кіру"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Қолданбаға «Мазаламаңыз» конфигурациясына оқу және жазу мүмкіндігін береді."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Кілтсөз ережелерін тағайындау"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Экран бекітпесінің құпия сөздерінің және PIN кодтарының ұзындығын және оларда рұқсат етілген таңбаларды басқару."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Экранды ашу әркеттерін бақылау"</string> diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml index 8aece01..b3fb782 100644 --- a/core/res/res/values-km-rKH/strings.xml +++ b/core/res/res/values-km-rKH/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"ប្រវត្តិរូបការងារត្រូវបានលុប"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"ប្រវត្តិរូបការងារត្រូវបានលុបដោយសារបាត់បង់កម្មវិធីគ្រប់គ្រង។"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"ប្រវត្តិរូបការងាររបស់អ្នកអាចបាត់បង់ ឬមានបញ្ហា។ ជាលទ្ធផល ប្រវត្តិរូបការងាររបស់អ្នក និងទិន្នន័យដែលពាក់ព័ន្ធត្រូវបានលុប។ ទំនាក់ទំនងអ្នកគ្រប់គ្រងរបស់អ្នកសម្រាប់ជំនួយ។"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"ឧបករណ៍របស់អ្នកនឹងត្រូវបានលុប"</string> <string name="factory_reset_message" msgid="4905025204141900666">"កម្មវិធីគ្រប់គ្រងបាត់បង់សមាសធាតុ ឬមានបញ្ហា ហើយមិនអាចប្រើបានទេ។ ឧបករណ៍របស់អ្នកនឹងត្រូវបានលុបឥឡូវនេះ។ ទំនាក់ទំនងអ្នកគ្រប់គ្រងរបស់អ្នកសម្រាប់ជំនួយ។"</string> <string name="me" msgid="6545696007631404292">"ខ្ញុំ"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"បិទកម្មវិធីរោទ៍"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"កម្មវិធីរោទ៍ញ័រ"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"បើកកម្មវិធីរោទ៍"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"រៀបចំធ្វើបច្ចុប្បន្នភាព"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"កំពុងដំណើរការកញ្ចប់នេះ…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"កំពុងបិទ..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"កុំព្យូទ័របន្ទះរបស់អ្នកនឹងបិទ។"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ទូរទស្សន៍របស់អ្នកបិទ។"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"ទំនាក់ទំនង"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ចូលប្រើទំនាក់ទំនងរបស់អ្នក"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"ទីតាំង"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"ចូលដំណើរការទីតាំងរបស់អ្នក"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ព័ត៌មានសង្គមរបស់អ្នក"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"ចូលដំណើរការព័ត៌មានដោយផ្ទាល់អំពីទំនាក់ទំនង និងការភ្ជាប់សង្គមរបស់អ្នក។"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ប្រតិទិន"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"ចូលដំណើរការគណនីដែលមាន។"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"អានអត្ថបទព័ត៌មានបានជាវ"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"ឲ្យកម្មវិធីទទួលព័ត៌មានលម្អិតអំពីអត្ថបទព័ត៌មានបានធ្វើសមកាលកម្មបច្ចុប្បន្ន។"</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"ផ្ញើ និងមើលសារ SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"ឲ្យកម្មវិធីផ្ញើសារ SMS ។ វាអាចគិតថ្លៃសេវាកម្មដែលមិនរំពឹងទុក។ កម្មវិធីព្យាបាទអាចគិតថ្លៃសេវាកម្មពីអ្នក ដោយផ្ញើសារដោយគ្មានការបញ្ជាក់របស់អ្នក។"</string> <string name="permlab_readSms" msgid="8745086572213270480">"អានសារអត្ថបទរបស់អ្នក (SMS ឬ MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"ឲ្យកម្មវិធីអានសារ SMS ដែលមានក្នុងកុំព្យូទ័របន្ទះ ឬស៊ីមកាត។ វាឲ្យកម្មវិធីអានសារ SMS ទាក់ទងនឹងមាតិកា ឬព័ត៌មានសម្ងាត់។"</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"អនុញ្ញាតឲ្យអ្នកប្រើភ្ជាប់ទៅអ៊ីនធឺហ្វេសកម្រិតខ្ពស់នៃសេវាកម្មសារអ្នកផ្តល់សេវាកម្មទូរស័ព្ទ។ មិនគួរចាំបាច់សម្រាប់កម្មវិធីធម្មតាទេ។"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"ភ្ជាប់ទៅក្រុមហ៊ុនផ្តល់សេវាកម្ម"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"អនុញ្ញាតឲ្យម្ចាស់ភ្ជាប់ទៅសេវាកម្មក្រុមហ៊ុនផ្តល់សេវាកម្ម។ មិនគួរចាំបាច់សម្រាប់កម្មវិធីធម្មតាទេ។"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"ចូលដំណើរការ កុំរំខាន"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"អនុញ្ញាតឲ្យកម្មវិធីអាន និងសរសេរការកំណត់រចនាសម្ព័ន្ធមុខងារ កុំរំខាន។"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"កំណត់ក្បួនពាក្យសម្ងាត់"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"គ្រប់គ្រងប្រវែង និងតួអក្សរដែលអនុញ្ញាតឲ្យប្រើក្នុងពាក្យសម្ងាត់ និងលេខសម្ងាត់ចាក់សោអេក្រង់។"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"ពិនិត្យការព្យាយាមដោះសោអេក្រង់"</string> diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml index 0e36f53..cb0f98d 100644 --- a/core/res/res/values-kn-rIN/strings.xml +++ b/core/res/res/values-kn-rIN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"ತಪ್ಪಿಹೋಗಿರುವ ನಿರ್ವಾಹಕ ಅಪ್ಲಿಕೇಶನ್ನಿಂದಾಗಿ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ನಿರ್ವಾಹಕ ಅಪ್ಲಿಕೇಶನ್ ಕಳೆದು ಹೋಗಿದೆ ಅಥವಾ ಹಾಳಾಗಿದೆ. ಇದರ ಪರಿಣಾಮವಾಗಿ ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಮತ್ತು ಅದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಸಹಾಯಕ್ಕಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ"</string> <string name="factory_reset_message" msgid="4905025204141900666">"ನಿರ್ವಾಹಕ ಅಪ್ಲಿಕೇಶನ್ನ ಅಂಶಗಳು ಕಾಣೆಯಾಗಿವೆ ಅಥವಾ ದೋಷಪೂರಿತವಾಗಿದೆ ಮತ್ತು ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಿಮ್ಮ ಸಾಧನವನ್ನು ಇದೀಗ ಅಳಿಸಲಾಗುತ್ತದೆ. ಸಹಾಯಕ್ಕಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string> <string name="me" msgid="6545696007631404292">"ನಾನು"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"ರಿಂಗರ್ ಆಫ್"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"ರಿಂಗರ್ ವೈಬ್ರೇಷನ್"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"ರಿಂಗರ್ ಆನ್"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"ನವೀಕರಣಕ್ಕಾಗಿ ತಯಾರಿ ನಡೆಸಲಾಗುತ್ತಿದೆ"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"ನವೀಕರಣ ಪ್ಯಾಕೇಜ್ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"ಸ್ಥಗಿತಗೊಳ್ಳುತ್ತಿದೆ…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಸ್ಥಗಿತಗೊಳ್ಳುತ್ತದೆ."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ನಿಮ್ಮ ಟಿವಿಯನ್ನು ಮುಚ್ಚಲಾಗುತ್ತದೆ."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"ಸಂಪರ್ಕಗಳು"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಪ್ರವೇಶಿಸಿ"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"ಸ್ಥಳ"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಿ"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ನಿಮ್ಮ ಸಾಮಾಜಿಕ ಮಾಹಿತಿ"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಸಾಮಾಜಿಕ ಸಂಪರ್ಕಗಳ ಕುರಿತ ಮಾಹಿತಿಗೆ ನೇರ ಪ್ರವೇಶ."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ಕ್ಯಾಲೆಂಡರ್"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ವಾಹಕ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಸೇವೆಯ ಮೇಲ್ಮಟ್ಟದ ಇಂಟರ್ಫೇಸ್ಗೆ ಪ್ರತಿಬಂಧಿಸಲು ಹೊಂದಿರುವವರಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"ವಾಹಕ ಸೇವೆಗಳಿಗೆ ಪ್ರತಿಬಂಧಿಸಿ"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"ವಾಹಕ ಸೇವೆಗಳನ್ನು ಪ್ರತಿಬಂಧಿಸಲು ಹೊಂದಿರುವವರಿಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"ಅಡಚಣೆ ಮಾಡಬೇಡಿಯನ್ನು ಪ್ರವೇಶಿಸಿ"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಓದಲು ಮತ್ತು ಬರೆಯಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"ಪಾಸ್ವರ್ಡ್ ನಿಮಯಗಳನ್ನು ಹೊಂದಿಸಿ"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"ಪರದೆ ಲಾಕ್ನಲ್ಲಿನ ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಪಿನ್ಗಳ ಅನುಮತಿಸಲಾದ ಅಕ್ಷರಗಳ ಪ್ರಮಾಣವನ್ನು ನಿಯಂತ್ರಿಸಿ."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"ಪರದೆಯ-ಅನ್ಲಾಕ್ ಪ್ರಯತ್ನಗಳನ್ನು ಮಾನಿಟರ್ ಮಾಡಿ"</string> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index 976c0c1..14e6d66 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"직장 프로필 삭제됨"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"관리 앱이 누락되어 직장 프로필이 삭제되었습니다."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"직장 프로필 관리 앱이 없거나 손상되어 직장 프로필 및 관련 데이터가 삭제되었습니다. 도움이 필요한 경우 관리자에게 문의하세요."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"기기가 삭제됩니다."</string> <string name="factory_reset_message" msgid="4905025204141900666">"관리 앱이 손상되었거나 구성요소가 없어서 사용할 수 없습니다. 이제 기기가 삭제됩니다. 도움이 필요한 경우 관리자에게 문의하세요."</string> <string name="me" msgid="6545696007631404292">"나"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"벨소리가 무음입니다."</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"벨소리가 진동입니다."</string> <string name="silent_mode_ring" msgid="8592241816194074353">"벨소리가 켜져 있습니다."</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"업데이트 준비"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"업데이트 패키지 처리 중…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"종료 중..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"태블릿이 종료됩니다."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"TV가 종료됩니다."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"주소록"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"주소록 액세스"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"위치"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"내 위치 액세스"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"소셜 정보"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"내 연락처 및 소셜 친구의 개인 정보에 직접 액세스합니다."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"캘린더"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"사용 가능한 계정에 액세스합니다."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"가입된 피드 읽기"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"앱이 현재 동기화된 피드에 대한 세부정보를 가져올 수 있도록 허용합니다."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS 메시지 전송 및 보기"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"앱이 SMS 메시지를 보낼 수 있도록 허용합니다. 이 경우 예상치 못한 통화 요금이 부과될 수 있습니다. 이 경우 악성 앱이 사용자의 확인 없이 메시지를 전송해 요금이 부과될 수 있습니다."</string> <string name="permlab_readSms" msgid="8745086572213270480">"내 문자 메시지 읽기(SMS 또는 MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"앱이 태블릿 또는 SIM 카드에 저장된 SMS 메시지를 읽을 수 있도록 허용합니다. 이렇게 하면 앱이 콘텐츠 또는 비밀유지와 관계 없이 모든 SMS 메시지를 읽을 수 있습니다."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"보유자가 이동통신사 메시지 서비스의 최상위 인터페이스에 고정할 수 있습니다. 일반 앱에는 필요하지 않습니다."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"이동통신사 서비스 사용"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"권한을 가진 애플리케이션에서 이동통신사 서비스를 사용하도록 허용합니다. 일반 앱에는 필요하지 않습니다."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"알림 일시중지에 액세스"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"앱에 알림 일시중지 설정을 읽고 작성하도록 허용합니다."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"비밀번호 규칙 설정"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"화면 잠금 비밀번호와 PIN에 허용되는 길이와 문자 수를 제어합니다."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"화면 잠금해제 시도 모니터링"</string> diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml index 3ea7d59..6387cb7 100644 --- a/core/res/res/values-ky-rKG/strings.xml +++ b/core/res/res/values-ky-rKG/strings.xml @@ -255,6 +255,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Жумуш профили жок кылынды"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Администратордун колдонмосу жок болгондуктан, жумуш профили жок кылынды."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Жумуш профилинин администратор колдонмосу жок же бузулгандыктан, жумуш профилиңиз жана ага байланыштуу дайындар жок кылынган. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Түзмөгүңүз тазаланат"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Администратор колдонмосунун курамдары жок же бузулгандыктан, аны колдонуу мүмкүн эмес. Түзмөгүңүз азыр тазаланат. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string> <!-- no translation found for me (6545696007631404292) --> @@ -277,8 +279,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Коңгуроо өчүк"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Чалганда титирөө"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Коңгуроо жандырылган"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Жаңыртууга даярдоо"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Жаңыртуу топтому иштелүүдө…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <!-- no translation found for shutdown_progress (2281079257329981203) --> <skip /> <!-- no translation found for shutdown_confirm (3385745179555731470) --> @@ -332,7 +344,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Байланыштар"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"байланыштарыңызга уруксат"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Жайгашкан жер"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"жайгашкан жериңизге кирүү"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Сиздин социалдык маалыматыңыз"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Сиздин байланыштарыңыз жана социалдык байланыштарыңыз тууралуу маалыматтарга түз жетки алуу."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Күнбарак"</string> @@ -387,8 +400,7 @@ <!-- no translation found for permlab_subscribedFeedsRead (4756609637053353318) --> <skip /> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Колдонмого учурда шайкештештирилген каналдардын чоо-жайларын алуу мүмкүнчүлүгүн берет."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS билдирүүлөрдү жиберүү жана көрсөтүү"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Колдонмого SMS билдирүүлөрүн жөнөтүү уруксатын берет. Бул сиз күтпөгөн чыгымдарга алып келиши мүмкүн. Зыяндуу колдонмолор сиздин ырастооңузсуз билдирүүлөрдү жөнөтүп, көп чыгымдарга себепкер болушу мүмкүн."</string> <string name="permlab_readSms" msgid="8745086572213270480">"билдирүүлөрүңүздү (SMS же MMS) окуу"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Колдонмого планшетиңизде же SIM-картаңызда сакталган SMS билдирүүлөрүңүздү окуганга уруксат берет. Бул колдонмого SMS билдирүүлөрүңүздү, алардын мазмунуна же конфиденциалдуулугуна карабастан, окууга уруксат берет."</string> @@ -647,6 +659,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Кармоочуга оператордун билдирүү кызматынын жогорку деңгээлдеги интерфейсине байланышуу мүмкүнчүлүгүн берет. Кадимки колдонмолорго эч качан талап кылынбашы мүмкүн."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"байланыш операторунун кызматтарына туташуу"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Колдонмо байланыш операторлорунун кызматтарына туташа алат. Бул мүмкүнчүлүктү кадимки колдонмолор пайдалана алышпайт."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"\"Тынчымды алба\" режимине мүмкүнчүлүк алуу"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Колдонмо \"Тынчымды алба\" режимине окуу жана жазуу мүмкүнчүлүгүн берет."</string> <!-- no translation found for policylab_limitPassword (4497420728857585791) --> <skip /> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Экран кулпусунун сырсөздөрү менен PIN\'дерине уруксат берилген узундук менен белгилерди көзөмөлдөө."</string> @@ -1922,7 +1936,7 @@ </plurals> <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> чейин"</string> <string name="zen_mode_forever" msgid="7420011936770086993">"Бул өчүрүлгөнгө чейин"</string> - <string name="zen_mode_forever_dnd" msgid="3792132696572189081">"Тынчымды алба режими өчүрүлгөнгө чейин"</string> + <string name="zen_mode_forever_dnd" msgid="3792132696572189081">"\"Тынчымды алба\" режими өчүрүлгөнгө чейин"</string> <string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string> <string name="toolbar_collapse_description" msgid="2821479483960330739">"Жыйнап коюу"</string> <string name="zen_mode_feature_name" msgid="5254089399895895004">"Тынчымды алба"</string> diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml index 2dc336d..a0f187c 100644 --- a/core/res/res/values-lo-rLA/strings.xml +++ b/core/res/res/values-lo-rLA/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"ລຶບໂປຣໄຟລ໌ບ່ອນເຮັດວຽກແລ້ວ"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"ລຶບໂປຣໄຟລ໌ບ່ອນເຮັດວຽກແລ້ວ ເນື່ອງຈາກຂາດແອັບບໍລິຫານໄປ."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"ແອັບບໍລິຫານໂປຣໄຟລ໌ວຽກຂາດໄປ ຫຼືຖືກເສຍຫາຍ. ດ້ວຍເຫດຜົນນັ້ນ, ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານ ແລະຂໍ້ມູນທີ່ກ່ຽວຂ້ອງຈິ່ງຖືກລຶບໄປ. ຕິດຕໍ່ຜູ້ຄວບຄຸມຂອງທ່ານ ເພື່ອຂໍຄວາມຊ່ວຍເຫຼືອ."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"ອຸປະກອນຂອງທ່ານຈະຖືກລຶບ"</string> <string name="factory_reset_message" msgid="4905025204141900666">"ແອັບບໍລິຫານຂາດອົງປະກອບ ຫຼືຖືກຂັດຈັງຫວະ, ແລະບໍ່ສາມາດໃຊໄດ້. ດຽວນີ້ອຸປະກອນຂອງທ່ານຈະຖືກລຶບ. ຕິດຕໍ່ຜູ້ຄວບຄຸມຂອງທ່ານ ເພື່ອຂໍຄວາມຊ່ວຍເຫຼືອ."</string> <string name="me" msgid="6545696007631404292">"ຂ້າພະເຈົ້າ"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"ປິດສຽງຣິງໂທນ"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"ສັ່ນພ້ອມສຽງຣິງໂທນ"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"ເປີດສຽງໂທເຂົ້າແລ້ວ"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"ກະກຽມສຳລັບການອັບເດດ"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"ກຳລັງປະມວນຜົນແພັກເກດອັບເດດ…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"ກຳລັງປິດລະບົບລົງ..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"ແທັບເລັດຂອງທ່ານຈະຖືກປິດ."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ໂທລະພາບຂອງທ່ານຈະມອດ."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"ລາຍຊື່"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ເຂົ້າຫາລາຍຊື່ຂອງທ່ານ"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"ສະຖານທີ່"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"ເຂົ້າຫາທີ່ຕັ້ງຂອງທ່ານ"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ຂໍ້ມູນສັງຄົມຂອງທ່ານ"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"ເຂົ້າເຖິງຂໍ້ມູນກ່ຽວກັບລາຍຊື່ຜູ່ຕິດຕໍ່ ແລະການເຊື່ອມຕໍ່ທາງສັງຄົມຂອງທ່ານໂດຍກົງ."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ປະຕິທິນ"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ອະນຸຍາດໃຫ້ຜູ້ຖືຜູກພັນກັບຕົວປະສານລະດັບສູງສຸດຂອງບໍລິການສົ່ງຂໍ້ຄວາມຜູ້ໃຫ້ບໍລິການ. ບໍ່ຈຳເປັນສຳລັບແອັບຯທົ່ວໄປ."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"ປະຕິບັດຕາມການບໍລິການຂອງບໍລິສັດເຄືອຂ່າຍມືຖື"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"ອະນຸຍາດໃຫ້ເຈົ້າຂອງປະຕິບັດຕາມການບໍລິການຂອງບໍລິສັດເຄືອຂ່າຍມືຖື. ບໍ່ຄວນຈະໃຊ້ໃນແອັບທົ່ວໄປ."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"ເຂົ້າເຖິງ ບໍ່ລົບກວນ"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"ອະນຸຍາດໃຫ້ແອັບອ່ານ ແລະຂຽນການກນຳດຄ່າ ບໍ່ລົບກວນ."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"ຕັ້ງຄ່າກົດຂອງລະຫັດຜ່ານ"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"ຄວບຄຸມຄວາມຍາວ ແລະຕົວອັກສອນທີ່ອະນຸຍາດໃຫ້ຢູ່ໃນລະຫັດລັອກໜ້າຈໍ ແລະ PIN."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"ຕິດຕາມການພະຍາຍາມປົດລັອກໜ້າຈໍ"</string> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index ec4dfd1..ff28d50 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Darbo profilis ištrintas"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Darbo profilis ištrintas dėl trūkstamos administratoriaus programos."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Trūksta darbo profilio administratoriaus programos arba ji sugadinta. Todėl darbo profilis ir susiję duomenys buvo ištrinti. Dėl pagalbos susisiekite su administratoriumi."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Įrenginys bus ištrintas"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Trūksta administratoriaus programos komponentų arba programa sugadinta ir jos negalima naudoti. Dabar įrenginys bus ištrintas. Dėl pagalbos susisiekite su administratoriumi."</string> <string name="me" msgid="6545696007631404292">"Aš"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Skambutis išjungtas"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibracija skambinant"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Skambutis įjungtas"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Pasiruošti atnaujinti"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Apdorojamas naujinio paketas…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Išsijungia..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Planšetinio kompiuterio veikimas bus sustabdytas."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"TV bus išjungtas."</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktai"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"pasiekti kontaktus"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Vietovė"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"pasiekti vietovę"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Socialinė informacija"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Tiesioginė prieiga prie kontaktų ir socialinių ryšių informacijos."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendorius"</string> @@ -275,8 +288,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Pasiekite galimas paskyras."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"skaityti prenumeruojamus tiekimus"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Leidžiama programai gauti išsamios informacijos apie šiuo metu sinchronizuojamus sklaidos kanalus."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"siųsti ir peržiūrėti SMS pranešimus"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Leidžiama programai siųsti SMS pranešimus. Dėl to gali atsirasti nenumatytų apmokestinimų. Kenkėjiškos programos gali siųsti mokamus pranešimus be jūsų patvirtinimo."</string> <string name="permlab_readSms" msgid="8745086572213270480">"skaityti teksto pranešimus (SMS arba MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Leidžiama programai skaityti planšetiniame kompiuteryje ar SIM kortelėje saugomus SMS pranešimus. Taip programai leidžiama skaityti visus SMS pranešimus, neatsižvelgiant į turinį ar konfidencialumą."</string> @@ -514,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Leidžiama savininkui susisaistyti su aukščiausio lygio operatoriaus susirašinėjimo paslaugos sąsaja. Įprastoms programoms to neturėtų prireikti."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"susaistyti su operatoriaus paslaugomis"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Savininkui leidžiama susisaistyti su operatoriaus paslaugomis. To niekada neturėtų prireikti naudojant įprastas programas."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"pasiekti „Do Not Disturb“"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Leidžiama programai skaityti ir rašyti „Do Not Disturb“ konfigūraciją."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Nustatyti slaptažodžio taisykles"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Valdykite, kokio ilgio ekrano užrakto slaptažodžius ir PIN kodus galima naudoti."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Stebėti bandymus atrakinti ekraną"</string> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index 738ad27..e7fdd29 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -173,6 +173,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Darba profils izdzēsts"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Darba profils tika dzēsts, jo trūkst administratora lietotnes."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Trūkst darba profila administratora lietotnes, vai šī lietotne ir bojāta. Šī iemesla dēļ jūsu darba profils un saistītie dati tika dzēsti. Lai saņemtu palīdzību, sazinieties ar administratoru."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Jūsu ierīces dati tiks dzēsti"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Administratora lietotnē trūkst komponentu, vai šī lietotne ir bojāta. Lietotni nevar izmantot. Ierīces dati tūlīt tiks dzēsti. Lai saņemtu palīdzību, sazinieties ar administratoru."</string> <string name="me" msgid="6545696007631404292">"Man"</string> @@ -187,8 +189,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Zvanītājs izslēgts"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Zvanītājs vibrācijas režīmā"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Zvanītājs ieslēgts"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Sagatavošanās atjauninājumam"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Notiek pakotņu atjaunināšanas apstrāde…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Notiek izslēgšana..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Planšetdators tiks beidzēts."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televizors tiks izslēgts."</string> @@ -225,7 +237,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktpersonas"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"piekļūt jūsu kontaktpersonu datiem"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Atrašanās vieta"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"piekļūt jūsu atrašanās vietas informācijai"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Jūsu sociālo tīklu informācija"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Tieša piekļuve informācijai par jūsu kontaktpersonām un sociālajiem savienojumiem."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendārs"</string> @@ -274,8 +287,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Piekļūstiet pieejamajiem kontiem."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"lasīt abonētās plūsmas"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Ļauj lietotnei iegūt informāciju par pašlaik sinhronizētajām plūsmām."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"sūtīt un skatīt īsziņas"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Ļauj lietotnei sūtīt īsziņas. Tas var radīt neparedzētas izmaksas. Ļaunprātīgas lietotnes var radīt jums izmaksas, sūtot ziņojumus bez jūsu apstiprinājuma."</string> <string name="permlab_readSms" msgid="8745086572213270480">"lasīt ziņojumus (SMS vai MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Ļauj lietotnei lasīt planšetdatorā vai SIM kartē saglabātās īsziņas. Tas ļauj lietotnei lasīt visas īsziņas, neraugoties uz to saturu vai konfidencialitāti."</string> @@ -513,6 +525,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ļauj īpašniekam izveidot savienojumu ar mobilo sakaru operatora ziņojumapmaiņas pakalpojuma augšējā līmeņa saskarni. Parastajām lietotnēm tas nekad nav nepieciešams."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"saistīšana ar mobilo sakaru operatoru pakalpojumiem"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Atļauj īpašniekam izveidot savienojumu ar mobilo sakaru operatoru pakalpojumiem. Parastām lietotnēm šīs atļauja nekad nav nepieciešama."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"piekļūt režīmam “Netraucēt”"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Ļauj lietotnei lasīt un rakstīt režīma “Netraucēt” konfigurāciju."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Paroles kārtulu iestatīšana"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolēt ekrāna bloķēšanas paroļu un PIN garumu un tajos atļautās rakstzīmes."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Ekrāna atbloķēšanas mēģinājumu pārraudzīšana"</string> diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml index 5912526..0d181a0 100644 --- a/core/res/res/values-mk-rMK/strings.xml +++ b/core/res/res/values-mk-rMK/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Работниот профил е избришан"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Работниот профил е избришан заради отсуството на апликација на администратор."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Апликацијата на администраторот за работниот профил недостасува или е оштетена. Како резултат на тоа, работниот профил и поврзаните податоци ќе се избришат. Контактирајте со администраторот за помош."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Уредот ќе се избрише"</string> <string name="factory_reset_message" msgid="4905025204141900666">"На апликацијата на администраторот ѝ недостасуваат компоненти или е оштетена, па не може да се користи. Уредот ќе се избрише сега. Контактирајте со администраторот за помош."</string> <string name="me" msgid="6545696007631404292">"Јас"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Исклучено ѕвонење"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Ѕвонење на вибрации"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Вклучено ѕвонење"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Подготови се за ажурирање"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Пакетот за ажурирање се обработува..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Се исклучува..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Вашиот таблет ќе се исклучи."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Вашиот телевизор ќе се исклучи."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Контакти"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"пристапи до контактите"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Локација"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"пристапи до локацијата"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Тво социјални информации"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Директен пристап до информации за вашите контакти и социјални врски."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Календар"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Пристапи кон достапните сметки."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"читај претплатени навестувања на содржина"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Дозволува апликацијата да добива детали за навестувања што се тековно синхронизирани."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"испрати и прикажи СМС-пораки"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Овозможува апликацијата да испраќа СМС пораки. Ова може да предизвика неочекувани трошоци. Злонамерните апликации може да ве чинат пари поради испраќање пораки без ваша потврда."</string> <string name="permlab_readSms" msgid="8745086572213270480">"прочитај ги своите текстуални пораки (СМС или ММС)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Овозможува апликацијата да чита СМС пораки зачувани на вашиот таблет или на СИМ картичката. Ова овозможува апликацијата да ги прочита сите СМС пораки, без разлика на нивната содржината или доверливост."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Дозволува сопственикот да се сврзе со интерфејсот од највисоко ниво на давателот на услугата за пораки. Не треба да се користи за стандардни апликации."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"поврзи се со услуги на операторот"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Дозволува сопственикот да се поврзе со услуги на операторот. Не треба да се користи за стандардни апликации."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"пристапи до Не вознемирувај"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Дозволува апликацијата да чита и пишува конфигурација Не вознемирувај."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Подеси правила за лозинката"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролирај ги должината и знаците што се дозволени за лозинки и ПИН-броеви за отклучување екран."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Следи ги обидите за отклучување на екранот"</string> diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml index 472dcdc..c38531c 100644 --- a/core/res/res/values-ml-rIN/strings.xml +++ b/core/res/res/values-ml-rIN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"ഔദ്യോഗിക പ്രൊഫൈൽ ഇല്ലാതാക്കി"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"അഡ്മിൻ അപ്ലിക്കേഷൻ നഷ്ടപ്പെട്ടതിനാൽ ഔദ്യോഗിക പ്രൊഫൈൽ ഇല്ലാതാക്കി."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"ഔദ്യോഗിക പ്രൊഫൈൽ അഡ്മിൻ അപ്ലിക്കേഷൻ നഷ്ടപ്പെട്ടതോ കേടായതോ ആണ്. അക്കാരണത്താൽ നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈലും ബന്ധപ്പെട്ട വിവരവും ഇല്ലാതാക്കിയിരിക്കുന്നു. സഹായത്തിന് അഡ്മിനിസ്ട്രേറ്ററുമായി ബന്ധപ്പെടുക."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"നിങ്ങളുടെ ഉപകരണം മായ്ക്കും"</string> <string name="factory_reset_message" msgid="4905025204141900666">"അഡ്മിൻ അപ്ലിക്കേഷൻ, ഘടകഭാഗങ്ങൾ നഷ്ടപ്പെട്ടതോ കേടായതോ ആണെങ്കിൽ ഉപയോഗിക്കാനാവില്ല. നിങ്ങളുടെ ഉപകരണം ഇപ്പോൾ ഇല്ലാതാക്കും. സഹായത്തിന് നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക."</string> <string name="me" msgid="6545696007631404292">"ഞാന്"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"റിംഗർ ഓഫുചെയ്യുക"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"റിംഗർ വൈബ്രേറ്റുചെയ്യുക"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"റിംഗർ ഓൺചെയ്യുക"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"അപ്ഡേറ്റ് ചെയ്യാൻ തയ്യാറെടുക്കുന്നു"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"അപ്ഡേറ്റ് പാക്കേജ് പ്രോസസ്സുചെയ്യുന്നു..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"ഷട്ട്ഡൗൺ ചെയ്യുന്നു..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"നിങ്ങളുടെ ടാബ്ലെറ്റ് ഷട്ട്ഡൗൺ ചെയ്യും."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"നിങ്ങളുടെ ടിവി ഷട്ട്ഡൗൺ ചെയ്യും."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"കോൺടാക്റ്റുകൾ"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ ആക്സസ്സ് ചെയ്യുക"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"ലൊക്കേഷൻ"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"നിങ്ങളുടെ ലൊക്കേഷൻ ആക്സസ്സ് ചെയ്യുക"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"നിങ്ങളുടെ സോഷ്യൽ വിവരം"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"നിങ്ങളുടെ കോൺടാക്റ്റുകളേയും സോഷ്യൽ കണക്ഷനുകളേയും സംബന്ധിച്ച വിവരങ്ങളിലേക്കുള്ള നേരിട്ടുള്ള ആക്സസ്സ്."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"കലണ്ടർ"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"ലഭ്യമായ അക്കൗണ്ടുകൾ ആക്സസ്സ് ചെയ്യുക."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"സബ്സ്ക്രൈബ് ചെയ്ത ഫീഡുകൾ വായിക്കുക"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"നിലവിൽ സമന്വയിപ്പിച്ച ഫീഡുകളെക്കുറിച്ചുള്ള വിശദാംശങ്ങൾ നേടുന്നതിന് അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS സന്ദേശങ്ങൾ അയയ്ക്കുകയും കാണുകയും ചെയ്യുക"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"SMS സന്ദേശങ്ങൾ അയയ്ക്കാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. ഇത് അപ്രതീക്ഷിത നിരക്കുകൾക്കിടയാക്കാം. ക്ഷുദ്രകരമായ അപ്ലിക്കേഷനുകൾ നിങ്ങളുടെ സ്ഥിരീകരണമില്ലാതെ സന്ദേശങ്ങൾ അയയ്ക്കുന്നത് പണച്ചെലവിനിടയാക്കാം."</string> <string name="permlab_readSms" msgid="8745086572213270480">"നിങ്ങളുടെ വാചക സന്ദേശങ്ങൾ വായിക്കുക (SMS അല്ലെങ്കിൽ MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"നിങ്ങളുടെ ടാബ്ലെറ്റിലോ സിം കാർഡിലോ സംഭരിച്ചിരിക്കുന്ന SMS സന്ദേശങ്ങൾ വായിക്കാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. ഇത് ഉള്ളടക്കമോ രഹസ്യാത്മകതയോ പരിഗണിക്കാതെ എല്ലാ SMS സന്ദേശങ്ങളും വായിക്കാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ഒരു കാരിയർ സന്ദേശമയയ്ക്കൽ സേവനത്തിന്റെ ഉയർന്ന നിലയിലുള്ള ഇന്റർഫേസിലേക്ക് ബന്ധിപ്പിക്കാൻ ദാതാവിനെ അനുവദിക്കുന്നു. സാധാരണ അപ്ലിക്കേഷനുകൾക്ക് ഒരിക്കലും ആവശ്യമില്ല."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"കാരിയർ സേവനങ്ങളിലേക്ക് ബന്ധിപ്പിക്കുക"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"കാരിയർ സേവനങ്ങളെ ബന്ധിപ്പിക്കാൻ ഉടമയെ അനുവദിക്കുന്നു. സാധാരണ ആപ്പ്സിന് ഒരിക്കലും ആവശ്യമില്ല."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"\'ശല്യപ്പെടുത്തരുത്\' ആക്സസ് ചെയ്യുക"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"\'ശല്യപ്പെടുത്തരുത്\' കോൺഫിഗറേഷൻ വായിക്കുന്നതിനും എഴുതുന്നതിനും ആപ്പിനെ അനുവദിക്കുന്നു."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"പാസ്വേഡ് നിയമങ്ങൾ സജ്ജീകരിക്കുക"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"സ്ക്രീൻ ലോക്ക് പാസ്വേഡുകളിലും PIN-കളിലും അനുവദിച്ചിരിക്കുന്ന ദൈർഘ്യവും പ്രതീകങ്ങളും നിയന്ത്രിക്കുക."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"സ്ക്രീൻ അൺലോക്ക് ശ്രമങ്ങൾ നിരീക്ഷിക്കുക"</string> diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml index c2f6413..a60c4b8 100644 --- a/core/res/res/values-mn-rMN/strings.xml +++ b/core/res/res/values-mn-rMN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Ажлын профайл устсан"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Зохицуулагч аппликейшн алга болсон учраас ажлын профайл устсан байна."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Ажлын профайлын зохицуулагч аппликейшн алга болсон эсвэл эвдэрсэн байна. Үүний улмаас таны ажлын профайл болон холбогдох мэдээллүүд устсан байна. Тусламж хэрэгтэй байгаа бол админтай холбоо барина уу."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Таны төхөөрөмж устах болно."</string> <string name="factory_reset_message" msgid="4905025204141900666">"Зохицуулагч аппликейшны зарим нэг хэсэг дутуу эсвэл эвдэрсэн байгаа тул ашиглах боломжгүй байна. Таны төхөөрөмжийг одоо устгах болно. Танд тусламж хэрэгтэй байгаа бол админтайгаа холбоо барина уу."</string> <string name="me" msgid="6545696007631404292">"Би"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Хонх унтраах"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Хонхны чичиргээ."</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Хонх ассан"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Шинэчлэлд бэлдэх"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Шинэчлэх багц боловсруулах..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Унтрааж байна…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Таны таблет унтрах болно."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Таны телевиз унтрах болно."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Харилцагчдын хаяг"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"харилцагч руугаа хандах"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Байршил"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"Байршилдаа хандах"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Таны нийтийн мэдээлэл"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Таны харилцагчид болон нийтийн холбооны тухай мэдээлэлд шууд хандах."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Календарь"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Эзэмшигчид зөөгч зурвасын үйлчилгээний түвшний интерфэйст холбогдохыг зөвшөөрдөг. Энгийн апп-д шаардлагагүй."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"Үүрэн холбооны үйлчилгээ үзүүлэгчтэй холбогдох"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Аливаа эзэмшигчийг үүрэн холбооны үйлчилгээ үзүүлэгчтэй холбодог. Энгийн аппд шаардлагагүй."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Бүү саад бол тохируулгад хандалт хийх"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Апп-д Бүү саад бол тохируулгыг уншиж, бичихийг зөвшөөрөх"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Нууц үгний дүрмийг тохируулах"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Дэлгэц түгжих нууц үг болон ПИН кодны урт болон нийт тэмдэгтийн уртыг хянах."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Дэлгэц тайлах оролдлогыг хянах"</string> diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml index b5d93d4..47d2e5e 100644 --- a/core/res/res/values-mr-rIN/strings.xml +++ b/core/res/res/values-mr-rIN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"कार्य प्रोफाईल हटविले"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"गहाळ प्रशासन अॅपमुळे कार्य प्रोफाईल हटविले."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"कार्य प्रोफाईल प्रशासन अॅप गहाळ आहे किंवा दुषित आहे. यामुळे, आपले कार्य प्रोफाईल आणि संबंधित डेटा हटविला गेला आहे. सहाय्यासाठी आपल्या प्रशासकाशी संपर्क साधा."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"आपले डिव्हाइस मिटविले जाईल"</string> <string name="factory_reset_message" msgid="4905025204141900666">"प्रशासन अॅपमध्ये घटक गहाळ किंवा दूषित आहेत आणि वापरला जाऊ शकत नाही. आपले डिव्हाइस आता मिटविले जाईल. सहाय्यासाठी आपल्या प्रशासकाशी संपर्क साधा."</string> <string name="me" msgid="6545696007631404292">"मी"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"रिंगर बंद"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"रिंगर कंपन"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"रिंगर चालू"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"अद्यतनाची तयारी करा"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"अद्यतन पॅकेजची प्रक्रिया करीत आहे…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"बंद होत आहे…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"आपला टॅब्लेट बंद होईल."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"आपला टीव्ही बंद होईल."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"संपर्क"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"आपल्या संपर्कांवर प्रवेश करा"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"स्थान"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"आपल्या स्थानामध्ये प्रवेश करा"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"आपली सामाजिक माहिती"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"आपले संपर्क आणि सामाजिक कनेक्शनविषयीच्या माहितीवर प्रत्यक्ष प्रवेश करेल."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"कॅलेंडर"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"उपलब्ध खात्यांवर प्रवेश करा."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"सदस्यता घेतलेली फीड वाचा"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"सध्या संकालित केलेल्या फीडविषयी तपशील मिळविण्यासाठी अॅप ला अनुमती देते."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS संदेश पहा आणि व्यवस्थापित करा"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"SMS संदेश पाठविण्यासाठी अॅप ला अनुमती देते. हे अनपेक्षित शुल्कामुळे होऊ शकते. दुर्भावनापूर्ण अॅप्स नी आपल्या पुष्टिकरणाशिवाय संदेश पाठवल्यामुळे आपले पैसे खर्च होऊ शकतात."</string> <string name="permlab_readSms" msgid="8745086572213270480">"आपले मजकूर संदेश वाचा (SMS किंवा MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"आपल्या टॅब्लेटवर किंवा सिम कार्डवर संचयित केलेले SMS संदेश वाचण्यासाठी अॅप ला अनुमती देते. हे सामग्री किंवा गोपनीयतेकडे दुर्लक्ष करून, सर्व SMS संदेश वाचण्यासाठी अॅप ला अनुमती देते."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"वाहक संदेशन सेवेचा शीर्ष-स्तर इंटरफेस प्रतिबद्ध करण्यासाठी होल्डरला अनुमती देते. सामान्य अॅप्सकरिता कधीही आवश्यक नसते."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"वाहक सेवांवर प्रतिबद्ध करा"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"वाहक सेवांवर प्रतिबद्ध करण्यासाठी होल्डरला अनुमती देते. सामान्य अॅप्ससाठी कधीही आवश्यकता नसावी."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"व्यत्यय आणू नका मध्ये प्रवेश करा"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"व्यत्यय आणू नका कॉन्फिगरेशन वाचण्यासाठी आणि लिहिण्यासाठी अॅपला अनुमती देते."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"संकेतशब्द नियम सेट करा"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रीन लॉक संकेतशब्द आणि पिन मध्ये अनुमती दिलेली लांबी आणि वर्ण नियंत्रित करा."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"स्क्रीन-अनलॉक प्रयत्नांचे परीक्षण करा"</string> diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml index e86e845..86f957b 100644 --- a/core/res/res/values-ms-rMY/strings.xml +++ b/core/res/res/values-ms-rMY/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Profil kerja dipadam"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Profil kerja dipadam kerana apl pentadbir hilang."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Apl admin profil kerja hilang atau pun rosak. Akibatnya, profil kerja anda dan data yang berkaitan telah dipadam. Hubungi pentadbir anda untuk mendapatkan bantuan."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Peranti anda akan dipadam"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Apl pentadbir kehilangan komponen atau rosak dan tidak boleh digunakan. Sekarang peranti anda akan dipadam. Hubungi pentadbir anda untuk mendapatkan bantuan."</string> <string name="me" msgid="6545696007631404292">"Saya"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Pendering dimatikan"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Pendering bergetar"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Pendering dihidupkan"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Bersedia untuk kemas kini"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Memproses pakej yang dikemas kini…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Mematikan..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tablet anda akan dimatikan."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"TV anda akan dimatikan."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kenalan"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"akses kenalan anda"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Lokasi"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"akses lokasi anda"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Maklumat sosial anda"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Akses langsung ke maklumat tentang kenalan anda dan sambungan sosial."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendar"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Akses akaun yang tersedia."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"baca suapan langganan"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Membenarkan apl mendapatkan butiran mengenai suapan tersegerak semasa."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"hantar dan lihat mesej SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Membenarkan apl menghantar mesej SMS. Ini boleh menyebabkan caj di luar jangkaan. Apl hasad boleh membuat anda kerugian wang dengan menghantar mesej tanpa pengesahan anda."</string> <string name="permlab_readSms" msgid="8745086572213270480">"baca mesej teks anda (SMS atau MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Membenarkan apl membaca mesej SMS yang tersimpan pada tablet atau kad SIM anda. Ini membenarkan apl membaca semua mesej SMS, tanpa mengira kandungan atau kerahsiaan."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Membenarkan pemegang terikat dengan antara muka peringkat tertinggi perkhidmatan pemesejan pembawa. Tidak sekali-kali diperlukan untuk apl biasa."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"terikat kepada perkhidmatan pembawa"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Membenarkan pemegang terikat kepada perkhidmatan pembawa. Tidak sekali-kali diperlukan untuk apl biasa."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"akses Jangan ganggu"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Membenarkan apl membaca dan menulis konfigurasi Jangan Ganggu."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Tetapkan peraturan kata laluan"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Mengawal panjang dan aksara yang dibenarkan dalam kata laluan dan PIN kunci skrin."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Memantau percubaan buka kunci skrin"</string> diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml index f822416..082945a 100644 --- a/core/res/res/values-my-rMM/strings.xml +++ b/core/res/res/values-my-rMM/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"အလုပ်ပရိုဖိုင် ဖျက်ပြီးဖြစ်၏"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"အက်ဒမင် အပလီကေးရှင်း ပျောက်နေသောကြောင့် အလုပ်ပရိုဖိုင် ပျက်သွားသည်။"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"အလုပ်ပရိုဖိုင် အက်ဒမင် အပလီကေးရှင်းပျောက်နေသည် သို့မဟုတ် ပျက်စီးနေသည်။ ထို့ကြောင့် သင့်အလုပ်ပရိုဖိုင်နှင့် ဆက်စပ်နေသော ဒေတာများအား ပယ်ဖျက်ခြင်းခံရမည်။ အကူအညီတောင်းခံရန် သင့်အက်ဒမင်အား ဆက်သွယ်ပါ။"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"သင့်ကိရိယာအား ပယ်ဖျက်လိမ့်မည်"</string> <string name="factory_reset_message" msgid="4905025204141900666">"အက်ဒမင် အပလီကေးရှင်း၏ အစိတ်အပိုင်းများ ပျောက်နေသည် သို့မဟုတ် ပျက်စီးနေသည်။ သင့်ကိရိယာအား ပယ်ဖျက်လိမ့်မည်။ အကူအညီတောင်းခံရန် သင့်အက်ဒမင်အား ဆက်သွယ်ပါ။"</string> <string name="me" msgid="6545696007631404292">"ကျွန်ုပ်"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"ဖုန်းမြည်သံပိတ်ထားသည်"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"တုန်ခါခြင်း ဖုန်းမြည်သံ"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"ဖုန်းမြည်သံဖွင့်ထားသည်"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"အဆင့်မြှင့်ရန်အတွက် ပြင်ဆင်ပါ"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"ပက်ကေ့ အဆင့်မြှင့်ခြင်း စီမံဆောင်ရွက်နေစဉ်…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"စက်ပိတ်ပါမည်"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"သင့်တက်ဘလက်အား စက်ပိတ်ပါမည်"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"တီဗွီ ပိတ်သွားမည်။"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"အဆက်အသွယ်များ"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"သင့် အဆက်အသွယ်များအား ဝင်ရောက်သုံးရန်"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"တည်နေရာ"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"သင်၏ တည်နေရာအား ဝင်ရောက်သုံးရန်"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"သင်၏ ဆိုရှယ် သတင်းအချက်အလက်"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"သင်၏ အဆက်အသွယ်များနှင့် ဆိုရှယ်လ် အဆက်အသွယ်များအား၏ သတင်းအချက်အလက်များအား တိုက်ရိုက်အသုံးပြုခွင့် ရယူရန်"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ပြက္ခဒိန်"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"စာပို့စာယူဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခု၏ ထိပ်ဆုံးရှိအင်တာဖေ့စ်ဖြင့် ပူးပေါင်းရန် ပိုင်ရှင်အားခွင့်ပြုပါ။ ပုံမှန် app များအတွက် မလိုအပ်ပါ။"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"မိုဘိုင်းဖုန်းဝန်ဆောင်မှုပေးသူများနှင့် ပူးပေါင်းခွင့်ပြုရန်"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"မိုဘိုင်းဖုန်းဝန်ဆောင်မှုစနစ်တစ်ခုအား ပူးပေါင်းခွင့်ပြုရန် ကိုင်ဆောင်ထားသူအား ခွင့်ပြုပါ။ သာမန် app များ အတွက် မည်သည့်အခါမျှ မလိုအပ်ပါ။"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"မနှောင့်ယှက်ရန်ကို အသုံးပြုမည်"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"မနှောင့်ယှက်ရန် ချိန်ညှိမှုကို အပ်ဖ်များ ဖတ်ခြင်း ပြင်ခြင်းပြုလုပ်နိုင်ရန် ခွင့်ပြုမည်။"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"စကားဝှက်စည်းမျဥ်းကိုသတ်မှတ်ရန်"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"မျက်နှာပြင်သော့ခတ်သည့် စကားဝှက်များနှင့် PINများရှိ ခွင့်ပြုထားသည့် စာလုံးအရေအတွက်နှင့် အက္ခရာများအား ထိန်းချုပ်ရန်။"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"မော်နီတာမျက်နှာပြင်ဖွင့်ရန် ကြိုးစားခွင့်များ"</string> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index bfaaad0..9e1f69e 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -26,7 +26,7 @@ <string name="gigabyteShort" msgid="3259882455212193214">"GB"</string> <string name="terabyteShort" msgid="231613018159186962">"TB"</string> <string name="petabyteShort" msgid="5637816680144990219">"PB"</string> - <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string> + <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string> <string name="durationDays" msgid="6652371460511178259">"<xliff:g id="DAYS">%1$d</xliff:g> dager"</string> <string name="durationDayHours" msgid="2713107458736744435">"<xliff:g id="DAYS">%1$d</xliff:g> dag <xliff:g id="HOURS">%2$d</xliff:g> t"</string> <string name="durationDayHour" msgid="7293789639090958917">"<xliff:g id="DAYS">%1$d</xliff:g> dag <xliff:g id="HOURS">%2$d</xliff:g> t"</string> @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Arbeidsprofilen er slettet"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Arbeidsprofilen er slettet på grunn av manglende admin-app."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Arbeidsprofilens admin-app mangler eller er ødelagt. Dette har ført til at arbeidsprofilen og alle data knyttet til den er blitt slettet. Kontakt administratoren for å få hjelp."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Enheten blir slettet"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Admin-appen mangler komponenter eller er ødelagt, og kan ikke brukes. Enheten din blir nå slettet. Kontakt administratoren for å få hjelp."</string> <string name="me" msgid="6545696007631404292">"Meg"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Ringelyd av"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibreringsmodus"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Ringelyd på"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Forbered for oppdatering"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Behandler oppdateringspakken …"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Avslutter…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Nettbrettet slås av."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"TV-en slår seg av."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakter"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"få tilgang til kontaktene dine"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Posisjon"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"få tilgang til posisjonen din"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Den sosiale informasjonen din"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direkte tilgang til informasjon om kontaktene og de sosiale forbindelsene dine."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalenderen"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Tilgang til tilgjengelige Google-kontoer."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"lese abonnement på nyhetskilder"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Lar appen hente inn detaljer om strømmer som er synkroniserte for øyeblikket."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"sende og lese SMS-meldinger"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Lar appen sende tekstmeldinger. Dette kan resultere i uventede kostnader. Merk at skadelige apper kan påføre deg kostnader ved å sende meldinger uten bekreftelse fra deg."</string> <string name="permlab_readSms" msgid="8745086572213270480">"lese tekstmeldinger (SMS eller MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Lar appen lese tekstmeldinger lagret på nettbrettet eller SIM-kortet ditt. Dette lar appen lese alle tekstmeldingene dine, uavhengig av innhold og konfidensialitet."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Tillater at innehaveren binder seg til det øverste nivået av grensesnittet til en operatørtjeneste. Dette skal aldri være nødvendig for vanlige apper."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"bind til operatørtjenester"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Lar innehaveren binde seg til operatørtjenester. Det skal aldri være nødvendig for vanlige apper."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"tilgang til Ikke forstyrr"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Lar appen lese og skrive konfigurasjon av Ikke forstyrr."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Angi passordregler"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrollerer tillatt lengde og tillatte tegn i passord og PIN-koder for opplåsing av skjermen."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Overvåk forsøk på opplåsing av skjerm"</string> diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml index b0d2123..fcba5b6 100644 --- a/core/res/res/values-ne-rNP/strings.xml +++ b/core/res/res/values-ne-rNP/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"कार्य प्रोफाइल मेटियो"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"प्रशासन अनुप्रयोग हराएको कारण कार्य प्रोफाइल मेटियो।"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"कार्य प्रोफाइल व्यवस्थापक अनुप्रयोग या त हराएको या त बिग्रेको छ। फलस्वरूप, तपाईँको कार्य प्रोफाइल र सम्बन्धित डेटा मेटिएको छ। सहयोगको लागि तपाईँको व्यवस्थापकसँग सम्पर्क गर्नुहोस्।"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"तपाईंको यन्त्र मेटिनेछ"</string> <string name="factory_reset_message" msgid="4905025204141900666">"व्यवस्थापक अनुप्रयोगमा कम्पोनेन्टहरू या त हराएको वा भ्रष्ट छन्, र यसैले प्रयोग गर्न सकिँदैन। तपाईंको यन्त्र अब मेटिनेछ। सहयोगको लागि आफ्नो व्यवस्थापकलाई सम्पर्क गर्नुहोस्।"</string> <string name="me" msgid="6545696007631404292">"मलाई"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"घन्टी बन्द भयो"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"घन्टी कम्पन गर्छ"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"घन्टि चालु छ"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"अद्यावधिकको लागि तयारी गर्नुहोस्"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"अद्यावधिक प्याकेज प्रशोधन गर्दै ..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"बन्द गर्दै..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"तपाईँको ट्याब्लेट बन्द हुने छ।"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"तपाईंको TV बन्द हुनेछ।"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"सम्पर्कहरू"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"तपाईँको सम्पर्कमा पहुँच गर्नुहोस्"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"स्थान"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"तपाईँको स्थान पहुँच गर्नुहोस्"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"तपाईँको सामाजिक सूचना"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"तपाईँको सम्पर्कहरू र सामाजिक जडानहरूको बारेको जानकारीमा सिधा पहुँच पुर्याउनुहोस्।"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"पात्रो"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"धारकलाई वाहक मेसेजिङ सेवाको उच्च-स्तरको इन्टरफेसमा आबद्ध हुन अनुमति दिनुहोस्। सामान्य एपहरूको लागि कहिल्यै आवश्यकता पर्दैन।"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"वाहक सेवाहरु बाँध्न"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"होल्डरलाई वाहक सेवाहरु बाँध्न अनुमति दिनुहोस्। सामान्य अनुप्रयोगहरूको लागि यो कहिल्यै आवश्यक पर्दैन।"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"बाधा नपुर्याउँनुहोस् पहुँच गर्नुहोस्"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"बाधा नपुर्याउँनुहोस् कन्फिगरेसन पढ्न र लेख्नको लागि अनुप्रयोगलाई अनुमति दिनुहोस्।"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"पासवर्ड नियमहरू मिलाउनुहोस्"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रिन लक पासवर्ड र PIN हरूमा अनुमति दिइएको लम्बाइ र वर्णहरूको नियन्त्रण गर्नुहोस्।"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"मोनिटर स्क्रिन-अनलक प्रयत्नहरू"</string> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index 352d21f..69e4ffe 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -56,7 +56,7 @@ <string name="badPin" msgid="9015277645546710014">"De oude pincode die u heeft ingevoerd, is onjuist."</string> <string name="badPuk" msgid="5487257647081132201">"De PUK-code die u heeft ingevoerd, is onjuist."</string> <string name="mismatchPin" msgid="609379054496863419">"De pincodes die u heeft ingevoerd, komen niet overeen."</string> - <string name="invalidPin" msgid="3850018445187475377">"Voer een PIN-code van 4 tot 8 cijfers in."</string> + <string name="invalidPin" msgid="3850018445187475377">"Voer een pincode van 4 tot 8 cijfers in."</string> <string name="invalidPuk" msgid="8761456210898036513">"Typ een PUK-code die 8 cijfers of langer is."</string> <string name="needPuk" msgid="919668385956251611">"Uw SIM-kaart is vergrendeld met de PUK-code. Typ de PUK-code om te ontgrendelen."</string> <string name="needPuk2" msgid="4526033371987193070">"Voer de PUK2-code in om de SIM-kaart te ontgrendelen."</string> @@ -75,7 +75,7 @@ <string name="CwMmi" msgid="9129678056795016867">"Wisselgesprek"</string> <string name="BaMmi" msgid="455193067926770581">"Oproep blokkeren"</string> <string name="PwdMmi" msgid="7043715687905254199">"Wachtwoordwijziging"</string> - <string name="PinMmi" msgid="3113117780361190304">"PIN-wijziging"</string> + <string name="PinMmi" msgid="3113117780361190304">"Pin-wijziging"</string> <string name="CnipMmi" msgid="3110534680557857162">"Nummer van beller beschikbaar"</string> <string name="CnirMmi" msgid="3062102121430548731">"Nummer van beller beperkt"</string> <string name="ThreeWCMmi" msgid="9051047170321190368">"Driewegs bellen"</string> @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Werkprofiel verwijderd"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Werkprofiel verwijderd wegens ontbrekende beheerapp."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"De beheerapp van het werkprofiel ontbreekt of is beschadigd. Als gevolg hiervan zijn uw werkprofiel en alle gerelateerde gegevens verwijderd. Neem voor hulp contact op met uw beheerder."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Uw apparaat wordt gewist"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Er ontbreken onderdelen van de beheerapp of de app is beschadigd, waardoor de app niet kan worden gebruikt. Uw apparaat wordt nu gewist. Neem voor hulp contact op met uw beheerder."</string> <string name="me" msgid="6545696007631404292">"Ik"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Belsoftware uit"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Belsoftware op trillen"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Belsoftware aan"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Voorbereiden op updaten"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Updatepakket verwerken…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Uitschakelen..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Uw tablet wordt uitgeschakeld."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Uw tv wordt uitgeschakeld.."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contacten"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"toegang krijgen tot uw contacten"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Locatie"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"toegang krijgen tot uw locatie"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Uw sociale informatie"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Rechtstreeks toegang krijgen tot informatie over uw contacten en sociale connecties."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Agenda"</string> @@ -245,7 +258,7 @@ <string name="permgroupdesc_sensors" msgid="6376772456799240169">"toegang krijgen tot gegevens van sensoren en wearable-apparaten"</string> <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Inhoud van vensters ophalen"</string> <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"De inhoud inspecteren van een venster waarmee u interactie heeft."</string> - <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Verkennen via aanraking inschakelen"</string> + <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"\'Verkennen via aanraking\' inschakelen"</string> <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"Aangeraakte items worden hardop benoemd en het scherm kan worden verkend door middel van aanraking."</string> <string name="capability_title_canRequestEnhancedWebAccessibility" msgid="1739881766522594073">"Verbeterde internettoegankelijkheid inschakelen"</string> <string name="capability_desc_canRequestEnhancedWebAccessibility" msgid="7881063961507511765">"Er kunnen scripts worden geïnstalleerd om app-inhoud toegankelijker te maken."</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Toegang tot de beschikbare accounts."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"Geabonneerde feeds lezen"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Hiermee kan de app details over de huidige gesynchroniseerde feeds achterhalen."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"sms\'jes verzenden en bekijken"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Hiermee kan de app sms-berichten verzenden. Dit kan tot onverwachte kosten leiden. Schadelijke apps kunnen u geld kosten doordat ze zonder uw bevestiging berichten kunnen verzenden."</string> <string name="permlab_readSms" msgid="8745086572213270480">"uw tekstberichten (SMS of MMS) lezen"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Hiermee kan de app sms-berichten lezen die zijn opgeslagen op uw tablet of simkaart. De app kan alle sms-berichten lezen, ongeacht inhoud of vertrouwelijkheid."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Hiermee wordt de houder toegestaan te binden aan de berichteninterface van een provider. Nooit vereist voor normale apps."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"binden aan providerservices"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Hiermee kan de houder binden aan providerservices. Nooit gebruikt voor normale apps."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"toegang tot Niet storen"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Hiermee kan de app configuratie voor Niet storen lezen en schrijven."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Wachtwoordregels instellen"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"De lengte en het aantal tekens beheren die zijn toegestaan in wachtwoorden en pincodes voor schermvergrendeling."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Pogingen voor schermontgrendeling bijhouden"</string> diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml index 69447be..9f1c81d 100644 --- a/core/res/res/values-pa-rIN/strings.xml +++ b/core/res/res/values-pa-rIN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਮਿਟਾਈ ਗਈ"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਐਡਮਿਨ ਐਪ ਦੇ ਕਾਰਨ ਮਿਟਾਈ ਗਈ।"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਐਡਮਿਨ ਐਪ ਜਾਂ ਤਾਂ ਲੁਪਤ ਹੈ ਜਾਂ ਕਰਪਟ ਹੈ। ਇੱਕ ਸਿੱਟੇ ਦੇ ਤੌਰ ਤੇ, ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਸੰਬੰਧਿਤ ਡਾਟਾ ਮਿਟਾਇਆ ਗਿਆ ਹੈ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਮਿਟਾਈ ਜਾਏਗੀ"</string> <string name="factory_reset_message" msgid="4905025204141900666">"ਐਡਮਿਨ ਐਪ ਲੁਪਤ ਕੰਪੋਨੈਂਟ ਜਾਂ ਕਰਪਟ ਹੈ ਅਤੇ ਇਸਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਹੁਣ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਮਿਟਾ ਦਿੱਤੀ ਜਾਏਗੀ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> <string name="me" msgid="6545696007631404292">"ਮੈਂ"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"ਰਿੰਗਰ ਬੰਦ"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"ਰਿੰਗਰ ਵਾਈਬ੍ਰੇਟ"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"ਰਿੰਗਰ ਚਾਲੂ"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"ਅਪਡੇਟ ਲਈ ਤਿਆਰ ਕਰੋ"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"ਅਪਡੇਟ ਪੈਕੇਜ ਦੀ ਕਾਰਵਾਈ ਕਰ ਰਿਹਾ ਹੈ..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਬੰਦ ਕੀਤੀ ਜਾਏਗੀ।"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ਤੁਹਾਡਾ TV ਬੰਦ ਕੀਤਾ ਜਾਏਗਾ।"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"ਸੰਪਰਕ"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਨੂੰ ਐਕਸੈਸ ਕਰੋ"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"ਆਪਣੇ ਸਥਾਨ ਤੱਕ ਪਹੁੰਚੋ"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ਤੁਹਾਡੀ ਸਮਾਜਿਕ ਜਾਣਕਾਰੀ"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਅਤੇ ਸਮਾਜਿਕ ਕਨੈਕਸ਼ਨਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਤੱਕ ਸਿੱਧੀ ਪਹੁੰਚ।"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ਕੈਲੰਡਰ"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"ਉਪਲਬਧ ਖਾਤਿਆਂ ਤੱਕ ਪਹੁੰਚ।"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"ਸਬਸਕ੍ਰਾਈਬ ਕੀਤੇ ਫੀਡਸ ਪੜ੍ਹੋ"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"ਐਪ ਨੂੰ ਵਰਤਮਾਨ ਵਿੱਚ ਸਿੰਕ ਕੀਤੇ ਫੀਡਸ ਬਾਰੇ ਵੇਰਵੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS ਸੁਨੇਹੇ ਭੇਜੋ ਅਤੇ ਦਿਖਾਓ"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"ਐਪ ਨੂੰ SMS ਸੁਨੇਹੇ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦੇ ਸਿੱਟੇ ਵਜੋਂ ਅਕਲਪਿਤ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਪੁਸ਼ਟੀ ਤੋਂ ਬਿਨਾਂ ਸੁਨੇਹੇ ਭੇਜ ਕੇ ਤੁਹਾਨੂੰ ਖ਼ਰਚੇ ਪਾ ਸਕਦੇ ਹਨ।"</string> <string name="permlab_readSms" msgid="8745086572213270480">"ਤੁਹਾਡੇ ਟੈਕਸਟ ਸੁਨੇਹੇ (SMS ਜਾਂ MMS) ਪੜ੍ਹੋ"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਜਾਂ SIM ਕਾਰਡ ਤੇ ਸਟੋਰ ਕੀਤੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਸਾਰੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਮੱਗਰੀ ਜਾਂ ਗੁਪਤਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ਹੋਲਡਰ ਨੂੰ ਇੱਕ ਕੈਰੀਅਰ ਮੈਸੇਜਿੰਗ ਸੇਵਾ ਦੇ ਉੱਚ-ਪੱਧਰ ਦੇ ਇੰਟਰਫੇਸ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਵੇਗਾ।"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"ਕੈਰੀਅਰ ਸੇਵਾਵਾਂ ਨਾਲ ਜੋੜੋ"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"ਹੋਲਡਰ ਨੂੰ ਕੈਰੀਅਰ ਸੇਵਾਵਾਂ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸਧਾਰਨ ਐਪਸ ਲਈ ਕਦੇ ਵੀ ਲੁੜੀਂਦਾ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"ਐਪ ਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਪੜ੍ਹਨ ਅਤੇ ਲਿਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"ਪਾਸਵਰਡ ਨਿਯਮ ਸੈਟ ਕਰੋ"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"ਸਕ੍ਰੀਨ ਲੌਕ ਪਾਸਵਰਡਾਂ ਅਤੇ PIN ਵਿੱਚ ਆਗਿਆ ਦਿੱਤੀ ਲੰਮਾਈ ਅਤੇ ਅੱਖਰਾਂ ਤੇ ਨਿਯੰਤਰਣ ਪਾਓ।"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"ਸਕ੍ਰੀਨ-ਅਨਲੌਕ ਸੈਟਿੰਗਾਂ ਦਾ ਨਿਰੀਖਣ ਕਰੋ"</string> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index 4800330..4f6bff4 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Usunięto profil do pracy"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Profil do pracy został usunięty z powodu braku aplikacji administracyjnej."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Brakuje aplikacji administracyjnej profilu do pracy lub jest ona uszkodzona. Z tego powodu Twój profil do pracy i związane z nim dane zostały usunięte. Skontaktuj się ze swoim administratorem, by uzyskać pomoc."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Twoje urządzenie zostanie wyczyszczone"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Aplikacja administracyjna nie ma wszystkich składników lub jest uszkodzona i nie można jej użyć. Twoje urządzenie zostanie teraz wyczyszczone. Skontaktuj się ze swoim administratorem, aby uzyskać pomoc."</string> <string name="me" msgid="6545696007631404292">"Ja"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Dzwonek wyłączony"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Dzwonek z wibracjami"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Dzwonek włączony"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Przygotowanie do aktualizacji"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Przetwarzam pakiet aktualizacji…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Wyłączanie..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tablet zostanie wyłączony."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Telewizor zostanie wyłączony."</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakty"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"dostęp do kontaktów"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Lokalizacja"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"dostęp do informacji o Twojej lokalizacji"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Twoje informacje społecznościowe"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Bezpośredni dostęp do informacji o Twoich kontaktach i powiązaniach społecznościowych."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendarz"</string> @@ -275,8 +288,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Dostęp do udostępnionych kont."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"czytanie subskrybowanych źródeł"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Pozwala aplikacji na pobieranie szczegółowych informacji na temat obecnie zsynchronizowanych kanałów."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"wysyłać i wyświetlać SMS-y"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Pozwala aplikacji na wysyłanie SMS-ów. Może to skutkować nieoczekiwanymi opłatami. Złośliwe aplikacje mogą generować koszty, wysyłając wiadomości bez Twojego potwierdzenia."</string> <string name="permlab_readSms" msgid="8745086572213270480">"odczytywanie wiadomości tekstowych (SMS i MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Pozwala aplikacji na odczyt SMS-ów zapisanych na tablecie lub na karcie SIM. Aplikacja z tym uprawnieniem może czytać wszystkie SMS-y niezależnie od ich treści lub poufności."</string> @@ -514,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Zezwala posiadaczowi na tworzenie powiązania z interfejsem najwyższego poziomu w usłudze przesyłania wiadomości przez operatora. Nie powinno być nigdy potrzebne dla zwykłych aplikacji."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"powiązanie z usługami operatora"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Umożliwia właścicielowi powiązanie z usługami operatora. Nie powinno być nigdy potrzebne w normalnych aplikacjach."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"dostęp do trybu Nie przeszkadzać"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Pozwala aplikacji na odczyt i zmianę konfiguracji trybu Nie przeszkadzać."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Określ reguły hasła"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolowanie długości haseł blokady ekranu i kodów PIN oraz dozwolonych w nich znaków."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitoruj próby odblokowania ekranu"</string> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index 4c090cf..c7ac169 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -26,7 +26,7 @@ <string name="gigabyteShort" msgid="3259882455212193214">"GB"</string> <string name="terabyteShort" msgid="231613018159186962">"TB"</string> <string name="petabyteShort" msgid="5637816680144990219">"PB"</string> - <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string> + <string name="fileSizeSuffix" msgid="9164292791500531949">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string> <string name="durationDays" msgid="6652371460511178259">"<xliff:g id="DAYS">%1$d</xliff:g> dias"</string> <string name="durationDayHours" msgid="2713107458736744435">"<xliff:g id="DAYS">%1$d</xliff:g> dia <xliff:g id="HOURS">%2$d</xliff:g> h"</string> <string name="durationDayHour" msgid="7293789639090958917">"<xliff:g id="DAYS">%1$d</xliff:g> dia <xliff:g id="HOURS">%2$d</xliff:g> h"</string> @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Perfil de trabalho eliminado"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Perfil de trabalho eliminado devido a aplicação de administração em falta."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"A aplicação de administração do perfil de trabalho está em falta ou corrompida. Consequentemente, o seu perfil de trabalho e os dados relacionados foram eliminados. Contacte o seu administrador para obter assistência."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"O seu dispositivo será apagado"</string> <string name="factory_reset_message" msgid="4905025204141900666">"A aplicação de administração tem componentes em falta ou corrompidos e não podem ser utilizados. O seu dispositivo será agora apagado. Contacte o seu administrador para obter assistência."</string> <string name="me" msgid="6545696007631404292">"Eu"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Campainha desativada"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Campainha em vibração."</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Campainha ativada"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Preparar para a atualização"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"A processar o pacote de atualização…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"A encerrar..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"O seu tablet irá encerrar."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"A sua TV será encerrada."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contactos"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"aceder aos contactos"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Localização"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"aceder à sua localização"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"As suas informações sociais"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Acesso direto às informações sobre os seus contactos e ligações sociais."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendário"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Aceda às contas disponíveis."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"ler feeds subscritos"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permite à aplicação obter detalhes acerca dos feeds atualmente sincronizados."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"enviar e ver mensagens SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite que a aplicação envie mensagens SMS. Isto pode resultar em custos inesperados. As aplicações maliciosas podem fazer com que incorra em custos, enviando mensagens sem a sua confirmação."</string> <string name="permlab_readSms" msgid="8745086572213270480">"ler as mensagens de texto (SMS ou MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite que a aplicação leia mensagens SMS guardadas no tablet ou no cartão SIM. Permite que a aplicação leia todas as mensagens SMS, independentemente do conteúdo ou da confidencialidade das mesmas."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite ao titular ligar à interface de nível superior do serviço de mensagens de um operador. Nunca deve ser necessário para aplicações normais."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"vincular a serviços do operador"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permite ao titular vincular-se a serviços do operador. Nunca deverá ser necessário nas aplicações normais."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"aceder a Não incomodar"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permite à aplicação ler e alterar a configuração de Não incomodar"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Definir regras de palavra-passe"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controlar o comprimento e os carateres permitidos nos PINs e nas palavras-passe do bloqueio de ecrã."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitorizar tentativas de desbloqueio do ecrã"</string> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index bbbc7b5..058d567 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Perfil de trabalho excluído"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Perfil de trabalho excluído devido à ausência de um app para administrador."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"O app para administrador do perfil de trabalho não foi encontrado ou está corrompido. Consequentemente, seu perfil de trabalho e os dados relacionados foram excluídos. Entre em contato com seu administrador para receber assistência."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Seu dispositivo será limpo"</string> <string name="factory_reset_message" msgid="4905025204141900666">"O app para administrador está sem alguns componentes ou foi corrompido e não pode ser usado. Seu dispositivo será limpo agora. Entre em contato com seu administrador para receber assistência."</string> <string name="me" msgid="6545696007631404292">"Eu"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Campainha desligada"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibração da campainha"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Campainha ligada"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Preparar para atualização"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Processando o pacote de atualização…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Encerrando…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Seu tablet será desligado."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Sua TV será desligada."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contatos"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"acessar seus contatos"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Local"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"acessar seu local"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Suas informações sociais"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Acesso direto às informações de seus contatos e conexões sociais."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Agenda"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Acessar as contas disponíveis."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"ler feeds inscritos"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permite que o app obtenha detalhes sobre os feeds sincronizados no momento."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"enviar e ver mensagens SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite que o app envie mensagens SMS. Isso pode resultar em cobranças inesperadas. Apps maliciosos podem gerar custos através do envio de mensagens sem sua confirmação."</string> <string name="permlab_readSms" msgid="8745086572213270480">"ler suas mensagens de texto (SMS ou MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite que o app leia mensagens SMS armazenadas no tablet ou cartão SIM. Isso permite que o app leia todas as mensagens SMS, independentemente de seu conteúdo ou confidencialidade."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite que o proprietário use a interface de nível superior de um serviço de mensagens de operadora. Não deve ser necessária para apps comuns."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"vincular a serviços de operadora"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permite que o proprietário use serviços de operadora. Não deve ser necessário para apps comuns."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"acessar \"Não perturbe\""</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permitir que o app leia e grave a configuração \"Não perturbe\"."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Definir regras para senha"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla o tamanho e os caracteres permitidos nos PINs e nas senhas do bloqueio de tela."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitorar tentativas de desbloqueio da tela"</string> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index 7c49a53..354eb82 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -173,6 +173,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Profilul de serviciu a fost șters"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Profilul de serviciu a fost șters, deoarece aplicația de administrare lipsește."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Aplicația de administrare a profilului de serviciu lipsește sau este deteriorată. Prin urmare, profilul de serviciu și datele asociate au fost șterse. Pentru asistență, contactați administratorul."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Datele de pe dispozitiv vor fi șterse"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Aplicația de administrare nu poate fi utilizată, deoarece este deteriorată sau îi lipsesc componente. Datele de pe dispozitiv vor fi șterse. Pentru asistență, contactați administratorul."</string> <string name="me" msgid="6545696007631404292">"Eu"</string> @@ -187,8 +189,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Sonerie dezactivată"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibrare sonerie"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Sonerie activată"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Pregătiți pentru actualizare"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Se procesează pachetul de actualizare…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Se închide..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Computerul dvs. tablet PC se va închide."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televizorul se va închide."</string> @@ -225,7 +237,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Persoane de contact"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"accesează persoanele de contact"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Locație"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"accesează locația dvs."</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Informaţiile dvs. sociale"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Acces direct la informaţii despre persoanele de contact și conexiunile dvs. sociale."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendar"</string> @@ -274,8 +287,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Accesează conturile disponibile."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"citire feeduri abonat"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permite aplicației să obţină detalii despre feedurile sincronizate în prezent."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"trimite și vede mesajele SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite aplicației să trimită mesaje SMS, ceea ce ar putea determina apariţia unor taxe neaşteptate. Aplicaţiile rău intenţionate pot acumula costuri prin trimiterea mesajelor fără confirmarea dvs."</string> <string name="permlab_readSms" msgid="8745086572213270480">"citeşte mesajele text (SMS sau MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite aplicației să citească mesajele SMS stocate pe tabletă sau pe cardul SIM. În acest fel, aplicația poate citi toate mesajele SMS, indiferent de conţinutul sau de gradul de confidenţialitate al acestora."</string> @@ -513,6 +525,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite aplicației să se conecteze la interfața de nivel superior a unui serviciu de mesagerie oferit de operator. Nu ar trebui să fie niciodată necesară pentru aplicațiile obișnuite."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"se conectează la serviciile operatorului"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Permite aplicației să se conecteze la serviciile operatorului. Nu ar trebui să fie niciodată necesară pentru aplicațiile obișnuite."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"accesează Nu deranja"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Permite aplicației să citească și să scrie configurația Nu deranja."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Setaţi reguli pentru parolă"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Stabiliți lungimea și tipul de caractere permise pentru parolele și codurile PIN de blocare a ecranului."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitorizaţi încercările de deblocare a ecranului"</string> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index 22bca7b..f1779d4 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Рабочий профиль удален"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Рабочий профиль удален из-за отсутствия приложения Admin."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Приложение Admin в рабочем профиле отсутствует или повреждено. Из-за этого рабочий профиль и связанные с ним данные были удалены. Если у вас возникли вопросы, обратитесь к администратору."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Все данные с устройства будут удалены"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Приложение Admin нельзя использовать, так как оно отсутствует или повреждено. С устройства будут удалены все данные. Если у вас возникли вопросы, обратитесь к администратору."</string> <string name="me" msgid="6545696007631404292">"Я"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Звонок отключен"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Вибросигнал"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Звонок включен"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Подготовка к обновлению"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Обновление пакета…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Выключение..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Планшетный ПК будет отключен."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Телевизор будет выключен."</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Контакты"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"доступ к контактам"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Местоположение"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"доступ к данным о местоположении"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Информация о моих контактах"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Прямой доступ к информации о моих контактах и социальных связях."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Календарь"</string> @@ -275,8 +288,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Доступ к имеющимся аккаунтам."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"Просмотр фидов пользователя"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Приложение сможет получать сведения о синхронизируемых в настоящее время фидах."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"отправка и просмотр SMS-сообщений"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Приложение сможет отправлять SMS. Учтите, что вредоносные программы смогут отправлять сообщения без уведомления, что может привести к непредвиденным расходам."</string> <string name="permlab_readSms" msgid="8745086572213270480">"Просмотр SMS и MMS"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Приложение сможет просматривать SMS-сообщения, сохраненные на устройстве или SIM-карте, независимо от содержания или настроек конфиденциальности."</string> @@ -514,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Подключение к базовому интерфейсу службы обмена сообщениями, предоставляемой оператором связи. Это разрешение обычно используется только специальными приложениями."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"Подключение к сервисам оператора связи"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Приложение сможет подключаться к сервисам оператора связи. Это разрешение не используется обычными приложениями."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Доступ к режиму \"Не беспокоить\""</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Открывает приложению доступ к настройкам режима \"Не беспокоить\" и позволяет изменять их."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Правила выбора паролей"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролировать длину и символы при вводе пароля и PIN-кода."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Отслеживать попытки снятия блокировки экрана"</string> diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml index 461fe42..65a9b22 100644 --- a/core/res/res/values-si-rLK/strings.xml +++ b/core/res/res/values-si-rLK/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"කාර්යාල පැතිකඩ මකා දමන ලදි"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"පරිපාලක යෙදුමක් නොමැති වීමෙන් කාර්යාල පැතිකඩ මකා දමන ලදි."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"කාර්යාල පැතිකඩ පාලක යෙදුම නොමැති හෝ දූෂණය වී ඇත. ප්රතිඵලයක් ලෙස ඔබගේ කාර්යාල පැතිකඩ සහ අදාළ දත්ත මකා දමා ඇත. සහය සඳහා ඔබගේ පරිපාලකයා සම්බන්ධ කර ගන්න."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"ඔබගේ උපාංගය මකා දැමෙනු ඇත"</string> <string name="factory_reset_message" msgid="4905025204141900666">"යෙදුමේ කොටස් නොමැති හෝ දූෂණය වී ඇති නිසා, භාවිතා කළ නොහැක. ඔබගේ උපාංගය දැන් මකා දැමෙනු ඇත. සහය සඳහා ඔබගේ පරිපාලකයා සම්බන්ධ කරගන්න."</string> <string name="me" msgid="6545696007631404292">"මම"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"හඬ නඟනය අක්රියයි"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"හඬ නඟනය කම්පනය"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"හඬ නඟනය සක්රීයයි"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"යාවත්කාලීනය සඳහා සූදානම් වන්න"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"යාවත්කාලීන පැකේජය සකසමින්…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"වසා දමමින්…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"ඔබගේ ටැබ්ලටය වැසේ."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ඔබගේ රූපවාහිනිය වසා දැමෙනු ඇත."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"සම්බන්ධතා"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ඔබේ සම්බන්ධතාවලට පිවිසෙන්න"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"ස්ථානය"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"ඔබගේ ස්ථානය ප්රවේශ කිරීම"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ඔබගේ සමාජයීය තොරතුරු"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"ඔබගේ සම්බන්ධතා සහ සාමාජ සම්බන්ධයන් ගැන තොරතුරු වෙත ඍජු ප්රවේශය."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"දින දර්ශනය"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"වාහක සේවාව ඉහල මට්ටමේ අතුරු මුහුණතක් වෙත සම්බන්ධ කිරීමට ධාරකයාට අවසර දෙන්න. සාමාන්ය යෙදුම්වලට කිසි විටෙක අවශ්ය නොවෙයි."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"වාහක සේවා වෙත බඳින්න"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"වාහක සේවා වෙත සම්බන්ධ කිරීමට ධාරකයාට අවසර දේ. සාමාන්ය යෙදුම් සඳහා කිසිදා අවශ්ය නොවිය යුතුය."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"බාධා නොකරන්න ප්රවේශ වන්න"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"බාධා නොකරන්න වින්යාස කිරීම කියවීමට සහ ලිවීමට යෙදුමට ඉඩ දෙයි."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"මුරපද නීති සකස් කිරීම"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"තිර අගුලු මුරපද සහ PIN තුළ ඉඩ දෙන දිග සහ අනුලකුණු පාලනය කිරීම."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"තිරය අගුළු ඇරීමේ උත්සාහයන් නිරීක්ෂණය කරන්න"</string> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index faf5916..e6907d0 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Pracovný profil bol odstránený"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Pracovný profil bol odstránený z dôvodu chýbajúcej správcovskej aplikácie."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Správcovská aplikácia pracovného profilu buď chýba, alebo je poškodená. Z toho dôvodu boli váš pracovný profil a s ním súvisiace údaje odstránené. Ak potrebujete pomoc, kontaktujte svojho správcu."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Vaše zariadenie bude vymazané"</string> <string name="factory_reset_message" msgid="4905025204141900666">"V správcovskej aplikácii chýbajú komponenty alebo je poškodená, a preto sa nedá použiť. Vaše zariadenie bude vymazané. Ak potrebujete pomoc, kontaktujte svojho správcu."</string> <string name="me" msgid="6545696007631404292">"Ja"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Zvonenie je vypnuté"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibračné zvonenie"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Zvonenie je zapnuté"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Príprava na aktualizáciu"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Spracováva sa balík aktualizácií…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Prebieha vypínanie..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Váš tablet bude vypnutý."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televízor sa vypne."</string> @@ -206,8 +218,8 @@ <string name="global_action_lock" msgid="2844945191792119712">"Zámka obrazovky"</string> <string name="global_action_power_off" msgid="4471879440839879722">"Vypnúť"</string> <string name="global_action_bug_report" msgid="7934010578922304799">"Hlásenie o chybách"</string> - <string name="bugreport_title" msgid="2667494803742548533">"Vytvoriť hlásenie o chybách"</string> - <string name="bugreport_message" msgid="398447048750350456">"Zhromaždí informácie o aktuálnom stave zariadenia na odoslanie v e-mailovej správe. Chvíľu však potrvá, kým bude hlásenie o chybách pripravené na odoslanie. Prosíme vás preto o trpezlivosť."</string> + <string name="bugreport_title" msgid="2667494803742548533">"Vytvoriť hlásenie chyby"</string> + <string name="bugreport_message" msgid="398447048750350456">"Týmto zhromaždíte informácie o aktuálnom stave zariadenia. Informácie je potom možné odoslať e-mailom, chvíľu však potrvá, kým bude hlásenie chyby pripravené na odoslanie. Prosíme vás preto o trpezlivosť."</string> <string name="global_action_toggle_silent_mode" msgid="8219525344246810925">"Tichý režim"</string> <string name="global_action_silent_mode_on_status" msgid="3289841937003758806">"Zvuk je VYPNUTÝ."</string> <string name="global_action_silent_mode_off_status" msgid="1506046579177066419">"Zvuk je zapnutý"</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakty"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"prístup k vašim kontaktom"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Poloha"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"prístup k polohe"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Vaše sociálne informácie"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Priamy prístup k informáciám o vašich kontaktoch a sociálnych prepojeniach."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendár"</string> @@ -513,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Umožňuje držiteľovi viazať sa na najvyššiu úroveň rozhrania služby na odosielanie správ SMS a MMS operátora. Bežné aplikácie by toto nastavenie nemali nikdy potrebovať."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"naviazať sa na služby operátora"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Umožňuje držiteľovi povolenia naviazať sa na služby operátora. Bežné aplikácie by toto povolenie nemali nikdy nepotrebovať."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"prístup k nastaveniu Nerušiť"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Umožňuje aplikácii čítať a zapisovať konfiguráciu nastavenia Nerušiť."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Nastaviť pravidlá pre heslo"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Nastavte dĺžku hesiel na odomknutie obrazovky aj kódov PIN a v nich používané znaky."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Sledovať pokusy o odomknutie obrazovky"</string> @@ -523,13 +538,13 @@ <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Sledujte počet nesprávnych hesiel zadaných pri odomykaní obrazovky a v prípade, že ich je zadaných príliš mnoho, uzamknite televízor alebo vymažte všetky údaje tohto používateľa."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Sledujte počet nesprávnych hesiel zadaných pri odomykaní obrazovky a v prípade, že ich je zadaných príliš mnoho, uzamknite telefón alebo vymažte všetky údaje tohto používateľa."</string> <string name="policylab_resetPassword" msgid="4934707632423915395">"Zmeniť zámku obrazovky"</string> - <string name="policydesc_resetPassword" msgid="1278323891710619128">"Zmeňte zámku obrazovky."</string> + <string name="policydesc_resetPassword" msgid="1278323891710619128">"Zmeniť zámku obrazovky."</string> <string name="policylab_forceLock" msgid="2274085384704248431">"Uzamknúť obrazovku"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Ovládať, ako a kedy sa obrazovka uzamkne."</string> - <string name="policylab_wipeData" msgid="3910545446758639713">"Vymazanie všetkých údajov"</string> - <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Bez predchádzajúceho upozornenia zmazať všetky údaje tým, že sa obnovia výrobné nastavenia tabletu."</string> - <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Vymažte údaje televízora bez upozornenia obnovením jeho výrobných nastavení."</string> - <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Bez predchádzajúceho upozornenia zmazať všetky údaje tým, že sa obnovia výrobné nastavenia telefónu."</string> + <string name="policylab_wipeData" msgid="3910545446758639713">"Vymazať všetky dáta"</string> + <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Bez predchádzajúceho upozornenia vymazať všetky dáta obnovením výrobných nastavení tabletu."</string> + <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Bez predchádzajúceho upozornenia vymazať všetky dáta televízora obnovením jeho výrobných nastavení."</string> + <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Bez predchádzajúceho upozornenia vymazať všetky dáta obnovením výrobných nastavení telefónu."</string> <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Vymazať údaje používateľa"</string> <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Vymažte bez upozornenia údaje tohto používateľa na tomto tablete."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Vymažte bez upozornenia údaje tohto používateľa na tomto televízore."</string> @@ -820,7 +835,7 @@ <string name="searchview_description_clear" msgid="1330281990951833033">"Jasný dopyt"</string> <string name="searchview_description_submit" msgid="2688450133297983542">"Odoslať dopyt"</string> <string name="searchview_description_voice" msgid="2453203695674994440">"Hlasové vyhľadávanie"</string> - <string name="enable_explore_by_touch_warning_title" msgid="7460694070309730149">"Povoliť Preskúmanie dotykom?"</string> + <string name="enable_explore_by_touch_warning_title" msgid="7460694070309730149">"Chcete zapnúť Preskúmanie dotykom?"</string> <string name="enable_explore_by_touch_warning_message" product="tablet" msgid="8655887539089910577">"Služba <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> požaduje povolenie funkcie Preskúmanie dotykom. Ak je funkcia Preskúmanie dotykom zapnutá, môžete počuť alebo vidieť popisy objektov pod vaším prstom alebo ovládať tablet gestami."</string> <string name="enable_explore_by_touch_warning_message" product="default" msgid="2708199672852373195">"Služba <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> požaduje povolenie funkcie Preskúmanie dotykom. Ak je funkcia Preskúmanie dotykom zapnutá, môžete počuť alebo vidieť popisy objektov pod vaším prstom alebo ovládať telefón gestami."</string> <string name="oneMonthDurationPast" msgid="7396384508953779925">"pred 1 mesiacom"</string> @@ -1292,8 +1307,8 @@ <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string> <string name="default_audio_route_category_name" msgid="3722811174003886946">"Systém"</string> <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"Bluetooth audio"</string> - <string name="wireless_display_route_description" msgid="9070346425023979651">"Bezdrôtový displej"</string> - <string name="media_route_button_content_description" msgid="591703006349356016">"Preniesť"</string> + <string name="wireless_display_route_description" msgid="9070346425023979651">"Bezdrôtové zobrazenie"</string> + <string name="media_route_button_content_description" msgid="591703006349356016">"Prenášať"</string> <string name="media_route_chooser_title" msgid="1751618554539087622">"Pripojenie k zariadeniu"</string> <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"Prenos obrazovky do zariadenia"</string> <string name="media_route_chooser_searching" msgid="4776236202610828706">"Prebieha vyhľadávanie zariadení…"</string> @@ -1336,7 +1351,7 @@ <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"Zabudli ste svoje používateľské meno alebo heslo?\n Navštívte stránky "<b>"google.com/accounts/recovery"</b>"."</string> <string name="kg_login_checking_password" msgid="1052685197710252395">"Prebieha kontrola účtu..."</string> <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"<xliff:g id="NUMBER_0">%d</xliff:g>-krát ste zadali nesprávny kód PIN. \n\nSkúste to znova o <xliff:g id="NUMBER_1">%d</xliff:g> s."</string> - <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"<xliff:g id="NUMBER_0">%d</xliff:g>-krát ste zadali nesprávne heslo. \n\nSkúste to znova o <xliff:g id="NUMBER_1">%d</xliff:g>."</string> + <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"<xliff:g id="NUMBER_0">%d</xliff:g>-krát ste zadali nesprávne heslo. \n\nSkúste to znova o <xliff:g id="NUMBER_1">%d</xliff:g> s."</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"<xliff:g id="NUMBER_0">%d</xliff:g>-krát ste použili nesprávny bezpečnostný vzor. \n\nSkúste to znova o <xliff:g id="NUMBER_1">%d</xliff:g> s."</string> <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Tablet ste sa pokúsili odomknúť nesprávnym spôsobom <xliff:g id="NUMBER_0">%d</xliff:g>-krát. Po <xliff:g id="NUMBER_1">%d</xliff:g> ďalších neúspešných pokusoch sa v tablete obnovia predvolené výrobné nastavenia a všetky používateľské údaje budú stratené."</string> <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"Televízor ste sa pokúsili nesprávne odomknúť <xliff:g id="NUMBER_0">%d</xliff:g>-krát. Po ďalších neúspešných pokusoch (počet: <xliff:g id="NUMBER_1">%d</xliff:g>) sa obnovia výrobné nastavenia televízora a prídete o všetky údaje používateľa."</string> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index 3b315d5..7e181a0 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Delovni profil izbrisan"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Delovni profil izbrisan zaradi manjkajoče skrbniške aplikacije."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Skrbniška aplikacija delovnega profila manjka ali pa je poškodovana, zaradi česar je bil delovni profil s povezanimi podatki izbrisan. Za pomoč se obrnite na skrbnika."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Podatki v napravi bodo izbrisani"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Skrbniška aplikacija je nepopolna ali poškodovana, zato je ni mogoče uporabiti. Podatki v napravi bodo izbrisani. Za pomoč se obrnite na skrbnika."</string> <string name="me" msgid="6545696007631404292">"Jaz"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Izklopi zvonjenje"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Zvonjenje z vibriranjem"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Vklopi zvonjenje"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Priprava na posodobitev"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Obdelava paketa za posodobitev …"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Se zaustavlja ..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tablični računalnik se bo zaustavil."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televizor se bo izklopil."</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Stiki"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"dostop do stikov"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Lokacija"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"dostop do vaše lokacije"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Podatki v družabnih omrežjih"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Neposreden dostop do podatkov o stikih in družabnih povezav."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Google Koledar"</string> @@ -275,8 +288,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Dostop do razpoložljivih računov."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"branje naročenih virov"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Aplikaciji omogoča dobivanje podrobnosti o trenutno sinhroniziranih virih."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"pošiljanje in ogled sporočil SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Aplikaciji omogoča pošiljanje SMS-ov. Zaradi tega lahko pride do nepričakovanih stroškov. Zlonamerne aplikacije lahko pošiljajo sporočila brez vaše potrditve, kar vas lahko drago stane."</string> <string name="permlab_readSms" msgid="8745086572213270480">"branje sporočil (SMS ali MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Aplikaciji omogoča branje SMS-ov, shranjenih v tabličnem računalniku ali na kartici SIM. S tem lahko aplikacija bere vse SMS-e, ne glede na njihovo vsebino ali zaupnost."</string> @@ -514,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Imetniku omogoča povezovanje z vmesnikom operaterjeve sporočilne storitve najvišje ravni. To naj ne bi bilo nikoli potrebno za navadne aplikacije."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"povezovanje z operaterjevimi storitvami"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Imetniku omogoča povezovanje z operaterjevimi storitvami. Tega ni treba nikoli uporabiti za navadne aplikacije."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"dostop do načina »ne moti«"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Aplikaciji omogoča branje in pisanje konfiguracije načina »ne moti«."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Nastavitev pravil za geslo"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Nadzor nad dolžino in znaki, ki so dovoljeni v geslih in kodah PIN za odklepanje zaslona."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"nadzor nad poskusi odklepanja zaslona"</string> diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml index 9dd6743..9a0002c 100644 --- a/core/res/res/values-sq-rAL/strings.xml +++ b/core/res/res/values-sq-rAL/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Profili i punës u fshi"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Profili i punës u fshi për shkak të mungesës së aplikacionit të administratorit."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Aplikacioni i administratorit të profilit të punës mungon ose është dëmtuar. Si rezultat i kësaj, profili yt i punës dhe të dhënat përkatëse janë fshirë. Kontakto administratorin tënd për ndihmë."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Pajisja do të spastrohet"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Aplikacionit të administratorit i mungojnë përbërësit ose është dëmtuar dhe nuk mund të përdoret. Pajisja jote tani do të fshihet. Kontakto administratorin tënd për ndihmë."</string> <string name="me" msgid="6545696007631404292">"Unë"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Zilja është çaktivizuar"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Zile me dridhje"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Zilja u aktivizua"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Përgatit për përditësimin"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Po përpunon paketën e përditësimit…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Po fiket…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tableti yt do të fiket."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televizori yt do të fiket."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktet"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"qasu te kontaktet e tua"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Vendndodhja"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"të qaset te vendondodhja jote"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Informacionet e tua sociale"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Qasje e drejtpërdrejtë në informacionin e kontakteve të tua dhe lidhjeve sociale."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendari"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Qasje në llogaritë e vlefshme."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"lexo informacione të abonuara"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Lejon aplikacionin të marrë detaje rreth çdo gjëje që sinkronizohet në pajisje."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"dërgo dhe shiko mesazhet SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Lejon aplikacionin të dërgojë mesazhe SMS. Kjo mund të rezultojë me tarifa të papritura. Aplikacionet keqdashëse mund të të kushtojnë të holla duke dërguar mesazhe pa konfirmimin tënd."</string> <string name="permlab_readSms" msgid="8745086572213270480">"lexo mesazhet e tua në tekst (SMS ose MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Lejon aplikacionin të lexojë mesazhet SMS të ruajtura në tablet ose kartën SIM. Kjo i mundëson aplikacionit të lexojë të gjitha mesazhet SMS, pavarësisht përmbajtjes apo privatësisë."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Lejon zotëruesin të lidhet me ndërfaqen e nivelit të lartë të shërbimit të mesazheve të operatorit. Nuk nevojitet për aplikacione normale."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"lidhu me shërbimet e operatorit celular"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Lejon që mbajtësi të lidhet me shërbimet e operatorit celular. Nuk nevojitet për aplikacionet normale."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"qasje në \"Mos shqetëso\""</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Lejon aplikacionin të lexojë dhe shkruajë konfigurimin e \"Mos shqetëso\"."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Cakto rregullat e fjalëkalimit"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrollo gjatësinë dhe karakteret e lejuara në fjalëkalimet dhe kodet PIN të kyçjes së ekranit."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Monitoro tentativat e shkyçjes së ekranit"</string> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index eb30251..fecc224 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -173,6 +173,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Пословни профил је избрисан"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Пословни профил је избрисан јер недостаје администраторска апликација."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Администраторска апликација пословног профила недостаје или је оштећена. Због тога су ваш пословни профил и повезани подаци избрисани. Обратите се администратору за помоћ."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Уређај ће бити обрисан"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Администраторској апликацији недостају неке компоненте или је оштећена и не може да се користи. Уређај ће сада бити обрисан. Обратите се администратору за помоћ."</string> <string name="me" msgid="6545696007631404292">"Ја"</string> @@ -187,8 +189,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Звоно је искључено"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Вибрација звона"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Звоно је укључено"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Припрема за ажурирање"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Пакет ажурирања се обрађује..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Искључивање…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Таблет ће се искључити."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ТВ ће се искључити."</string> @@ -225,7 +237,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Контакти"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"приступ контактима"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Локација"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"приступ вашој локацији"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Информације са друштвених мрежа"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Директан приступ информацијама о контактима и друштвеним везама."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Календар"</string> @@ -274,8 +287,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Приступ доступним налозима."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"читање пријављених фидова"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Дозвољава апликацији да преузима детаље о тренутно синхронизованим фидовима."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"шаљи и прегледај SMS поруке"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Дозвољава апликацији да шаље SMS поруке. Ово може да доведе до неочекиваних трошкова. Злонамерне апликације могу да шаљу поруке без ваше потврде, што може да изазове трошкове."</string> <string name="permlab_readSms" msgid="8745086572213270480">"читање текстуалних порука (SMS или MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Дозвољава апликацији да чита SMS поруке ускладиштене на таблету или SIM картици. Ово омогућава апликацији да чита све SMS поруке, без обзира на садржај или поверљивост."</string> @@ -513,6 +525,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Дозвољава власнику да се повеже са интерфејсом највишег нивоа за услугу за размену порука мобилног оператера. Никада не би требало да буде потребно за стандардне апликације."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"повезивање са услугама оператера"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Дозвољава власнику да се повеже са услугама оператера. Никада не би требало да буде потребно за обичне апликације."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"приступај подешавању Не узнемиравај"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Дозвољава апликацији да чита и уписује конфигурацију подешавања Не узнемиравај."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Подешавање правила за лозинку"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролише дужину и знакове дозвољене у лозинкама и PIN-овима за закључавање екрана."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Надгледање покушаја откључавања екрана"</string> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index 143b70b..c460096 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Jobbprofilen har raderats"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Jobbprofilen har raderats eftersom det saknas en administratörsapp."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Administratörsappen för jobbprofilen saknas eller är skadad. Det innebär att jobbprofilen och all relaterad data har raderats. Kontakta administratören om du vill ha hjälp."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Enheten kommer att rensas"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Administratörsappen saknar delar eller är skadad och kan inte användas. Enheten kommer nu att rensas. Kontakta administratören om du behöver hjälp."</string> <string name="me" msgid="6545696007631404292">"Jag"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Ringsignal av"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Vibrerande ringsignal"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Ringsignal på"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Förbered för uppdatering"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Uppdateringspaketet behandlas ..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Avslutar…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Din surfplatta stängs av."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Tv:n stängs av."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakter"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"få tillgång till dina kontakter"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Plats"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"få åtkomst till din plats"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Dina sociala uppgifter"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direktåtkomst till information om dina kontakter och sociala kontakter."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalender"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Få åtkomst till tillgängliga konton."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"läsa flöden som du prenumererar på"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Tillåter att appen får information om aktuella synkroniserade flöden."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"skicka och visa sms"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Tillåter att appen skickar SMS. Detta kan leda till oväntade avgifter. Skadliga appar kan skicka meddelanden utan ditt godkännande vilket kan kosta pengar."</string> <string name="permlab_readSms" msgid="8745086572213270480">"läsa dina textmeddelanden (SMS eller MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Tillåter att appen läser SMS som sparats på surfplattan eller på SIM-kortet. Med den här behörigheten tillåts appen att läsa alla SMS oavsett innehåll eller sekretess."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Innehavaren tillåts att binda till den översta nivåns gränssnitt för en operatörs meddelandetjänst. Ska inte behövas för vanliga appar."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"binder till leverantörstjänster"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Tillåter att innehavaren binder till leverantörstjänster. Det här ska inte behövas för vanliga appar."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"åtkomst till Stör ej"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Ger appen läs- och skrivbehörighet till konfigurationen för Stör ej."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Ange lösenordsregler"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Styr tillåten längd och tillåtna tecken i lösenord och pinkoder för skärmlåset."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Övervaka försök att låsa upp skärmen"</string> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index 2396686..a620295 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Wasifu wa kazini umefutwa"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Wasifu wa kazini umefutwa kutokana na kupotea kwa programu ya msimamizi."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Programu ya msimamizi wa wasifu wa kazini imepotea au ina hitilafu. Kwa sbabu hiyo, wasifu wako wa kazini na data husika imefutwa. Wasiliana na msimamizi wako kwa usaidizi."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Data iliyomo kwenye kifaa chako itafutwa"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Programu ya msimamizi inakosa vipengele au ina hitilafu, na haiwezi kutumika. Data iliyomo kwenye kifaa chako sasa itafutwa. Wasiliana na msimamizi wako kwa usaidizi."</string> <string name="me" msgid="6545696007631404292">"Mimi"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Programu ya milio imezimwa"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Mtetemo wa programu ya milio"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Programu ya milio imewashwa"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Tayarisha kwa usasishaji"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Inachakata kifurushi cha kusasisha…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Inafunga..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Kompyuta kibao yako itazima."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Runinga yako itazimwa."</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Anwani"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"fikia anwani zako"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Mahali"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"kufikia mahali ulipo"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Taarifa yako ya kijamii"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Kufikia moja kwa moja taarifa kuhusu anwani zako na miunganisho ya kijamii."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalenda"</string> @@ -275,8 +288,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Fikia akaunti zinazopatikana."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"kusoma mipasho kutoka vyanzo unavyofuatilia"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Inaruhusu programu kupata maelezo kuhusu mlisho iliyolandanishwa kwa sasa."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"tuma na uangalie ujumbe wa SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Inaruhusu programu kutuma ujumbe wa SMS. Hii inaweza ikasababisha malipo yasiyotarajiwa. Programu hasidi zinaweza kukugharimu pesa kwa kutuma ujumbe bila uthibitisho wako."</string> <string name="permlab_readSms" msgid="8745086572213270480">"soma SMS au MMS zako"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Inaruhusu programu kusoma ujumbe wa SMS uliohifadhiwa kwenye kompyuta kibao yako au SIM kadi. Hii inaruhusu programu kusoma ujumbe wote wa SMS, bila kujali maudhui au usiri."</string> @@ -514,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Huruhusu kishikiliaji kushurutisha kwa kiolesura cha hali ya juu cha huduma ya ujumbe ya mtoa huduma. Haipaswi kuhitajika kwa programu za kawaida."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"bandika kwenye huduma ya mtoa huduma"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Huruhusu mmiliki kubandika kwenye huduma ya mtoa huduma. Haipaswi kuhitajika kwa programu za kawaida."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"fikia Usinisumbue"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Inaruhusu programu kusoma na kuandika usanidi wa Usinisumbue."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Kuweka kanuni za nenosiri"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Dhibiti urefu na maandishi yanayokubalika katika nenosiri la kufunga skrini na PIN."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Kuhesabu mara ambazo skrini inajaribu kufunguliwa"</string> diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml index 457be7e..9f6f23b 100644 --- a/core/res/res/values-ta-rIN/strings.xml +++ b/core/res/res/values-ta-rIN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"பணி சுயவிவரம் நீக்கப்பட்டது"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"நிர்வாகி பயன்பாடு இல்லாததனால், பணி சுயவிவரம் நீக்கப்பட்டது."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"பணி சுயவிவர நிர்வாகி பயன்பாடு இல்லை அல்லது சேதமடைந்துள்ளது. இதன் விளைவாக, உங்கள் பணி சுயவிவரமும், அதனுடன் தொடர்புடைய தரவும் நீக்கப்பட்டன. உதவிக்கு, உங்கள் நிர்வாகியைத் தொடர்புகொள்ளவும்."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"சாதனத் தரவு அழிக்கப்படும்"</string> <string name="factory_reset_message" msgid="4905025204141900666">"நிர்வாகி பயன்பாடு இல்லை அல்லது சேதமடைந்துள்ளது மற்றும் பயன்படுத்த முடியாது. இப்போது சாதனத் தரவு அழிக்கப்படும். உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string> <string name="me" msgid="6545696007631404292">"நான்"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"ரிங்கர் முடக்கப்பட்டது"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"ரிங்கர் அதிர்வு"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"ரிங்கர் இயக்கப்பட்டது"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"புதுப்பிப்பதற்குத் தயார்படுத்து"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"புதுப்பிப்புத் தொகுப்பைச் செயலாக்குகிறது…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"முடங்குகிறது…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"உங்கள் டேப்லெட் முடக்கப்படும்."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"டிவி நிறுத்தப்படும்."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"தொடர்புகள்"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"தொடர்புகளை அணுகும்"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"இருப்பிடம்"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"இருப்பிடத்தை அணுகும்"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"உங்கள் சமூகத் தகவல்"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"உங்கள் தொடர்புகள் மற்றும் சமூக இணைப்புகள் குறித்த தகவலுக்கான நேரடி அணுகல்."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"கேலெண்டர்"</string> @@ -243,7 +256,7 @@ <string name="permgroupdesc_phone" msgid="6234224354060641055">"மொபைல் அழைப்புகளைச் செய்யும், பெறும்"</string> <string name="permgrouplab_sensors" msgid="7416703484233940260">"உணர்விகள்"</string> <string name="permgroupdesc_sensors" msgid="6376772456799240169">"சென்சார்கள், அணியக்கூடிய சாதனங்களிலிருந்து தரவை அணுகும்"</string> - <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"சாளர உள்ளடக்கத்தைப் பெறவும்"</string> + <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"சாளர உள்ளடக்கத்தைப் பெறுதல்"</string> <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"நீங்கள் ஊடாடிக்கொண்டிருக்கும் சாளரத்தின் உள்ளடக்கத்தைப் பார்க்கலாம்."</string> <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"தொடுவதன் மூலம் அறிவதை இயக்கவும்"</string> <string name="capability_desc_canRequestTouchExploration" msgid="5800552516779249356">"தொட்ட உருப்படிகள் சத்தமாகப் பேசும் மற்றும் சைகைகளைப் பயன்படுத்தி திரையை ஆராயலாம்."</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"கிடைக்கும் கணக்குகளை அணுக முடியும்."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"குழுசேர்ந்த ஊட்டங்களைப் படித்தல்"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"தற்போது ஒத்திசைந்த ஊட்டங்களைப் பற்றிய விவரங்களைப் பெற பயன்பாட்டை அனுமதிக்கிறது."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS செய்திகளை அனுப்புதல் மற்றும் பார்த்தல்"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"SMS செய்திகளை அனுப்ப பயன்பாட்டை அனுமதிக்கிறது. இதற்கு எதிர்பாராத கட்டணங்கள் விதிக்கப்படலாம். தீங்கு விளைவிக்கும் பயன்பாடுகள் உங்களின் உறுதிப்படுத்தல் எதுவுமின்றி செய்திகளை அனுப்பி உங்களுக்குக் கட்டணம் விதிக்கலாம்."</string> <string name="permlab_readSms" msgid="8745086572213270480">"உங்கள் உரைச் செய்திகளை (SMS அல்லது MMS) படித்தல்"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"உங்கள் டேப்லெட் அல்லது சிம் கார்டில் சேமிக்கப்பட்ட SMS குறுஞ்செய்திகளைப் படிக்க பயன்பாட்டை அனுமதிக்கிறது. SMS குறுஞ்செய்திகளின் உள்ளடக்கம் அல்லது ரகசியத்தன்மை ஆகியவற்றைப் பொருட்படுத்தாமல் அச்செய்திகளைப் படிக்க பயன்பாட்டை இது அனுமதிக்கிறது."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"மொபைல் நிறுவனச் செய்தியிடல் சேவையின் உயர்-நிலை இடைமுகத்துடன் ஹோல்டரை இணைக்க அனுமதிக்கும். இயல்பான பயன்பாடுகளுக்குத் தேவைப்படாது."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"மொபைல் நிறுவன சேவைகளுடன் இணைத்தல்"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"மொபைல் நிறுவன சேவைகளுடன் இணைக்க, ஹோல்டரை அனுமதிக்கும். சாதாரணப் பயன்பாடுகளுக்கு எப்போதுமே தேவைப்படாது."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"தொந்தரவு செய்ய வேண்டாம் அம்சத்தை அணுகுதல்"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"தொந்தரவு செய்ய வேண்டாம் உள்ளமைவைப் படிக்கவும் எழுதவும், பயன்பாட்டை அனுமதிக்கிறது."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"கடவுச்சொல் விதிகளை அமைக்கவும்"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"திரைப் பூட்டின் கடவுச்சொற்கள் மற்றும் பின்களில் அனுமதிக்கப்படும் நீளத்தையும் எழுத்துக்குறிகளையும் கட்டுப்படுத்தும்."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"திரைத் திறக்க முயற்சிகளைக் கண்காணித்தல்"</string> @@ -1471,7 +1485,7 @@ <string name="package_installed_device_owner" msgid="8420696545959087545">"நிர்வாகி நிறுவினார்"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"உங்கள் நிர்வாகி புதுப்பித்துள்ளார்"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"நிர்வாகி நீக்கிவிட்டார்"</string> - <string name="battery_saver_description" msgid="1960431123816253034">"பேட்டரி ஆயுளை மேம்படுத்த, பேட்டரி சேமிப்பான் உங்கள் சாதனத்தின் செயல்திறனைக் குறைத்து, அதிர்வு, இடச் சேவைகள் மற்றும் பெரும்பாலான பின்புலத் தரவு போன்றவற்றைக் கட்டுப்படுத்துகிறது. ஒத்திசைவைச் சார்ந்துள்ள மின்னஞ்சல், செய்தியிடல் மற்றும் பிற பயன்பாடுகளானது அவற்றைத் திறக்கும்வரையில் புதுப்பிக்கப்படாமல் போகக்கூடும்.\n\nஉங்கள் ஃபோன் சார்ஜ் செய்யப்படும்போது, பேட்டரி சேமிப்பான் தானாகவே முடங்கும்."</string> + <string name="battery_saver_description" msgid="1960431123816253034">"பேட்டரி ஆயுளை மேம்படுத்த, பேட்டரி சேமிப்பான் உங்கள் சாதனத்தின் செயல்திறனைக் குறைத்து, அதிர்வு, இடச் சேவைகள் மற்றும் பெரும்பாலான பின்புலத் தரவு போன்றவற்றைக் கட்டுப்படுத்துகிறது. ஒத்திசைவைச் சார்ந்துள்ள மின்னஞ்சல், செய்தியிடல் மற்றும் பிற பயன்பாடுகள் திறக்கும்வரை, அவை புதுப்பிக்கப்படாமல் இருக்கலாம்.\n\nஉங்கள் ஃபோன் சார்ஜ் செய்யப்படும்போது, பேட்டரி சேமிப்பான் தானாகவே முடங்கும்."</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d நிமிடங்களுக்கு (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> வரை)</item> <item quantity="one">ஒரு நிமிடத்திற்கு (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> வரை)</item> diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml index b3d3338..3bcb7c1 100644 --- a/core/res/res/values-te-rIN/strings.xml +++ b/core/res/res/values-te-rIN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"కార్యాలయ ప్రొఫైల్ తొలగించబడింది"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"నిర్వాహక అనువర్తనం లేనందున కార్యాలయ ప్రొఫైల్ తొలగించబడింది."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"కార్యాలయ ప్రొఫైల్ నిర్వాహక అనువర్తనం లేదు లేదా పాడైంది. తత్ఫలితంగా, మీ కార్యాలయ ప్రొఫైల్ మరియు సంబంధిత డేటా తొలగించబడ్డాయి. సహాయం కోసం మీ నిర్వాహకుడిని సంప్రదించండి."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"మీ పరికరంలోని డేటా తొలగించబడుతుంది"</string> <string name="factory_reset_message" msgid="4905025204141900666">"నిర్వాహక అనువర్తనంలో కొన్ని అంతర్భాగాలు లేవు లేదా అది పాడైపోయి, నిరుపయోగంగా మారింది. మీ పరికరంలోని డేటా ఇప్పుడు తొలగించబడుతుంది. సహాయం కోసం మీ నిర్వాహకుడిని సంప్రదించండి."</string> <string name="me" msgid="6545696007631404292">"నేను"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"రింగర్ ఆఫ్లో ఉంది"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"రింగర్ వైబ్రేట్లో ఉంది"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"రింగర్ ఆన్లో ఉంది"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"నవీకరణ కోసం సిద్ధం చేయండి"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"నవీకరణ ప్యాకేజీని ప్రాసెస్ చేస్తోంది…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"షట్ డౌన్ చేయబడుతోంది…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"మీ టాబ్లెట్ షట్డౌన్ చేయబడుతుంది."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"మీ టీవీ షట్ డౌన్ చేయబడుతుంది."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"పరిచయాలు"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"మీ పరిచయాలను ప్రాప్యత చేస్తుంది"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"స్థానం"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"మీ స్థానాన్ని ప్రాప్యత చేస్తుంది"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"మీ సామాజిక సమాచారం"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"మీ పరిచయాలు మరియు సామాజిక బాంధవ్యాలకు సంబంధించిన సమాచారానికి ప్రత్యక్ష ప్రాప్యత."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"క్యాలెండర్"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"అందుబాటులో ఉన్న ఖాతాలను ప్రాప్యత చేయండి."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"చందా చేయబడిన ఫీడ్లను చదవడం"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"ప్రస్తుతం సమకాలీకరించిన ఫీడ్ల గురించి వివరాలను పొందడానికి అనువర్తనాన్ని అనుమతిస్తుంది."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS సందేశాలను పంపడానికి మరియు వీక్షించడానికి అనుమతి"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"SMS సందేశాలు పంపడానికి అనువర్తనాన్ని అనుమతిస్తుంది. దీని వలన ఊహించని ఛార్జీలు విధించబడవచ్చు. హానికరమైన అనువర్తనాలు మీ నిర్ధారణ లేకుండానే సందేశాలను పంపడం ద్వారా మీకు డబ్బు ఖర్చయ్యేలా చేయవచ్చు."</string> <string name="permlab_readSms" msgid="8745086572213270480">"మీ వచన సందేశాలు (SMS లేదా MMS) చదవడం"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"మీ టాబ్లెట్ లేదా సిమ్ కార్డులో నిల్వ చేయబడిన SMS సందేశాలను చదవడానికి అనువర్తనాన్ని అనుమతిస్తుంది. ఇది కంటెంట్ లేదా గోప్యతతో సంబంధం లేకుండా అన్ని SMS సందేశాలను చదవడానికి అనువర్తనాన్ని అనుమతిస్తుంది."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"క్యారియర్ సందేశ సేవ యొక్క అగ్ర-స్థాయి ఇంటర్ఫేస్కు అనుబంధించడానికి హోల్డర్ను అనుమతిస్తుంది. సాధారణ అనువర్తనాలకు ఎప్పటికీ అవసరం ఉండదు."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"క్యారియర్ సేవలకు అనుబంధించడం"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"క్యారియర్ సేవలకు అనుబంధించడానికి హోల్డర్ను అనుమతిస్తుంది. సాధారణ అనువర్తనాలకు ఎప్పటికీ అవసరం ఉండదు."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"అంతరాయం కలిగించవద్దు ఎంపిక ప్రాప్యత"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"అంతరాయం కలిగించవద్దు ఎంపిక కాన్ఫిగరేషన్ చదవడానికి మరియు వ్రాయడానికి అనువర్తనాన్ని అనుమతిస్తుంది."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"పాస్వర్డ్ నియమాలను సెట్ చేయండి"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"స్క్రీన్ లాక్ పాస్వర్డ్లు మరియు PINల్లో అనుమతించబడిన పొడవు మరియు అక్షరాలను నియంత్రిస్తుంది."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"స్క్రీన్-అన్లాక్ ప్రయత్నాలను పర్యవేక్షించండి"</string> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 3deebae..4c89d6c 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"ลบโปรไฟล์งานแล้ว"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"ลบโปรไฟล์งานแล้วเนื่องจากไม่มีแอปผู้ดูแลระบบ"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"แอปผู้ดูแลระบบโปรไฟล์งานไม่มีอยู่หรือเสียหาย ระบบจึงทำการลบโปรไฟล์งานและข้อมูลที่เกี่ยวข้องของคุณออก โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"ระบบจะลบข้อมูลในอุปกรณ์ของคุณ"</string> <string name="factory_reset_message" msgid="4905025204141900666">"แอปผู้ดูแลระบบมีองค์ประกอบไม่ครบหรือเสียหาย และใช้งานไม่ได้ ระบบจะลบข้อมูลอุปกรณ์ของคุณ โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string> <string name="me" msgid="6545696007631404292">"ฉัน"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"ปิดเสียง"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"เสียงเรียกเข้าแบบสั่น"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"เปิดเสียง"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"เตรียมพร้อมสำหรับการอัปเดต"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"กำลังประมวลผลแพ็กเกจการอัปเดต…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"กำลังปิด..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"แท็บเล็ตของคุณจะปิดการทำงาน"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"ทีวีของคุณจะปิด"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"รายชื่อติดต่อ"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"เข้าถึงรายชื่อติดต่อ"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"ตำแหน่ง"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"เข้าถึงตำแหน่งของคุณ"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"ข้อมูลทางสังคมของคุณ"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"เข้าถึงข้อมูลเกี่ยวกับผู้ติดต่อและเครือข่ายสังคมของคุณโดยตรง"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"ปฏิทิน"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"อนุญาตให้แอปพลิเคชันเชื่อมโยงกับอินเทอร์เฟซระดับบนสุดของบริการรับส่งข้อความของผู้ให้บริการ ไม่ควรใช้สำหรับแอปธรรมดาทั่วไป"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"เชื่อมโยงกับบริการของผู้ให้บริการ"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"อนุญาตให้เจ้าของเชื่อมโยงกับบริการของผู้ให้บริการ ไม่ควรต้องใช้สำหรับแอปทั่วไป"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"เข้าถึงโหมดห้ามรบกวน"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"อนุญาตให้แอปอ่านและเขียนการกำหนดค่าโหมดห้ามรบกวน"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"ตั้งค่ากฎรหัสผ่าน"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"ควบคุมความยาวและอักขระที่สามารถใช้ในรหัสผ่านของการล็อกหน้าจอและ PIN"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"ตรวจสอบความพยายามในการปลดล็อกหน้าจอ"</string> @@ -1277,7 +1292,7 @@ <string name="default_audio_route_category_name" msgid="3722811174003886946">"ระบบ"</string> <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"เสียงบลูทูธ"</string> <string name="wireless_display_route_description" msgid="9070346425023979651">"การแสดงผลแบบไร้สาย"</string> - <string name="media_route_button_content_description" msgid="591703006349356016">"ส่ง"</string> + <string name="media_route_button_content_description" msgid="591703006349356016">"แคสต์"</string> <string name="media_route_chooser_title" msgid="1751618554539087622">"เชื่อมต่อกับอุปกรณ์"</string> <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"ส่งหน้าจอไปยังอุปกรณ์"</string> <string name="media_route_chooser_searching" msgid="4776236202610828706">"กำลังค้นหาอุปกรณ์…"</string> @@ -1448,7 +1463,7 @@ </plurals> <string name="restr_pin_try_later" msgid="973144472490532377">"ลองอีกครั้งในภายหลัง"</string> <string name="immersive_cling_title" msgid="8394201622932303336">"กำลังดูแบบเต็มหน้าจอ"</string> - <string name="immersive_cling_description" msgid="3482371193207536040">"หากต้องการออกไป ให้กวาดนิ้วลงจากด้านบน"</string> + <string name="immersive_cling_description" msgid="3482371193207536040">"หากต้องการออกไป ให้เลื่อนลงจากด้านบน"</string> <string name="immersive_cling_positive" msgid="5016839404568297683">"รับทราบ"</string> <string name="done_label" msgid="2093726099505892398">"เสร็จสิ้น"</string> <string name="hour_picker_description" msgid="6698199186859736512">"ตัวเลื่อนหมุนระบุชั่วโมง"</string> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 0ac71c2..30ff8b9 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Na-delete na ang profile sa trabaho"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Na-delete ang profile sa trabaho dahil wala itong admin app."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Ang admin app ng profile sa trabaho ay nawawala o sira. Bilang resulta, na-delete na ang iyong profile sa trabaho at nauugnay na data. Makipag-ugnayan sa iyong administrator para sa tulong."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Buburahin ang iyong device"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Ang admin app ay may mga kulang na bahagi o sira, at hindi ito magagamit. Buburahin na ngayon ang iyong device. Makipag-ugnayan sa iyong administrator para sa tulong."</string> <string name="me" msgid="6545696007631404292">"Ako"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"I-off ang ringer"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"I-vibrate ang ringer"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"I-on ang ringer"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Maghanda para sa pag-update"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Pinoproseso ang package ng update…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Nagsa-shut down…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Mag-shut down ang iyong tablet."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Magsa-shut down ang iyong TV."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Mga Contact"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ina-access ang iyong mga contact"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Lokasyon"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"i-access ang iyong lokasyon"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Ang iyong social na impormasyon"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Direktang access sa impormasyon tungkol sa iyong mga contact at social na koneksyon."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalendaryo"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"I-access ang mga available na account."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"magbasa ng mga na-subscribe na feed"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Pinapayagan ang app na kumuha ng mga detalye tungkol sa kasalukuyang naka-sync na mga feed."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"magpadala at tumingin ng mga mensaheng SMS"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Pinapayagan ang app na magpadala ng mga mensaheng SMS. Maaari itong magresulta sa mga hindi inaasahang pagsingil. Maaaring magpagastos sa iyo ng pera ang nakakahamak na apps sa pamamagitan ng pagpapadala ng mga mensahe nang wala ng iyong kumpirmasyon."</string> <string name="permlab_readSms" msgid="8745086572213270480">"basahin ang iyong mga text message (SMS o MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Pinapayagan ang app na magbasa ng mga mensaheng SMS na naka-imbak sa iyong tablet o SIM card. Pinapayagan nito ang app na basahin ang lahat ng mensaheng SMS, ano pa man ang nilalaman at katayuan sa pagiging kumpedensyal ng mga ito."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Binibigyang-daan ang may-ari na sumailalim sa interface sa nangungunang antas ng isang serbisyo ng pagmemensahe ng carrier. Hindi kailanman dapat kailanganin para sa mga normal na app."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"mag-bind sa mga serbisyo ng carrier"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Pinapayagan ang may-ari na mag-bind sa mga serbisyo ng carrier. Hindi dapat kailanganin sa mga normal na app."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"i-access ang Huwag Istorbohin"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Nagbibigay-daan sa app na basahin at isulat ang configuration ng Huwag Istorbohin."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Magtakda ng mga panuntunan sa password"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolin ang haba at ang mga character na pinapayagan sa mga password at PIN sa lock ng screen."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Subaybayan ang mga pagsubok sa pag-unlock ng screen"</string> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 39bc820..4441396 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"İş profili silindi"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Eksik yönetici uygulaması nedeniyle iş profili silindi."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"İş profili yönetici uygulaması eksik ya da bozuk. Bunun sonucunda iş profiliniz ve ilgili veriler silindi. Yardım almak için yöneticiniz ile iletişim kurun."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Cihazınız silinecek"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Yönetici uygulamasında bileşen eksik ya da uygulama bozuk ve kullanılamaz durumda. Cihazınız şimdi silinecek. Yardım için yöneticinizle iletişim kurun."</string> <string name="me" msgid="6545696007631404292">"Ben"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Telefon zili kapalı"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Telefon zili titreşimde"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Telefon zili açık"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Güncellemeye hazırlanın"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Güncelleme paketi işleniyor…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Kapanıyor…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Tabletiniz kapanacak."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"TV\'niz kapatılacak."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kişiler"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"kişilerinize erişme"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Konum"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"konumunuza erişme"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Sosyal bilgileriniz"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Kişileriniz ve sosyal bağlantılarınızla ilgili bilgilere doğrudan erişim."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Takvim"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Kullanılabilir hesaplara erişin."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"abone olunan yayınları okuma"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Uygulamaya, o anda senkronize olan özet akışları ile ilgili bilgi alma izni verir."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS iletileri gönderme ve görüntüleme"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Uygulamaya SMS iletisi gönderme izni verir. Bu durum beklenmeyen ödemelere neden olabilir. Kötü amaçlı uygulamalar onayınız olmadan iletiler göndererek sizi zarara uğratabilir."</string> <string name="permlab_readSms" msgid="8745086572213270480">"kısa mesajlarımı (SMS veya MMS) oku"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Uygulamaya tabletinizde veya SIM kartta saklanan SMS iletilerini okuma izni verir. Bu izin, uygulamanın tüm SMS iletilerini içeriğinden veya gizliliğinden bağımsız olarak okumasına olanak sağlar."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"İzin sahibinin, operatör mesajlaşma hizmetinin üst düzey arayüzüne bağlanmasına olanak verir. Normal uygulamalarda hiçbir zaman gerekmez."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"operatör hizmetlerine bağlan"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"İzin sahibinin, operatör hizmetlerine bağlanmasına olanak tanır. Normal uygulamalarda hiçbir zaman gerekmez."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"Rahatsız Etmeyin özelliğine erişme"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Uygulamaya, Rahatsız Etmeyin yapılandırmasını okuma ve yazma izni verir."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Şifre kuralları ayarla"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ekran kilidini açma şifrelerinde ve PIN\'lerde izin verilen uzunluğu ve karakterleri denetleyin."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Ekran kilidini açma denemelerini izle"</string> @@ -521,8 +535,8 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Ekran kilidi açılırken girilen hatalı şifre sayısını takip edin ve çok fazla sayıda hatalı şifre girildiğinde tableti kilitleyin veya söz konusu kullanıcının tüm verilerini silin."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Ekran kilidi açılırken girilen hatalı şifre sayısını takip edin ve çok fazla sayıda hatalı şifre girildiğinde TV\'yi kilitleyin veya söz konusu kullanıcının tüm verilerini silin."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Ekran kilidi açılırken girilen hatalı şifre sayısını takip edin ve çok fazla sayıda hatalı şifre girildiğinde telefonu kilitleyin veya söz konusu kullanıcının tüm verilerini silin."</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"Ekran kilidini değiştir"</string> - <string name="policydesc_resetPassword" msgid="1278323891710619128">"Ekran kilidini değiştirin."</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"Ekran kilidini değiştirme"</string> + <string name="policydesc_resetPassword" msgid="1278323891710619128">"Ekran kilidini değiştirme."</string> <string name="policylab_forceLock" msgid="2274085384704248431">"Ekranı kilitleme"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Ekranın nasıl ve ne zaman kilitlendiğini denetleme."</string> <string name="policylab_wipeData" msgid="3910545446758639713">"Tüm verileri silme"</string> @@ -1064,8 +1078,8 @@ <string name="extmedia_format_button_format" msgid="4131064560127478695">"Biçimlendir"</string> <string name="adb_active_notification_title" msgid="6729044778949189918">"USB hata ayıklaması bağlandı"</string> <string name="adb_active_notification_message" msgid="1016654627626476142">"USB hata ayıklama özelliğini devre dışı bırakmak için dokunun."</string> - <string name="select_input_method" msgid="8547250819326693584">"Klavyeyi değiştirin"</string> - <string name="configure_input_methods" msgid="4769971288371946846">"Klavyeleri seç"</string> + <string name="select_input_method" msgid="8547250819326693584">"Klavyeyi değiştir"</string> + <string name="configure_input_methods" msgid="4769971288371946846">"Klavyeyi seç"</string> <string name="show_ime" msgid="9157568568695230830">"Giriş yöntemini göster"</string> <string name="hardware" msgid="7517821086888990278">"Donanım"</string> <string name="select_keyboard_layout_notification_title" msgid="1407367017263030773">"Klavye düzeni seçin"</string> @@ -1087,7 +1101,7 @@ <string name="ext_media_unmounting_notification_message" msgid="4182843895023357756">"Çıkarmayın"</string> <string name="ext_media_init_action" msgid="8317198948634872507">"Kurulum"</string> <string name="ext_media_unmount_action" msgid="1121883233103278199">"Çıkar"</string> - <string name="ext_media_browse_action" msgid="8322172381028546087">"Keşfedin"</string> + <string name="ext_media_browse_action" msgid="8322172381028546087">"Keşfet"</string> <string name="ext_media_missing_title" msgid="620980315821543904">"<xliff:g id="NAME">%s</xliff:g> bulunamıyor"</string> <string name="ext_media_missing_message" msgid="5761133583368750174">"Bu cihazı yeniden yerleştirin"</string> <string name="ext_media_move_specific_title" msgid="1471100343872375842">"<xliff:g id="NAME">%s</xliff:g> taşınıyor"</string> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index 346d5f6..13d69bc 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -174,6 +174,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Робочий профіль видалено"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Робочий профіль видалено через відсутність додатка адміністратора."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Додаток адміністратора в робочому профілі відсутній або пошкоджений. У результаті ваш робочий профіль і пов’язані з ним дані видалено. Зверніться до свого адміністратора по допомогу."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"З вашого пристрою буде стерто всі дані"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Неможливо скористатися додатком адміністратора, оскільки в ньому немає певних компонентів або його пошкоджено. З вашого пристрою буде стерто всі дані. Зверніться до свого адміністратора по допомогу."</string> <string name="me" msgid="6545696007631404292">"Я"</string> @@ -188,8 +190,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Дзвінок вимкнено"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Дзвінок на вібросигналі"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Дзвінок увімкнено"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Підготовка до оновлення"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Обробка пакета оновлення…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Вимкнення..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Ваш пристрій буде вимкнено."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Телевізор буде вимкнено."</string> @@ -226,7 +238,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Контакти"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"отримувати доступ до контактів"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Геодані"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"використовувати геодані"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Соціальна інформація"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Безпосередній доступ до інформації про ваші контакти та соціальні зв’язки."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Календар"</string> @@ -513,6 +526,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Додаток зможе підключатися до інтерфейсу верхнього рівня служби надсилання повідомлень через оператора. Звичайні додатки ніколи не використовують цей дозвіл."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"підключатися до служб оператора"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Власник може підключатися до служб оператора. Звичайні додатки ніколи не використовують цей дозвіл."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"доступ до режиму \"Не турбувати\""</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Додаток зможе переглядати та змінювати конфігурацію режиму \"Не турбувати\"."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Устан. правила пароля"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Укажіть максимальну довжину та кількість символів для паролів розблокування екрана та PIN-кодів."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Відстежув. спроби розблок. екрана"</string> @@ -522,8 +537,8 @@ <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Відстежуйте кількість неправильних паролів, введених під час розблокування екрана. Блокуйте планшет або стирайте всі його дані, якщо пароль введено неправильно забагато разів."</string> <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Відстежуйте кількість неправильних паролів, введених під час розблокування екрана. Блокуйте телевізор або стирайте всі його дані, якщо пароль введено неправильно забагато разів."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Відстежуйте кількість неправильних паролів, введених під час розблокування екрана. Блокуйте телефон або стирайте всі його дані, якщо пароль введено неправильно забагато разів."</string> - <string name="policylab_resetPassword" msgid="4934707632423915395">"Змінення пароля розблокування екрана"</string> - <string name="policydesc_resetPassword" msgid="1278323891710619128">"Змініть пароль розблокування екрана."</string> + <string name="policylab_resetPassword" msgid="4934707632423915395">"Змінити пароль розблокування екрана"</string> + <string name="policydesc_resetPassword" msgid="1278323891710619128">"Змінити пароль розблокування екрана."</string> <string name="policylab_forceLock" msgid="2274085384704248431">"Блокувати екран"</string> <string name="policydesc_forceLock" msgid="1141797588403827138">"Контролювати, як і коли блокується екран."</string> <string name="policylab_wipeData" msgid="3910545446758639713">"Видалити всі дані"</string> @@ -770,7 +785,7 @@ <string name="js_dialog_before_unload_positive_button" msgid="3112752010600484130">"Полишити цю сторінку"</string> <string name="js_dialog_before_unload_negative_button" msgid="5614861293026099715">"Залишитися на цій сторінці"</string> <string name="js_dialog_before_unload" msgid="3468816357095378590">"<xliff:g id="MESSAGE">%s</xliff:g>\n\nСправді полишити цю сторінку?"</string> - <string name="save_password_label" msgid="6860261758665825069">"Підтверд."</string> + <string name="save_password_label" msgid="6860261758665825069">"Підтвердьте"</string> <string name="double_tap_toast" msgid="4595046515400268881">"Порада: двічі торкніться для збільшення чи зменшення."</string> <string name="autofill_this_form" msgid="4616758841157816676">"Автозап."</string> <string name="setup_autofill" msgid="7103495070180590814">"Налашт.автозап."</string> @@ -1482,7 +1497,7 @@ <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Додаток закріплено. Його не можна відкріпити на цьому пристрої."</string> <string name="lock_to_app_start" msgid="6643342070839862795">"Екран закріплено"</string> <string name="lock_to_app_exit" msgid="8598219838213787430">"Екран відкріплено"</string> - <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Запитувати PIN-код перед відкріпленням"</string> + <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"PIN-код для відкріплення"</string> <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Запитувати ключ розблокування перед відкріпленням"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Запитувати пароль перед відкріпленням"</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"Установив адміністратор"</string> diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml index f82c7d4..127e6ae 100644 --- a/core/res/res/values-ur-rPK/strings.xml +++ b/core/res/res/values-ur-rPK/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"دفتری پروفائل حذف کر دیا گیا"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"گمشدہ منتظم ایپ کی وجہ سے دفتری پروفائل حذف کر دیا گیا۔"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"دفتری پروفائل کی منتظم ایپ یا تو غائب ہے یا خراب ہے۔ اس کی وجہ سے، آپ کا دفتری پروفائل اور متعلقہ ڈیٹا حذف کر دیے گئے ہیں۔ مدد کیلئے اپنے منتظم سے رابطہ کریں۔"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"آپ کا آلہ صاف کر دیا جائے گا"</string> <string name="factory_reset_message" msgid="4905025204141900666">"منتظم کی ایپ میں گمشدہ اجزاء ہیں یا وہ خراب ہے اور اسے استعمال نہیں کیا جا سکتا ہے۔ آپ کے آلہ کو اب صاف کر دیا جائے گا۔ مدد کیلئے اپنے منتظم سے رابطہ کریں۔"</string> <string name="me" msgid="6545696007631404292">"میں"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"رنگر آف ہے"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"رنگر مرتعش کریں"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"رنگر آن ہے"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"اپ ڈیٹ کیلئے تیار کریں"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"اپ ڈیٹ پیکج پر کاروائی جاری ہے…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"بند ہو رہا ہے…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"آپ کا ٹیبلیٹ بند ہو جائے گا۔"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"آپ کا TV بند ہو جائے گا۔"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"رابطے"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"اپنے رابطوں تک رسائی حاصل کریں"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"مقام"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"اپنے مقام تک رسائی حاصل کریں"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"آپ کی سوشل معلومات"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"اپنے رابطوں اور سوشل کنکشنز کے بارے میں معلومات تک براہ راست رسائی۔"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"کیلنڈر"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"دستیاب اکاؤنٹس تک رسائی حاصل کریں۔"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"سبسکرائب کردہ فیڈز پڑھیں"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"ایپ کو فی الحال مطابقت پذیر کیے ہوئے فیڈز کے بارے میں تفصیلات حاصل کرنے کی اجازت دیتا ہے۔"</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS پیغامات بھیجیں اور دیکھیں"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"ایپ کو SMS پیغامات بھیجنے کی اجازت دیتا ہے۔ اس کے نتیجے میں غیر متوقع چارجز لگ سکتے ہیں۔ نقصان دہ ایپس آپ کی تصدیق کے بغیر پیغامات بھیج کر آپ کی رقم خرچ کروا سکتی ہیں۔"</string> <string name="permlab_readSms" msgid="8745086572213270480">"اپنے متنی پیغامات (SMS یا MMS) کو پڑھیں"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"ایپ کو آپ کے ٹیبلٹ یا SIM کارڈ میں اسٹور کردہ SMS پیغامات کو پڑھنے کی اجازت دیتا ہے۔ یہ ایپ کو مواد اور رازداری سے قطع نظر سبھی SMS پیغامات پڑھنے کی اجازت دیتا ہے۔"</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"حامل کو ایک کیریئر پیغام رسانی سروس کے اعلی سطحی انٹرفیس کا پابند ہونے کی اجازت دیتی ہے۔ عام ایپس کیلئے کبھی بھی اس کی ضرورت نہیں ہونی چاہیے۔"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"کیریئر سروسز کا پابند کریں"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"حامل کو کیریئر سروسز کا پابند کرنے کی اجازت دیتا ہے۔ معمول کی ایپس کیلئے کبھی درکار نہیں ہونا چاہیے۔"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"ڈسٹرب نہ کریں تک رسائی حاصل کریں"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"ایپ کو ڈسٹرب نہ کریں کنفیگریشن لکھنے اور پڑھنے کے قابل کرتا ہے۔"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"پاس ورڈ کے اصول سیٹ کریں"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"اسکرین لاک پاس ورڈز اور PINs میں اجازت یافتہ لمبائی اور حروف کو کنٹرول کریں۔"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"اسکرین غیر مقفل کرنے کی کوششیں مانیٹر کریں"</string> diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml index a008672..99b76e3 100644 --- a/core/res/res/values-uz-rUZ/strings.xml +++ b/core/res/res/values-uz-rUZ/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Ichshi profil o‘chirildi"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Administrator ilovasi yo‘qligi sababli ishchi profil o‘chirib tashlandi"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Ishchi profilning administrator ilovasi yo‘q yoki buzilgan. Shuning uchun, ishchi profilingiz va unga aloqador ma’lumotlar o‘chirib tashlandi. Yordam olish uchun administratoringizga murojaat qiling."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Qurilmangizdagi ma’lumotlar o‘chirib tashlanadi"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Administrator ilovasining ba’zi qismlari yo‘qolgan yoki buzilgan, shuning uchun undan foydalanib bo‘lmaydi. Qurilmangizdagi ma’lumotlar o‘chirib tashlanadi. Yordam olish uchun administratoringizga murojaat qiling."</string> <string name="me" msgid="6545696007631404292">"Men"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Jiringlovchi o‘chirilgan"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Jiringlab tebranish"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Jiringlovchi yoqilgan"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Yangilashga tayyorgarlik"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Yangilanish paketiga ishlov berilmoqda…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"O‘chirilmoqda…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Planshetingiz o‘chiriladi."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"Televizoringiz o‘chadi."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontaktlar"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"kontaktlarga kirish"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Joylashuv"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"joylashuvingizni ko‘rish"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Ijtimoiy ma’lumotingiz"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Kontaktlaringiz va ijtimoiy aloqalaringiz haqidagi ma’lumotga to‘g‘ridan to‘g‘ri o‘tadi."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Taqvim"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"Mavjud hisoblarga kirish."</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"obunalarni o‘qish"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Ilova hozirgi vaqtda sinxronlanayotgan elementlar to‘g‘risidagi ma’lumotlarni olishi mumkin."</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"SMS xabarlarni yuborish va ko‘rish"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"Ilovaga SMS xabarlarini jo‘natish uchun ruxsat beradi. Bu kutilmagan xarajatlarga sabab bo‘lishi mumkin. Zararli ilovalar sizdan so‘roqsiz xabarlar jo‘natish orqali pulingizni sarflashi mumkin."</string> <string name="permlab_readSms" msgid="8745086572213270480">"matn xabarlaringizni o‘qish (SMS yoki MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Ilovaga planshetingiz yoki SIM kartangizga zaxiralangan SMS xabarlarini o‘qish uchun ruxsat beradi. Bu huquq ilovaga tarkibi va maxfiyligidan qat’iy nazar har qanday SMS xabarlarni o‘qish imkonini beradi."</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Egasiga aloqa operatorining xabar almashinuv xizmatining yuqori darajali interfeysiga bog‘lanish uchun ruxsat beradi. Oddiy ilovalar uchun hech qachon kerak bo‘lmaydi."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"aloqa operatori xizmatlariga ulanish"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Aloqa operatori xizmatlariga ulanish imkonini beradi. Oddiy ilovalar uchun talab qilinmaydi."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"“Bezovta qilinmasin” rejimidan foydalanish"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"“Bezovta qilinmasin” rejimi sozlamalarini ko‘rish va o‘zgartirish."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Parol qoidalarini o‘rnatish"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ekran qulfi paroli va PIN kodlari uchun qo‘yiladigan talablarni (belgilar soni va uzunligi) nazorat qiladi."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Ekranni qulfdan chiqarish urinishlarini nazorat qilish"</string> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 86dd0f6..37db777 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Đã xóa hồ sơ công việc"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Đã xóa hồ sơ công việc do thiếu ứng dụng quản trị."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Ứng dụng quản trị hồ sơ công việc bị thiếu hoặc hỏng. Do vậy, hồ sơ công việc của bạn và dữ liệu liên quan đã bị xóa. Hãy liên hệ với quản trị viên để được trợ giúp."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Thiết bị của bạn sẽ bị xóa"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Ứng dụng quản trị đang bị thiếu thành phần hoặc bị hỏng và không thể sử dụng được. Bây giờ, thiết bị của bạn sẽ bị xóa. Hãy liên hệ với quản trị viên của bạn để được trợ giúp."</string> <string name="me" msgid="6545696007631404292">"Tôi"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Tắt chuông"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Chuông rung"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Bật chuông"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Chuẩn bị cập nhật"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Đang xử lý gói cập nhật..."</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Đang tắt…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Máy tính bảng của bạn sẽ tắt."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"TV của bạn sẽ tắt."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Danh bạ"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"truy cập vào danh bạ của bạn"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Vị trí"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"truy cập vị trí của bạn"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Thông tin xã hội của bạn"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Truy cập trực tiếp vào thông tin về các địa chỉ liên hệ và các kết nối xã hội của bạn."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Lịch"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Cho phép chủ sở hữu liên kết với giao diện cấp cao nhất của dịch vụ nhắn tin của nhà cung cấp dịch vụ. Không cần thiết cho các ứng dụng thông thường."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"liên kết với dịch vụ của nhà cung cấp"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Cho phép chủ sở hữu liên kết với các dịch vụ của nhà cung cấp. Không bao giờ cần cho các ứng dụng thông thường."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"truy cập Không làm phiền"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Cho phép ứng dụng đọc và ghi cấu hình Không làm phiền."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Đặt quy tắc mật khẩu"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kiểm soát độ dài và ký tự được phép trong mật khẩu khóa màn hình và mã PIN."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Giám sát những lần thử mở khóa màn hình"</string> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index d573cec..7b765d4 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"工作资料已删除"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"由于缺少管理应用,工作资料已被删除。"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"工作资料管理应用缺失或损坏,因此系统已删除您的工作资料及相关数据。请与您的管理员联系以寻求帮助。"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"系统将清空您的设备"</string> <string name="factory_reset_message" msgid="4905025204141900666">"由于缺少组件或软件包已损坏,无法使用此管理应用。系统现在将清空您的设备。请与您的管理员联系以寻求帮助。"</string> <string name="me" msgid="6545696007631404292">"我"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"振铃器关闭"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"振铃器振动"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"振铃器开启"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"准备更新"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"正在处理更新文件包…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"正在关机..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"您的平板电脑会关闭。"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"您的电视即将关闭。"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"通讯录"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"使用您的通讯录"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"位置信息"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"存取您的位置信息"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"您的社交信息"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"直接访问与您的联系人和社交人脉相关的信息。"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"日历"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"访问可用的帐户。"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"读取订阅的供稿"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"允许应用获取有关当前同步的 Feed 的详情。"</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"发送和查看短信"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"允许该应用发送短信。此权限可能会导致意外收费。恶意应用可能会未经您的确认而发送短信,由此产生相关费用。"</string> <string name="permlab_readSms" msgid="8745086572213270480">"读取您的讯息(短信或彩信)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"允许该应用读取您平板电脑或SIM卡上存储的短信。此权限可让该应用读取所有短信,而不考虑短信内容或机密性。"</string> @@ -512,6 +524,10 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允许应用绑定到运营商消息传递服务的顶级接口。普通应用绝不需要此权限。"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"绑定到运营商服务"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"允许应用绑定到运营商服务。普通应用绝不需要此权限。"</string> + <!-- no translation found for permlab_access_notification_policy (4247510821662059671) --> + <skip /> + <!-- no translation found for permdesc_access_notification_policy (3296832375218749580) --> + <skip /> <string name="policylab_limitPassword" msgid="4497420728857585791">"设置密码规则"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"控制锁屏密码和 PIN 码所允许的长度和字符。"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"监视屏幕解锁尝试次数"</string> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index beee4b9..e5cec7f 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"工作設定檔已被刪除"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"由於沒有管理員應用程式,工作設定檔已被刪除。"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"找不到工作設定檔應用程式,或工作設定檔應用程式已受損。因此,您的工作設定檔現在將被清除。請聯絡您的管理員以取得協助。"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"您的裝置將被清除"</string> <string name="factory_reset_message" msgid="4905025204141900666">"找不到管理員應用程式的元件,或管理員應用程式已受損並不能使用。您的裝置現在將被清除。請聯絡您的管理員以取得協助。"</string> <string name="me" msgid="6545696007631404292">"我本人"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"鈴聲關閉"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"鈴聲震動"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"鈴聲開啟"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"準備進行更新"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"正在處理更新套件…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"正在關機..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"您的平板電腦將會關機。"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"您的電視即將關閉。"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"通訊錄"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"存取您的通訊錄"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"位置"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"存取您的位置"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"您的社交資訊"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"直接存取您的聯絡人資訊和社交網站資訊。"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"日曆"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允許應用程式繫結至流動網絡供應商短訊服務的頂層介面 (不建議一般應用程式使用)。"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"繫結至流動網絡供應商服務"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"允許擁有者繫結至流動網絡供應商服務 (不建議一般應用程式使用)。"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"存取「請勿騷擾」"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"允許應用程式讀取和寫入「請勿騷擾」設定。"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"設定密碼規則"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"控制螢幕鎖定密碼和 PIN 所允許的長度和字元。"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"監控螢幕解鎖嘗試次數"</string> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 8dd7608..e7db80d 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Work 設定檔已遭刪除"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Work 設定檔因管理員應用程式遺失而遭到刪除。"</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Work 設定檔管理員應用程式遺失或已毀損,因此系統刪除了您的 Work 設定檔和相關資料。如需協助,請與您的管理員聯絡。"</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"您的裝置資料將遭到清除"</string> <string name="factory_reset_message" msgid="4905025204141900666">"管理員應用程式因遺失元件或已毀損而無法使用,您的裝置資料將隨即遭到清除。如需相關協助,請與您的管理員聯絡。"</string> <string name="me" msgid="6545696007631404292">"我"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"鈴聲關閉"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"鈴聲震動"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"鈴聲開啟"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"準備進行更新"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"正在處理更新套件…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"關機中…"</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"您的平板電腦將會關機。"</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"您的電視即將關閉。"</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"聯絡人"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"存取您的聯絡人"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"位置"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"存取您的位置資訊"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"您的社交資訊"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"直接存取您的聯絡人資訊與社交網站資訊。"</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"日曆"</string> @@ -273,8 +286,7 @@ <string name="permgroupdesc_accounts" msgid="4948732641827091312">"存取可用帳戶。"</string> <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"讀取訂閱資訊提供"</string> <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"允許應用程式取得目前已同步處理的資訊提供詳細資料。"</string> - <!-- no translation found for permlab_sendSms (7544599214260982981) --> - <skip /> + <string name="permlab_sendSms" msgid="7544599214260982981">"傳送及查看簡訊"</string> <string name="permdesc_sendSms" msgid="7094729298204937667">"允許應用程式傳送簡訊,但可能產生非預期的費用。惡意應用程式可能利用此功能擅自傳送簡訊,增加您不必要的額外支出。"</string> <string name="permlab_readSms" msgid="8745086572213270480">"讀取您的簡訊 (SMS 或 MMS)"</string> <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"允許應用程式讀取平板電腦或 SIM 卡上儲存的簡訊。這項權限可讓應用程式讀取所有簡訊,包括各種內容及機密簡訊。"</string> @@ -512,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允許應用程式與行動通訊業者簡訊服務的頂層介面繫結 (一般應用程式並不需要)。"</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"與行動通訊業者服務繫結"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"允許應用程式繫結至行動通訊業者服務 (一般應用程式並不需要)。"</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"存取「零打擾」模式"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"允許應用程式讀取及寫入「零打擾」設定。"</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"設定密碼規則"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"管理螢幕鎖定密碼和 PIN 碼支援的字元和長度上限。"</string> <string name="policylab_watchLogin" msgid="914130646942199503">"監視螢幕解鎖嘗試次數"</string> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 61bd584..61c3ea6 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -172,6 +172,8 @@ <string name="work_profile_deleted" msgid="5005572078641980632">"Iphrofayela yomsebenzi isusiwe"</string> <string name="work_profile_deleted_description" msgid="6305147513054341102">"Iphrofayela yomsebenzi isusiwe ngenxa yohlelo lokusebenza lomlawuli elingekho."</string> <string name="work_profile_deleted_details" msgid="226615743462361248">"Uhlelo lokusebenza lomlawuli lephrofayela yomsebenzi kungenzeka alukho noma lumoshekile. Njengomphumela walokho, iphrofayela yakho yomsebenzi nedatha ehlobene kususiwe. Xhumana nomlawuli wakho ukuze uthole usizo."</string> + <!-- no translation found for work_profile_deleted_description_dpm_wipe (6019770344820507579) --> + <skip /> <string name="factory_reset_warning" msgid="5423253125642394387">"Idivayisi yakho izosulwa"</string> <string name="factory_reset_message" msgid="4905025204141900666">"Uhlelo lokusebenza lomlawuli lushoda ngezingxenye noma lumoshekile, futhi alikwazi ukusetshenziswa. Idivayisi yakho manje izosulwa. Xhumana nomlawuli wakho ukuze uthole usizo."</string> <string name="me" msgid="6545696007631404292">"Mina"</string> @@ -186,8 +188,18 @@ <string name="silent_mode_silent" msgid="319298163018473078">"Iringa icimile"</string> <string name="silent_mode_vibrate" msgid="7072043388581551395">"Ukudlidliza kweringa"</string> <string name="silent_mode_ring" msgid="8592241816194074353">"Iringa iyasebenza"</string> - <string name="reboot_to_recovery_title" msgid="7851482804359554338">"Lungiselela isibuyekezo"</string> - <string name="reboot_to_recovery_progress" msgid="983446780859314345">"Icubungula iphakheji yesibuyekezo…"</string> + <!-- no translation found for reboot_to_update_title (6212636802536823850) --> + <skip /> + <!-- no translation found for reboot_to_update_prepare (6305853831955310890) --> + <skip /> + <!-- no translation found for reboot_to_update_package (3871302324500927291) --> + <skip /> + <!-- no translation found for reboot_to_update_reboot (6428441000951565185) --> + <skip /> + <!-- no translation found for reboot_to_reset_title (4142355915340627490) --> + <skip /> + <!-- no translation found for reboot_to_reset_message (2432077491101416345) --> + <skip /> <string name="shutdown_progress" msgid="2281079257329981203">"Ivala shaqa..."</string> <string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Ithebhulethi yakho izocima."</string> <string name="shutdown_confirm" product="tv" msgid="476672373995075359">"I-TV yakho izocisha."</string> @@ -224,7 +236,8 @@ <string name="permgrouplab_contacts" msgid="3657758145679177612">"Oxhumana nabo"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"finyelela koxhumana nabo"</string> <string name="permgrouplab_location" msgid="7275582855722310164">"Indawo"</string> - <string name="permgroupdesc_location" msgid="536889867433972794">"finyelela kundawo yakho"</string> + <!-- no translation found for permgroupdesc_location (1346617465127855033) --> + <skip /> <string name="permgrouplab_socialInfo" msgid="5799096623412043791">"Ulwazi lakho lomphakathi"</string> <string name="permgroupdesc_socialInfo" msgid="7129842457611643493">"Ukufinyelela okuqondile kulwazi mayelana noxhumana nabo bomphakathi."</string> <string name="permgrouplab_calendar" msgid="5863508437783683902">"Ikhalenda"</string> @@ -511,6 +524,8 @@ <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ivumela isibambi ukuhlanganisa isixhumanisi sokubona esiphezulu sesevisi yomlayezo yenkampani yenethiwekhi. Akufanele idingeke kuzinhlelo zokusebenza ezivamile."</string> <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"bophezela kumasevisi wenkampani yenethiwekhi"</string> <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"Ivumela umbambi ukuthi abophezele kumasevisi wenkampani yenethiwekhi. Akumele idingelwe izinhlelo zokusebenza ezijwayelekile."</string> + <string name="permlab_access_notification_policy" msgid="4247510821662059671">"finyelela kokuthi Ungaphazamisi"</string> + <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"Ivumela izinhlelo zokusebenza ukufunda nokubhala ukulungiswa kokuthi Ungaphazamisi."</string> <string name="policylab_limitPassword" msgid="4497420728857585791">"Misa imithetho yephasiwedi"</string> <string name="policydesc_limitPassword" msgid="2502021457917874968">"Lawula ubude nezinhlamvu ezivunyelwe kumaphasiwedi wokukhiya isikrini nama-PIN."</string> <string name="policylab_watchLogin" msgid="914130646942199503">"Gaka imizamo yokuvula isikrini"</string> diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index a13f494..52e2cf0 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -561,15 +561,18 @@ <!-- Image elements --> <!-- ============== --> <eat-comment /> - +i <!-- Background that can be used behind parts of a UI that provide details on data the user is selecting. For example, this is the background element of PreferenceActivity's embedded preference fragment. --> <attr name="detailsElementBackground" format="reference" /> - <!-- Drawable that should be used to indicate that an app is waiting for a fingerprint scan. --> - <attr name="fingerprintDrawable" format="reference" /> + <!-- Icon that should be used to indicate that an app is waiting for a fingerprint scan. + This should be used whenever an app is requesting the user to place a finger on the + fingerprint sensor. It can be combined with other drawables such as colored circles, so + the appearance matches the branding of the app requesting the fingerprint scan.--> + <attr name="fingerprintAuthDrawable" format="reference" /> <!-- ============ --> <!-- Panel styles --> @@ -868,6 +871,8 @@ <attr name="dialogPreferenceStyle" format="reference" /> <!-- Default style for EditTextPreference. --> <attr name="editTextPreferenceStyle" format="reference" /> + <!-- @hide Default style for SeekBarDialogPreference. --> + <attr name="seekBarDialogPreferenceStyle" format="reference" /> <!-- Default style for RingtonePreference. --> <attr name="ringtonePreferenceStyle" format="reference" /> <!-- The preference layout that has the child/tabbed effect. --> @@ -6646,33 +6651,6 @@ for more info. --> <attr name="actionProviderClass" format="string" /> - <!-- An optional tint for the item's icon. - See {@link android.view.MenuItem#setIconTintList(android.content.res.ColorStateList)} - for more info. --> - <attr name="iconTint" format="color" /> - - <!-- The blending mode used for tinting the item's icon - See {@link android.view.MenuItem#setIconTintMode(android.graphics.PorterDuff.Mode)} - for more info. --> - <attr name="iconTintMode"> - <!-- The tint is drawn on top of the drawable. - [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] --> - <enum name="src_over" value="3" /> - <!-- The tint is masked by the alpha channel of the drawable. The drawable’s - color channels are thrown out. [Sa * Da, Sc * Da] --> - <enum name="src_in" value="5" /> - <!-- The tint is drawn above the drawable, but with the drawable’s alpha - channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] --> - <enum name="src_atop" value="9" /> - <!-- Multiplies the color and alpha channels of the drawable with those of - the tint. [Sa * Da, Sc * Dc] --> - <enum name="multiply" value="14" /> - <!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] --> - <enum name="screen" value="15" /> - <!-- Combines the tint and drawable color and alpha channels, clamping the - result to valid color values. Saturate(S + D) --> - <enum name="add" value="16" /> - </attr> </declare-styleable> <!-- Attrbitutes for a ActvityChooserView. --> @@ -7786,52 +7764,6 @@ <!-- Text to set as the content description for the navigation button located at the start of the toolbar. --> <attr name="navigationContentDescription" format="string" /> - - <!-- Tint used for the navigation button --> - <attr name="navigationTint" format="color" /> - <!-- The blending mode used for tinting the navigation button --> - <attr name="navigationTintMode"> - <!-- The tint is drawn on top of the drawable. - [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] --> - <enum name="src_over" value="3" /> - <!-- The tint is masked by the alpha channel of the drawable. The drawable’s - color channels are thrown out. [Sa * Da, Sc * Da] --> - <enum name="src_in" value="5" /> - <!-- The tint is drawn above the drawable, but with the drawable’s alpha - channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] --> - <enum name="src_atop" value="9" /> - <!-- Multiplies the color and alpha channels of the drawable with those of - the tint. [Sa * Da, Sc * Dc] --> - <enum name="multiply" value="14" /> - <!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] --> - <enum name="screen" value="15" /> - <!-- Combines the tint and drawable color and alpha channels, clamping the - result to valid color values. Saturate(S + D). Only works on APIv 11+ --> - <enum name="add" value="16" /> - </attr> - - <!-- Tint used for the overflow button --> - <attr name="overflowTint" format="color" /> - <!-- The blending mode used for tinting the overflow button --> - <attr name="overflowTintMode"> - <!-- The tint is drawn on top of the drawable. - [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] --> - <enum name="src_over" value="3" /> - <!-- The tint is masked by the alpha channel of the drawable. The drawable’s - color channels are thrown out. [Sa * Da, Sc * Da] --> - <enum name="src_in" value="5" /> - <!-- The tint is drawn above the drawable, but with the drawable’s alpha - channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] --> - <enum name="src_atop" value="9" /> - <!-- Multiplies the color and alpha channels of the drawable with those of - the tint. [Sa * Da, Sc * Dc] --> - <enum name="multiply" value="14" /> - <!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] --> - <enum name="screen" value="15" /> - <!-- Combines the tint and drawable color and alpha channels, clamping the - result to valid color values. Saturate(S + D). Only works on APIv 11+ --> - <enum name="add" value="16" /> - </attr> </declare-styleable> <declare-styleable name="Toolbar_LayoutParams"> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index bbf4005..bbe27a4 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -2614,12 +2614,20 @@ <public type="attr" name="end" /> <public type="attr" name="windowLightStatusBar" /> <public type="attr" name="numbersInnerTextColor" /> - <public type="attr" name="iconTint" /> - <public type="attr" name="iconTintMode" /> - <public type="attr" name="overflowTint" /> - <public type="attr" name="overflowTintMode" /> - <public type="attr" name="navigationTint" /> - <public type="attr" name="navigationTintMode" /> + + <attr name="__reserved2" format="boolean" /> + <public type="attr" name="__reserved2" /> + <attr name="__reserved3" format="boolean" /> + <public type="attr" name="__reserved3" /> + <attr name="__reserved4" format="boolean" /> + <public type="attr" name="__reserved4" /> + <attr name="__reserved5" format="boolean" /> + <public type="attr" name="__reserved5" /> + <attr name="__reserved6" format="boolean" /> + <public type="attr" name="__reserved6" /> + <attr name="__reserved7" format="boolean" /> + <public type="attr" name="__reserved7" /> + <public type="attr" name="fullBackupContent" /> <public type="style" name="Widget.Material.Button.Colored" /> @@ -2690,5 +2698,5 @@ <public type="attr" name="supportsLaunchVoiceAssistFromKeyguard" /> <public type="attr" name="scrollIndicators" /> <public type="attr" name="hyphenationFrequency" /> - <public type="attr" name="fingerprintDrawable" /> + <public type="attr" name="fingerprintAuthDrawable" /> </resources> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 2326968..28274ae 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1519,10 +1519,10 @@ <string name="policylab_disableCamera">Disable cameras</string> <!-- Description of policy access to disable all device cameras [CHAR LIMIT=110]--> <string name="policydesc_disableCamera">Prevent use of all device cameras.</string> - <!-- Title of policy access to disable all device cameras [CHAR LIMIT=30]--> - <string name="policylab_disableKeyguardFeatures">Disable features of screen lock</string> - <!-- Description of policy access to disable all device cameras [CHAR LIMIT=110]--> - <string name="policydesc_disableKeyguardFeatures">Prevent use of some features of screen lock.</string> + <!-- Title of policy access to disable keyguard features [CHAR LIMIT=30]--> + <string name="policylab_disableKeyguardFeatures">Disable some screen lock features</string> + <!-- Description of policy access to disable keyguard features. [CHAR LIMIT=110]--> + <string name="policydesc_disableKeyguardFeatures">Prevent use of some screen lock features.</string> <!-- The order of these is important, don't reorder without changing Contacts.java --> <skip /> <!-- Phone number types from android.provider.Contacts. This could be used when adding a new phone number for a contact, for example. --> @@ -3028,9 +3028,14 @@ <string name="ext_media_ready_notification_message">For transferring photos and media</string> <!-- Notification title when external media is unmountable (corrupt) [CHAR LIMIT=30] --> - <string name="ext_media_unmountable_notification_title">Damaged <xliff:g id="name" example="SD card">%s</xliff:g></string> + <string name="ext_media_unmountable_notification_title">Corrupted <xliff:g id="name" example="SD card">%s</xliff:g></string> <!-- Notification body when external media is unmountable (corrupt) [CHAR LIMIT=NONE] --> - <string name="ext_media_unmountable_notification_message"><xliff:g id="name" example="SD card">%s</xliff:g> is damaged; try reformatting it</string> + <string name="ext_media_unmountable_notification_message"><xliff:g id="name" example="SD card">%s</xliff:g> is corrupt. Touch to fix.</string> + + <!-- Notification title when external media is unsupported [CHAR LIMIT=30] --> + <string name="ext_media_unsupported_notification_title">Unsupported <xliff:g id="name" example="SD card">%s</xliff:g></string> + <!-- Notification body when external media is unsupported [CHAR LIMIT=NONE] --> + <string name="ext_media_unsupported_notification_message">This device doesn\u2019t support this <xliff:g id="name" example="SD card">%s</xliff:g>. Touch to set up in a supported format.</string> <!-- Notification title when external media is unsafely removed [CHAR LIMIT=30] --> <string name="ext_media_badremoval_notification_title"><xliff:g id="name" example="SD card">%s</xliff:g> unexpectedly removed</string> @@ -3048,7 +3053,7 @@ <string name="ext_media_unmounting_notification_message">Don\'t remove</string> <!-- Notification action to setup external media [CHAR LIMIT=20] --> - <string name="ext_media_init_action">Setup</string> + <string name="ext_media_init_action">Set up</string> <!-- Notification action to unmount external media [CHAR LIMIT=20] --> <string name="ext_media_unmount_action">Eject</string> <!-- Notification action to browse external media [CHAR LIMIT=20] --> @@ -3074,6 +3079,29 @@ <!-- Notification title when moving data to external storage failed [CHAR LIMIT=64] --> <string name="ext_media_move_failure_message">Data left at original location</string> + <!-- Short summary of storage media status when removed [CHAR LIMIT=32] --> + <string name="ext_media_status_removed">Removed</string> + <!-- Short summary of storage media status when unmounted [CHAR LIMIT=32] --> + <string name="ext_media_status_unmounted">Ejected</string> + <!-- Short summary of storage media status when checking [CHAR LIMIT=32] --> + <string name="ext_media_status_checking">Checking\u2026</string> + <!-- Short summary of storage media status when mounted [CHAR LIMIT=32] --> + <string name="ext_media_status_mounted">Ready</string> + <!-- Short summary of storage media status when mounted read-only [CHAR LIMIT=32] --> + <string name="ext_media_status_mounted_ro">Read-only</string> + <!-- Short summary of storage media status when removed unsafely [CHAR LIMIT=32] --> + <string name="ext_media_status_bad_removal">Removed unsafely</string> + <!-- Short summary of storage media status when unmountable [CHAR LIMIT=32] --> + <string name="ext_media_status_unmountable">Corrupted</string> + <!-- Short summary of storage media status when unsupported [CHAR LIMIT=32] --> + <string name="ext_media_status_unsupported">Unsupported</string> + <!-- Short summary of storage media status when ejecting [CHAR LIMIT=32] --> + <string name="ext_media_status_ejecting">Ejecting\u2026</string> + <!-- Short summary of storage media status when formatting [CHAR LIMIT=32] --> + <string name="ext_media_status_formatting">Formatting\u2026</string> + <!-- Short summary of storage media status when missing [CHAR LIMIT=32] --> + <string name="ext_media_status_missing">Not inserted</string> + <!-- Shown in LauncherActivity when the requested target Intent didn't return any matching Activities, leaving the list empty. --> <string name="activity_list_empty">No matching activities found.</string> diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index 4eba117..4bad16d 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -1017,6 +1017,10 @@ please see styles_device_defaults.xml. <item name="negativeButtonText">@string/no</item> </style> + <style name="Preference.DialogPreference.SeekBarPreference"> + <item name="dialogLayout">@layout/preference_dialog_seekbar</item> + </style> + <style name="Preference.DialogPreference.EditTextPreference"> <item name="dialogLayout">@layout/preference_dialog_edittext</item> </style> diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml index df4106e..70f9c02 100644 --- a/core/res/res/values/styles_material.xml +++ b/core/res/res/values/styles_material.xml @@ -87,6 +87,10 @@ please see styles_device_defaults.xml. <item name="negativeButtonText">@string/no</item> </style> + <style name="Preference.Material.DialogPreference.SeekBarPreference"> + <item name="dialogLayout">@layout/preference_dialog_seekbar_material</item> + </style> + <style name="Preference.Material.DialogPreference.EditTextPreference"> <item name="dialogLayout">@layout/preference_dialog_edittext_material</item> </style> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 15b253d..8900688 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1341,7 +1341,6 @@ <java-symbol type="layout" name="preference_widget_seekbar" /> <java-symbol type="layout" name="progress_dialog" /> <java-symbol type="layout" name="resolve_list_item" /> - <java-symbol type="layout" name="seekbar_dialog" /> <java-symbol type="layout" name="select_dialog_singlechoice_holo" /> <java-symbol type="layout" name="ssl_certificate" /> <java-symbol type="layout" name="tab_content" /> @@ -2292,4 +2291,20 @@ <java-symbol type="string" name="config_radio_access_family" /> <java-symbol type="string" name="notification_inbox_ellipsis" /> <java-symbol type="bool" name="config_mainBuiltInDisplayIsRound" /> + + <java-symbol type="attr" name="seekBarDialogPreferenceStyle" /> + <java-symbol type="string" name="ext_media_status_removed" /> + <java-symbol type="string" name="ext_media_status_unmounted" /> + <java-symbol type="string" name="ext_media_status_checking" /> + <java-symbol type="string" name="ext_media_status_mounted" /> + <java-symbol type="string" name="ext_media_status_mounted_ro" /> + <java-symbol type="string" name="ext_media_status_bad_removal" /> + <java-symbol type="string" name="ext_media_status_unmountable" /> + <java-symbol type="string" name="ext_media_status_unsupported" /> + <java-symbol type="string" name="ext_media_status_ejecting" /> + <java-symbol type="string" name="ext_media_status_formatting" /> + <java-symbol type="string" name="ext_media_status_missing" /> + <java-symbol type="string" name="ext_media_unsupported_notification_message" /> + <java-symbol type="string" name="ext_media_unsupported_notification_title" /> + </resources> diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml index 9e87b4d..ecf00f0 100644 --- a/core/res/res/values/themes.xml +++ b/core/res/res/values/themes.xml @@ -331,6 +331,7 @@ please see themes_device_defaults.xml. <item name="seekBarPreferenceStyle">@style/Preference.SeekBarPreference</item> <item name="yesNoPreferenceStyle">@style/Preference.DialogPreference.YesNoPreference</item> <item name="dialogPreferenceStyle">@style/Preference.DialogPreference</item> + <item name="seekBarDialogPreferenceStyle">@style/Preference.DialogPreference.SeekBarPreference</item> <item name="editTextPreferenceStyle">@style/Preference.DialogPreference.EditTextPreference</item> <item name="ringtonePreferenceStyle">@style/Preference.RingtonePreference</item> <item name="preferenceLayoutChild">@layout/preference_child</item> @@ -386,6 +387,7 @@ please see themes_device_defaults.xml. <item name="buttonBarNegativeButtonStyle">?attr/buttonBarButtonStyle</item> <item name="buttonBarNeutralButtonStyle">?attr/buttonBarButtonStyle</item> <item name="segmentedButtonStyle">@style/SegmentedButton</item> + <item name="fingerprintAuthDrawable">@drawable/ic_fingerprint</item> <!-- SearchView attributes --> <item name="searchViewStyle">@style/Widget.Holo.SearchView</item> diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml index 9f3668d..295b453 100644 --- a/core/res/res/values/themes_material.xml +++ b/core/res/res/values/themes_material.xml @@ -295,6 +295,7 @@ please see themes_device_defaults.xml. <item name="seekBarPreferenceStyle">@style/Preference.Material.SeekBarPreference</item> <item name="yesNoPreferenceStyle">@style/Preference.Material.DialogPreference.YesNoPreference</item> <item name="dialogPreferenceStyle">@style/Preference.Material.DialogPreference</item> + <item name="seekBarDialogPreferenceStyle">@style/Preference.Material.DialogPreference.SeekBarPreference</item> <item name="editTextPreferenceStyle">@style/Preference.Material.DialogPreference.EditTextPreference</item> <item name="ringtonePreferenceStyle">@style/Preference.Material.RingtonePreference</item> <item name="preferenceLayoutChild">@layout/preference_child_material</item> @@ -304,7 +305,6 @@ please see themes_device_defaults.xml. <item name="preferenceFragmentListStyle">@style/PreferenceFragmentList.Material</item> <item name="preferenceFragmentPaddingSide">@dimen/preference_fragment_padding_side_material</item> <item name="detailsElementBackground">?attr/colorBackground</item> - <item name="fingerprintDrawable">@drawable/ic_fingerprint_dark</item> <!-- PreferenceFrameLayout attributes --> <item name="preferenceFrameLayoutStyle">@style/Widget.Material.PreferenceFrameLayout</item> @@ -651,6 +651,7 @@ please see themes_device_defaults.xml. <item name="seekBarPreferenceStyle">@style/Preference.Material.SeekBarPreference</item> <item name="yesNoPreferenceStyle">@style/Preference.Material.DialogPreference.YesNoPreference</item> <item name="dialogPreferenceStyle">@style/Preference.Material.DialogPreference</item> + <item name="seekBarDialogPreferenceStyle">@style/Preference.Material.DialogPreference.SeekBarPreference</item> <item name="editTextPreferenceStyle">@style/Preference.Material.DialogPreference.EditTextPreference</item> <item name="ringtonePreferenceStyle">@style/Preference.Material.RingtonePreference</item> <item name="preferenceLayoutChild">@layout/preference_child_material</item> @@ -660,7 +661,6 @@ please see themes_device_defaults.xml. <item name="preferenceFragmentListStyle">@style/PreferenceFragmentList.Material</item> <item name="preferenceFragmentPaddingSide">@dimen/preference_fragment_padding_side_material</item> <item name="detailsElementBackground">?attr/colorBackground</item> - <item name="fingerprintDrawable">@drawable/ic_fingerprint_light</item> <!-- PreferenceFrameLayout attributes --> <item name="preferenceFrameLayoutStyle">@style/Widget.Material.PreferenceFrameLayout</item> diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java index 1af48ca..134451b 100644 --- a/graphics/java/android/graphics/drawable/RippleDrawable.java +++ b/graphics/java/android/graphics/drawable/RippleDrawable.java @@ -333,17 +333,29 @@ public class RippleDrawable extends LayerDrawable { */ @Override public boolean isProjected() { - // If the maximum radius is contained entirely within the bounds, we - // don't need to project this ripple. + // If the layer is bounded, then we don't need to project. + if (isBounded()) { + return false; + } + + // Otherwise, if the maximum radius is contained entirely within the + // bounds then we don't need to project. This is sort of a hack to + // prevent check box ripples from being projected across the edges of + // scroll views. It does not impact rendering performance, and it can + // be removed once we have better handling of projection in scrollable + // views. final int radius = mState.mMaxRadius; - final Rect bounds = getBounds(); - if (radius != RADIUS_AUTO && radius <= bounds.width() / 2 - && radius <= bounds.height() / 2) { + final Rect drawableBounds = getBounds(); + final Rect hotspotBounds = mHotspotBounds; + if (radius != RADIUS_AUTO + && radius <= hotspotBounds.width() / 2 + && radius <= hotspotBounds.height() / 2 + && (drawableBounds.equals(hotspotBounds) + || drawableBounds.contains(hotspotBounds))) { return false; } - // Otherwise, if the layer is bounded then we don't need to project. - return !isBounded(); + return true; } private boolean isBounded() { diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java index 89d419a..6c26220 100644 --- a/media/java/android/media/MediaCodecInfo.java +++ b/media/java/android/media/MediaCodecInfo.java @@ -1382,7 +1382,7 @@ public final class MediaCodecInfo { // upper limit. // for now we are keeping the profile specific "width/height // in macroblocks" limits. - if (Integer.valueOf(1).equals(map.get("feature-can-swap-width-height"))) { + if (map.containsKey("feature-can-swap-width-height")) { if (widths != null) { mSmallerDimensionUpperLimit = Math.min(widths.getUpper(), heights.getUpper()); diff --git a/media/java/android/media/SoundPool.java b/media/java/android/media/SoundPool.java index 64863c2..1355635 100644 --- a/media/java/android/media/SoundPool.java +++ b/media/java/android/media/SoundPool.java @@ -35,6 +35,7 @@ import android.os.ServiceManager; import android.util.AndroidRuntimeException; import android.util.Log; +import com.android.internal.app.IAppOpsCallback; import com.android.internal.app.IAppOpsService; @@ -125,10 +126,12 @@ public class SoundPool { private EventHandler mEventHandler; private SoundPool.OnLoadCompleteListener mOnLoadCompleteListener; + private boolean mHasAppOpsPlayAudio; private final Object mLock; private final AudioAttributes mAttributes; private final IAppOpsService mAppOps; + private final IAppOpsCallback mAppOpsCallback; /** * Constructor. Constructs a SoundPool object with the following @@ -159,6 +162,24 @@ public class SoundPool { mAttributes = attributes; IBinder b = ServiceManager.getService(Context.APP_OPS_SERVICE); mAppOps = IAppOpsService.Stub.asInterface(b); + // initialize mHasAppOpsPlayAudio + updateAppOpsPlayAudio(); + // register a callback to monitor whether the OP_PLAY_AUDIO is still allowed + mAppOpsCallback = new IAppOpsCallback.Stub() { + public void opChanged(int op, String packageName) { + synchronized (mLock) { + if (op == AppOpsManager.OP_PLAY_AUDIO) { + updateAppOpsPlayAudio(); + } + } + } + }; + try { + mAppOps.startWatchingMode(AppOpsManager.OP_PLAY_AUDIO, + ActivityThread.currentPackageName(), mAppOpsCallback); + } catch (RemoteException e) { + mHasAppOpsPlayAudio = false; + } } /** @@ -168,7 +189,16 @@ public class SoundPool { * object. The SoundPool can no longer be used and the reference * should be set to null. */ - public native final void release(); + public final void release() { + try { + mAppOps.stopWatchingMode(mAppOpsCallback); + } catch (RemoteException e) { + // nothing to do here, the SoundPool is being released anyway + } + native_release(); + } + + private native final void native_release(); protected void finalize() { release(); } @@ -466,13 +496,17 @@ public class SoundPool { if ((mAttributes.getAllFlags() & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0) { return false; } + return !mHasAppOpsPlayAudio; + } + + private void updateAppOpsPlayAudio() { try { final int mode = mAppOps.checkAudioOperation(AppOpsManager.OP_PLAY_AUDIO, mAttributes.getUsage(), Process.myUid(), ActivityThread.currentPackageName()); - return mode != AppOpsManager.MODE_ALLOWED; + mHasAppOpsPlayAudio = (mode == AppOpsManager.MODE_ALLOWED); } catch (RemoteException e) { - return false; + mHasAppOpsPlayAudio = false; } } diff --git a/media/java/android/media/browse/MediaBrowser.java b/media/java/android/media/browse/MediaBrowser.java index ef8d169..ba867e1 100644 --- a/media/java/android/media/browse/MediaBrowser.java +++ b/media/java/android/media/browse/MediaBrowser.java @@ -375,7 +375,7 @@ public final class MediaBrowser { * @param mediaId The id of the item to retrieve. * @param cb The callback to receive the result on. */ - public void getMediaItem(@NonNull String mediaId, @NonNull final MediaItemCallback cb) { + public void getItem(final @NonNull String mediaId, @NonNull final ItemCallback cb) { if (TextUtils.isEmpty(mediaId)) { throw new IllegalArgumentException("mediaId is empty."); } @@ -387,7 +387,7 @@ public final class MediaBrowser { mHandler.post(new Runnable() { @Override public void run() { - cb.onError(); + cb.onError(mediaId); } }); return; @@ -397,15 +397,15 @@ public final class MediaBrowser { protected void onReceiveResult(int resultCode, Bundle resultData) { if (resultCode != 0 || resultData == null || !resultData.containsKey(MediaBrowserService.KEY_MEDIA_ITEM)) { - cb.onError(); + cb.onError(mediaId); return; } Parcelable item = resultData.getParcelable(MediaBrowserService.KEY_MEDIA_ITEM); if (!(item instanceof MediaItem)) { - cb.onError(); + cb.onError(mediaId); + return; } - cb.onMediaItemLoaded((MediaItem) resultData.getParcelable( - MediaBrowserService.KEY_MEDIA_ITEM)); + cb.onItemLoaded((MediaItem)item); } }; try { @@ -415,7 +415,7 @@ public final class MediaBrowser { mHandler.post(new Runnable() { @Override public void run() { - cb.onError(); + cb.onError(mediaId); } }); } @@ -728,6 +728,9 @@ public final class MediaBrowser { public static abstract class SubscriptionCallback { /** * Called when the list of children is loaded or updated. + * + * @param parentId The media id of the parent media item. + * @param children The children which were loaded. */ public void onChildrenLoaded(@NonNull String parentId, @NonNull List<MediaItem> children) { @@ -739,29 +742,32 @@ public final class MediaBrowser { * If this is called, the subscription remains until {@link MediaBrowser#unsubscribe} * called, because some errors may heal themselves. * </p> + * + * @param parentId The media id of the parent media item whose children could + * not be loaded. */ - public void onError(@NonNull String id) { + public void onError(@NonNull String parentId) { } } /** - * Callback for receiving the result of {@link #getMediaItem}. + * Callback for receiving the result of {@link #getItem}. */ - public static abstract class MediaItemCallback { - + public static abstract class ItemCallback { /** * Called when the item has been returned by the browser service. * * @param item The item that was returned or null if it doesn't exist. */ - public void onMediaItemLoaded(MediaItem item) { + public void onItemLoaded(MediaItem item) { } /** - * Called when the id doesn't exist or there was an error retrieving the - * item. + * Called when the item doesn't exist or there was an error retrieving it. + * + * @param itemId The media id of the media item which could not be loaded. */ - public void onError() { + public void onError(@NonNull String itemId) { } } diff --git a/media/java/android/media/tv/TvInputInfo.java b/media/java/android/media/tv/TvInputInfo.java index c537dd6..5d1aa14 100644 --- a/media/java/android/media/tv/TvInputInfo.java +++ b/media/java/android/media/tv/TvInputInfo.java @@ -29,6 +29,7 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; import android.graphics.drawable.Drawable; +import android.graphics.drawable.Icon; import android.hardware.hdmi.HdmiDeviceInfo; import android.net.Uri; import android.os.Parcel; @@ -125,7 +126,9 @@ public final class TvInputInfo implements Parcelable { private String mSettingsActivity; private HdmiDeviceInfo mHdmiDeviceInfo; + private int mLabelRes; private String mLabel; + private Icon mIcon; private Uri mIconUri; private boolean mIsConnectedToHdmiSwitch; @@ -155,7 +158,7 @@ public final class TvInputInfo implements Parcelable { throws XmlPullParserException, IOException { return createTvInputInfo(context, service, generateInputIdForComponentName( new ComponentName(service.serviceInfo.packageName, service.serviceInfo.name)), - null, TYPE_TUNER, false, null, null, false); + null, TYPE_TUNER, false, 0, null, null, null, false); } /** @@ -165,11 +168,11 @@ public final class TvInputInfo implements Parcelable { * @param service The ResolveInfo returned from the package manager about this TV input service. * @param hdmiDeviceInfo The HdmiDeviceInfo for a HDMI CEC logical device. * @param parentId The ID of this TV input's parent input. {@code null} if none exists. + * @param label The label of this TvInputInfo. If it is {@code null} or empty, {@code service} + * label will be loaded. * @param iconUri The {@link android.net.Uri} to load the icon image. See * {@link android.content.ContentResolver#openInputStream}. If it is {@code null}, * the application icon of {@code service} will be loaded. - * @param label The label of this TvInputInfo. If it is {@code null} or empty, {@code service} - * label will be loaded. * @hide */ @SystemApi @@ -179,7 +182,34 @@ public final class TvInputInfo implements Parcelable { boolean isConnectedToHdmiSwitch = (hdmiDeviceInfo.getPhysicalAddress() & 0x0FFF) != 0; TvInputInfo input = createTvInputInfo(context, service, generateInputIdForHdmiDevice( new ComponentName(service.serviceInfo.packageName, service.serviceInfo.name), - hdmiDeviceInfo), parentId, TYPE_HDMI, true, label, iconUri, isConnectedToHdmiSwitch); + hdmiDeviceInfo), parentId, TYPE_HDMI, true, 0, label, null, iconUri, + isConnectedToHdmiSwitch); + input.mHdmiDeviceInfo = hdmiDeviceInfo; + return input; + } + + /** + * Create a new instance of the TvInputInfo class, instantiating it from the given Context, + * ResolveInfo, and HdmiDeviceInfo. + * + * @param service The ResolveInfo returned from the package manager about this TV input service. + * @param hdmiDeviceInfo The HdmiDeviceInfo for a HDMI CEC logical device. + * @param parentId The ID of this TV input's parent input. {@code null} if none exists. + * @param labelRes The label resource ID of this TvInputInfo. If it is {@code 0}, + * {@code service} label will be loaded. + * @param icon The {@link android.graphics.drawable.Icon} to load the icon image. If it is + * {@code null}, the application icon of {@code service} will be loaded. + * @hide + */ + @SystemApi + public static TvInputInfo createTvInputInfo(Context context, ResolveInfo service, + HdmiDeviceInfo hdmiDeviceInfo, String parentId, int labelRes, Icon icon) + throws XmlPullParserException, IOException { + boolean isConnectedToHdmiSwitch = (hdmiDeviceInfo.getPhysicalAddress() & 0x0FFF) != 0; + TvInputInfo input = createTvInputInfo(context, service, generateInputIdForHdmiDevice( + new ComponentName(service.serviceInfo.packageName, service.serviceInfo.name), + hdmiDeviceInfo), parentId, TYPE_HDMI, true, labelRes, null, icon, null, + isConnectedToHdmiSwitch); input.mHdmiDeviceInfo = hdmiDeviceInfo; return input; } @@ -190,11 +220,11 @@ public final class TvInputInfo implements Parcelable { * * @param service The ResolveInfo returned from the package manager about this TV input service. * @param hardwareInfo The TvInputHardwareInfo for a TV input hardware device. + * @param label The label of this TvInputInfo. If it is {@code null} or empty, {@code service} + * label will be loaded. * @param iconUri The {@link android.net.Uri} to load the icon image. See * {@link android.content.ContentResolver#openInputStream}. If it is {@code null}, * the application icon of {@code service} will be loaded. - * @param label The label of this TvInputInfo. If it is {@code null} or empty, {@code service} - * label will be loaded. * @hide */ @SystemApi @@ -204,12 +234,34 @@ public final class TvInputInfo implements Parcelable { int inputType = sHardwareTypeToTvInputType.get(hardwareInfo.getType(), TYPE_TUNER); return createTvInputInfo(context, service, generateInputIdForHardware( new ComponentName(service.serviceInfo.packageName, service.serviceInfo.name), - hardwareInfo), null, inputType, true, label, iconUri, false); + hardwareInfo), null, inputType, true, 0, label, null, iconUri, false); + } + + /** + * Create a new instance of the TvInputInfo class, instantiating it from the given Context, + * ResolveInfo, and TvInputHardwareInfo. + * + * @param service The ResolveInfo returned from the package manager about this TV input service. + * @param hardwareInfo The TvInputHardwareInfo for a TV input hardware device. + * @param labelRes The label resource ID of this TvInputInfo. If it is {@code 0}, + * {@code service} label will be loaded. + * @param icon The {@link android.graphics.drawable.Icon} to load the icon image. If it is + * {@code null}, the application icon of {@code service} will be loaded. + * @hide + */ + @SystemApi + public static TvInputInfo createTvInputInfo(Context context, ResolveInfo service, + TvInputHardwareInfo hardwareInfo, int labelRes, Icon icon) + throws XmlPullParserException, IOException { + int inputType = sHardwareTypeToTvInputType.get(hardwareInfo.getType(), TYPE_TUNER); + return createTvInputInfo(context, service, generateInputIdForHardware( + new ComponentName(service.serviceInfo.packageName, service.serviceInfo.name), + hardwareInfo), null, inputType, true, labelRes, null, icon, null, false); } - private static TvInputInfo createTvInputInfo(Context context, ResolveInfo service, - String id, String parentId, int inputType, boolean isHardwareInput, String label, - Uri iconUri, boolean isConnectedToHdmiSwitch) + private static TvInputInfo createTvInputInfo(Context context, ResolveInfo service, String id, + String parentId, int inputType, boolean isHardwareInput, int labelRes, String label, + Icon icon, Uri iconUri, boolean isConnectedToHdmiSwitch) throws XmlPullParserException, IOException { ServiceInfo si = service.serviceInfo; PackageManager pm = context.getPackageManager(); @@ -254,7 +306,9 @@ public final class TvInputInfo implements Parcelable { } sa.recycle(); + input.mLabelRes = labelRes; input.mLabel = label; + input.mIcon = icon; input.mIconUri = iconUri; input.mIsConnectedToHdmiSwitch = isConnectedToHdmiSwitch; return input; @@ -426,11 +480,13 @@ public final class TvInputInfo implements Parcelable { * a label, its name is returned. */ public CharSequence loadLabel(@NonNull Context context) { - if (TextUtils.isEmpty(mLabel)) { - return mService.loadLabel(context.getPackageManager()); - } else { + if (mLabelRes != 0) { + return context.getPackageManager().getText(mService.serviceInfo.packageName, mLabelRes, + null); + } else if (!TextUtils.isEmpty(mLabel)) { return mLabel; } + return mService.loadLabel(context.getPackageManager()); } /** @@ -454,19 +510,20 @@ public final class TvInputInfo implements Parcelable { * application's icon is returned. If it's unavailable too, {@code null} is returned. */ public Drawable loadIcon(@NonNull Context context) { - if (mIconUri == null) { - return loadServiceIcon(context); - } - try (InputStream is = context.getContentResolver().openInputStream(mIconUri)) { - Drawable drawable = Drawable.createFromStream(is, null); - if (drawable == null) { - return loadServiceIcon(context); + if (mIcon != null) { + return mIcon.loadDrawable(context); + } else if (mIconUri != null) { + try (InputStream is = context.getContentResolver().openInputStream(mIconUri)) { + Drawable drawable = Drawable.createFromStream(is, null); + if (drawable != null) { + return drawable; + } + } catch (IOException e) { + Log.w(TAG, "Loading the default icon due to a failure on loading " + mIconUri, e); + // Falls back. } - return drawable; - } catch (IOException e) { - Log.w(TAG, "Loading the default icon due to a failure on loading " + mIconUri, e); - return loadServiceIcon(context); } + return loadServiceIcon(context); } @Override @@ -516,7 +573,9 @@ public final class TvInputInfo implements Parcelable { dest.writeInt(mType); dest.writeByte(mIsHardwareInput ? (byte) 1 : 0); dest.writeParcelable(mHdmiDeviceInfo, flags); + dest.writeParcelable(mIcon, flags); dest.writeParcelable(mIconUri, flags); + dest.writeInt(mLabelRes); dest.writeString(mLabel); dest.writeByte(mIsConnectedToHdmiSwitch ? (byte) 1 : 0); } @@ -591,7 +650,9 @@ public final class TvInputInfo implements Parcelable { mType = in.readInt(); mIsHardwareInput = in.readByte() == 1 ? true : false; mHdmiDeviceInfo = in.readParcelable(null); + mIcon = in.readParcelable(null); mIconUri = in.readParcelable(null); + mLabelRes = in.readInt(); mLabel = in.readString(); mIsConnectedToHdmiSwitch = in.readByte() == 1 ? true : false; } diff --git a/media/java/android/service/media/MediaBrowserService.java b/media/java/android/service/media/MediaBrowserService.java index 41156cb..1bb99ff 100644 --- a/media/java/android/service/media/MediaBrowserService.java +++ b/media/java/android/service/media/MediaBrowserService.java @@ -76,7 +76,7 @@ public abstract class MediaBrowserService extends Service { public static final String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService"; /** - * A key for passing the MediaItem to the ResultReceiver in getMediaItem. + * A key for passing the MediaItem to the ResultReceiver in getItem. * * @hide */ @@ -109,6 +109,7 @@ public abstract class MediaBrowserService extends Service { * be thrown. * * @see MediaBrowserService#onLoadChildren + * @see MediaBrowserService#onGetMediaItem */ public class Result<T> { private Object mDebug; @@ -279,20 +280,7 @@ public abstract class MediaBrowserService extends Service { mHandler.post(new Runnable() { @Override public void run() { - final Result<MediaBrowser.MediaItem> result - = new Result<MediaBrowser.MediaItem>(mediaId) { - @Override - void onResultSent(MediaBrowser.MediaItem item) { - Bundle bundle = new Bundle(); - bundle.putParcelable(KEY_MEDIA_ITEM, item); - receiver.send(0, bundle); - } - }; - try { - MediaBrowserService.this.getMediaItem(mediaId, result); - } catch (UnsupportedOperationException e) { - receiver.send(-1, null); - } + performLoadItem(mediaId, receiver); } }); } @@ -357,8 +345,7 @@ public abstract class MediaBrowserService extends Service { @NonNull Result<List<MediaBrowser.MediaItem>> result); /** - * Called to get a specific media item. The mediaId should be the same id - * that would be returned for this item when it is in a list of child items. + * Called to get information about a specific media item. * <p> * Implementations must call {@link Result#sendResult result.sendResult}. If * loading the item will be an expensive operation {@link Result#detach @@ -366,17 +353,15 @@ public abstract class MediaBrowserService extends Service { * then {@link Result#sendResult result.sendResult} called when the item has * been loaded. * <p> - * The default implementation throws an exception. + * The default implementation sends a null result. * - * @param mediaId The id for the specific + * @param itemId The id for the specific * {@link android.media.browse.MediaBrowser.MediaItem}. * @param result The Result to send the item to, or null if the id is * invalid. - * @throws UnsupportedOperationException */ - public void getMediaItem(String mediaId, Result<MediaBrowser.MediaItem> result) - throws UnsupportedOperationException { - throw new UnsupportedOperationException("getMediaItem is not supported."); + public void onLoadItem(String itemId, Result<MediaBrowser.MediaItem> result) { + result.sendResult(null); } /** @@ -515,6 +500,25 @@ public abstract class MediaBrowserService extends Service { } } + private void performLoadItem(String itemId, final ResultReceiver receiver) { + final Result<MediaBrowser.MediaItem> result = + new Result<MediaBrowser.MediaItem>(itemId) { + @Override + void onResultSent(MediaBrowser.MediaItem item) { + Bundle bundle = new Bundle(); + bundle.putParcelable(KEY_MEDIA_ITEM, item); + receiver.send(0, bundle); + } + }; + + MediaBrowserService.this.onLoadItem(itemId, result); + + if (!result.isDone()) { + throw new IllegalStateException("onLoadItem must call detach() or sendResult()" + + " before returning for id=" + itemId); + } + } + /** * Contains information that the browser service needs to send to the client * when first connected. diff --git a/media/jni/android_media_ImageWriter.cpp b/media/jni/android_media_ImageWriter.cpp index 294cd84..634ba64 100644 --- a/media/jni/android_media_ImageWriter.cpp +++ b/media/jni/android_media_ImageWriter.cpp @@ -293,7 +293,8 @@ static jlong ImageWriter_init(JNIEnv* env, jobject thiz, jobject weakThiz, jobje res = native_window_set_usage(anw.get(), GRALLOC_USAGE_SW_WRITE_OFTEN); if (res != OK) { ALOGE("%s: Configure usage %08x for format %08x failed: %s (%d)", - __FUNCTION__, GRALLOC_USAGE_SW_WRITE_OFTEN, format, strerror(-res), res); + __FUNCTION__, static_cast<unsigned int>(GRALLOC_USAGE_SW_WRITE_OFTEN), + format, strerror(-res), res); jniThrowRuntimeException(env, "Failed to SW_WRITE_OFTEN configure usage"); return 0; } diff --git a/media/jni/soundpool/android_media_SoundPool.cpp b/media/jni/soundpool/android_media_SoundPool.cpp index fc4cf05..ab3e340 100644 --- a/media/jni/soundpool/android_media_SoundPool.cpp +++ b/media/jni/soundpool/android_media_SoundPool.cpp @@ -286,7 +286,7 @@ static JNINativeMethod gMethods[] = { "(Ljava/lang/Object;ILjava/lang/Object;)I", (void*)android_media_SoundPool_native_setup }, - { "release", + { "native_release", "()V", (void*)android_media_SoundPool_release } diff --git a/native/android/Android.mk b/native/android/Android.mk index 12fdf71..1742bee 100644 --- a/native/android/Android.mk +++ b/native/android/Android.mk @@ -16,6 +16,7 @@ LOCAL_SRC_FILES:= \ obb.cpp \ sensor.cpp \ storage_manager.cpp \ + trace.cpp \ LOCAL_SHARED_LIBRARIES := \ liblog \ diff --git a/native/android/trace.cpp b/native/android/trace.cpp new file mode 100644 index 0000000..db52220 --- /dev/null +++ b/native/android/trace.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <android/trace.h> +#include <cutils/trace.h> + +bool ATrace_isEnabled() { + return atrace_is_tag_enabled(ATRACE_TAG_APP); +} + +void ATrace_beginSection(const char* sectionName) { + atrace_begin(ATRACE_TAG_APP, sectionName); +} + +void ATrace_endSection() { + atrace_end(ATRACE_TAG_APP); +} diff --git a/packages/DocumentsUI/res/layout-sw720dp/activity.xml b/packages/DocumentsUI/res/layout-sw720dp/activity.xml index a9f1b3c..2a273f4 100644 --- a/packages/DocumentsUI/res/layout-sw720dp/activity.xml +++ b/packages/DocumentsUI/res/layout-sw720dp/activity.xml @@ -19,7 +19,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - <Toolbar + <com.android.documentsui.DocumentsToolBar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" @@ -34,7 +34,7 @@ android:layout_marginStart="4dp" android:overlapAnchor="true" /> - </Toolbar> + </com.android.documentsui.DocumentsToolBar> <LinearLayout android:layout_width="match_parent" diff --git a/packages/DocumentsUI/res/layout/activity.xml b/packages/DocumentsUI/res/layout/activity.xml index b549cd3..43fdaf2 100644 --- a/packages/DocumentsUI/res/layout/activity.xml +++ b/packages/DocumentsUI/res/layout/activity.xml @@ -24,7 +24,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - <Toolbar + <com.android.documentsui.DocumentsToolBar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" @@ -39,7 +39,7 @@ android:layout_marginStart="4dp" android:overlapAnchor="true" /> - </Toolbar> + </com.android.documentsui.DocumentsToolBar> <com.android.documentsui.DirectoryContainerView android:id="@+id/container_directory" diff --git a/packages/DocumentsUI/res/values/strings.xml b/packages/DocumentsUI/res/values/strings.xml index 9794273..943104d 100644 --- a/packages/DocumentsUI/res/values/strings.xml +++ b/packages/DocumentsUI/res/values/strings.xml @@ -45,7 +45,7 @@ <!-- Menu item title that deletes the selected documents [CHAR LIMIT=24] --> <string name="menu_delete">Delete</string> <!-- Menu item title that selects all documents in the current directory [CHAR LIMIT=24] --> - <string name="menu_select_all">Select All</string> + <string name="menu_select_all">Select all</string> <!-- Menu item title that copies the selected documents [CHAR LIMIT=24] --> <string name="menu_copy">Copy to\u2026</string> diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java index cb21131..bba33be 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.concurrent.Executor; @@ -32,6 +33,10 @@ import libcore.io.IoUtils; import android.app.Activity; import android.app.Fragment; import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.ProviderInfo; import android.database.Cursor; import android.net.Uri; import android.os.AsyncTask; @@ -96,7 +101,7 @@ abstract class BaseActivity extends Activity { boolean showMenu = super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.activity, menu); - mSearchManager.install(menu.findItem(R.id.menu_search)); + mSearchManager.install((DocumentsToolBar) findViewById(R.id.toolbar)); return showMenu; } @@ -232,9 +237,38 @@ abstract class BaseActivity extends Activity { invalidateOptionsMenu(); } + final List<String> getExcludedAuthorities() { + List<String> authorities = new ArrayList<>(); + if (getIntent().getBooleanExtra(DocumentsContract.EXTRA_EXCLUDE_SELF, false)) { + // Exclude roots provided by the calling package. + String packageName = getCallingPackageMaybeExtra(); + try { + PackageInfo pkgInfo = getPackageManager().getPackageInfo(packageName, + PackageManager.GET_PROVIDERS); + for (ProviderInfo provider: pkgInfo.providers) { + authorities.add(provider.authority); + } + } catch (PackageManager.NameNotFoundException e) { + Log.e(mTag, "Calling package name does not resolve: " + packageName); + } + } + return authorities; + } + final String getCallingPackageMaybeExtra() { - final String extra = getIntent().getStringExtra(DocumentsContract.EXTRA_PACKAGE_NAME); - return (extra != null) ? extra : getCallingPackage(); + String callingPackage = getCallingPackage(); + // System apps can set the calling package name using an extra. + try { + ApplicationInfo info = getPackageManager().getApplicationInfo(callingPackage, 0); + if (info.isSystemApp() || info.isUpdatedSystemApp()) { + final String extra = getIntent().getStringExtra(DocumentsContract.EXTRA_PACKAGE_NAME); + if (extra != null) { + callingPackage = extra; + } + } + } finally { + return callingPackage; + } } public static BaseActivity get(Fragment fragment) { @@ -287,6 +321,9 @@ abstract class BaseActivity extends Activity { /** Currently copying file */ public List<DocumentInfo> selectedDocumentsForCopy = new ArrayList<DocumentInfo>(); + /** Name of the package that started DocsUI */ + public List<String> excludedAuthorities = new ArrayList<>(); + public static final int ACTION_OPEN = 1; public static final int ACTION_CREATE = 2; public static final int ACTION_GET_CONTENT = 3; @@ -327,6 +364,7 @@ abstract class BaseActivity extends Activity { out.writeString(currentSearch); out.writeMap(dirState); out.writeList(selectedDocumentsForCopy); + out.writeList(excludedAuthorities); } public static final Creator<State> CREATOR = new Creator<State>() { @@ -348,6 +386,7 @@ abstract class BaseActivity extends Activity { state.currentSearch = in.readString(); in.readMap(state.dirState, null); in.readList(state.selectedDocumentsForCopy, null); + in.readList(state.excludedAuthorities, null); return state; } @@ -627,20 +666,24 @@ abstract class BaseActivity extends Activity { * Facade over the various search parts in the menu. */ final class SearchManager implements - SearchView.OnCloseListener, OnActionExpandListener, OnQueryTextListener { + SearchView.OnCloseListener, OnActionExpandListener, OnQueryTextListener, + DocumentsToolBar.OnActionViewCollapsedListener { private boolean mSearchExpanded; private boolean mIgnoreNextClose; private boolean mIgnoreNextCollapse; + private DocumentsToolBar mActionBar; private MenuItem mMenu; private SearchView mView; - public void install(MenuItem menu) { - assert(mMenu == null); - mMenu = menu; - mView = (SearchView) menu.getActionView(); + public void install(DocumentsToolBar actionBar) { + assert(mActionBar == null); + mActionBar = actionBar; + mMenu = actionBar.getSearchMenu(); + mView = (SearchView) mMenu.getActionView(); + mActionBar.setOnActionViewCollapsedListener(this); mMenu.setOnActionExpandListener(this); mView.setOnQueryTextListener(this); mView.setOnCloseListener(this); @@ -691,6 +734,19 @@ abstract class BaseActivity extends Activity { } } + /** + * Cancels current search operation. + * @return True if it cancels search. False if it does not operate + * search currently. + */ + boolean cancelSearch() { + if (mActionBar.hasExpandedActionView()) { + mActionBar.collapseActionView(); + return true; + } + return false; + } + boolean isSearching() { return getDisplayState().currentSearch != null; } @@ -726,7 +782,6 @@ abstract class BaseActivity extends Activity { mIgnoreNextCollapse = false; return true; } - getDisplayState().currentSearch = null; onCurrentDirectoryChanged(ANIM_NONE); return true; @@ -745,5 +800,10 @@ abstract class BaseActivity extends Activity { public boolean onQueryTextChange(String newText) { return false; } + + @Override + public void onActionViewCollapsed() { + updateActionBar(); + } } } diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java index da59d0e..90ccf91 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; @@ -256,6 +257,8 @@ public class DocumentsActivity extends BaseActivity { BaseActivity.DocumentsIntent.EXTRA_DIRECTORY_COPY, false); } + state.excludedAuthorities = getExcludedAuthorities(); + return state; } @@ -506,6 +509,11 @@ public class DocumentsActivity extends BaseActivity { @Override public void onBackPressed() { + // While action bar is expanded, the state stack UI is hidden. + if (mSearchManager.cancelSearch()) { + return; + } + if (!mState.stackTouched) { super.onBackPressed(); return; diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsToolBar.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsToolBar.java new file mode 100644 index 0000000..36b7646 --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsToolBar.java @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.documentsui; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.MenuItem; +import android.widget.Toolbar; + +/** + * ToolBar of Documents UI. + */ +public class DocumentsToolBar extends Toolbar { + interface OnActionViewCollapsedListener { + void onActionViewCollapsed(); + } + + private OnActionViewCollapsedListener mOnActionViewCollapsedListener; + + public DocumentsToolBar(Context context, AttributeSet attrs, + int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + public DocumentsToolBar(Context context, AttributeSet attrs, + int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public DocumentsToolBar(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public DocumentsToolBar(Context context) { + super(context); + } + + @Override + public void collapseActionView() { + super.collapseActionView(); + if (mOnActionViewCollapsedListener != null) { + mOnActionViewCollapsedListener.onActionViewCollapsed(); + } + } + + /** + * Adds a listener that is invoked after collapsing the action view. + * @param listener + */ + public void setOnActionViewCollapsedListener( + OnActionViewCollapsedListener listener) { + mOnActionViewCollapsedListener = listener; + } + + public MenuItem getSearchMenu() { + return getMenu().findItem(R.id.menu_search); + } +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java index 27e8f20..fbcb938 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java +++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java @@ -383,6 +383,12 @@ public class RootsCache { continue; } + // Exclude roots from the calling package. + if (state.excludedAuthorities.contains(root.authority)) { + if (LOGD) Log.d(TAG, "Excluding root " + root.authority + " from calling package."); + continue; + } + matching.add(root); } return matching; diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java index 97d8ed0..ecf4d6c 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java +++ b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java @@ -55,7 +55,6 @@ public class RootInfo implements Durable, Parcelable { public String mimeTypes; /** Derived fields that aren't persisted */ - public String derivedPackageName; public String[] derivedMimeTypes; public int derivedIcon; @@ -75,7 +74,6 @@ public class RootInfo implements Durable, Parcelable { availableBytes = -1; mimeTypes = null; - derivedPackageName = null; derivedMimeTypes = null; derivedIcon = 0; } diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java index 7faa3ce..8c5bac1 100644 --- a/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java +++ b/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java @@ -114,6 +114,31 @@ public class RootsCacheTest extends AndroidTestCase { RootsCache.getMatchingRoots(mRoots, mState)); } + public void testExcludedAuthorities() throws Exception { + final List<RootInfo> roots = Lists.newArrayList(); + + // Set up some roots + for (int i = 0; i < 5; ++i) { + RootInfo root = new RootInfo(); + root.authority = "authority" + i; + roots.add(root); + } + // Make some allowed authorities + List<RootInfo> allowedRoots = Lists.newArrayList( + roots.get(0), roots.get(2), roots.get(4)); + // Set up the excluded authority list + for (RootInfo root: roots) { + if (!allowedRoots.contains(root)) { + mState.excludedAuthorities.add(root.authority); + } + } + mState.acceptMimes = new String[] { "*/*" }; + + assertContainsExactly( + allowedRoots, + RootsCache.getMatchingRoots(roots, mState)); + } + private static void assertContainsExactly(List<?> expected, List<?> actual) { assertEquals(expected.size(), actual.size()); for (Object o : expected) { diff --git a/packages/Keyguard/res/layout/keyguard_pattern_view.xml b/packages/Keyguard/res/layout/keyguard_pattern_view.xml index 0f5431e..09c01de 100644 --- a/packages/Keyguard/res/layout/keyguard_pattern_view.xml +++ b/packages/Keyguard/res/layout/keyguard_pattern_view.xml @@ -31,8 +31,7 @@ android:clipToPadding="false" androidprv:layout_maxWidth="@dimen/keyguard_security_width" androidprv:layout_maxHeight="@dimen/keyguard_security_height" - android:gravity="center_horizontal" - android:contentDescription="@string/keyguard_accessibility_pattern_unlock"> + android:gravity="center_horizontal"> <FrameLayout android:layout_width="match_parent" diff --git a/packages/Keyguard/res/values/strings.xml b/packages/Keyguard/res/values/strings.xml index 49ce427..748129c 100644 --- a/packages/Keyguard/res/values/strings.xml +++ b/packages/Keyguard/res/values/strings.xml @@ -299,6 +299,42 @@ <!-- Description of airplane mode --> <string name="airplane_mode">Airplane mode</string> + <!-- An explanation text that the pattern needs to be solved since the device has just been restarted. [CHAR LIMIT=80] --> + <string name="kg_prompt_reason_restart_pattern">Pattern required when you restart device.</string> + + <!-- An explanation text that the pin needs to be entered since the device has just been restarted. [CHAR LIMIT=80] --> + <string name="kg_prompt_reason_restart_pin">PIN required when you restart device.</string> + + <!-- An explanation text that the password needs to be entered since the device has just been restarted. [CHAR LIMIT=80] --> + <string name="kg_prompt_reason_restart_password">Password required when you restart device.</string> + + <!-- An explanation text that the pattern needs to be solved since profiles have just been switched. [CHAR LIMIT=80] --> + <string name="kg_prompt_reason_switch_profiles_pattern">Pattern required when you switch profiles.</string> + + <!-- An explanation text that the pin needs to be entered since profiles have just been switched. [CHAR LIMIT=80] --> + <string name="kg_prompt_reason_switch_profiles_pin">PIN required when you switch profiles.</string> + + <!-- An explanation text that the password needs to be entered since profiles have just been switched. [CHAR LIMIT=80] --> + <string name="kg_prompt_reason_switch_profiles_password">Password required when you switch profiles.</string> + + <!-- An explanation text that the pattern needs to be solved since it hasn't been solved in a while. [CHAR LIMIT=80]--> + <plurals name="kg_prompt_reason_time_pattern"> + <item quantity="one">Device hasn\'t been unlocked for <xliff:g id="number">%d</xliff:g> hour. Confirm pattern.</item> + <item quantity="other">Device hasn\'t been unlocked for <xliff:g id="number">%d</xliff:g> hours. Confirm pattern.</item> + </plurals> + + <!-- An explanation text that the pin needs to be entered since it hasn't been entered in a while. [CHAR LIMIT=80]--> + <plurals name="kg_prompt_reason_time_pin"> + <item quantity="one">Device hasn\'t been unlocked for <xliff:g id="number">%d</xliff:g> hour. Confirm PIN.</item> + <item quantity="other">Device hasn\'t been unlocked for <xliff:g id="number">%d</xliff:g> hours. Confirm PIN.</item> + </plurals> + + <!-- An explanation text that the password needs to be entered since it hasn't been entered in a while. [CHAR LIMIT=80]--> + <plurals name="kg_prompt_reason_time_password"> + <item quantity="one">Device hasn\'t been unlocked for <xliff:g id="number">%d</xliff:g> hour. Confirm password.</item> + <item quantity="other">Device hasn\'t been unlocked for <xliff:g id="number">%d</xliff:g> hours. Confirm password.</item> + </plurals> + <!-- Fingerprint hint message when finger was not recognized.--> <string name="fingerprint_not_recognized">Not recognized</string> diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java index d0be855..ac9dc85 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java @@ -22,6 +22,9 @@ import android.view.View; import android.view.ViewGroup; import android.view.animation.AnimationUtils; +import com.android.settingslib.animation.AppearAnimationUtils; +import com.android.settingslib.animation.DisappearAnimationUtils; + /** * Displays a PIN pad for unlocking. */ @@ -115,7 +118,7 @@ public class KeyguardPINView extends KeyguardPinBasedInputView { .setDuration(500) .setInterpolator(mAppearAnimationUtils.getInterpolator()) .translationY(0); - mAppearAnimationUtils.startAnimation(mViews, + mAppearAnimationUtils.startAnimation2d(mViews, new Runnable() { @Override public void run() { @@ -132,7 +135,7 @@ public class KeyguardPINView extends KeyguardPinBasedInputView { .setDuration(280) .setInterpolator(mDisappearAnimationUtils.getInterpolator()) .translationY(mDisappearYTranslation); - mDisappearAnimationUtils.startAnimation(mViews, + mDisappearAnimationUtils.startAnimation2d(mViews, new Runnable() { @Override public void run() { diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java index a9b2978..1bd0bb4 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java @@ -36,6 +36,9 @@ import android.widget.LinearLayout; import com.android.internal.widget.LockPatternChecker; import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternView; +import com.android.settingslib.animation.AppearAnimationCreator; +import com.android.settingslib.animation.AppearAnimationUtils; +import com.android.settingslib.animation.DisappearAnimationUtils; import java.util.List; @@ -325,7 +328,7 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit .setDuration(500) .setInterpolator(mAppearAnimationUtils.getInterpolator()) .translationY(0); - mAppearAnimationUtils.startAnimation( + mAppearAnimationUtils.startAnimation2d( mLockPatternView.getCellStates(), new Runnable() { @Override @@ -353,7 +356,7 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit .setDuration(300) .setInterpolator(mDisappearAnimationUtils.getInterpolator()) .translationY(-mDisappearAnimationUtils.getStartTranslation()); - mDisappearAnimationUtils.startAnimation(mLockPatternView.getCellStates(), + mDisappearAnimationUtils.startAnimation2d(mLockPatternView.getCellStates(), new Runnable() { @Override public void run() { diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPinBasedInputView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPinBasedInputView.java index ed0d4af..23834a3 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardPinBasedInputView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPinBasedInputView.java @@ -150,13 +150,6 @@ public abstract class KeyguardPinBasedInputView extends KeyguardAbsKeyInputView // Set selected property on so the view can send accessibility events. mPasswordEntry.setSelected(true); - // Poke the wakelock any time the text is selected or modified - mPasswordEntry.setOnClickListener(new OnClickListener() { - public void onClick(View v) { - onUserInput(); - } - }); - mPasswordEntry.setUserActivityListener(new PasswordTextView.UserActivityListener() { @Override public void onUserActivity() { diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java index 4ba04e5..3c5dae3 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java @@ -679,6 +679,8 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat if (resolvedActivities.get(0).activityInfo.exported) { intent.putExtra(PrintService.EXTRA_PRINT_JOB_INFO, mPrintJob); intent.putExtra(PrintService.EXTRA_PRINTER_INFO, printer); + intent.putExtra(PrintService.EXTRA_PRINT_JOB_INFO, + mPrintedDocument.getDocumentInfo().info); // This is external activity and may not be there. try { diff --git a/packages/SettingsLib/res/values/dimens.xml b/packages/SettingsLib/res/values/dimens.xml new file mode 100644 index 0000000..1c4b05f --- /dev/null +++ b/packages/SettingsLib/res/values/dimens.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2015 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<resources> + + <!-- The y translation to apply at the start in appear animations. --> + <dimen name="appear_y_translation_start">32dp</dimen> + + <!-- The translation for disappearing security views after having solved them. --> + <dimen name="disappear_y_translation">-32dp</dimen> +</resources>
\ No newline at end of file diff --git a/packages/Keyguard/src/com/android/keyguard/AppearAnimationCreator.java b/packages/SettingsLib/src/com/android/settingslib/animation/AppearAnimationCreator.java index e4706b6..8a61e4e 100644 --- a/packages/Keyguard/src/com/android/keyguard/AppearAnimationCreator.java +++ b/packages/SettingsLib/src/com/android/settingslib/animation/AppearAnimationCreator.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014 The Android Open Source Project + * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,13 +14,13 @@ * limitations under the License */ -package com.android.keyguard; +package com.android.settingslib.animation; import android.view.animation.Interpolator; /** * An interface which can create animations when starting an appear animation with - * {@link com.android.keyguard.AppearAnimationUtils} + * {@link AppearAnimationUtils} */ public interface AppearAnimationCreator<T> { void createAnimation(T animatedObject, long delay, long duration, diff --git a/packages/Keyguard/src/com/android/keyguard/AppearAnimationUtils.java b/packages/SettingsLib/src/com/android/settingslib/animation/AppearAnimationUtils.java index 9045fe3..441474d 100644 --- a/packages/Keyguard/src/com/android/keyguard/AppearAnimationUtils.java +++ b/packages/SettingsLib/src/com/android/settingslib/animation/AppearAnimationUtils.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014 The Android Open Source Project + * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,13 +14,15 @@ * limitations under the License */ -package com.android.keyguard; +package com.android.settingslib.animation; import android.content.Context; import android.view.View; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; +import com.android.settingslib.R; + /** * A class to make nice appear transitions for views in a tabular layout. */ @@ -33,7 +35,7 @@ public class AppearAnimationUtils implements AppearAnimationCreator<View> { private final AppearAnimationProperties mProperties = new AppearAnimationProperties(); protected final float mDelayScale; private final long mDuration; - protected boolean mScaleTranslationWithRow; + protected RowTranslationScaler mRowTranslationScaler; protected boolean mAppearing; public AppearAnimationUtils(Context ctx) { @@ -49,19 +51,18 @@ public class AppearAnimationUtils implements AppearAnimationCreator<View> { R.dimen.appear_y_translation_start) * translationScaleFactor; mDelayScale = delayScaleFactor; mDuration = duration; - mScaleTranslationWithRow = false; mAppearing = true; } - public void startAnimation(View[][] objects, final Runnable finishListener) { - startAnimation(objects, finishListener, this); + public void startAnimation2d(View[][] objects, final Runnable finishListener) { + startAnimation2d(objects, finishListener, this); } public void startAnimation(View[] objects, final Runnable finishListener) { startAnimation(objects, finishListener, this); } - public <T> void startAnimation(T[][] objects, final Runnable finishListener, + public <T> void startAnimation2d(T[][] objects, final Runnable finishListener, AppearAnimationCreator<T> creator) { AppearAnimationProperties properties = getDelays(objects); startAnimations(properties, objects, finishListener, creator); @@ -86,8 +87,13 @@ public class AppearAnimationUtils implements AppearAnimationCreator<View> { if (properties.maxDelayRowIndex == row && properties.maxDelayColIndex == 0) { endRunnable = finishListener; } + float translationScale = mRowTranslationScaler != null + ? mRowTranslationScaler.getRowTranslationScale(row, properties.delays.length) + : 1f; + float translation = translationScale * mStartTranslation; creator.createAnimation(objects[row], delay, mDuration, - mStartTranslation, true /* appearing */, mInterpolator, endRunnable); + mAppearing ? translation : -translation, + mAppearing, mInterpolator, endRunnable); } } @@ -99,10 +105,10 @@ public class AppearAnimationUtils implements AppearAnimationCreator<View> { } for (int row = 0; row < properties.delays.length; row++) { long[] columns = properties.delays[row]; - float translation = mScaleTranslationWithRow - ? (float) (Math.pow((properties.delays.length - row), 2) - / properties.delays.length * mStartTranslation) - : mStartTranslation; + float translationScale = mRowTranslationScaler != null + ? mRowTranslationScaler.getRowTranslationScale(row, properties.delays.length) + : 1f; + float translation = translationScale * mStartTranslation; for (int col = 0; col < columns.length; col++) { long delay = columns[col]; Runnable endRunnable = null; @@ -193,4 +199,8 @@ public class AppearAnimationUtils implements AppearAnimationCreator<View> { public int maxDelayRowIndex; public int maxDelayColIndex; } + + public interface RowTranslationScaler { + float getRowTranslationScale(int row, int numRows); + } } diff --git a/packages/Keyguard/src/com/android/keyguard/DisappearAnimationUtils.java b/packages/SettingsLib/src/com/android/settingslib/animation/DisappearAnimationUtils.java index 517d96a..a444ff0 100644 --- a/packages/Keyguard/src/com/android/keyguard/DisappearAnimationUtils.java +++ b/packages/SettingsLib/src/com/android/settingslib/animation/DisappearAnimationUtils.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014 The Android Open Source Project + * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License */ -package com.android.keyguard; +package com.android.settingslib.animation; import android.content.Context; import android.view.animation.AnimationUtils; @@ -28,17 +28,31 @@ public class DisappearAnimationUtils extends AppearAnimationUtils { public DisappearAnimationUtils(Context ctx) { this(ctx, DEFAULT_APPEAR_DURATION, 1.0f, 1.0f, - AnimationUtils.loadInterpolator(ctx, android.R.interpolator.linear_out_slow_in)); + AnimationUtils.loadInterpolator(ctx, android.R.interpolator.fast_out_linear_in)); } public DisappearAnimationUtils(Context ctx, long duration, float translationScaleFactor, float delayScaleFactor, Interpolator interpolator) { + this(ctx, duration, translationScaleFactor, delayScaleFactor, interpolator, + ROW_TRANSLATION_SCALER); + } + + public DisappearAnimationUtils(Context ctx, long duration, float translationScaleFactor, + float delayScaleFactor, Interpolator interpolator, RowTranslationScaler rowScaler) { super(ctx, duration, translationScaleFactor, delayScaleFactor, interpolator); - mScaleTranslationWithRow = true; + mRowTranslationScaler = rowScaler; mAppearing = false; } protected long calculateDelay(int row, int col) { return (long) ((row * 60 + col * (Math.pow(row, 0.4) + 0.4) * 10) * mDelayScale); } + + private static final RowTranslationScaler ROW_TRANSLATION_SCALER = new RowTranslationScaler() { + + @Override + public float getRowTranslationScale(int row, int numRows) { + return (float) (Math.pow((numRows - row), 2) / numRows); + } + }; } diff --git a/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml b/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml index 456d2f9..9912343 100644 --- a/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml +++ b/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml @@ -3,16 +3,16 @@ ** ** Copyright 2012, The Android Open Source Project ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at ** -** http://www.apache.org/licenses/LICENSE-2.0 +** http://www.apache.org/licenses/LICENSE-2.0 ** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and ** limitations under the License. --> @@ -48,7 +48,7 @@ android:layout_marginStart="2dp" android:visibility="invisible" /> - <Space + <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -80,7 +80,7 @@ android:layout_weight="0" android:contentDescription="@string/accessibility_recent" /> - <Space + <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -120,7 +120,7 @@ android:id="@+id/lights_out" android:visibility="gone" > - <Space + <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -132,6 +132,7 @@ android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_back" /> <ImageView android:layout_width="128dp" android:paddingStart="25dp" android:paddingEnd="25dp" @@ -139,6 +140,7 @@ android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_home" /> <ImageView android:layout_width="128dp" android:paddingStart="25dp" android:paddingEnd="25dp" @@ -147,8 +149,9 @@ android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_recent" /> - <Space + <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -193,7 +196,7 @@ android:layout_marginStart="2dp" android:visibility="invisible" /> - <Space + <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -225,7 +228,7 @@ android:layout_weight="0" android:contentDescription="@string/accessibility_recent" /> - <Space + <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -264,7 +267,7 @@ android:id="@+id/lights_out" android:visibility="gone" > - <Space + <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -276,6 +279,7 @@ android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_back" /> <ImageView android:layout_width="162dp" android:paddingStart="42dp" android:paddingEnd="42dp" @@ -283,6 +287,7 @@ android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_home" /> <ImageView android:layout_width="162dp" android:paddingStart="42dp" android:paddingEnd="42dp" @@ -291,8 +296,9 @@ android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_recent" /> - <Space + <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" diff --git a/packages/SystemUI/res/layout/keyguard_bottom_area.xml b/packages/SystemUI/res/layout/keyguard_bottom_area.xml index 5d0367e..48af565 100644 --- a/packages/SystemUI/res/layout/keyguard_bottom_area.xml +++ b/packages/SystemUI/res/layout/keyguard_bottom_area.xml @@ -33,7 +33,8 @@ android:gravity="center_horizontal" android:textStyle="italic" android:textColor="#ffffff" - android:textAppearance="?android:attr/textAppearanceSmall" /> + android:textAppearance="?android:attr/textAppearanceSmall" + android:accessibilityLiveRegion="polite" /> <FrameLayout android:id="@+id/preview_container" diff --git a/packages/SystemUI/res/layout/navigation_bar.xml b/packages/SystemUI/res/layout/navigation_bar.xml index 898389d..c92ba45 100644 --- a/packages/SystemUI/res/layout/navigation_bar.xml +++ b/packages/SystemUI/res/layout/navigation_bar.xml @@ -4,16 +4,16 @@ ** ** Copyright 2011, The Android Open Source Project ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at ** -** http://www.apache.org/licenses/LICENSE-2.0 +** http://www.apache.org/licenses/LICENSE-2.0 ** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and ** limitations under the License. */ --> @@ -57,7 +57,7 @@ android:scaleType="center" android:contentDescription="@string/accessibility_back" /> - <View + <View android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" @@ -73,7 +73,7 @@ android:scaleType="center" android:contentDescription="@string/accessibility_home" /> - <View + <View android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" @@ -130,8 +130,9 @@ android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_back" /> - <View + <View android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -143,8 +144,9 @@ android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_home" /> - <View + <View android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" @@ -157,6 +159,7 @@ android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_recent" /> </LinearLayout> @@ -180,7 +183,7 @@ android:paddingTop="0dp" > - <LinearLayout + <LinearLayout android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" @@ -225,7 +228,7 @@ android:layout_weight="0" android:contentDescription="@string/accessibility_recent" /> - <View + <View android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1" @@ -241,7 +244,7 @@ android:layout_weight="0" android:contentDescription="@string/accessibility_home" /> - <View + <View android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1" @@ -265,7 +268,7 @@ </LinearLayout> <!-- lights out layout to match exactly --> - <LinearLayout + <LinearLayout android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" @@ -279,8 +282,9 @@ android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_recent" /> - <View + <View android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1" @@ -292,8 +296,9 @@ android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_home" /> - <View + <View android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1" @@ -306,6 +311,7 @@ android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0" + android:contentDescription="@string/accessibility_back" /> </LinearLayout> diff --git a/packages/SystemUI/res/layout/volume_dialog_row.xml b/packages/SystemUI/res/layout/volume_dialog_row.xml index d12bf5d..c6aa588 100644 --- a/packages/SystemUI/res/layout/volume_dialog_row.xml +++ b/packages/SystemUI/res/layout/volume_dialog_row.xml @@ -22,15 +22,15 @@ <TextView android:id="@+id/volume_row_header" - style="?android:attr/textAppearanceButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="1" + android:textAppearance="@style/TextAppearance.Volume.Header" android:paddingBottom="0dp" android:paddingEnd="12dp" - android:paddingStart="13dp" - android:paddingTop="8dp" /> + android:paddingStart="12dp" + android:paddingTop="4dp" /> <com.android.keyguard.AlphaOptimizedImageButton android:id="@+id/volume_row_icon" diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index de5639b..260d81b 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -135,8 +135,6 @@ <!-- The maximum number of items to be displayed in quick settings --> <integer name="quick_settings_detail_max_item_count">7</integer> - <integer name="blinds_pop_duration_ms">10</integer> - <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? --> <bool name="config_show4GForLTE">true</bool> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 10577d8..a0b70f0 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -772,6 +772,9 @@ <!-- Shows when people have clicked on the camera icon [CHAR LIMIT=60] --> <string name="camera_hint">Swipe from icon for camera</string> + <!-- Accessibility content description for Interruption level: None. [CHAR LIMIT=NONE] --> + <string name="interruption_level_none_with_warning">Total silence. This will also silence screen readers.</string> + <!-- Interruption level: None. [CHAR LIMIT=40] --> <string name="interruption_level_none">Total silence</string> @@ -847,7 +850,7 @@ <string name="guest_notification_title">Guest user</string> <!-- Text of the notification shown to a new guest user [CHAR LIMIT=60] --> - <string name="guest_notification_text">Remove guest to delete apps and data</string> + <string name="guest_notification_text">To delete apps and data, remove guest user</string> <!-- Remove action in the notification shown to a new guest user [CHAR LIMIT=30] --> <string name="guest_notification_remove_action">REMOVE GUEST</string> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index bda39b1..67d3312 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -275,6 +275,11 @@ <item name="android:fontFamily">sans-serif</item> </style> + <style name="TextAppearance.Volume.Header"> + <item name="android:textSize">12sp</item> + <item name="android:textColor">@color/volume_slider_inactive</item> + </style> + <style name="TextAppearance.Volume.ZenSummary"> <item name="android:textSize">14sp</item> <item name="android:fontFamily">sans-serif-medium</item> diff --git a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java index fece07f..b0e2afa 100644 --- a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java +++ b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java @@ -25,6 +25,7 @@ import android.media.AudioAttributes; import android.os.Vibrator; import android.util.Log; import android.view.Gravity; +import android.view.HapticFeedbackConstants; import android.view.MotionEvent; import android.view.ScaleGestureDetector; import android.view.ScaleGestureDetector.OnScaleGestureListener; @@ -64,15 +65,6 @@ public class ExpandHelper implements Gefingerpoken { // 2f: maximum brightness is stretching a 1U to 3U, or a 4U to 6U private static final float STRETCH_INTERVAL = 2f; - // level of glow for a touch, without overstretch - // overstretch fills the range (GLOW_BASE, 1.0] - private static final float GLOW_BASE = 0.5f; - - private static final AudioAttributes VIBRATION_ATTRIBUTES = new AudioAttributes.Builder() - .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) - .setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION) - .build(); - @SuppressWarnings("unused") private Context mContext; @@ -94,13 +86,11 @@ public class ExpandHelper implements Gefingerpoken { private float mLastSpanY; private int mTouchSlop; private float mLastMotionY; - private int mPopDuration; private float mPullGestureMinXSpan; private Callback mCallback; private ScaleGestureDetector mSGD; private ViewScaler mScaler; private ObjectAnimator mScaleAnimation; - private Vibrator mVibrator; private boolean mEnabled = true; private ExpandableView mResizedView; private float mCurrentHeight; @@ -174,7 +164,6 @@ public class ExpandHelper implements Gefingerpoken { mScaler = new ViewScaler(); mGravity = Gravity.TOP; mScaleAnimation = ObjectAnimator.ofFloat(mScaler, "height", 0f); - mPopDuration = mContext.getResources().getInteger(R.integer.blinds_pop_duration_ms); mPullGestureMinXSpan = mContext.getResources().getDimension(R.dimen.pull_span_min); final ViewConfiguration configuration = ViewConfiguration.get(mContext); @@ -452,7 +441,9 @@ public class ExpandHelper implements Gefingerpoken { } if (!mHasPopped) { - vibrate(mPopDuration); + if (mEventSource != null) { + mEventSource.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); + } mHasPopped = true; } @@ -600,16 +591,5 @@ public class ExpandHelper implements Gefingerpoken { public void onlyObserveMovements(boolean onlyMovements) { mOnlyMovements = onlyMovements; } - - /** - * Triggers haptic feedback. - */ - private synchronized void vibrate(long duration) { - if (mVibrator == null) { - mVibrator = (android.os.Vibrator) - mContext.getSystemService(Context.VIBRATOR_SERVICE); - } - mVibrator.vibrate(duration, VIBRATION_ATTRIBUTES); - } } diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java index 3e122da..1e7ee98 100644 --- a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java +++ b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java @@ -116,7 +116,6 @@ public class AssistManager { | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); WindowManager.LayoutParams lp = getLayoutParams(); mWindowManager.addView(mView, lp); - mBar.getNavigationBarView().setDelegateView(mView); if (visible) { mView.show(true /* show */, false /* animate */); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java index 25e3d10..49eb9b2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java @@ -360,7 +360,7 @@ public class QSPanel extends ViewGroup { } private void handleShowDetailTile(TileRecord r, boolean show) { - if ((mDetailRecord != null) == show) return; + if ((mDetailRecord != null) == show && mDetailRecord == r) return; if (show) { r.detailAdapter = r.tile.getDetailAdapter(); @@ -373,7 +373,8 @@ public class QSPanel extends ViewGroup { } private void handleShowDetailImpl(Record r, boolean show, int x, int y) { - if ((mDetailRecord != null) == show) return; // already in right state + boolean visibleDiff = (mDetailRecord != null) != show; + if (!visibleDiff && mDetailRecord == r) return; // already in right state DetailAdapter detailAdapter = null; AnimatorListener listener = null; if (show) { @@ -399,7 +400,7 @@ public class QSPanel extends ViewGroup { mContext.getString(detailAdapter.getTitle()))); setDetailRecord(r); listener = mHideGridContentWhenDone; - if (r instanceof TileRecord) { + if (r instanceof TileRecord && visibleDiff) { ((TileRecord) r).openingDetail = true; } } else { @@ -411,7 +412,9 @@ public class QSPanel extends ViewGroup { } sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); fireShowingDetail(show ? detailAdapter : null); - mClipper.animateCircularClip(x, y, show, listener); + if (visibleDiff) { + mClipper.animateCircularClip(x, y, show, listener); + } } private void setGridContentVisibility(boolean visible) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java index c0b3a9b..7cde44c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java @@ -21,15 +21,8 @@ import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.BitmapShader; import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.PorterDuff; -import android.graphics.PorterDuffColorFilter; import android.graphics.RectF; -import android.graphics.Shader; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; @@ -100,7 +93,6 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView private boolean mDark; private int mBgTint = 0; - private final int mRoundedRectCornerRadius; /** * Flag to indicate that the notification has been touched once and the second touch will @@ -126,10 +118,8 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView private NotificationBackgroundView mBackgroundDimmed; private ObjectAnimator mBackgroundAnimator; private RectF mAppearAnimationRect = new RectF(); - private PorterDuffColorFilter mAppearAnimationFilter; private float mAnimationTranslationY; private boolean mDrawingAppearAnimation; - private Paint mAppearPaint = new Paint(); private ValueAnimator mAppearAnimator; private float mAppearAnimationFraction = -1.0f; private float mAppearAnimationTranslation; @@ -151,9 +141,6 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView mLinearInterpolator = new LinearInterpolator(); setClipChildren(false); setClipToPadding(false); - mAppearAnimationFilter = new PorterDuffColorFilter(0, PorterDuff.Mode.SRC_ATOP); - mRoundedRectCornerRadius = getResources().getDimensionPixelSize( - R.dimen.notification_material_rounded_rect_radius); mLegacyColor = context.getColor(R.color.notification_legacy_background_color); mNormalColor = context.getColor(R.color.notification_material_background_color); mLowPriorityColor = context.getColor( @@ -540,9 +527,7 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView private void startAppearAnimation(boolean isAppearing, float translationDirection, long delay, long duration, final Runnable onFinishedRunnable) { - if (mAppearAnimator != null) { - mAppearAnimator.cancel(); - } + cancelAppearAnimation(); mAnimationTranslationY = translationDirection * getActualHeight(); if (mAppearAnimationFraction == -1.0f) { // not initialized yet, we start anew @@ -613,6 +598,17 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView mAppearAnimator.start(); } + private void cancelAppearAnimation() { + if (mAppearAnimator != null) { + mAppearAnimator.cancel(); + } + } + + public void cancelAppearDrawing() { + cancelAppearAnimation(); + enableAppearDrawing(false); + } + private void updateAppearRect() { float inverseFraction = (1.0f - mAppearAnimationFraction); float translationFraction = mCurrentAppearInterpolator.getInterpolation(inverseFraction); @@ -652,20 +648,26 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView } private void updateAppearAnimationAlpha() { - int backgroundColor = getBgColor(); - if (backgroundColor != -1) { - float contentAlphaProgress = mAppearAnimationFraction; - contentAlphaProgress = contentAlphaProgress / (1.0f - ALPHA_ANIMATION_END); - contentAlphaProgress = Math.min(1.0f, contentAlphaProgress); - contentAlphaProgress = mCurrentAlphaInterpolator.getInterpolation(contentAlphaProgress); - int sourceColor = Color.argb((int) (255 * (1.0f - contentAlphaProgress)), - Color.red(backgroundColor), Color.green(backgroundColor), - Color.blue(backgroundColor)); - mAppearAnimationFilter.setColor(sourceColor); - mAppearPaint.setColorFilter(mAppearAnimationFilter); + float contentAlphaProgress = mAppearAnimationFraction; + contentAlphaProgress = contentAlphaProgress / (1.0f - ALPHA_ANIMATION_END); + contentAlphaProgress = Math.min(1.0f, contentAlphaProgress); + contentAlphaProgress = mCurrentAlphaInterpolator.getInterpolation(contentAlphaProgress); + setContentAlpha(contentAlphaProgress); + } + + private void setContentAlpha(float contentAlpha) { + int layerType = contentAlpha == 0.0f || contentAlpha == 1.0f ? LAYER_TYPE_NONE + : LAYER_TYPE_HARDWARE; + View contentView = getContentView(); + int currentLayerType = contentView.getLayerType(); + if (currentLayerType != layerType) { + contentView.setLayerType(layerType, null); } + contentView.setAlpha(contentAlpha); } + protected abstract View getContentView(); + private int getBgColor() { if (mBgTint != 0) { return mBgTint; @@ -699,41 +701,24 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView */ private void enableAppearDrawing(boolean enable) { if (enable != mDrawingAppearAnimation) { - if (enable) { - if (getWidth() == 0 || getActualHeight() == 0) { - // TODO: This should not happen, but it can during expansion. Needs - // investigation - return; - } - Bitmap bitmap = Bitmap.createBitmap(getWidth(), getActualHeight(), - Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(bitmap); - draw(canvas); - mAppearPaint.setShader(new BitmapShader(bitmap, Shader.TileMode.CLAMP, - Shader.TileMode.CLAMP)); - } else { - mAppearPaint.setShader(null); - } mDrawingAppearAnimation = enable; + if (!enable) { + setContentAlpha(1.0f); + } invalidate(); } } @Override protected void dispatchDraw(Canvas canvas) { - if (!mDrawingAppearAnimation) { - super.dispatchDraw(canvas); - } else { - drawAppearRect(canvas); + if (mDrawingAppearAnimation) { + canvas.save(); + canvas.translate(0, mAppearAnimationTranslation); + } + super.dispatchDraw(canvas); + if (mDrawingAppearAnimation) { + canvas.restore(); } - } - - private void drawAppearRect(Canvas canvas) { - canvas.save(); - canvas.translate(0, mAppearAnimationTranslation); - canvas.drawRoundRect(mAppearAnimationRect, mRoundedRectCornerRadius, - mRoundedRectCornerRadius, mAppearPaint); - canvas.restore(); } public void setOnActivatedListener(OnActivatedListener onActivatedListener) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 22d1287..85b4a64 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -1855,11 +1855,8 @@ public abstract class BaseStatusBar extends SystemUI implements } } - if (onKeyguard && mKeyguardIconOverflowContainer.getIconsView().getChildCount() > 0) { - mKeyguardIconOverflowContainer.setVisibility(View.VISIBLE); - } else { - mKeyguardIconOverflowContainer.setVisibility(View.GONE); - } + mStackScroller.updateOverflowContainerVisibility(onKeyguard + && mKeyguardIconOverflowContainer.getIconsView().getChildCount() > 0); mStackScroller.changeViewPosition(mDismissView, mStackScroller.getChildCount() - 1); mStackScroller.changeViewPosition(mEmptyShadeView, mStackScroller.getChildCount() - 2); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/DelegateViewHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/DelegateViewHelper.java deleted file mode 100644 index 2dc521e..0000000 --- a/packages/SystemUI/src/com/android/systemui/statusbar/DelegateViewHelper.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.statusbar; - -import android.app.StatusBarManager; -import android.content.res.Resources; -import android.graphics.RectF; -import android.view.MotionEvent; -import android.view.View; -import com.android.systemui.R; -import com.android.systemui.statusbar.phone.PhoneStatusBar; - -public class DelegateViewHelper { - private View mDelegateView; - private View mSourceView; - private PhoneStatusBar mBar; - private int[] mTempPoint = new int[2]; - private float[] mDownPoint = new float[2]; - private float mTriggerThreshhold; - private boolean mPanelShowing; - - RectF mInitialTouch = new RectF(); - private boolean mStarted; - private boolean mSwapXY = false; - private boolean mDisabled; - - public DelegateViewHelper(View sourceView) { - setSourceView(sourceView); - } - - public void setDelegateView(View view) { - mDelegateView = view; - } - - public void setBar(PhoneStatusBar phoneStatusBar) { - mBar = phoneStatusBar; - } - - public boolean onInterceptTouchEvent(MotionEvent event) { - if (mSourceView == null || mDelegateView == null || mBar.shouldDisableNavbarGestures()) { - return false; - } - - mSourceView.getLocationOnScreen(mTempPoint); - final float sourceX = mTempPoint[0]; - final float sourceY = mTempPoint[1]; - - final int action = event.getAction(); - switch (action) { - case MotionEvent.ACTION_DOWN: - mPanelShowing = mDelegateView.getVisibility() == View.VISIBLE; - mDownPoint[0] = event.getX(); - mDownPoint[1] = event.getY(); - mStarted = mInitialTouch.contains(mDownPoint[0] + sourceX, mDownPoint[1] + sourceY); - break; - } - - if (!mStarted) { - return false; - } - - if (!mDisabled && !mPanelShowing && action == MotionEvent.ACTION_MOVE) { - final int historySize = event.getHistorySize(); - for (int k = 0; k < historySize + 1; k++) { - float x = k < historySize ? event.getHistoricalX(k) : event.getX(); - float y = k < historySize ? event.getHistoricalY(k) : event.getY(); - final float distance = mSwapXY ? (mDownPoint[0] - x) : (mDownPoint[1] - y); - if (distance > mTriggerThreshhold) { - mBar.invokeAssistGesture(false /* vibrate */); - mPanelShowing = true; - break; - } - } - } - - if (action == MotionEvent.ACTION_DOWN) { - mBar.setInteracting(StatusBarManager.WINDOW_NAVIGATION_BAR, true); - } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { - mBar.setInteracting(StatusBarManager.WINDOW_NAVIGATION_BAR, false); - } - - mDelegateView.getLocationOnScreen(mTempPoint); - final float delegateX = mTempPoint[0]; - final float delegateY = mTempPoint[1]; - - float deltaX = sourceX - delegateX; - float deltaY = sourceY - delegateY; - event.offsetLocation(deltaX, deltaY); - mDelegateView.dispatchTouchEvent(event); - event.offsetLocation(-deltaX, -deltaY); - return mPanelShowing; - } - - public void abortCurrentGesture() { - if (mStarted) { - mStarted = false; - mBar.setInteracting(StatusBarManager.WINDOW_NAVIGATION_BAR, false); - } - } - - public void setSourceView(View view) { - mSourceView = view; - if (mSourceView != null) { - Resources r = mSourceView.getContext().getResources(); - mTriggerThreshhold = r.getDimensionPixelSize(R.dimen.navigation_bar_min_swipe_distance); - } - } - - /** - * Selects the initial touch region based on a list of views. This is meant to be called by - * a container widget on children over which the initial touch should be detected. Note this - * will compute a minimum bound that contains all specified views. - * - * @param views - */ - public void setInitialTouchRegion(View ... views) { - RectF bounds = new RectF(); - int p[] = new int[2]; - for (int i = 0; i < views.length; i++) { - View view = views[i]; - if (view == null) continue; - view.getLocationOnScreen(p); - if (i == 0) { - bounds.set(p[0], p[1], p[0] + view.getWidth(), p[1] + view.getHeight()); - } else { - bounds.union(p[0], p[1], p[0] + view.getWidth(), p[1] + view.getHeight()); - } - } - mInitialTouch.set(bounds); - } - - /** - * When rotation is set to NO_SENSOR, then this allows swapping x/y for gesture detection - * @param swap - */ - public void setSwapXY(boolean swap) { - mSwapXY = swap; - } - - public void setDisabled(boolean disabled) { - mDisabled = disabled; - } -}
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index d444ea8..b88e5ca 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -856,6 +856,11 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { } @Override + protected View getContentView() { + return getShowingLayout(); + } + + @Override public void setActualHeight(int height, boolean notifyListeners) { super.setActualHeight(height, notifyListeners); int contentHeight = calculateContentHeightFromActualHeight(height); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java index a18fff2..d77e050 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java @@ -24,16 +24,21 @@ import android.util.AttributeSet; import android.view.View; import android.view.ViewOutlineProvider; +import com.android.systemui.R; + /** * Like {@link ExpandableView}, but setting an outline for the height and clipping. */ public abstract class ExpandableOutlineView extends ExpandableView { private final Rect mOutlineRect = new Rect(); + protected final int mRoundedRectCornerRadius; private boolean mCustomOutline; public ExpandableOutlineView(Context context, AttributeSet attrs) { super(context, attrs); + mRoundedRectCornerRadius = getResources().getDimensionPixelSize( + R.dimen.notification_material_rounded_rect_radius); setOutlineProvider(new ViewOutlineProvider() { @Override public void getOutline(View view, Outline outline) { @@ -43,7 +48,7 @@ public abstract class ExpandableOutlineView extends ExpandableView { getWidth(), Math.max(getActualHeight(), mClipTopAmount)); } else { - outline.setRect(mOutlineRect); + outline.setRoundRect(mOutlineRect, mRoundedRectCornerRadius); } } }); @@ -66,12 +71,14 @@ public abstract class ExpandableOutlineView extends ExpandableView { setOutlineRect(rect.left, rect.top, rect.right, rect.bottom); } else { mCustomOutline = false; + setClipToOutline(false); invalidateOutline(); } } protected void setOutlineRect(float left, float top, float right, float bottom) { mCustomOutline = true; + setClipToOutline(true); mOutlineRect.set((int) left, (int) top, (int) right, (int) bottom); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java index 3feec9e..03d0482 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java @@ -43,6 +43,7 @@ public abstract class ExpandableView extends FrameLayout { private ArrayList<View> mMatchParentViews = new ArrayList<View>(); private int mClipTopOptimization; private static Rect mClipRect = new Rect(); + private boolean mWillBeGone; public ExpandableView(Context context, AttributeSet attrs) { super(context, attrs); @@ -339,6 +340,12 @@ public abstract class ExpandableView extends FrameLayout { outRect.top += getTranslationY() + getClipTopAmount(); } + @Override + public void getBoundsOnScreen(Rect outRect, boolean clipToParent) { + super.getBoundsOnScreen(outRect, clipToParent); + outRect.bottom = (int) (outRect.top + getActualHeight()); + } + public int getContentHeight() { return mActualHeight - getBottomDecorHeight(); } @@ -374,6 +381,14 @@ public abstract class ExpandableView extends FrameLayout { updateClipping(); } + public boolean willBeGone() { + return mWillBeGone; + } + + public void setWillBeGone(boolean willBeGone) { + mWillBeGone = willBeGone; + } + /** * A listener notifying when {@link #getActualHeight} changes. */ diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowContainer.java index 5fa7070..9653b67 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowContainer.java @@ -18,6 +18,7 @@ package com.android.systemui.statusbar; import android.content.Context; import android.util.AttributeSet; +import android.view.View; import android.widget.TextView; import com.android.systemui.R; @@ -32,6 +33,7 @@ public class NotificationOverflowContainer extends ActivatableNotificationView { private NotificationOverflowIconsView mIconsView; private ViewInvertHelper mViewInvertHelper; private boolean mDark; + private View mContent; public NotificationOverflowContainer(Context context, AttributeSet attrs) { super(context, attrs); @@ -43,7 +45,8 @@ public class NotificationOverflowContainer extends ActivatableNotificationView { mIconsView = (NotificationOverflowIconsView) findViewById(R.id.overflow_icons_view); mIconsView.setMoreText((TextView) findViewById(R.id.more_text)); mIconsView.setOverflowIndicator(findViewById(R.id.more_icon_overflow)); - mViewInvertHelper = new ViewInvertHelper(findViewById(R.id.content), + mContent = findViewById(R.id.content); + mViewInvertHelper = new ViewInvertHelper(mContent, NotificationPanelView.DOZE_ANIMATION_DURATION); } @@ -59,6 +62,11 @@ public class NotificationOverflowContainer extends ActivatableNotificationView { } } + @Override + protected View getContentView() { + return mContent; + } + public NotificationOverflowIconsView getIconsView() { return mIconsView; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StackScrollerDecorView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StackScrollerDecorView.java index 64d80cc..2f66c41 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StackScrollerDecorView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StackScrollerDecorView.java @@ -32,7 +32,6 @@ public abstract class StackScrollerDecorView extends ExpandableView { protected View mContent; private boolean mIsVisible; private boolean mAnimating; - private boolean mWillBeGone; public StackScrollerDecorView(Context context, AttributeSet attrs) { super(context, attrs); @@ -134,13 +133,5 @@ public abstract class StackScrollerDecorView extends ExpandableView { mContent.animate().cancel(); } - public boolean willBeGone() { - return mWillBeGone; - } - - public void setWillBeGone(boolean willBeGone) { - mWillBeGone = willBeGone; - } - protected abstract View findContentView(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 636c511..f40f501 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -47,7 +47,6 @@ import android.widget.ImageView; import android.widget.LinearLayout; import com.android.systemui.R; -import com.android.systemui.statusbar.DelegateViewHelper; import com.android.systemui.statusbar.policy.DeadZone; import com.android.systemui.statusbar.policy.KeyButtonView; @@ -79,7 +78,6 @@ public class NavigationBarView extends LinearLayout { private Drawable mRecentLandIcon; private NavigationBarViewTaskSwitchHelper mTaskSwitchHelper; - private DelegateViewHelper mDelegateHelper; private DeadZone mDeadZone; private final NavigationBarTransitions mBarTransitions; @@ -92,7 +90,6 @@ public class NavigationBarView extends LinearLayout { private OnVerticalChangedListener mOnVerticalChangedListener; private boolean mIsLayoutRtl; - private boolean mDelegateIntercepted; private class NavTransitionListener implements TransitionListener { private boolean mBackTransitioning; @@ -180,7 +177,6 @@ public class NavigationBarView extends LinearLayout { mBarSize = res.getDimensionPixelSize(R.dimen.navigation_bar_size); mVertical = false; mShowMenu = false; - mDelegateHelper = new DelegateViewHelper(this); mTaskSwitchHelper = new NavigationBarViewTaskSwitchHelper(context); getIcons(res); @@ -192,13 +188,8 @@ public class NavigationBarView extends LinearLayout { return mBarTransitions; } - public void setDelegateView(View view) { - mDelegateHelper.setDelegateView(view); - } - public void setBar(PhoneStatusBar phoneStatusBar) { mTaskSwitchHelper.setBar(phoneStatusBar); - mDelegateHelper.setBar(phoneStatusBar); } public void setOnVerticalChangedListener(OnVerticalChangedListener onVerticalChangedListener) { @@ -208,44 +199,21 @@ public class NavigationBarView extends LinearLayout { @Override public boolean onTouchEvent(MotionEvent event) { - initDownStates(event); - if (!mDelegateIntercepted && mTaskSwitchHelper.onTouchEvent(event)) { + if (mTaskSwitchHelper.onTouchEvent(event)) { return true; } if (mDeadZone != null && event.getAction() == MotionEvent.ACTION_OUTSIDE) { mDeadZone.poke(event); } - if (mDelegateHelper != null && mDelegateIntercepted) { - boolean ret = mDelegateHelper.onInterceptTouchEvent(event); - if (ret) return true; - } return super.onTouchEvent(event); } - private void initDownStates(MotionEvent ev) { - if (ev.getAction() == MotionEvent.ACTION_DOWN) { - mDelegateIntercepted = false; - } - } - @Override public boolean onInterceptTouchEvent(MotionEvent event) { - initDownStates(event); - boolean intercept = mTaskSwitchHelper.onInterceptTouchEvent(event); - if (!intercept) { - mDelegateIntercepted = mDelegateHelper.onInterceptTouchEvent(event); - intercept = mDelegateIntercepted; - } else { - MotionEvent cancelEvent = MotionEvent.obtain(event); - cancelEvent.setAction(MotionEvent.ACTION_CANCEL); - mDelegateHelper.onInterceptTouchEvent(cancelEvent); - cancelEvent.recycle(); - } - return intercept; + return mTaskSwitchHelper.onInterceptTouchEvent(event); } public void abortCurrentGesture() { - mDelegateHelper.abortCurrentGesture(); getHomeButton().abortCurrentGesture(); } @@ -461,10 +429,6 @@ public class NavigationBarView extends LinearLayout { Log.d(TAG, "reorient(): rot=" + mDisplay.getRotation()); } - // swap to x coordinate if orientation is not in vertical - if (mDelegateHelper != null) { - mDelegateHelper.setSwapXY(mVertical); - } updateTaskSwitchHelper(); setNavigationIconHints(mNavigationIconHints, true); @@ -476,12 +440,6 @@ public class NavigationBarView extends LinearLayout { } @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - super.onLayout(changed, l, t, r, b); - mDelegateHelper.setInitialTouchRegion(getHomeButton(), getBackButton(), getRecentsButton()); - } - - @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { if (DEBUG) Log.d(TAG, String.format( "onSizeChanged: (%dx%d) old: (%dx%d)", w, h, oldw, oldh)); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 9e1af82..a750572 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -487,6 +487,7 @@ public class NotificationPanelView extends PanelView implements mStatusBar.dismissPopups(); mNotificationStackScroller.setOverScrollAmount(0f, true /* onTop */, false /* animate */, true /* cancelAnimators */); + mNotificationStackScroller.resetScrollPosition(); } public void closeQs() { @@ -1716,12 +1717,16 @@ public class NotificationPanelView extends PanelView implements float alphaQsExpansion = 1 - Math.min(1, getQsExpansionFraction() * 2); mKeyguardStatusBar.setAlpha(Math.min(getKeyguardContentsAlpha(), alphaQsExpansion) * mKeyguardStatusBarAnimateAlpha); + mKeyguardStatusBar.setVisibility(mKeyguardStatusBar.getAlpha() != 0f ? VISIBLE : INVISIBLE); setQsTranslation(mQsExpansionHeight); } private void updateKeyguardBottomAreaAlpha() { - mKeyguardBottomArea.setAlpha( - Math.min(getKeyguardContentsAlpha(), 1 - getQsExpansionFraction())); + float alpha = Math.min(getKeyguardContentsAlpha(), 1 - getQsExpansionFraction()); + mKeyguardBottomArea.setAlpha(alpha); + mKeyguardBottomArea.setImportantForAccessibility(alpha == 0f + ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS + : IMPORTANT_FOR_ACCESSIBILITY_AUTO); } private float getNotificationsTopY() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java index 54bd3e9..552a0b2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java @@ -81,10 +81,13 @@ public class PanelBar extends FrameLayout { } public void setBouncerShowing(boolean showing) { + int important = showing ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS + : IMPORTANT_FOR_ACCESSIBILITY_AUTO; + + setImportantForAccessibility(important); + if (mPanelHolder != null) { - mPanelHolder.setImportantForAccessibility( - showing ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS - : IMPORTANT_FOR_ACCESSIBILITY_AUTO); + mPanelHolder.setImportantForAccessibility(important); } } 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 a5b18f9..33e8e59 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -707,7 +707,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, R.layout.status_bar_notification_keyguard_overflow, mStackScroller, false); mKeyguardIconOverflowContainer.setOnActivatedListener(this); mKeyguardIconOverflowContainer.setOnClickListener(mOverflowClickListener); - mStackScroller.addView(mKeyguardIconOverflowContainer); + mStackScroller.setOverflowContainer(mKeyguardIconOverflowContainer); SpeedBumpView speedBump = (SpeedBumpView) LayoutInflater.from(mContext).inflate( R.layout.status_bar_notification_speed_bump, mStackScroller, false); @@ -1861,6 +1861,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, public void setQsExpanded(boolean expanded) { mStatusBarWindowManager.setQsExpanded(expanded); + mKeyguardStatusView.setImportantForAccessibility(expanded + ? View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS + : View.IMPORTANT_FOR_ACCESSIBILITY_AUTO); } public boolean isGoingToNotificationShade() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java index 6e30803..98bbe7c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java @@ -552,6 +552,7 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL } public void updateEntry() { + mSortedEntries.remove(HeadsUpEntry.this); long currentTime = mClock.currentTimeMillis(); earliestRemovaltime = currentTime + mMinimumDisplayTime; postTime = Math.max(postTime, currentTime); @@ -561,13 +562,13 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL long removeDelay = Math.max(finishTime - currentTime, mMinimumDisplayTime); mHandler.postDelayed(mRemoveHeadsUpRunnable, removeDelay); } - updateSortOrder(HeadsUpEntry.this); + mSortedEntries.add(HeadsUpEntry.this); } @Override public int compareTo(HeadsUpEntry o) { return postTime < o.postTime ? 1 - : postTime == o.postTime ? 0 + : postTime == o.postTime ? entry.key.compareTo(o.entry.key) : -1; } @@ -592,16 +593,6 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL } } - /** - * Update the sorted heads up order. - * - * @param headsUpEntry the headsUp that changed - */ - private void updateSortOrder(HeadsUpEntry headsUpEntry) { - mSortedEntries.remove(headsUpEntry); - mSortedEntries.add(headsUpEntry); - } - public static class Clock { public long currentTimeMillis() { return SystemClock.elapsedRealtime(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java index 1460e5f..5cf6156 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java @@ -30,7 +30,7 @@ import android.view.ViewStub; import android.view.animation.AnimationUtils; import android.widget.FrameLayout; -import com.android.keyguard.AppearAnimationUtils; +import com.android.settingslib.animation.AppearAnimationUtils; import com.android.systemui.R; import com.android.systemui.qs.tiles.UserDetailItemView; import com.android.systemui.statusbar.phone.KeyguardStatusBarView; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java index d8f6bcd..1bf4547 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -43,6 +43,7 @@ import com.android.systemui.statusbar.EmptyShadeView; import com.android.systemui.statusbar.ExpandableNotificationRow; import com.android.systemui.statusbar.ExpandableView; import com.android.systemui.statusbar.NotificationData; +import com.android.systemui.statusbar.NotificationOverflowContainer; import com.android.systemui.statusbar.SpeedBumpView; import com.android.systemui.statusbar.StackScrollerDecorView; import com.android.systemui.statusbar.StatusBarState; @@ -226,6 +227,7 @@ public class NotificationStackScrollLayout extends ViewGroup private boolean mTrackingHeadsUp; private ScrimController mScrimController; private boolean mForceNoOverlappingRendering; + private NotificationOverflowContainer mOverflowContainer; public NotificationStackScrollLayout(Context context) { this(context, null); @@ -1368,17 +1370,11 @@ public class NotificationStackScrollLayout extends ViewGroup int childCount = getChildCount(); int count = 0; for (int i = 0; i < childCount; i++) { - View child = getChildAt(i); - if (child.getVisibility() != View.GONE) { + ExpandableView child = (ExpandableView) getChildAt(i); + if (child.getVisibility() != View.GONE && !child.willBeGone()) { count++; } } - if (mDismissView.willBeGone()) { - count--; - } - if (mEmptyShadeView.willBeGone()) { - count--; - } return count; } @@ -2234,6 +2230,11 @@ public class NotificationStackScrollLayout extends ViewGroup } } + public void resetScrollPosition() { + mScroller.abortAnimation(); + mOwnScrollY = 0; + } + private void setIsExpanded(boolean isExpanded) { boolean changed = isExpanded != mIsExpanded; mIsExpanded = isExpanded; @@ -2291,6 +2292,10 @@ public class NotificationStackScrollLayout extends ViewGroup public void onChildAnimationFinished() { requestChildrenUpdate(); + runAnimationFinishedRunnables(); + } + + private void runAnimationFinishedRunnables() { for (Runnable runnable : mAnimationFinishedRunnables) { runnable.run(); } @@ -2348,6 +2353,7 @@ public class NotificationStackScrollLayout extends ViewGroup if (mListener != null) { mListener.onChildLocationsChanged(this); } + runAnimationFinishedRunnables(); } public void setSpeedBumpView(SpeedBumpView speedBumpView) { @@ -2470,7 +2476,7 @@ public class NotificationStackScrollLayout extends ViewGroup mEmptyShadeView.setVisibility(newVisibility); mEmptyShadeView.setWillBeGone(false); updateContentHeight(); - notifyHeightChangeListener(mDismissView); + notifyHeightChangeListener(mEmptyShadeView); } else { Runnable onFinishedRunnable = new Runnable() { @Override @@ -2478,7 +2484,7 @@ public class NotificationStackScrollLayout extends ViewGroup mEmptyShadeView.setVisibility(GONE); mEmptyShadeView.setWillBeGone(false); updateContentHeight(); - notifyHeightChangeListener(mDismissView); + notifyHeightChangeListener(mEmptyShadeView); } }; if (mAnimationsEnabled) { @@ -2492,6 +2498,45 @@ public class NotificationStackScrollLayout extends ViewGroup } } + public void setOverflowContainer(NotificationOverflowContainer overFlowContainer) { + mOverflowContainer = overFlowContainer; + addView(mOverflowContainer); + } + + public void updateOverflowContainerVisibility(boolean visible) { + int oldVisibility = mOverflowContainer.willBeGone() ? GONE + : mOverflowContainer.getVisibility(); + final int newVisibility = visible ? VISIBLE : GONE; + if (oldVisibility != newVisibility) { + Runnable onFinishedRunnable = new Runnable() { + @Override + public void run() { + mOverflowContainer.setVisibility(newVisibility); + mOverflowContainer.setWillBeGone(false); + updateContentHeight(); + notifyHeightChangeListener(mOverflowContainer); + } + }; + if (!mAnimationsEnabled || !mIsExpanded) { + mOverflowContainer.cancelAppearDrawing(); + onFinishedRunnable.run(); + } else if (newVisibility != GONE) { + mOverflowContainer.performAddAnimation(0, + StackStateAnimator.ANIMATION_DURATION_STANDARD); + mOverflowContainer.setVisibility(newVisibility); + mOverflowContainer.setWillBeGone(false); + updateContentHeight(); + notifyHeightChangeListener(mOverflowContainer); + } else { + mOverflowContainer.performRemoveAnimation( + StackStateAnimator.ANIMATION_DURATION_STANDARD, + 0.0f, + onFinishedRunnable); + mOverflowContainer.setWillBeGone(true); + } + } + } + public void updateDismissView(boolean visible) { int oldVisibility = mDismissView.willBeGone() ? GONE : mDismissView.getVisibility(); int newVisibility = visible ? VISIBLE : GONE; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java index feae590..a70ad43 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java @@ -210,7 +210,10 @@ public class StackScrollState { int oldVisibility = view.getVisibility(); int newVisibility = becomesInvisible ? View.INVISIBLE : View.VISIBLE; if (newVisibility != oldVisibility) { - view.setVisibility(newVisibility); + if (!(view instanceof ExpandableView) || !((ExpandableView) view).willBeGone()) { + // We don't want views to change visibility when they are animating to GONE + view.setVisibility(newVisibility); + } } // apply yTranslation diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java index c31244c..c995c8e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java @@ -285,6 +285,10 @@ public class StackStateAnimator { boolean scaleChanging = child.getScaleX() != viewState.scale; float childAlpha = child.getVisibility() == View.INVISIBLE ? 0.0f : child.getAlpha(); boolean alphaChanging = viewState.alpha != childAlpha; + if (child instanceof ExpandableView) { + // We don't want views to change visibility when they are animating to GONE + alphaChanging &= !((ExpandableView) child).willBeGone(); + } // start translationY animation if (yTranslationChanging) { diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java index 29bea4d..49278c5 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java @@ -524,6 +524,7 @@ public class VolumeDialog { } } Util.setVisOrInvis(row.settingsButton, false); + updateVolumeRowHeaderVisibleH(row); row.header.setAlpha(mExpanded && isActive ? 1 : 0.5f); updateVolumeRowSliderTintH(row, isActive); } @@ -606,25 +607,22 @@ public class VolumeDialog { } // update header visible - if (row.cachedShowHeaders != mShowHeaders) { - row.cachedShowHeaders = mShowHeaders; - Util.setVisOrGone(row.header, mShowHeaders); - } + updateVolumeRowHeaderVisibleH(row); // update header text - final String text; - if (isRingZenNone) { - text = mContext.getString(R.string.volume_stream_muted_dnd, ss.name); - } else if (isRingVibrate && isRingLimited) { - text = mContext.getString(R.string.volume_stream_vibrate_dnd, ss.name); - } else if (isRingVibrate) { - text = mContext.getString(R.string.volume_stream_vibrate, ss.name); - } else if (ss.muted || mAutomute && ss.level == 0) { - text = mContext.getString(R.string.volume_stream_muted, ss.name); - } else if (isRingLimited) { - text = mContext.getString(R.string.volume_stream_limited_dnd, ss.name); - } else { - text = ss.name; + String text = ss.name; + if (mShowHeaders) { + if (isRingZenNone) { + text = mContext.getString(R.string.volume_stream_muted_dnd, ss.name); + } else if (isRingVibrate && isRingLimited) { + text = mContext.getString(R.string.volume_stream_vibrate_dnd, ss.name); + } else if (isRingVibrate) { + text = mContext.getString(R.string.volume_stream_vibrate, ss.name); + } else if (ss.muted || mAutomute && ss.level == 0) { + text = mContext.getString(R.string.volume_stream_muted, ss.name); + } else if (isRingLimited) { + text = mContext.getString(R.string.volume_stream_limited_dnd, ss.name); + } } Util.setText(row.header, text); @@ -663,6 +661,15 @@ public class VolumeDialog { updateVolumeRowSliderH(row, enableSlider, vlevel); } + private void updateVolumeRowHeaderVisibleH(VolumeRow row) { + final boolean dynamic = row.ss != null && row.ss.dynamic; + final boolean showHeaders = mShowHeaders || mExpanded && dynamic; + if (row.cachedShowHeaders != showHeaders) { + row.cachedShowHeaders = showHeaders; + Util.setVisOrGone(row.header, showHeaders); + } + } + private void updateVolumeRowSliderTintH(VolumeRow row, boolean isActive) { final ColorStateList tint = isActive && row.slider.isEnabled() ? mActiveSliderTint : mInactiveSliderTint; diff --git a/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java b/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java index ced1a3c..a0eb61f 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java +++ b/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java @@ -153,7 +153,7 @@ public class ZenModePanel extends LinearLayout { mZenButtons = (SegmentedButtons) findViewById(R.id.zen_buttons); mZenButtons.addButton(R.string.interruption_level_none_twoline, - R.string.interruption_level_none, + R.string.interruption_level_none_with_warning, Global.ZEN_MODE_NO_INTERRUPTIONS); mZenButtons.addButton(R.string.interruption_level_alarms_twoline, R.string.interruption_level_alarms, diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 2f68aa8..9c6e16f 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -100,6 +100,7 @@ import android.util.Xml; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.net.LegacyVpnInfo; import com.android.internal.net.NetworkStatsFactory; @@ -768,7 +769,8 @@ public class ConnectivityService extends IConnectivityManager.Stub return mNextNetworkRequestId++; } - private int reserveNetId() { + @VisibleForTesting + protected int reserveNetId() { synchronized (mNetworkForNetId) { for (int i = MIN_NET_ID; i <= MAX_NET_ID; i++) { int netId = mNextNetId; @@ -1665,6 +1667,7 @@ public class ConnectivityService extends IConnectivityManager.Stub private static final String DEFAULT_TCP_RWND_KEY = "net.tcp.default_init_rwnd"; // Overridden for testing purposes to avoid writing to SystemProperties. + @VisibleForTesting protected int getDefaultTcpRwnd() { return SystemProperties.getInt(DEFAULT_TCP_RWND_KEY, 0); } diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 9dbd8e7..aa7d1f8 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -28,12 +28,15 @@ import static org.xmlpull.v1.XmlPullParser.START_TAG; import android.Manifest; import android.app.ActivityManagerNative; import android.app.AppOpsManager; +import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.pm.IPackageMoveObserver; import android.content.pm.PackageManager; +import android.content.pm.UserInfo; import android.content.res.Configuration; import android.content.res.ObbInfo; import android.mtp.MtpStorage; @@ -618,6 +621,26 @@ class MountService extends IMountService.Stub private final Handler mHandler; + private BroadcastReceiver mUserReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1); + + try { + if (Intent.ACTION_USER_ADDED.equals(action)) { + final UserManager um = mContext.getSystemService(UserManager.class); + final int userSerialNumber = um.getUserSerialNumber(userId); + mConnector.execute("volume", "user_added", userId, userSerialNumber); + } else if (Intent.ACTION_USER_REMOVED.equals(action)) { + mConnector.execute("volume", "user_removed", userId); + } + } catch (NativeDaemonConnectorException e) { + Slog.w(TAG, "Failed to send user details to vold", e); + } + } + }; + @Override public void waitForAsecScan() { waitForLatch(mAsecsScanned, "mAsecsScanned"); @@ -673,8 +696,15 @@ class MountService extends IMountService.Stub try { mConnector.execute("volume", "reset"); + + // Tell vold about all existing and started users + final UserManager um = mContext.getSystemService(UserManager.class); + final List<UserInfo> users = um.getUsers(); + for (UserInfo user : users) { + mConnector.execute("volume", "user_added", user.id, user.serialNumber); + } for (int userId : mStartedUsers) { - mConnector.execute("volume", "start_user", userId); + mConnector.execute("volume", "user_started", userId); } } catch (NativeDaemonConnectorException e) { Slog.w(TAG, "Failed to reset vold", e); @@ -689,7 +719,7 @@ class MountService extends IMountService.Stub // staging area is ready so it's ready for zygote-forked apps to // bind mount against. try { - mConnector.execute("volume", "start_user", userId); + mConnector.execute("volume", "user_started", userId); } catch (NativeDaemonConnectorException ignored) { } @@ -714,7 +744,7 @@ class MountService extends IMountService.Stub Slog.d(TAG, "onCleanupUser " + userId); try { - mConnector.execute("volume", "cleanup_user", userId); + mConnector.execute("volume", "user_stopped", userId); } catch (NativeDaemonConnectorException ignored) { } @@ -1208,6 +1238,11 @@ class MountService extends IMountService.Stub Thread crypt_thread = new Thread(mCryptConnector, CRYPTD_TAG); crypt_thread.start(); + final IntentFilter userFilter = new IntentFilter(); + userFilter.addAction(Intent.ACTION_USER_ADDED); + userFilter.addAction(Intent.ACTION_USER_REMOVED); + mContext.registerReceiver(mUserReceiver, userFilter, null, mHandler); + // Add ourself to the Watchdog monitors if enabled. if (WATCHDOG_ENABLE) { Watchdog.getInstance().addMonitor(this); diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 577a4f9..23e62e2 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -2019,15 +2019,22 @@ public final class ActivityStackSupervisor implements DisplayListener { r, top.task); top.deliverNewIntentLocked(callingUid, r.intent, r.launchedFromPackage); } else { - // A special case: we need to - // start the activity because it is not currently - // running, and the caller has asked to clear the - // current task to have this activity at the top. + // A special case: we need to start the activity because it is not + // currently running, and the caller has asked to clear the current + // task to have this activity at the top. addingToTask = true; - // Now pretend like this activity is being started - // by the top of its task, so it is put in the - // right place. + // Now pretend like this activity is being started by the top of its + // task, so it is put in the right place. sourceRecord = intentActivity; + TaskRecord task = sourceRecord.task; + if (task != null && task.stack == null) { + // Target stack got cleared when we all activities were removed + // above. Go ahead and reset it. + targetStack = computeStackFocus(sourceRecord, false /* newTask */); + targetStack.addTask( + task, !launchTaskBehind /* toTop */, false /* moving */); + } + } } else if (r.realActivity.equals(intentActivity.task.realActivity)) { // In this case the top activity on the task is the diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 7440b8c..b2ab797 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -346,6 +346,8 @@ public final class DisplayManagerService extends SystemService { synchronized (mTempDisplayStateWorkQueue) { try { // Update the display state within the lock. + // Note that we do not need to schedule traversals here although it + // may happen as a side-effect of displays changing state. synchronized (mSyncRoot) { if (mGlobalDisplayState == state && mGlobalDisplayBrightness == brightness) { @@ -357,8 +359,7 @@ public final class DisplayManagerService extends SystemService { + ", brightness=" + brightness + ")"); mGlobalDisplayState = state; mGlobalDisplayBrightness = brightness; - updateGlobalDisplayStateLocked(mTempDisplayStateWorkQueue); - scheduleTraversalLocked(false); + applyGlobalDisplayStateLocked(mTempDisplayStateWorkQueue); } // Setting the display power state can take hundreds of milliseconds @@ -715,6 +716,7 @@ public final class DisplayManagerService extends SystemService { handleDisplayDeviceRemovedLocked(device); } } + private void handleDisplayDeviceRemovedLocked(DisplayDevice device) { DisplayDeviceInfo info = device.getDisplayDeviceInfoLocked(); if (!mDisplayDevices.remove(device)) { @@ -729,7 +731,7 @@ public final class DisplayManagerService extends SystemService { scheduleTraversalLocked(false); } - private void updateGlobalDisplayStateLocked(List<Runnable> workQueue) { + private void applyGlobalDisplayStateLocked(List<Runnable> workQueue) { final int count = mDisplayDevices.size(); for (int i = 0; i < count; i++) { DisplayDevice device = mDisplayDevices.get(i); diff --git a/services/core/java/com/android/server/display/LogicalDisplay.java b/services/core/java/com/android/server/display/LogicalDisplay.java index 4823769..6efc99a 100644 --- a/services/core/java/com/android/server/display/LogicalDisplay.java +++ b/services/core/java/com/android/server/display/LogicalDisplay.java @@ -133,6 +133,8 @@ final class LogicalDisplay { mInfo.overscanBottom = mOverrideDisplayInfo.overscanBottom; mInfo.rotation = mOverrideDisplayInfo.rotation; mInfo.logicalDensityDpi = mOverrideDisplayInfo.logicalDensityDpi; + mInfo.physicalXDpi = mOverrideDisplayInfo.physicalXDpi; + mInfo.physicalYDpi = mOverrideDisplayInfo.physicalYDpi; } } return mInfo; diff --git a/services/core/java/com/android/server/display/OverlayDisplayAdapter.java b/services/core/java/com/android/server/display/OverlayDisplayAdapter.java index 0462035..0bddff0 100644 --- a/services/core/java/com/android/server/display/OverlayDisplayAdapter.java +++ b/services/core/java/com/android/server/display/OverlayDisplayAdapter.java @@ -174,9 +174,11 @@ final class OverlayDisplayAdapter extends DisplayAdapter { if (width >= MIN_WIDTH && width <= MAX_WIDTH && height >= MIN_HEIGHT && height <= MAX_HEIGHT && densityDpi >= DisplayMetrics.DENSITY_LOW - && densityDpi <= DisplayMetrics.DENSITY_XXHIGH) { + && densityDpi <= DisplayMetrics.DENSITY_XXXHIGH) { modes.add(new OverlayMode(width, height, densityDpi)); continue; + } else { + Slog.w(TAG, "Ignoring out-of-range overlay display mode: " + mode); } } catch (NumberFormatException ex) { } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index e2cc3f7..6c9fd3f 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -92,6 +92,7 @@ import android.content.ServiceConnection; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.FeatureInfo; +import android.content.pm.IOnPermissionsChangeListener; import android.content.pm.IPackageDataObserver; import android.content.pm.IPackageDeleteObserver; import android.content.pm.IPackageDeleteObserver2; @@ -144,6 +145,7 @@ import android.os.Message; import android.os.Parcel; import android.os.ParcelFileDescriptor; import android.os.Process; +import android.os.RemoteCallback; import android.os.RemoteCallbackList; import android.os.RemoteException; import android.os.SELinux; @@ -523,6 +525,8 @@ public class PackageManagerService extends IPackageManager.Stub { private AtomicInteger mNextMoveId = new AtomicInteger(); private final MoveCallbacks mMoveCallbacks; + private final OnPermissionChangeListeners mOnPermissionChangeListeners; + // Cache of users who need badging. SparseBooleanArray mUserNeedsBadging = new SparseBooleanArray(); @@ -1731,6 +1735,9 @@ public class PackageManagerService extends IPackageManager.Stub { mPackageDexOptimizer = new PackageDexOptimizer(this); mMoveCallbacks = new MoveCallbacks(FgThread.get().getLooper()); + mOnPermissionChangeListeners = new OnPermissionChangeListeners( + FgThread.get().getLooper()); + getDefaultDisplayMetrics(context, mMetrics); SystemConfig systemConfig = SystemConfig.getInstance(); @@ -3195,10 +3202,11 @@ public class PackageManagerService extends IPackageManager.Stub { case PermissionsState.PERMISSION_OPERATION_SUCCESS_GIDS_CHANGED: { gidsChanged = true; - } - break; + } break; } + mOnPermissionChangeListeners.onPermissionsChanged(pkg.applicationInfo.uid); + // Not critical if that is lost - app has to request again. mSettings.writeRuntimePermissionsForUserLPr(userId, false); } @@ -3255,6 +3263,8 @@ public class PackageManagerService extends IPackageManager.Stub { return; } + mOnPermissionChangeListeners.onPermissionsChanged(pkg.applicationInfo.uid); + // Critical, after this call app should never have the permission. mSettings.writeRuntimePermissionsForUserLPr(userId, true); } @@ -3397,6 +3407,24 @@ public class PackageManagerService extends IPackageManager.Stub { } @Override + public void addOnPermissionsChangeListener(IOnPermissionsChangeListener listener) { + mContext.enforceCallingOrSelfPermission( + Manifest.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS, + "addOnPermissionsChangeListener"); + + synchronized (mPackages) { + mOnPermissionChangeListeners.addListenerLocked(listener); + } + } + + @Override + public void removeOnPermissionsChangeListener(IOnPermissionsChangeListener listener) { + synchronized (mPackages) { + mOnPermissionChangeListeners.removeListenerLocked(listener); + } + } + + @Override public boolean isProtectedBroadcast(String actionName) { synchronized (mPackages) { return mProtectedBroadcasts.contains(actionName); @@ -6368,6 +6396,16 @@ public class PackageManagerService extends IPackageManager.Stub { if ((scanFlags & SCAN_NEW_INSTALL) == 0) { derivePackageAbi(pkg, scanFile, cpuAbiOverride, true /* extract libs */); + + // Some system apps still use directory structure for native libraries + // in which case we might end up not detecting abi solely based on apk + // structure. Try to detect abi based on directory structure. + if (isSystemApp(pkg) && !pkg.isUpdatedSystemApp() && + pkg.applicationInfo.primaryCpuAbi == null) { + setBundledAppAbisAndRoots(pkg, pkgSetting); + setNativeLibraryPaths(pkg); + } + } else { if ((scanFlags & SCAN_MOVE) != 0) { // We haven't run dex-opt for this move (since we've moved the compiled output too) @@ -7273,6 +7311,33 @@ public class PackageManagerService extends IPackageManager.Stub { } /** + * Calculate the abis and roots for a bundled app. These can uniquely + * be determined from the contents of the system partition, i.e whether + * it contains 64 or 32 bit shared libraries etc. We do not validate any + * of this information, and instead assume that the system was built + * sensibly. + */ + private void setBundledAppAbisAndRoots(PackageParser.Package pkg, + PackageSetting pkgSetting) { + final String apkName = deriveCodePathName(pkg.applicationInfo.getCodePath()); + + // If "/system/lib64/apkname" exists, assume that is the per-package + // native library directory to use; otherwise use "/system/lib/apkname". + final String apkRoot = calculateBundledApkRoot(pkg.applicationInfo.sourceDir); + setBundledAppAbi(pkg, apkRoot, apkName); + // pkgSetting might be null during rescan following uninstall of updates + // to a bundled app, so accommodate that possibility. The settings in + // that case will be established later from the parsed package. + // + // If the settings aren't null, sync them up with what we've just derived. + // note that apkRoot isn't stored in the package settings. + if (pkgSetting != null) { + pkgSetting.primaryCpuAbiString = pkg.applicationInfo.primaryCpuAbi; + pkgSetting.secondaryCpuAbiString = pkg.applicationInfo.secondaryCpuAbi; + } + } + + /** * Deduces the ABI of a bundled app and sets the relevant fields on the * parsed pkg object. * @@ -15260,4 +15325,57 @@ public class PackageManagerService extends IPackageManager.Stub { } } } + + private final class OnPermissionChangeListeners extends Handler { + private static final int MSG_ON_PERMISSIONS_CHANGED = 1; + + private final RemoteCallbackList<IOnPermissionsChangeListener> mPermissionListeners = + new RemoteCallbackList<>(); + + public OnPermissionChangeListeners(Looper looper) { + super(looper); + } + + @Override + public void handleMessage(Message msg) { + switch (msg.what) { + case MSG_ON_PERMISSIONS_CHANGED: { + final int uid = msg.arg1; + handleOnPermissionsChanged(uid); + } break; + } + } + + public void addListenerLocked(IOnPermissionsChangeListener listener) { + mPermissionListeners.register(listener); + + } + + public void removeListenerLocked(IOnPermissionsChangeListener listener) { + mPermissionListeners.unregister(listener); + } + + public void onPermissionsChanged(int uid) { + if (mPermissionListeners.getRegisteredCallbackCount() > 0) { + obtainMessage(MSG_ON_PERMISSIONS_CHANGED, uid, 0).sendToTarget(); + } + } + + private void handleOnPermissionsChanged(int uid) { + final int count = mPermissionListeners.beginBroadcast(); + try { + for (int i = 0; i < count; i++) { + IOnPermissionsChangeListener callback = mPermissionListeners + .getBroadcastItem(i); + try { + callback.onPermissionsChanged(uid); + } catch (RemoteException e) { + Log.e(TAG, "Permission listener is dead", e); + } + } + } finally { + mPermissionListeners.finishBroadcast(); + } + } + } } diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 6e52358..25ca167 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -514,6 +514,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { boolean mDreamingLockscreen; boolean mDreamingSleepTokenNeeded; SleepToken mDreamingSleepToken; + SleepToken mScreenOffSleepToken; boolean mKeyguardSecure; boolean mKeyguardSecureIncludingHidden; volatile boolean mKeyguardOccluded; @@ -5385,6 +5386,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { public void screenTurnedOff() { if (DEBUG_WAKEUP) Slog.i(TAG, "Screen turned off..."); + updateScreenOffSleepToken(true); synchronized (mLock) { mScreenOnEarly = false; mScreenOnFully = false; @@ -5399,6 +5401,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { public void screenTurningOn(final ScreenOnListener screenOnListener) { if (DEBUG_WAKEUP) Slog.i(TAG, "Screen turning on..."); + updateScreenOffSleepToken(false); synchronized (mLock) { mScreenOnEarly = true; mScreenOnFully = false; @@ -6021,6 +6024,20 @@ public class PhoneWindowManager implements WindowManagerPolicy { } else { if (mDreamingSleepToken != null) { mDreamingSleepToken.release(); + mDreamingSleepToken = null; + } + } + } + + private void updateScreenOffSleepToken(boolean acquire) { + if (acquire) { + if (mScreenOffSleepToken == null) { + mScreenOffSleepToken = mActivityManagerInternal.acquireSleepToken("ScreenOff"); + } + } else { + if (mScreenOffSleepToken != null) { + mScreenOffSleepToken.release(); + mScreenOffSleepToken = null; } } } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index feb0285..ab1206b 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -3129,7 +3129,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } @Override - public void uninstallCaCert(ComponentName admin, String alias) { + public void uninstallCaCerts(ComponentName admin, String[] aliases) { enforceCanManageCaCerts(admin); final UserHandle userHandle = new UserHandle(UserHandle.getCallingUserId()); @@ -3137,7 +3137,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { try { final KeyChainConnection keyChainConnection = KeyChain.bindAsUser(mContext, userHandle); try { - keyChainConnection.getService().deleteCaCertificate(alias); + for (int i = 0 ; i < aliases.length; i++) { + keyChainConnection.getService().deleteCaCertificate(aliases[i]); + } } catch (RemoteException e) { Log.e(LOG_TAG, "from CaCertUninstaller: ", e); } finally { diff --git a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java index 56f1d48c..bb0a36f 100644 --- a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java @@ -48,6 +48,7 @@ import android.net.Network; import android.net.NetworkAgent; import android.net.NetworkCapabilities; import android.net.NetworkConfig; +import android.net.NetworkFactory; import android.net.NetworkInfo; import android.net.NetworkInfo.DetailedState; import android.net.NetworkMisc; @@ -55,6 +56,7 @@ import android.net.NetworkRequest; import android.net.RouteInfo; import android.os.ConditionVariable; import android.os.Handler; +import android.os.HandlerThread; import android.os.Looper; import android.os.INetworkManagementService; import android.test.AndroidTestCase; @@ -68,6 +70,7 @@ import org.mockito.ArgumentCaptor; import java.net.InetAddress; import java.util.concurrent.Future; +import java.util.concurrent.atomic.AtomicBoolean; /** * Tests for {@link ConnectivityService}. @@ -224,6 +227,31 @@ public class ConnectivityServiceTest extends AndroidTestCase { } } + private static class MockNetworkFactory extends NetworkFactory { + final AtomicBoolean mNetworkStarted = new AtomicBoolean(false); + + public MockNetworkFactory(Looper looper, Context context, String logTag, + NetworkCapabilities filter) { + super(looper, context, logTag, filter); + } + + public int getMyRequestCount() { + return getRequestCount(); + } + + protected void startNetwork() { + mNetworkStarted.set(true); + } + + protected void stopNetwork() { + mNetworkStarted.set(false); + } + + public boolean getMyStartRequested() { + return mNetworkStarted.get(); + } + } + private class WrappedConnectivityService extends ConnectivityService { public WrappedConnectivityService(Context context, INetworkManagementService netManager, INetworkStatsService statsService, INetworkPolicyManager policyManager) { @@ -235,6 +263,27 @@ public class ConnectivityServiceTest extends AndroidTestCase { // Prevent wrapped ConnectivityService from trying to write to SystemProperties. return 0; } + + @Override + protected int reserveNetId() { + while (true) { + final int netId = super.reserveNetId(); + + // Don't overlap test NetIDs with real NetIDs as binding sockets to real networks + // can have odd side-effects, like network validations succeeding. + final Network[] networks = ConnectivityManager.from(getContext()).getAllNetworks(); + boolean overlaps = false; + for (Network network : networks) { + if (netId == network.netId) { + overlaps = true; + break; + } + } + if (overlaps) continue; + + return netId; + } + } } @Override @@ -426,6 +475,71 @@ public class ConnectivityServiceTest extends AndroidTestCase { verifyNoNetwork(); } + @LargeTest + public void testNetworkFactoryRequests() throws Exception { + NetworkCapabilities filter = new NetworkCapabilities(); + filter.addCapability(NET_CAPABILITY_INTERNET); + final HandlerThread handlerThread = new HandlerThread("testNetworkFactoryRequests"); + handlerThread.start(); + MockNetworkFactory testFactory = new MockNetworkFactory(handlerThread.getLooper(), + mServiceContext, "testFactory", filter); + testFactory.setScoreFilter(40); + testFactory.register(); + try { + Thread.sleep(500); + } catch (Exception e) {} + assertEquals(1, testFactory.getMyRequestCount()); + assertEquals(true, testFactory.getMyStartRequested()); + + // now bring in a higher scored network + MockNetworkAgent testAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); + ConditionVariable cv = waitForConnectivityBroadcasts(1); + testAgent.connect(true); + cv.block(); + // part of the bringup makes another network request and then releases it + // wait for the release + try { Thread.sleep(500); } catch (Exception e) {} + assertEquals(1, testFactory.getMyRequestCount()); + assertEquals(false, testFactory.getMyStartRequested()); + + // bring in a bunch of requests.. + ConnectivityManager.NetworkCallback[] networkCallbacks = + new ConnectivityManager.NetworkCallback[10]; + for (int i = 0; i< networkCallbacks.length; i++) { + networkCallbacks[i] = new ConnectivityManager.NetworkCallback(); + NetworkRequest.Builder builder = new NetworkRequest.Builder(); + builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); + mCm.requestNetwork(builder.build(), networkCallbacks[i]); + } + + try { + Thread.sleep(1000); + } catch (Exception e) {} + assertEquals(11, testFactory.getMyRequestCount()); + assertEquals(false, testFactory.getMyStartRequested()); + + // remove the requests + for (int i = 0; i < networkCallbacks.length; i++) { + mCm.unregisterNetworkCallback(networkCallbacks[i]); + } + try { + Thread.sleep(500); + } catch (Exception e) {} + assertEquals(1, testFactory.getMyRequestCount()); + assertEquals(false, testFactory.getMyStartRequested()); + + // drop the higher scored network + cv = waitForConnectivityBroadcasts(1); + testAgent.disconnect(); + cv.block(); + assertEquals(1, testFactory.getMyRequestCount()); + assertEquals(true, testFactory.getMyStartRequested()); + + testFactory.unregister(); + handlerThread.quit(); + } + + // @Override // public void tearDown() throws Exception { // super.tearDown(); diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index d6a7dd1..588f8c6 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -91,6 +91,7 @@ public class UsbDeviceManager { private static final int MSG_SYSTEM_READY = 3; private static final int MSG_BOOT_COMPLETED = 4; private static final int MSG_USER_SWITCHED = 5; + private static final int MSG_SET_USB_DATA_UNLOCKED = 6; private static final int AUDIO_MODE_SOURCE = 1; @@ -314,6 +315,7 @@ public class UsbDeviceManager { // current USB state private boolean mConnected; private boolean mConfigured; + private boolean mUsbDataUnlocked; private String mCurrentFunctions; private UsbAccessory mCurrentAccessory; private int mUsbNotificationId; @@ -350,7 +352,7 @@ public class UsbDeviceManager { SystemProperties.get(UsbManager.ADB_PERSISTENT_PROPERTY, "adb"), UsbManager.USB_FUNCTION_ADB); - mCurrentFunctions = mAdbEnabled ? "adb" : "none"; + mCurrentFunctions = mAdbEnabled ? "adb" : UsbManager.USB_FUNCTION_MTP; String state = FileUtils.readTextFile(new File(STATE_PATH), 0, null).trim(); updateState(state); @@ -459,6 +461,15 @@ public class UsbDeviceManager { } } + /** + * Stop and start the USB driver. This is needed to close all outstanding + * USB connections. + */ + private void restartCurrentFunction() { + setUsbConfig("none"); + setUsbConfig(mCurrentFunctions); + } + private void setEnabledFunctions(String functions) { if (DEBUG) Slog.d(TAG, "setEnabledFunctions " + functions); @@ -531,6 +542,7 @@ public class UsbDeviceManager { intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING); intent.putExtra(UsbManager.USB_CONNECTED, mConnected); intent.putExtra(UsbManager.USB_CONFIGURED, mConfigured); + intent.putExtra(UsbManager.USB_DATA_UNLOCKED, mUsbDataUnlocked); if (mCurrentFunctions != null) { String[] functions = mCurrentFunctions.split(","); @@ -599,6 +611,10 @@ public class UsbDeviceManager { case MSG_UPDATE_STATE: mConnected = (msg.arg1 == 1); mConfigured = (msg.arg2 == 1); + if (!mConnected) { + // When a disconnect occurs, relock access to sensitive user data + mUsbDataUnlocked = false; + } updateUsbNotification(); updateAdbNotification(); if (containsFunction(mCurrentFunctions, @@ -621,6 +637,12 @@ public class UsbDeviceManager { String functions = (String)msg.obj; setEnabledFunctions(functions); break; + case MSG_SET_USB_DATA_UNLOCKED: + mUsbDataUnlocked = (msg.arg1 == 1); + updateUsbNotification(); + updateUsbState(); + restartCurrentFunction(); + break; case MSG_SYSTEM_READY: setUsbConfig(mCurrentFunctions); updatePersistentProperty(); @@ -676,7 +698,9 @@ public class UsbDeviceManager { int id = 0; Resources r = mContext.getResources(); if (mConnected) { - if (containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_MTP)) { + if (!mUsbDataUnlocked) { + id = com.android.internal.R.string.usb_charging_notification_title; + } else if (containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_MTP)) { id = com.android.internal.R.string.usb_mtp_notification_title; } else if (containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_PTP)) { id = com.android.internal.R.string.usb_ptp_notification_title; @@ -771,7 +795,7 @@ public class UsbDeviceManager { } private String getDefaultFunctions() { - return "none"; + return UsbManager.USB_FUNCTION_MTP; } public void dump(FileDescriptor fd, PrintWriter pw) { @@ -817,6 +841,16 @@ public class UsbDeviceManager { mHandler.sendMessage(MSG_SET_CURRENT_FUNCTIONS, functions); } + public void setUsbDataUnlocked(boolean unlocked) { + if (DEBUG) Slog.d(TAG, "setUsbDataUnlocked(" + unlocked + ")"); + mHandler.sendMessage(MSG_SET_USB_DATA_UNLOCKED, unlocked); + } + + public boolean isUsbDataUnlocked() { + if (DEBUG) Slog.d(TAG, "isUsbDataUnlocked() -> " + mHandler.mUsbDataUnlocked); + return mHandler.mUsbDataUnlocked; + } + private void readOemUsbOverrideConfig() { String[] configList = mContext.getResources().getStringArray( com.android.internal.R.array.config_oemUsbModeOverride); diff --git a/services/usb/java/com/android/server/usb/UsbService.java b/services/usb/java/com/android/server/usb/UsbService.java index 51281a2..7a3426c 100644 --- a/services/usb/java/com/android/server/usb/UsbService.java +++ b/services/usb/java/com/android/server/usb/UsbService.java @@ -271,6 +271,18 @@ public class UsbService extends IUsbManager.Stub { } @Override + public void setUsbDataUnlocked(boolean unlocked) { + mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USB, null); + mDeviceManager.setUsbDataUnlocked(unlocked); + } + + @Override + public boolean isUsbDataUnlocked() { + mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USB, null); + return mDeviceManager.isUsbDataUnlocked(); + } + + @Override public void allowUsbDebugging(boolean alwaysAllow, String publicKey) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USB, null); mDeviceManager.allowUsbDebugging(alwaysAllow, publicKey); diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 0042414..9a63aa3 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -27,6 +27,7 @@ import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; +import android.os.Looper; import android.os.Message; import android.os.RemoteException; import android.view.Surface; @@ -442,8 +443,7 @@ public abstract class Connection extends Conferenceable { private static final int MSG_SET_PAUSE_IMAGE = 11; private static final int MSG_REMOVE_VIDEO_CALLBACK = 12; - private final VideoProvider.VideoProviderHandler - mMessageHandler = new VideoProvider.VideoProviderHandler(); + private VideoProvider.VideoProviderHandler mMessageHandler; private final VideoProvider.VideoProviderBinder mBinder; /** @@ -455,6 +455,14 @@ public abstract class Connection extends Conferenceable { * Default handler used to consolidate binder method calls onto a single thread. */ private final class VideoProviderHandler extends Handler { + public VideoProviderHandler() { + super(); + } + + public VideoProviderHandler(Looper looper) { + super(looper); + } + @Override public void handleMessage(Message msg) { switch (msg.what) { @@ -586,6 +594,18 @@ public abstract class Connection extends Conferenceable { public VideoProvider() { mBinder = new VideoProvider.VideoProviderBinder(); + mMessageHandler = new VideoProvider.VideoProviderHandler(); + } + + /** + * Creates an instance of the {@link VideoProvider}, specifying the looper to use. + * + * @param looper The looper. + * @hide + */ + public VideoProvider(Looper looper) { + mBinder = new VideoProvider.VideoProviderBinder(); + mMessageHandler = new VideoProvider.VideoProviderHandler(looper); } /** diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index b74b52d..6de438c 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -124,7 +124,7 @@ public class CarrierConfigManager { KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool"; /** If true, removes the Voice Privacy option from Call Settings */ - public static final String KEY_VOICE_PRIVACY_DISABLE_BOOL = "voice_privacy_disable_bool"; + public static final String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool"; /** Control whether users can reach the carrier portions of Cellular Network Settings. */ public static final String @@ -302,7 +302,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_USE_HFA_FOR_PROVISIONING_BOOL, false); sDefaults.putBoolean(KEY_USE_OTASP_FOR_PROVISIONING_BOOL, false); sDefaults.putBoolean(KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL, false); - sDefaults.putBoolean(KEY_VOICE_PRIVACY_DISABLE_BOOL, false); + sDefaults.putBoolean(KEY_VOICE_PRIVACY_DISABLE_UI_BOOL, false); sDefaults.putBoolean(KEY_WORLD_PHONE_BOOL, false); sDefaults.putInt(KEY_VOLTE_REPLACEMENT_RAT_INT, 0); sDefaults.putString(KEY_VVM_DESTINATION_NUMBER_STRING, ""); diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java index 7b58755..f02d109 100644 --- a/telephony/java/android/telephony/SignalStrength.java +++ b/telephony/java/android/telephony/SignalStrength.java @@ -469,7 +469,12 @@ public class SignalStrength implements Parcelable { } /** - * Get signal level as an int from 0..4 + * Retrieve an abstract level value for the overall signal strength. + * + * @return a single integer from 0 to 4 representing the general signal quality. + * This may take into account many different radio technology inputs. + * 0 represents very poor signal strength + * while 4 represents a very strong signal strength. */ public int getLevel() { int level; diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 12f1644..1cc275d 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -193,7 +193,7 @@ public class TelephonyManager { // /** - * Broadcast intent action indicating that the call state (cellular) + * Broadcast intent action indicating that the call state * on the device has changed. * * <p> @@ -2437,10 +2437,23 @@ public class TelephonyManager { public static final int CALL_STATE_OFFHOOK = 2; /** - * Returns a constant indicating the call state (cellular) on the device. + * Returns one of the following constants that represents the current state of all + * phone calls. + * + * {@link TelephonyManager#CALL_STATE_RINGING} + * {@link TelephonyManager#CALL_STATE_OFFHOOK} + * {@link TelephonyManager#CALL_STATE_IDLE} */ public int getCallState() { - return getCallState(getDefaultSubscription()); + try { + ITelecomService telecom = getTelecomService(); + if (telecom != null) { + return telecom.getCallState(); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelecomService#getCallState", e); + } + return CALL_STATE_IDLE; } /** @@ -3488,13 +3501,13 @@ public class TelephonyManager { /** * Values used to return status for hasCarrierPrivileges call. */ - /** @hide */ + /** @hide */ @SystemApi public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; - /** @hide */ + /** @hide */ @SystemApi public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; - /** @hide */ + /** @hide */ @SystemApi public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; - /** @hide */ + /** @hide */ @SystemApi public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; /** diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java index 3b7aa9f..ac92dc0 100644 --- a/test-runner/src/android/test/mock/MockPackageManager.java +++ b/test-runner/src/android/test/mock/MockPackageManager.java @@ -224,6 +224,18 @@ public class MockPackageManager extends PackageManager { throw new UnsupportedOperationException(); } + /** @hide */ + @Override + public void addOnPermissionsChangeListener(OnPermissionsChangedListener listener) { + throw new UnsupportedOperationException(); + } + + /** @hide */ + @Override + public void removeOnPermissionsChangeListener(OnPermissionsChangedListener listener) { + throw new UnsupportedOperationException(); + } + @Override public int checkSignatures(String pkg1, String pkg2) { throw new UnsupportedOperationException(); |