public class AppOpsManager {
method public int checkOp(int, int, java.lang.String);
method public int checkOpNoThrow(int, int, java.lang.String);
+ method public void checkPackage(int, java.lang.String);
method public void finishOp(int, int, java.lang.String);
method public void finishOp(int);
method public int noteOp(int, int, java.lang.String);
method public android.os.Bundle call(java.lang.String, java.lang.String, android.os.Bundle);
method public abstract int delete(android.net.Uri, java.lang.String, java.lang.String[]);
method public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public final java.lang.String getCallingPackage();
method public final android.content.Context getContext();
method public final android.content.pm.PathPermission[] getPathPermissions();
method public final java.lang.String getReadPermission();
field public static final java.lang.String ACTION_PROVIDER_CHANGED = "android.intent.action.PROVIDER_CHANGED";
field public static final java.lang.String ACTION_QUICK_CLOCK = "android.intent.action.QUICK_CLOCK";
field public static final java.lang.String ACTION_REBOOT = "android.intent.action.REBOOT";
- field public static final java.lang.String ACTION_RESTRICTIONS_PIN_CHALLENGE = "android.intent.action.RESTRICTIONS_PIN_CHALLENGE";
field public static final java.lang.String ACTION_RUN = "android.intent.action.RUN";
field public static final java.lang.String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF";
field public static final java.lang.String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON";
method public java.lang.String getUserName();
method public android.os.Bundle getUserRestrictions();
method public android.os.Bundle getUserRestrictions(android.os.UserHandle);
- method public boolean hasRestrictionsPin();
method public boolean isUserAGoat();
method public boolean isUserRunning(android.os.UserHandle);
method public boolean isUserRunningOrStopping(android.os.UserHandle);
+ method public boolean setRestrictionsChallenge(java.lang.String);
method public void setUserRestriction(java.lang.String, boolean);
method public void setUserRestrictions(android.os.Bundle);
method public void setUserRestrictions(android.os.Bundle, android.os.UserHandle);
- field public static final java.lang.String DISALLOW_APP_RESTRICTIONS = "no_app_restrictions";
field public static final java.lang.String DISALLOW_CONFIG_BLUETOOTH = "no_config_bluetooth";
field public static final java.lang.String DISALLOW_CONFIG_CREDENTIALS = "no_config_credentials";
field public static final java.lang.String DISALLOW_CONFIG_WIFI = "no_config_wifi";
method public static android.net.Uri buildChildDocumentsUri(java.lang.String, java.lang.String);
method public static android.net.Uri buildDocumentUri(java.lang.String, java.lang.String);
method public static android.net.Uri buildRecentDocumentsUri(java.lang.String, java.lang.String);
+ method public static android.net.Uri buildRootUri(java.lang.String, java.lang.String);
method public static android.net.Uri buildRootsUri(java.lang.String);
method public static android.net.Uri buildSearchDocumentsUri(java.lang.String, java.lang.String, java.lang.String);
method public static android.net.Uri createDocument(android.content.ContentResolver, android.net.Uri, java.lang.String, java.lang.String);
}
/**
+ * Do a quick check to validate if a package name belongs to a UID.
+ *
+ * @throws SecurityException if the package name doesn't belong to the given
+ * UID, or if ownership cannot be verified.
+ */
+ public void checkPackage(int uid, String packageName) {
+ try {
+ if (mService.checkPackage(uid, packageName) != MODE_ALLOWED) {
+ throw new SecurityException(
+ "Package " + packageName + " does not belong to " + uid);
+ }
+ } catch (RemoteException e) {
+ throw new SecurityException("Unable to verify package ownership", e);
+ }
+ }
+
+ /**
* Make note of an application performing an operation. Note that you must pass
* in both the uid and name of the application to be checked; this function will verify
* that these two match, and if not, return {@link #MODE_IGNORED}. If this call
private boolean mExported;
private boolean mNoPerms;
+ private final ThreadLocal<String> mCallingPackage = new ThreadLocal<String>();
+
private Transport mTransport = new Transport();
/**
return rejectQuery(uri, projection, selection, selectionArgs, sortOrder,
CancellationSignal.fromTransport(cancellationSignal));
}
- return ContentProvider.this.query(uri, projection, selection, selectionArgs, sortOrder,
- CancellationSignal.fromTransport(cancellationSignal));
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.query(
+ uri, projection, selection, selectionArgs, sortOrder,
+ CancellationSignal.fromTransport(cancellationSignal));
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
return rejectInsert(uri, initialValues);
}
- return ContentProvider.this.insert(uri, initialValues);
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.insert(uri, initialValues);
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
return 0;
}
- return ContentProvider.this.bulkInsert(uri, initialValues);
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.bulkInsert(uri, initialValues);
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
}
}
}
- return ContentProvider.this.applyBatch(operations);
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.applyBatch(operations);
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
return 0;
}
- return ContentProvider.this.delete(uri, selection, selectionArgs);
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.delete(uri, selection, selectionArgs);
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
return 0;
}
- return ContentProvider.this.update(uri, values, selection, selectionArgs);
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.update(uri, values, selection, selectionArgs);
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
String callingPkg, Uri uri, String mode, ICancellationSignal cancellationSignal)
throws FileNotFoundException {
enforceFilePermission(callingPkg, uri, mode);
- return ContentProvider.this.openFile(
- uri, mode, CancellationSignal.fromTransport(cancellationSignal));
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.openFile(
+ uri, mode, CancellationSignal.fromTransport(cancellationSignal));
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
String callingPkg, Uri uri, String mode, ICancellationSignal cancellationSignal)
throws FileNotFoundException {
enforceFilePermission(callingPkg, uri, mode);
- return ContentProvider.this.openAssetFile(
- uri, mode, CancellationSignal.fromTransport(cancellationSignal));
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.openAssetFile(
+ uri, mode, CancellationSignal.fromTransport(cancellationSignal));
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
public Bundle call(String callingPkg, String method, String arg, Bundle extras) {
- return ContentProvider.this.callFromPackage(callingPkg, method, arg, extras);
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.call(method, arg, extras);
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
public AssetFileDescriptor openTypedAssetFile(String callingPkg, Uri uri, String mimeType,
Bundle opts, ICancellationSignal cancellationSignal) throws FileNotFoundException {
enforceFilePermission(callingPkg, uri, "r");
- return ContentProvider.this.openTypedAssetFile(
- uri, mimeType, opts, CancellationSignal.fromTransport(cancellationSignal));
+ mCallingPackage.set(callingPkg);
+ try {
+ return ContentProvider.this.openTypedAssetFile(
+ uri, mimeType, opts, CancellationSignal.fromTransport(cancellationSignal));
+ } finally {
+ mCallingPackage.set(null);
+ }
}
@Override
}
/**
+ * Return the package name of the caller that initiated the request being
+ * processed on the current thread. The returned package will have been
+ * verified to belong to the calling UID. Returns {@code null} if not
+ * currently processing a request.
+ * <p>
+ * This will always return {@code null} when processing
+ * {@link #getType(Uri)} or {@link #getStreamTypes(Uri, String)} requests.
+ *
+ * @see Binder#getCallingUid()
+ * @see Context#grantUriPermission(String, Uri, int)
+ * @throws SecurityException if the calling package doesn't belong to the
+ * calling UID.
+ */
+ public final String getCallingPackage() {
+ final String pkg = mCallingPackage.get();
+ if (pkg != null) {
+ mTransport.mAppOpsManager.checkPackage(Binder.getCallingUid(), pkg);
+ }
+ return pkg;
+ }
+
+ /**
* Change the permission required to read data from the content
* provider. This is normally set for you from its manifest information
* when the provider is first created.
/** @hide */
public final void setAppOps(int readOp, int writeOp) {
if (!mNoPerms) {
- mTransport.mAppOpsManager = (AppOpsManager)mContext.getSystemService(
- Context.APP_OPS_SERVICE);
mTransport.mReadOp = readOp;
mTransport.mWriteOp = writeOp;
}
*/
if (mContext == null) {
mContext = context;
+ mTransport.mAppOpsManager = (AppOpsManager) mContext.getSystemService(
+ Context.APP_OPS_SERVICE);
mMyUid = Process.myUid();
if (info != null) {
setReadPermission(info.readPermission);
}
/**
- * @hide
- * Front-end to {@link #call(String, String, android.os.Bundle)} that provides the name
- * of the calling package.
- */
- public Bundle callFromPackage(String callingPackag, String method, String arg, Bundle extras) {
- return call(method, arg, extras);
- }
-
- /**
* Call a provider-defined method. This can be used to implement
* interfaces that are cheaper and/or unnatural for a table-like
* model.
"android.intent.action.GET_RESTRICTION_ENTRIES";
/**
+ * @hide
* Activity to challenge the user for a PIN that was configured when setting up
- * restrictions. Launch the activity using
+ * restrictions. Restrictions include blocking of apps and preventing certain user operations,
+ * controlled by {@link android.os.UserManager#setUserRestrictions(Bundle).
+ * Launch the activity using
* {@link android.app.Activity#startActivityForResult(Intent, int)} and check if the
* result is {@link android.app.Activity#RESULT_OK} for a successful response to the
* challenge.<p/>
* Before launching this activity, make sure that there is a PIN in effect, by calling
- * {@link android.os.UserManager#hasRestrictionsPin()}.
+ * {@link android.os.UserManager#hasRestrictionsChallenge()}.
*/
- public static final String ACTION_RESTRICTIONS_PIN_CHALLENGE =
- "android.intent.action.RESTRICTIONS_PIN_CHALLENGE";
+ public static final String ACTION_RESTRICTIONS_CHALLENGE =
+ "android.intent.action.RESTRICTIONS_CHALLENGE";
/**
* Sent the first time a user is starting, to allow system apps to
// Just skip this tag
XmlUtils.skipCurrentTag(parser);
continue;
+ } else if (tagName.equals("supports-input")) {
+ XmlUtils.skipCurrentTag(parser);
+ continue;
} else if (tagName.equals("eat-comment")) {
// Just skip this tag
return addresses;
}
+ /**
+ * Replaces the LinkAddresses on this link with the given collection of addresses.
+ */
+ public void setLinkAddresses(Collection<LinkAddress> addresses) {
+ mLinkAddresses.clear();
+ for (LinkAddress address: addresses) {
+ addLinkAddress(address);
+ }
+ }
+
public void addDns(InetAddress dns) {
if (dns != null) mDnses.add(dns);
}
private class MobileDataStateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
+ // Assume this isn't a provisioning network.
+ mNetworkInfo.setIsConnectedToProvisioningNetwork(false);
if (intent.getAction().equals(TelephonyIntents.
ACTION_DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN)) {
String apnName = intent.getStringExtra(PhoneConstants.DATA_APN_KEY);
// Make us in the connecting state until we make a new TYPE_MOBILE_PROVISIONING
mMobileDataState = PhoneConstants.DataState.CONNECTING;
updateLinkProperitesAndCapatilities(intent);
- setDetailedState(DetailedState.CONNECTED_TO_PROVISIONING_NETWORK, "", apnName);
+ mNetworkInfo.setIsConnectedToProvisioningNetwork(true);
+
+ // Change state to SUSPENDED so setDetailedState
+ // sends EVENT_STATE_CHANGED to connectivityService
+ setDetailedState(DetailedState.SUSPENDED, "", apnName);
} else if (intent.getAction().equals(TelephonyIntents.
ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) {
String apnType = intent.getStringExtra(PhoneConstants.DATA_APN_TYPE_KEY);
/** Link has poor connectivity. */
VERIFYING_POOR_LINK,
/** Checking if network is a captive portal */
- CAPTIVE_PORTAL_CHECK,
- /**
- * Network is connected to provisioning network
- * TODO: Probably not needed when we add TYPE_PROVISIONING_NETWORK
- * @hide
- */
- CONNECTED_TO_PROVISIONING_NETWORK
+ CAPTIVE_PORTAL_CHECK
}
/**
stateMap.put(DetailedState.DISCONNECTED, State.DISCONNECTED);
stateMap.put(DetailedState.FAILED, State.DISCONNECTED);
stateMap.put(DetailedState.BLOCKED, State.DISCONNECTED);
- stateMap.put(DetailedState.CONNECTED_TO_PROVISIONING_NETWORK, State.CONNECTED);
}
private int mNetworkType;
private String mExtraInfo;
private boolean mIsFailover;
private boolean mIsRoaming;
+ private boolean mIsConnectedToProvisioningNetwork;
+
/**
* Indicates whether network connectivity is possible:
*/
mState = State.UNKNOWN;
mIsAvailable = false; // until we're told otherwise, assume unavailable
mIsRoaming = false;
+ mIsConnectedToProvisioningNetwork = false;
}
/** {@hide} */
mIsFailover = source.mIsFailover;
mIsRoaming = source.mIsRoaming;
mIsAvailable = source.mIsAvailable;
+ mIsConnectedToProvisioningNetwork = source.mIsConnectedToProvisioningNetwork;
}
}
}
}
+ /** {@hide} */
+ @VisibleForTesting
+ public boolean isConnectedToProvisioningNetwork() {
+ synchronized (this) {
+ return mIsConnectedToProvisioningNetwork;
+ }
+ }
+
+ /** {@hide} */
+ @VisibleForTesting
+ public void setIsConnectedToProvisioningNetwork(boolean val) {
+ synchronized (this) {
+ mIsConnectedToProvisioningNetwork = val;
+ }
+ }
+
/**
* Reports the current coarse-grained state of the network.
* @return the coarse-grained state
append(", extra: ").append(mExtraInfo == null ? "(none)" : mExtraInfo).
append(", roaming: ").append(mIsRoaming).
append(", failover: ").append(mIsFailover).
- append(", isAvailable: ").append(mIsAvailable);
+ append(", isAvailable: ").append(mIsAvailable).
+ append(", isConnectedToProvisioningNetwork: ").
+ append(mIsConnectedToProvisioningNetwork);
return builder.toString();
}
}
dest.writeInt(mIsFailover ? 1 : 0);
dest.writeInt(mIsAvailable ? 1 : 0);
dest.writeInt(mIsRoaming ? 1 : 0);
+ dest.writeInt(mIsConnectedToProvisioningNetwork ? 1 : 0);
dest.writeString(mReason);
dest.writeString(mExtraInfo);
}
netInfo.mIsFailover = in.readInt() != 0;
netInfo.mIsAvailable = in.readInt() != 0;
netInfo.mIsRoaming = in.readInt() != 0;
+ netInfo.mIsConnectedToProvisioningNetwork = in.readInt() != 0;
netInfo.mReason = in.readString();
netInfo.mExtraInfo = in.readString();
return netInfo;
// but all that does is rewind it, and we just got these from an IPC,
// so we'll just call it directly.
boolean res;
+ // Log any exceptions as warnings, don't silently suppress them.
+ // If the call was FLAG_ONEWAY then these exceptions disappear into the ether.
try {
res = onTransact(code, data, reply, flags);
} catch (RemoteException e) {
+ if ((flags & FLAG_ONEWAY) != 0) {
+ Log.w(TAG, "Binder call failed.", e);
+ }
reply.setDataPosition(0);
reply.writeException(e);
res = true;
} catch (RuntimeException e) {
+ if ((flags & FLAG_ONEWAY) != 0) {
+ Log.w(TAG, "Caught a RuntimeException from the binder stub implementation.", e);
+ }
reply.setDataPosition(0);
reply.writeException(e);
res = true;
} catch (OutOfMemoryError e) {
+ // Unconditionally log this, since this is generally unrecoverable.
+ Log.e(TAG, "Caught an OutOfMemoryError from the binder stub implementation.", e);
RuntimeException re = new RuntimeException("Out of memory", e);
reply.setDataPosition(0);
reply.writeException(re);
int userHandle);
Bundle getApplicationRestrictions(in String packageName);
Bundle getApplicationRestrictionsForUser(in String packageName, int userHandle);
- boolean changeRestrictionsPin(in String newPin);
- int checkRestrictionsPin(in String pin);
- boolean hasRestrictionsPin();
+ boolean setRestrictionsChallenge(in String newPin);
+ int checkRestrictionsChallenge(in String pin);
+ boolean hasRestrictionsChallenge();
void removeRestrictions();
}
*/
public static final String DISALLOW_REMOVE_USER = "no_remove_user";
- /**
- * Key for user restrictions. Specifies if a user is disallowed from setting app restrictions
- * via a restrictions PIN. The default is <code>false</code>. If app restrictions have already
- * been set up, then this user restriction cannot be set to true.
- * <p/>
- * Type: Boolean
- * @see #hasRestrictionsPin()
- */
- public static final String DISALLOW_APP_RESTRICTIONS = "no_app_restrictions";
-
/** @hide */
public static final int PIN_VERIFICATION_FAILED_INCORRECT = -3;
/** @hide */
}
/**
- * @hide
- * Sets a new restrictions PIN. This should only be called after verifying that there
- * currently isn't a PIN set, or after the user successfully enters the current PIN.
- * @param newPin
- * @return Returns true if the PIN was changed successfully.
+ * Sets a new challenge PIN for restrictions. This is only for use by pre-installed
+ * apps and requires the MANAGE_USERS permission.
+ * @param newPin the PIN to use for challenge dialogs.
+ * @return Returns true if the challenge PIN was set successfully.
*/
- public boolean changeRestrictionsPin(String newPin) {
+ public boolean setRestrictionsChallenge(String newPin) {
try {
- return mService.changeRestrictionsPin(newPin);
+ return mService.setRestrictionsChallenge(newPin);
} catch (RemoteException re) {
Log.w(TAG, "Could not change restrictions pin");
}
* Returns {@link #PIN_VERIFICATION_SUCCESS} if the input matches the saved PIN. Returns
* {@link #PIN_VERIFICATION_FAILED_NOT_SET} if there is no PIN set.
*/
- public int checkRestrictionsPin(String pin) {
+ public int checkRestrictionsChallenge(String pin) {
try {
- return mService.checkRestrictionsPin(pin);
+ return mService.checkRestrictionsChallenge(pin);
} catch (RemoteException re) {
Log.w(TAG, "Could not check restrictions pin");
}
}
/**
+ * @hide
* Checks whether the user has restrictions that are PIN-protected. An application that
* participates in restrictions can check if the owner has requested a PIN challenge for
* any restricted operations. If there is a PIN in effect, the application should launch
- * the PIN challenge activity {@link android.content.Intent#ACTION_RESTRICTIONS_PIN_CHALLENGE}.
- * @see android.content.Intent#ACTION_RESTRICTIONS_PIN_CHALLENGE
+ * the PIN challenge activity {@link android.content.Intent#ACTION_RESTRICTIONS_CHALLENGE}.
+ * @see android.content.Intent#ACTION_RESTRICTIONS_CHALLENGE
* @return whether a restrictions PIN is in effect.
*/
- public boolean hasRestrictionsPin() {
+ public boolean hasRestrictionsChallenge() {
try {
- return mService.hasRestrictionsPin();
+ return mService.hasRestrictionsChallenge();
} catch (RemoteException re) {
Log.w(TAG, "Could not change restrictions pin");
}
* @return Whether to allow adding the preference (true), or not (false).
*/
protected boolean onPrepareAddPreference(Preference preference) {
- if (!super.isEnabled()) {
- preference.setEnabled(false);
- }
-
+ preference.onParentChanged(this, shouldDisableDependents());
return true;
}
public static final String META_DATA_DOCUMENT_PROVIDER = "android.content.DOCUMENT_PROVIDER";
/** {@hide} */
- public static final String ACTION_MANAGE_DOCUMENTS = "android.provider.action.MANAGE_DOCUMENTS";
+ public static final String ACTION_MANAGE_ROOT = "android.provider.action.MANAGE_ROOT";
+ /** {@hide} */
+ public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
/**
* Constants related to a document, including {@link Cursor} columns names
*/
public static final String COLUMN_MIME_TYPES = "mime_types";
+ /** {@hide} */
+ public static final String MIME_TYPE_ITEM = "vnd.android.document/root";
+
/**
* Type of root that represents a storage service, such as a cloud-based
* service.
}
/**
+ * Build Uri representing the given {@link Root#COLUMN_ROOT_ID} in a
+ * document provider.
+ *
+ * @see #getRootId(Uri)
+ */
+ public static Uri buildRootUri(String authority, String rootId) {
+ return new Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT)
+ .authority(authority).appendPath(PATH_ROOT).appendPath(rootId).build();
+ }
+
+ /**
* Build Uri representing the recently modified documents of a specific
* root. When queried, a provider will return zero or more rows with columns
* defined by {@link Document}.
import android.database.Cursor;
import android.graphics.Point;
import android.net.Uri;
-import android.os.Binder;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.ParcelFileDescriptor;
import android.provider.DocumentsContract.Document;
import android.util.Log;
-import com.android.internal.util.ArrayUtils;
-
import libcore.io.IoUtils;
import java.io.FileNotFoundException;
public abstract class DocumentsProvider extends ContentProvider {
private static final String TAG = "DocumentsProvider";
- private static final int MATCH_ROOT = 1;
- private static final int MATCH_RECENT = 2;
- private static final int MATCH_DOCUMENT = 3;
- private static final int MATCH_CHILDREN = 4;
- private static final int MATCH_SEARCH = 5;
+ private static final int MATCH_ROOTS = 1;
+ private static final int MATCH_ROOT = 2;
+ private static final int MATCH_RECENT = 3;
+ private static final int MATCH_DOCUMENT = 4;
+ private static final int MATCH_CHILDREN = 5;
+ private static final int MATCH_SEARCH = 6;
private String mAuthority;
mAuthority = info.authority;
mMatcher = new UriMatcher(UriMatcher.NO_MATCH);
- mMatcher.addURI(mAuthority, "root", MATCH_ROOT);
+ mMatcher.addURI(mAuthority, "root", MATCH_ROOTS);
+ mMatcher.addURI(mAuthority, "root/*", MATCH_ROOT);
mMatcher.addURI(mAuthority, "root/*/recent", MATCH_RECENT);
mMatcher.addURI(mAuthority, "document/*", MATCH_DOCUMENT);
mMatcher.addURI(mAuthority, "document/*/children", MATCH_CHILDREN);
String[] selectionArgs, String sortOrder) {
try {
switch (mMatcher.match(uri)) {
- case MATCH_ROOT:
+ case MATCH_ROOTS:
return queryRoots(projection);
case MATCH_RECENT:
return queryRecentDocuments(getRootId(uri), projection);
public final String getType(Uri uri) {
try {
switch (mMatcher.match(uri)) {
+ case MATCH_ROOT:
+ return DocumentsContract.Root.MIME_TYPE_ITEM;
case MATCH_DOCUMENT:
return getDocumentType(getDocumentId(uri));
default:
throw new UnsupportedOperationException("Update not supported");
}
- /** {@hide} */
+ /**
+ * Implementation is provided by the parent class. Can be overridden to
+ * provide additional functionality, but subclasses <em>must</em> always
+ * call the superclass. If the superclass returns {@code null}, the subclass
+ * may implement custom behavior.
+ *
+ * @see #openDocument(String, String, CancellationSignal)
+ * @see #deleteDocument(String)
+ */
@Override
- public final Bundle callFromPackage(
- String callingPackage, String method, String arg, Bundle extras) {
+ public Bundle call(String method, String arg, Bundle extras) {
final Context context = getContext();
if (!method.startsWith("android:")) {
// Let non-platform methods pass through
- return super.callFromPackage(callingPackage, method, arg, extras);
+ return super.call(method, arg, extras);
}
final String documentId = extras.getString(Document.COLUMN_DOCUMENT_ID);
if (!callerHasManage) {
final Uri newDocumentUri = DocumentsContract.buildDocumentUri(
mAuthority, newDocumentId);
- context.grantUriPermission(callingPackage, newDocumentUri,
+ context.grantUriPermission(getCallingPackage(), newDocumentUri,
Intent.FLAG_GRANT_READ_URI_PERMISSION
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION
| Intent.FLAG_PERSIST_GRANT_URI_PERMISSION);
package android.view;
import android.content.Context;
-import android.os.Build;
import android.os.Handler;
import android.os.Message;
private static final int LONGPRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout();
private static final int TAP_TIMEOUT = ViewConfiguration.getTapTimeout();
private static final int DOUBLE_TAP_TIMEOUT = ViewConfiguration.getDoubleTapTimeout();
+ private static final int DOUBLE_TAP_MIN_TIME = ViewConfiguration.getDoubleTapMinTime();
// constants for Message.what used by GestureHandler below
private static final int SHOW_PRESS = 1;
return false;
}
- if (secondDown.getEventTime() - firstUp.getEventTime() > DOUBLE_TAP_TIMEOUT) {
+ final long deltaTime = secondDown.getEventTime() - firstUp.getEventTime();
+ if (deltaTime > DOUBLE_TAP_TIMEOUT || deltaTime < DOUBLE_TAP_MIN_TIME) {
return false;
}
private static final int DOUBLE_TAP_TIMEOUT = 300;
/**
+ * Defines the minimum duration in milliseconds between the first tap's up event and
+ * the second tap's down event for an interaction to be considered a
+ * double-tap.
+ */
+ private static final int DOUBLE_TAP_MIN_TIME = 40;
+
+ /**
* Defines the maximum duration in milliseconds between a touch pad
* touch and release for a given touch to be considered a tap (click) as
* opposed to a hover movement gesture.
}
/**
+ * @return the minimum duration in milliseconds between the first tap's
+ * up event and the second tap's down event for an interaction to be considered a
+ * double-tap.
+ *
+ * @hide
+ */
+ public static int getDoubleTapMinTime() {
+ return DOUBLE_TAP_MIN_TIME;
+ }
+
+ /**
* @return the maximum duration in milliseconds between a touch pad
* touch and release for a given touch to be considered a tap (click) as
* opposed to a hover movement gesture.
}
/**
- * Sets whether the WebView loads pages in overview mode. The default is
- * false.
+ * Sets whether the WebView loads pages in overview mode, that is,
+ * zooms out the content to fit on screen by width. This setting is
+ * taken into account when the content width is greater than the width
+ * of the WebView control, for example, when {@link #getUseWideViewPort}
+ * is enabled. The default is false.
*/
public void setLoadWithOverviewMode(boolean overview) {
throw new MustOverrideException();
}
/**
- * Sets the initial scale for this WebView. 0 means default. If
- * {@link WebSettings#getUseWideViewPort()} is true, it zooms out all the
- * way. Otherwise it starts with 100%. If initial scale is greater than 0,
- * WebView starts with this value as initial scale.
+ * Sets the initial scale for this WebView. 0 means default.
+ * The behavior for the default scale depends on the state of
+ * {@link WebSettings#getUseWideViewPort()} and
+ * {@link WebSettings#getLoadWithOverviewMode()}.
+ * If the content fits into the WebView control by width, then
+ * the zoom is set to 100%. For wide content, the behavor
+ * depends on the state of {@link WebSettings#getLoadWithOverviewMode()}.
+ * If its value is true, the content will be zoomed out to be fit
+ * by width into the WebView control, otherwise not.
+ *
+ * If initial scale is greater than 0, WebView starts with this value
+ * as initial scale.
* Please note that unlike the scale properties in the viewport meta tag,
* this method doesn't take the screen density into account.
*
// These first methods are also called by native code, so must
// be kept in sync with frameworks/native/include/binder/IAppOpsService.h
int checkOperation(int code, int uid, String packageName);
+ int checkPackage(int uid, String packageName);
int noteOperation(int code, int uid, String packageName);
int startOperation(IBinder token, int code, int uid, String packageName);
void finishOperation(IBinder token, int code, int uid, String packageName);
super.onCreate(icicle);
mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
- mHasRestrictionsPin = mUserManager.hasRestrictionsPin();
+ mHasRestrictionsPin = mUserManager.hasRestrictionsChallenge();
initUi();
setupAlert();
}
super.onResume();
setPositiveButtonState(false);
- boolean hasPin = mUserManager.hasRestrictionsPin();
+ boolean hasPin = mUserManager.hasRestrictionsChallenge();
if (hasPin) {
mPinErrorMessage.setVisibility(View.INVISIBLE);
mPinText.setOnEditorActionListener(this);
private boolean updatePinTimer(int pinTimerMs) {
if (pinTimerMs < 0) {
- pinTimerMs = mUserManager.checkRestrictionsPin(null);
+ pinTimerMs = mUserManager.checkRestrictionsChallenge(null);
}
boolean enableInput;
if (pinTimerMs >= 200) {
}
protected void performPositiveButtonAction() {
- int result = mUserManager.checkRestrictionsPin(mPinText.getText().toString());
+ int result = mUserManager.checkRestrictionsChallenge(mPinText.getText().toString());
if (result == UserManager.PIN_VERIFICATION_SUCCESS) {
setResult(RESULT_OK);
finish();
+++ /dev/null
-/*
- * Copyright (C) 2013 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.content.Context;
-import android.os.UserManager;
-import android.text.Editable;
-import android.text.TextUtils;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.TextView;
-
-import com.android.internal.R;
-
-/**
- * This activity is launched by Settings and other apps to either create a new PIN or
- * change an existing PIN. The PIN is maintained by UserManager.
- */
-public class RestrictionsPinSetupActivity extends RestrictionsPinActivity {
-
- private EditText mNewPinText;
- private EditText mConfirmPinText;
-
- protected void initUi() {
- AlertController.AlertParams ap = mAlertParams;
- ap.mTitle = getString(R.string.restr_pin_enter_pin);
- ap.mPositiveButtonText = getString(R.string.ok);
- ap.mNegativeButtonText = getString(R.string.cancel);
- LayoutInflater inflater =
- (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- ap.mView = inflater.inflate(R.layout.restrictions_pin_setup, null);
-
- mPinText = (EditText) ap.mView.findViewById(R.id.pin_text);
- mNewPinText = (EditText) ap.mView.findViewById(R.id.pin_new_text);
- mConfirmPinText = (EditText) ap.mView.findViewById(R.id.pin_confirm_text);
- mNewPinText.addTextChangedListener(this);
- mConfirmPinText.addTextChangedListener(this);
-
- if (!mHasRestrictionsPin) {
- mPinText.setVisibility(View.GONE);
- }
- }
-
- public void onResume() {
- super.onResume();
- setPositiveButtonState(false);
- }
-
- protected boolean verifyingPin() {
- return false;
- }
-
- @Override
- protected void performPositiveButtonAction() {
- if (mHasRestrictionsPin) {
- int result = mUserManager.checkRestrictionsPin(mPinText.getText().toString());
- if (result != UserManager.PIN_VERIFICATION_SUCCESS) {
- // TODO: Set message that existing pin doesn't match
- return;
- }
- }
- if (mUserManager.changeRestrictionsPin(mNewPinText.getText().toString())) {
- // TODO: Send message to PIN recovery agent about the recovery email address
- setResult(RESULT_OK);
- finish();
- }
- }
-
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- CharSequence pin = mPinText.getText();
- CharSequence pin1 = mNewPinText.getText();
- CharSequence pin2 = mConfirmPinText.getText();
- boolean match = pin1 != null && pin2 != null && pin1.length() >= 4
- && pin1.toString().equals(pin2.toString())
- && (!mHasRestrictionsPin || (pin != null && pin.length() >= 4));
- boolean showError = !TextUtils.isEmpty(pin1) && !TextUtils.isEmpty(pin2);
- // TODO: Check recovery email address as well
- setPositiveButtonState(match);
- }
-
- @Override
- public void afterTextChanged(Editable s) {
- }
-
- @Override
- public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- performPositiveButtonAction();
- return true;
- }
-}
android:process=":ui">
</activity>
- <activity android:name="com.android.internal.app.RestrictionsPinSetupActivity"
- android:theme="@style/Theme.Holo.Dialog.Alert"
- android:permission="android.permission.MANAGE_USERS"
- android:excludeFromRecents="true"
- android:windowSoftInputMode="adjustPan"
- android:process=":ui">
- <intent-filter android:priority="100">
- <action android:name="android.intent.action.RESTRICTIONS_PIN_CREATE" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- </activity>
-
<activity android:name="com.android.internal.app.RestrictionsPinActivity"
android:theme="@style/Theme.Holo.Dialog.Alert"
android:excludeFromRecents="true"
android:windowSoftInputMode="adjustPan"
android:process=":ui">
<intent-filter android:priority="100">
- <action android:name="android.intent.action.RESTRICTIONS_PIN_CHALLENGE" />
+ <action android:name="android.intent.action.RESTRICTIONS_CHALLENGE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Sien alle"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Kies aktiwiteit"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Deel met"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Toestel gesluit."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Stuur tans…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Begin webblaaier?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Gekanselleer"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Kon nie inhoud skryf nie"</string>
<string name="reason_unknown" msgid="6048913880184628119">"onbekend"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Voer administrateur-PIN in"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Voer PIN in"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Verkeerd"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Huidige PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Nuwe PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Bevestig nuwe PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN\'e kom nie ooreen nie. Probeer weer."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN is te kort. Moet ten minste 4 syfers wees."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Verkeerde PIN. Probeer weer oor 1 sekonde."</item>
- <item quantity="other" msgid="8030607343223287654">"Verkeerde PIN. Probeer weer oor <xliff:g id="COUNT">%d</xliff:g> sekondes."</item>
+ <item quantity="one" msgid="311050995198548675">"Probeer weer oor 1 sekonde"</item>
+ <item quantity="other" msgid="4730868920742952817">"Probeer weer oor <xliff:g id="COUNT">%d</xliff:g> sekondes"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Probeer later weer"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Sleep rand van skerm om balk te wys"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Sleep van rand van skerm af om stelselbalk te wys"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"ሁሉንም ተመልከት"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"እንቅስቃሴ ምረጥ"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"ተጋራ ከ"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"መሣሪያ ተቆልፏል።"</string>
<string name="list_delimeter" msgid="3975117572185494152">"፣ "</string>
<string name="sending" msgid="3245653681008218030">"በመላክ ላይ…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"ማሰሺያን አስነሳ?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"ተትቷል"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"ይዘት መጻፍ ላይ ስህተት"</string>
<string name="reason_unknown" msgid="6048913880184628119">"አይታወቅም"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"አስተዳዳሪ ፒን ያስገቡ"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"ፒን ያስገቡ"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"ትክክል አይደለም"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"የአሁኑ ፒን"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"አዲስ ፒን"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"አዲስ ፒን ያረጋግጡ"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"ፒኖች አይዛመዱም። እንደገና ይሞክሩ።"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"ፒን በጣም አጭር ነው። ቢያንስ 4 አኃዝ መሆን አለበት።"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"ትክክል ያልሆነ ፒን። በ1 ሰከንድ ውስጥ እንደገና ይሞክሩ።"</item>
- <item quantity="other" msgid="8030607343223287654">"ትክክል ያልሆነ ፒን። በ<xliff:g id="COUNT">%d</xliff:g> ሰከንዶች ውስጥ እንደገና ይሞክሩ።"</item>
+ <item quantity="one" msgid="311050995198548675">"በ1 ሰከንድ ውስጥ እንደገና ይሞክሩ"</item>
+ <item quantity="other" msgid="4730868920742952817">"በ<xliff:g id="COUNT">%d</xliff:g> ሰከንዶች ውስጥ እንደገና ይሞክሩ"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"ቆይተው እንደገና ይሞክሩ"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"አሞሌውን ለማሳየት የማያ ገጹ ጠርዝ ላይ ያንሸራትቱ"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"አሞሌውን ለማሳየት ከማያ ገጹ ጠርዝ ጀምረው ያንሸራትቱ"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"عرض الكل"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"اختيار نشاط"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"مشاركة مع"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"تم تأمين الجهاز."</string>
<string name="list_delimeter" msgid="3975117572185494152">"، "</string>
<string name="sending" msgid="3245653681008218030">"جارٍ الإرسال..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"تشغيل المتصفح؟"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"ملغاة"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"حدث خطأ أثناء كتابة المحتوى"</string>
<string name="reason_unknown" msgid="6048913880184628119">"غير معروف"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"أدخل رقم التعريف الشخصي للمشرف"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"إدخال رقم التعريف الشخصي"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"غير صحيح"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"رقم التعريف الشخصي الحالي"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"رقم التعريف الشخصي الجديد"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"تأكيد رقم التعريف الشخصي الجديد"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"أرقام التعريف الشخصية لا تتطابق، أعد المحاولة."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"رقم التعريف الشخصي أقصر مما يلزم، يجب ألا يقل عن 4 أرقام. "</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"رقم التعريف الشخصي غير صحيح، الرجاء إعادة المحاولة بعد ثانية واحدة."</item>
- <item quantity="other" msgid="8030607343223287654">"رقم التعريف الشخصي غير صحيح، الرجاء إعادة المحاولة بعد <xliff:g id="COUNT">%d</xliff:g> من الثواني."</item>
+ <item quantity="one" msgid="311050995198548675">"أعد المحاولة خلال ثانية واحدة."</item>
+ <item quantity="other" msgid="4730868920742952817">"أعد المحاولة خلال <xliff:g id="COUNT">%d</xliff:g> ثانية"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"أعد المحاولة لاحقًا"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"مرر سريعًا لحافة الشاشة لإظهار الشريط"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"مرر سريعًا من حافة الشاشة لإظهار شريط النظام"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Hamısını seçın"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Fəaliyyəti seçin"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Bununla paylaşın"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Cihaz kilidləndi."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Göndərilir..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Brauzer işə salınsın?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Ləğv edildi"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Kontent yazmna xətası"</string>
<string name="reason_unknown" msgid="6048913880184628119">"naməlum"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Administrator PIN kodunu daxil edin"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN daxil edin"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Səhv"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Cari PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Yeni PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Yeni PIN\'i təsdiq edin"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PİN uyğun gəlmir. Yenidən cəhd edin."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PİN çox qısadır. Ən azı 4 rəqəm olmalıdır."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Yanlış PİN. 1 saniyə sonra təkrar sınayın."</item>
- <item quantity="other" msgid="8030607343223287654">"Yanlış PİN. <xliff:g id="COUNT">%d</xliff:g> saniyə sonra təkrar sınayın."</item>
+ <item quantity="one" msgid="311050995198548675">"1 saniyə sonra təkrar yoxlayın"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g> saniyə sonra təkrar yoxlayın"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Daha sonra yenidən yoxlayın."</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Paneli göstərmək üçün ekranın küncünü sürüşdürün"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Sistem panelini göstərmək üçün ekranın küncündən sürüşdürün"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Прагледзець усё"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Выберыце працэс"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Апублікаваць з дапамогай"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Прылада заблакаваная."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Адпраўка..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Запусцiць браўзер?"</string>
<skip />
<!-- no translation found for reason_unknown (6048913880184628119) -->
<skip />
+ <!-- no translation found for restr_pin_enter_admin_pin (783643731895143970) -->
+ <skip />
<!-- no translation found for restr_pin_enter_pin (3395953421368476103) -->
<skip />
+ <!-- no translation found for restr_pin_incorrect (8571512003955077924) -->
+ <skip />
<!-- no translation found for restr_pin_enter_old_pin (1462206225512910757) -->
<skip />
<!-- no translation found for restr_pin_enter_new_pin (5959606691619959184) -->
<skip />
<!-- no translation found for restr_pin_error_too_short (8173982756265777792) -->
<skip />
- <!-- no translation found for restr_pin_countdown:one (4835639969503729874) -->
- <!-- no translation found for restr_pin_countdown:other (8030607343223287654) -->
+ <!-- no translation found for restr_pin_countdown:one (311050995198548675) -->
+ <!-- no translation found for restr_pin_countdown:other (4730868920742952817) -->
+ <!-- no translation found for restr_pin_try_later (973144472490532377) -->
+ <skip />
<!-- no translation found for transient_navigation_confirmation (4907844043611123426) -->
<skip />
<!-- no translation found for transient_navigation_confirmation_long (8061685920508086697) -->
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Вижте всички"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Избор на активност"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Споделяне със:"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Устройството е заключено."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Изпраща се..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Да се стартира ли браузърът?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Анулирано"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Грешка при записване на съдържанието"</string>
<string name="reason_unknown" msgid="6048913880184628119">"неизвестно"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Въведете ПИН кода на администратор"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Въведете ПИН кода"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Неправилно"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Текущ ПИН код"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Нов ПИН код"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Потвърждаване на новия ПИН код"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"ПИН кодовете не са идентични. Опитайте отново."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"ПИН кодът е твърде кратък. Трябва да е поне 4 цифри."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Неправилен ПИН код. Опитайте отново след 1 секунда."</item>
- <item quantity="other" msgid="8030607343223287654">"Неправилен ПИН код. Опитайте отново след <xliff:g id="COUNT">%d</xliff:g> секунди."</item>
+ <item quantity="one" msgid="311050995198548675">"Опитайте отново след 1 секунда"</item>
+ <item quantity="other" msgid="4730868920742952817">"Опитайте отново след <xliff:g id="COUNT">%d</xliff:g> секунди"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Опитайте отново по-късно"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"За показв. на лентата прек. пръст по ръба на екрана"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Прекарайте пръст от ръба на екрана, за да се покаже системната лента"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Mostra-les totes"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Selecció de l\'activitat"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Comparteix amb"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Dispositiu bloquejat."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"S\'està enviant…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Vols iniciar el navegador?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Cancel·lada"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Error en escriure el contingut"</string>
<string name="reason_unknown" msgid="6048913880184628119">"desconegut"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Introdueix el PIN d\'administrador"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Introdueix el PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorrecte"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN actual"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN nou"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirma el PIN nou"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Els PIN no coincideixen. Torna-ho a provar."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"El PIN és massa curt. Ha de tenir quatre dígits com a mínim."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN incorrecte. Torna-ho a provar d\'aquí a 1 segon."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN incorrecte. Torna-ho a provar d\'aquí a <xliff:g id="COUNT">%d</xliff:g> segons."</item>
+ <item quantity="one" msgid="311050995198548675">"Torna-ho a provar d\'aquí a 1 segon"</item>
+ <item quantity="other" msgid="4730868920742952817">"Torna-ho a provar d\'aquí a <xliff:g id="COUNT">%d</xliff:g> segons"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Torna-ho a provar més tard"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Llisca des de vora per mostrar barra"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Fes lliscar el dit des de la vora de la pantalla perquè es mostri la barra del sistema"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Zobrazit vše"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Vybrat aktivitu"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Sdílet s"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Zařízení je uzamčeno."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Odesílání..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Spustit prohlížeč?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Zrušeno"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Při zápisu obsahu došlo k chybě"</string>
<string name="reason_unknown" msgid="6048913880184628119">"neznámé"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Zadejte PIN administrátora"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Zadejte kód PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Nesprávné"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Aktuální kód PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Nový kód PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Potvrďte nový PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Kódy PIN se neshodují. Zkuste to znovu."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Kód PIN je příliš krátký. Musí mít alespoň čtyři číslice."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Nesprávný kód PIN. Zkuste to znovu za jednu sekundu."</item>
- <item quantity="other" msgid="8030607343223287654">"Nesprávný kód PIN. Zkuste to znovu za <xliff:g id="COUNT">%d</xliff:g> s."</item>
+ <item quantity="one" msgid="311050995198548675">"Zkuste to znovu za 1 s"</item>
+ <item quantity="other" msgid="4730868920742952817">"Zkuste to znovu za <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Zkuste to znovu později"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Panel zobrazíte přejetím kraje obr."</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Systémový panel zobrazíte přejetím přes okraj obrazovky"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Se alle"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Vælg aktivitet"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Del med"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Enhed låst."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Sender..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Vil du starte browseren?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Annulleret"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Fejl ved skrivning af indhold"</string>
<string name="reason_unknown" msgid="6048913880184628119">"ukendt"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Indtast administratorpinkoden"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Indtast pinkode"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Forkert"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Aktuel pinkode:"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Ny pinkode"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Bekræft den nye pinkode"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Pinkoderne stemmer ikke overens. Prøv igen."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Pinkoden er for kort. Den skal være på mindst 4 tal."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Forkert pinkode. Prøv igen om 1 sekund."</item>
- <item quantity="other" msgid="8030607343223287654">"Forkert pinkode. Prøv igen om <xliff:g id="COUNT">%d</xliff:g> sekunder."</item>
+ <item quantity="one" msgid="311050995198548675">"Prøv igen om 1 sekund"</item>
+ <item quantity="other" msgid="4730868920742952817">"Prøv igen om <xliff:g id="COUNT">%d</xliff:g> sekunder"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Prøv igen senere"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Stryg fra skærmkanten for at se bjælken"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Stryg med fingeren fra skærmens kant for at se systembjælken"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Alle anzeigen"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Aktivität wählen"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Teilen mit"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Gerät gesperrt"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Wird gesendet..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Browser starten?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Abgebrochen"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Fehler beim Schreiben von Inhalten"</string>
<string name="reason_unknown" msgid="6048913880184628119">"Unbekannt"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Administrator-PIN eingeben"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN eingeben"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Falsch"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Aktuelle PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Neue PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Neue PIN bestätigen"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Die PINs stimmen nicht überein. Bitte versuchen Sie es erneut."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Die PIN ist zu kurz. Sie muss mindestens 4 Ziffern umfassen."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Falsche PIN. In 1 Sek. erneut versuchen."</item>
- <item quantity="other" msgid="8030607343223287654">"Falsche PIN. In <xliff:g id="COUNT">%d</xliff:g> Sek. erneut versuchen."</item>
+ <item quantity="one" msgid="311050995198548675">"In 1 Sek. wiederholen"</item>
+ <item quantity="other" msgid="4730868920742952817">"In <xliff:g id="COUNT">%d</xliff:g> Sek. wiederholen"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Später erneut versuchen"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Zum Einblenden der Leiste vom Rand weg wischen"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Zum Einblenden der Systemleiste vom Rand weg wischen"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Εμφάνιση όλων"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Επιλογή δραστηριότητας"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Κοινή χρήση με"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Η συσκευή κλειδώθηκε."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Γίνεται αποστολή…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Εκκίνηση προγράμματος περιήγησης;"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Ακυρώθηκε"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Σφάλμα κατά την εγγραφή περιεχομένου"</string>
<string name="reason_unknown" msgid="6048913880184628119">"άγνωστο"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Εισαγάγετε κωδικό PIN διαχειριστή"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Εισαγωγή PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Εσφαλμένο"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Ισχύων κωδικός PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Νέος κωδικός PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Επιβεβαίωση νέου κωδικού PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Τα PIN δεν συμφωνούν. Προσπαθήστε ξανά."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Το PIN είναι υπερβολικά μικρό. Πρέπει να έχει μέγεθος τουλάχιστον 4 χαρακτήρων."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Λάθος PIN. Προσπαθήστε ξανά σε 1 δευτερόλεπτο."</item>
- <item quantity="other" msgid="8030607343223287654">"Λάθος PIN. Προσπαθήστε ξανά σε <xliff:g id="COUNT">%d</xliff:g> δευτερόλεπτα."</item>
+ <item quantity="one" msgid="311050995198548675">"Επανάληψη σε 1 δευτ."</item>
+ <item quantity="other" msgid="4730868920742952817">"Επανάληψη σε <xliff:g id="COUNT">%d</xliff:g> δευτ."</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Δοκιμάστε ξανά αργότερα"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Σύρετε την άκρη για εμφάν.γραμμής"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Σύρετε από την άκρη της οθόνης για να εμφανίσετε τη γραμμή συστήματος"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"See all"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Choose activity"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Share with"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Device locked."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Sending…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Launch Browser?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Cancelled"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Error writing content"</string>
<string name="reason_unknown" msgid="6048913880184628119">"unknown"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Enter administrator PIN"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Enter PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorrect"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Current PIN:"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"New PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirm new PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PINs don\'t match. Try again."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN is too short. Must be at least 4 digits."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Incorrect PIN. Try again in 1 second."</item>
- <item quantity="other" msgid="8030607343223287654">"Incorrect PIN. Try again in <xliff:g id="COUNT">%d</xliff:g> seconds."</item>
+ <item quantity="one" msgid="311050995198548675">"Try again in 1 second"</item>
+ <item quantity="other" msgid="4730868920742952817">"Try again in <xliff:g id="COUNT">%d</xliff:g> seconds"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Try again later"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Swipe edge of screen to reveal bar"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Swipe from edge of screen to reveal system bar"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"See all"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Choose activity"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Share with"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Device locked."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Sending…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Launch Browser?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Cancelled"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Error writing content"</string>
<string name="reason_unknown" msgid="6048913880184628119">"unknown"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Enter administrator PIN"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Enter PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorrect"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Current PIN:"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"New PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirm new PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PINs don\'t match. Try again."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN is too short. Must be at least 4 digits."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Incorrect PIN. Try again in 1 second."</item>
- <item quantity="other" msgid="8030607343223287654">"Incorrect PIN. Try again in <xliff:g id="COUNT">%d</xliff:g> seconds."</item>
+ <item quantity="one" msgid="311050995198548675">"Try again in 1 second"</item>
+ <item quantity="other" msgid="4730868920742952817">"Try again in <xliff:g id="COUNT">%d</xliff:g> seconds"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Try again later"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Swipe edge of screen to reveal bar"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Swipe from edge of screen to reveal system bar"</string>
</resources>
<string name="permdesc_bindAccessibilityService" msgid="7034615928609331368">"Permite al propietario vincularse a la interfaz de nivel superior de un servicio de accesibilidad. Las aplicaciones normales no deberían necesitar este permiso."</string>
<string name="permlab_bindPrintService" msgid="8462815179572748761">"vincular a un servicio de impresión"</string>
<string name="permdesc_bindPrintService" msgid="7960067623209111135">"Permite al propietario vincularse a la interfaz de nivel superior de un servicio de impresión. Las aplicaciones normales no deberían necesitar este permiso."</string>
- <string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"Vincular a un servicio de administrador de trabajos de impresión"</string>
- <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"Permite al propietario vincularse con la interfaz de nivel superior de un servicio de administrador de trabajos de impresión. Las aplicaciones normales no deberían necesitar este permiso."</string>
+ <string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"Vincular a un servicio de administración de trabajos de impresión"</string>
+ <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"Permite al propietario vincularse con la interfaz de nivel superior de un servicio de administración de trabajos de impresión. Las aplicaciones normales no deberían necesitar este permiso."</string>
<string name="permlab_bindNfcService" msgid="2752731300419410724">"Vincular con servicio NFC"</string>
<string name="permdesc_bindNfcService" msgid="6120647629174066862">"Permite vincular con aplicaciones que emulen tarjetas NFC. Las aplicaciones normales no deberían necesitar este permiso."</string>
<string name="permlab_bindTextService" msgid="7358378401915287938">"vincular a un servicio de texto"</string>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Ver todas"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Elige actividad"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Compartir con"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Dispositivo bloqueado"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Enviando..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"¿Deseas iniciar el navegador?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Cancelada"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Error al escribir contenido"</string>
<string name="reason_unknown" msgid="6048913880184628119">"desconocido"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Ingresar PIN de administrador"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Ingresar PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorrecto"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN actual"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN nuevo"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirmar PIN nuevo"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Los PIN no coinciden. Vuelve a intentarlo."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"El PIN es demasiado corto. Debe tener al menos 4 dígitos."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN incorrecto. Reintentar en 1 s"</item>
- <item quantity="other" msgid="8030607343223287654">"PIN incorrecto. Reintentar en <xliff:g id="COUNT">%d</xliff:g> s"</item>
+ <item quantity="one" msgid="311050995198548675">"Intentar en 1 s"</item>
+ <item quantity="other" msgid="4730868920742952817">"Intentar en <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Volver a intentar más tarde"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Desliza el borde para ver la barra."</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Desliza el dedo desde el borde de la pantalla para mostrar la barra del sistema."</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Ver todo"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Seleccionar actividad"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Compartir con"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Dispositivo bloqueado"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Enviando..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"¿Iniciar el navegador?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Cancelado"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Error al escribir contenido"</string>
<string name="reason_unknown" msgid="6048913880184628119">"desconocido"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Introducir PIN de administrador"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Introducir PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorrecta"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN actual"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN nuevo"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirma tu nuevo PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Los números PIN no coinciden. Inténtalo de nuevo."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"El PIN es demasiado corto. Debe tener al menos 4 dígitos."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN incorrecto. Inténtalo de nuevo dentro de 1 segundo."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN incorrecto. Inténtalo de nuevo dentro de <xliff:g id="COUNT">%d</xliff:g> segundos."</item>
+ <item quantity="one" msgid="311050995198548675">"Inténtalo en 1 s"</item>
+ <item quantity="other" msgid="4730868920742952817">"Inténtalo en <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Volver a intentar más tarde"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Deslizar borde para mostrar barra"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Desliza el borde de la pantalla para mostrar la barra del sistema"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Kuva kõik"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Tegevuse valimine"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Jagamine rakendusega:"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Seade lukustatud."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Saatmine ..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Kas käivitada brauser?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Tühistatud"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Viga sisu kirjutamisel"</string>
<string name="reason_unknown" msgid="6048913880184628119">"teadmata"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Administraatori PIN-koodi sisestamine"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Sisestage PIN-kood"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Vale"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Praegune PIN-kood"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Uus PIN-kood"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Kinnitage uus PIN-kood"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-kood ei sobi. Proovige uuesti."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN-kood on liiga lühike. Peab olema vähemalt 4-kohaline."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Vale PIN-kood. Proovige 1 s pärast."</item>
- <item quantity="other" msgid="8030607343223287654">"Vale PIN-kood. Proovige <xliff:g id="COUNT">%d</xliff:g> s pärast."</item>
+ <item quantity="one" msgid="311050995198548675">"Proovige uuesti 1 sekundi pärast"</item>
+ <item quantity="other" msgid="4730868920742952817">"Proovige uuesti <xliff:g id="COUNT">%d</xliff:g> sekundi pärast"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Proovige hiljem uuesti"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Riba kuvam. pühkige ekraani serva"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Süsteemiriba kuvamiseks pühkige ekraani servast"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"مشاهدهٔ همه"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"انتخاب فعالیت"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"اشتراکگذاری با"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"دستگاه قفل است."</string>
<string name="list_delimeter" msgid="3975117572185494152">"، "</string>
<string name="sending" msgid="3245653681008218030">"در حال ارسال..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"مرورگر راهاندازی شود؟"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"لغو شد"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"خطا هنگام نوشتن محتوا"</string>
<string name="reason_unknown" msgid="6048913880184628119">"نامعلوم"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"پین سرپرست را وارد کنید"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"پین را وارد کنید"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"نادرست"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"پین کنونی"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"پین جدید"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"تأیید پین جدید"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"پینها مطابقت ندارند. دوباره امتحان کنید."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"پین بیش از حد کوتاه است. باید حداقل ۴ رقم باشد."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"پین نادرست است. امتحان در ۱ ثانیه."</item>
- <item quantity="other" msgid="8030607343223287654">"پین نادرست است. امتحان در <xliff:g id="COUNT">%d</xliff:g> ثانیه."</item>
+ <item quantity="one" msgid="311050995198548675">"امتحان پس از ۱ ثانیه"</item>
+ <item quantity="other" msgid="4730868920742952817">"امتحان پس از <xliff:g id="COUNT">%d</xliff:g> ثانیه"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"بعداً دوباره امتحان کنید"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"کشیدن از لبه صفحه برای نمایش نوار"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"برای نمایش نوار سیستم، انگشت خود را از لبه صفحه به داخل بکشید"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Näytä kaikki"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Valitse toiminto"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Jaa seuraavien kanssa"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Laite lukittu."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Lähetetään…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Käynnistetäänkö selain?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Peruutettu"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Sisällön kirjoittamisessa tapahtui virhe"</string>
<string name="reason_unknown" msgid="6048913880184628119">"tuntematon"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Anna järjestelmänvalvojan PIN-koodi"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Anna PIN-koodi"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Virheellinen"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Nykyinen PIN-koodi"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Uusi PIN-koodi"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Vahvista uusi PIN-koodi"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-koodit eivät vastaa toisiaan. Yritä uudelleen."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN-koodi on liian lyhyt. Vähimmäispituus on neljä merkkiä."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Väärä PIN. Yritä uudelleen yhden sekunnin kuluttua."</item>
- <item quantity="other" msgid="8030607343223287654">"Väärä PIN. Yritä uudelleen <xliff:g id="COUNT">%d</xliff:g> sekunnin kuluttua."</item>
+ <item quantity="one" msgid="311050995198548675">"Yritä uud. 1 s kul."</item>
+ <item quantity="other" msgid="4730868920742952817">"Yritä uud. <xliff:g id="COUNT">%d</xliff:g> s kul."</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Yritä myöhemmin uudelleen"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Näytä palkki liu\'uttamalla reunasta"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Tuo järjestelmäpalkki näkyviin liu\'uttamalla ruudun reunasta"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Tout afficher"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Sélectionnez une activité"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Partagez avec"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Appareil verrouillé"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Envoi…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Lancer le navigateur?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Annulé"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Erreur lors de l\'écriture du contenu"</string>
<string name="reason_unknown" msgid="6048913880184628119">"inconnu"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Entrez le NIP d\'administrateur"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Saisissez le NIP"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorrect"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"NIP actuel"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Nouveau NIP"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirmer le nouveau NIP"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Les NIP ne correspondent pas. Essayez à nouveau."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Le NIP est trop court. Il doit comporter au moins 4 chiffres."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"NIP erroné. Essayez à nouveau dans 1 seconde."</item>
- <item quantity="other" msgid="8030607343223287654">"NIP erroné. Réessayez dans <xliff:g id="COUNT">%d</xliff:g> secondes."</item>
+ <item quantity="one" msgid="311050995198548675">"Dans 1 seconde"</item>
+ <item quantity="other" msgid="4730868920742952817">"Dans <xliff:g id="COUNT">%d</xliff:g> secondes"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Réessayez plus tard"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Gliss. doigt sur côté écr. aff. barre"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Faites glisser votre doigt à partir d\'un côté de l\'écran pour afficher la barre système"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Tout afficher"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Sélectionnez une activité"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Partager avec"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Appareil verrouillé"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Envoi en cours…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Lancer le navigateur ?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Tâche annulée."</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Erreur lors de la modification du contenu."</string>
<string name="reason_unknown" msgid="6048913880184628119">"inconnu"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Saisir le code PIN d\'administrateur"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Saisir le code PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorrect."</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Code PIN actuel"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Nouveau code PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirmer le nouveau code PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Les codes PIN ne correspondent pas. Veuillez réessayer."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Le code PIN est trop court. Il doit comporter au moins 4 chiffres."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN erroné. Réessayez dans 1 seconde."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN erroné. Réessayez dans <xliff:g id="COUNT">%d</xliff:g> secondes."</item>
+ <item quantity="one" msgid="311050995198548675">"Essay. dans 1 s"</item>
+ <item quantity="other" msgid="4730868920742952817">"Essay. dans <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Veuillez réessayer ultérieurement."</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Faire glisser côté pour voir barre."</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Faites glisser le doigt à partir d\'un côté de l\'écran pour afficher la barre système."</string>
</resources>
<string name="permlab_setDebugApp" msgid="3022107198686584052">"एप्लिकेशन डीबग करना सक्षम करें"</string>
<string name="permdesc_setDebugApp" msgid="4474512416299013256">"एप्लिकेशन को अन्य एप्लिकेशन के लिए डीबग किया जाना चालू करने देता है. दुर्भावनापूर्ण एप्लिकेशन इसका उपयोग अन्य एप्लिकेशन को समाप्त करने के लिए कर सकते हैं."</string>
<string name="permlab_changeConfiguration" msgid="4162092185124234480">"सिस्टम प्रदर्शन सेटिंग बदलें"</string>
- <string name="permdesc_changeConfiguration" msgid="4372223873154296076">"à¤\8fपà¥\8dलिà¤\95à¥\87शन à¤\95à¥\8b वरà¥\8dतमान à¤\95à¥\89नà¥\8dफ़िà¤\97रà¥\87शन, à¤\9cà¥\88सà¥\87 सà¥\8dथान या समà¤\97à¥\8dर फ़à¥\89नà¥\8dà¤\9f आकार, बदलने देता है."</string>
+ <string name="permdesc_changeConfiguration" msgid="4372223873154296076">"à¤\8fपà¥\8dलिà¤\95à¥\87शन à¤\95à¥\8b वरà¥\8dतमान à¤\95à¥\89नà¥\8dफ़िà¤\97रà¥\87शन, à¤\9cà¥\88सà¥\87 सà¥\8dथान या समà¤\97à¥\8dर à¤\85à¤\95à¥\8dषरà¥\8bà¤\82 à¤\95ा आकार, बदलने देता है."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"कार मोड सक्षम करें"</string>
<string name="permdesc_enableCarMode" msgid="4853187425751419467">"एप्लिकेशन को कार मोड सक्षम करने देता है."</string>
<string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"अन्य एप्लिकेशन बंद करें"</string>
<string name="permlab_mount_format_filesystems" product="nosdcard" msgid="6227819582624904972">"USB संग्रहण मिटाएं"</string>
<string name="permlab_mount_format_filesystems" product="default" msgid="262582698639274056">"SD कार्ड मिटाएं"</string>
<string name="permdesc_mount_format_filesystems" msgid="8784268246779198627">"एप्लिकेशन को निकालने योग्य संग्रहण फ़ॉर्मेट करने देता है."</string>
- <string name="permlab_asec_access" msgid="3411338632002193846">"à¤\86à¤\82तरिà¤\95 संग्रहण पर जानकारी प्राप्त करें"</string>
- <string name="permdesc_asec_access" msgid="3094563844593878548">"à¤\8fपà¥\8dलिà¤\95à¥\87शन à¤\95à¥\8b à¤\86à¤\82तरिà¤\95 संग्रहण की जानकारी प्राप्त करने देता है."</string>
- <string name="permlab_asec_create" msgid="6414757234789336327">"à¤\86à¤\82तरिà¤\95 संग्रहण बनाएं"</string>
- <string name="permdesc_asec_create" msgid="4558869273585856876">"à¤\8fपà¥\8dâ\80\8dलिà¤\95à¥\87शन à¤\95à¥\8b à¤\86à¤\82तरिà¤\95 संग्रहण बनाने देता है."</string>
- <string name="permlab_asec_destroy" msgid="526928328301618022">"à¤\86à¤\82तरिà¤\95 संग्रहण नष्ट करें"</string>
- <string name="permdesc_asec_destroy" msgid="7218749286145526537">"à¤\8fपà¥\8dâ\80\8dलिà¤\95à¥\87शन à¤\95à¥\8b à¤\86à¤\82तरिà¤\95 संग्रहण नष्ट करने देता है."</string>
- <string name="permlab_asec_mount_unmount" msgid="8877998101944999386">"à¤\86à¤\82तरिà¤\95 संग्रहण माउंट/अनमाउंट करें"</string>
- <string name="permdesc_asec_mount_unmount" msgid="3451360114902490929">"à¤\8fपà¥\8dâ\80\8dलिà¤\95à¥\87शन à¤\95à¥\8b à¤\86à¤\82तरिà¤\95 संग्रहण माउंट/अनमाउंट करने देता है."</string>
- <string name="permlab_asec_rename" msgid="7496633954080472417">"à¤\86à¤\82तरिà¤\95 संग्रहण का नाम बदलें"</string>
- <string name="permdesc_asec_rename" msgid="1794757588472127675">"à¤\8fपà¥\8dâ\80\8dलिà¤\95à¥\87शन à¤\95à¥\8b à¤\86à¤\82तरिà¤\95 संग्रहण का नाम बदलने देता है."</string>
+ <string name="permlab_asec_access" msgid="3411338632002193846">"मà¥\8bबाà¤\87ल संग्रहण पर जानकारी प्राप्त करें"</string>
+ <string name="permdesc_asec_access" msgid="3094563844593878548">"à¤\8fपà¥\8dलिà¤\95à¥\87शन à¤\95à¥\8b मà¥\8bबाà¤\87ल संग्रहण की जानकारी प्राप्त करने देता है."</string>
+ <string name="permlab_asec_create" msgid="6414757234789336327">"मà¥\8bबाà¤\87ल संग्रहण बनाएं"</string>
+ <string name="permdesc_asec_create" msgid="4558869273585856876">"à¤\8fपà¥\8dâ\80\8dलिà¤\95à¥\87शन à¤\95à¥\8b मà¥\8bबाà¤\87ल संग्रहण बनाने देता है."</string>
+ <string name="permlab_asec_destroy" msgid="526928328301618022">"मà¥\8bबाà¤\87ल संग्रहण नष्ट करें"</string>
+ <string name="permdesc_asec_destroy" msgid="7218749286145526537">"à¤\8fपà¥\8dâ\80\8dलिà¤\95à¥\87शन à¤\95à¥\8b मà¥\8bबाà¤\87ल संग्रहण नष्ट करने देता है."</string>
+ <string name="permlab_asec_mount_unmount" msgid="8877998101944999386">"मà¥\8bबाà¤\87ल संग्रहण माउंट/अनमाउंट करें"</string>
+ <string name="permdesc_asec_mount_unmount" msgid="3451360114902490929">"à¤\8fपà¥\8dâ\80\8dलिà¤\95à¥\87शन à¤\95à¥\8b मà¥\8bबाà¤\87ल संग्रहण माउंट/अनमाउंट करने देता है."</string>
+ <string name="permlab_asec_rename" msgid="7496633954080472417">"मà¥\8bबाà¤\87ल संग्रहण का नाम बदलें"</string>
+ <string name="permdesc_asec_rename" msgid="1794757588472127675">"à¤\8fपà¥\8dâ\80\8dलिà¤\95à¥\87शन à¤\95à¥\8b मà¥\8bबाà¤\87ल संग्रहण का नाम बदलने देता है."</string>
<string name="permlab_vibrate" msgid="7696427026057705834">"कंपन नियंत्रित करें"</string>
<string name="permdesc_vibrate" msgid="6284989245902300945">"एप्लिकेशन को कंपनकर्ता नियंत्रित करने देता है."</string>
<string name="permlab_flashlight" msgid="2155920810121984215">"फ़्लैशलाइट नियंत्रित करें"</string>
<string name="permdesc_readPhoneState" msgid="1639212771826125528">"एप्लिकेशन को उपकरण की फ़ोन सुविधाओं तक पहुंचने देता है. यह अनुमति एप्लिकेशन को फ़ोन नंबर और उपकरण आईडी, कॉल सक्रिय है या नहीं, और कॉल द्वारा कनेक्ट किया गया दूरस्थ नंबर निर्धारित करने देती है."</string>
<string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"टेबलेट को निष्क्रिय होने से रोकें"</string>
<string name="permlab_wakeLock" product="default" msgid="573480187941496130">"फ़ोन को निष्क्रिय होने से रोकें"</string>
- <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"à¤\8fपà¥\8dलिà¤\95à¥\87शन à¤\95à¥\8b à¤\9fà¥\87बलà¥\87à¤\9f à¤\95à¥\8b निषà¥\8dà¤\95à¥\8dरिय हो जाने से रोकता है."</string>
- <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"à¤\8fपà¥\8dलिà¤\95à¥\87शन à¤\95à¥\8b फ़à¥\8bन à¤\95à¥\8b निषà¥\8dà¤\95à¥\8dरिय होने से रोकता है."</string>
+ <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"à¤\8fपà¥\8dलिà¤\95à¥\87शन à¤\95à¥\8b à¤\9fà¥\87बलà¥\87à¤\9f à¤\95à¥\8b पà¥\8dरयà¥\8bà¤\97 मà¥\87à¤\82 नहà¥\80à¤\82 हो जाने से रोकता है."</string>
+ <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"à¤\8fपà¥\8dलिà¤\95à¥\87शन à¤\95à¥\8b फ़à¥\8bन à¤\95à¥\8b पà¥\8dरयà¥\8bà¤\97 मà¥\87à¤\82 नहà¥\80à¤\82 होने से रोकता है."</string>
<string name="permlab_devicePower" product="tablet" msgid="2787034722616350417">"टेबलेट चालू या बंद करें"</string>
<string name="permlab_devicePower" product="default" msgid="4928622470980943206">"फ़ोन चालू या बंद करें"</string>
<string name="permdesc_devicePower" product="tablet" msgid="6689862878984631831">"एप्लिकेशन को टेबलेट चालू या बंद करने देता है."</string>
<string name="action_menu_overflow_description" msgid="2295659037509008453">"अधिक विकल्प"</string>
<string name="action_bar_home_description_format" msgid="7965984360903693903">"%1$s, %2$s"</string>
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
- <string name="storage_internal" msgid="4891916833657929263">"à¤\86à¤\82तरिà¤\95 संग्रहण"</string>
+ <string name="storage_internal" msgid="4891916833657929263">"मà¥\8bबाà¤\87ल संग्रहण"</string>
<string name="storage_sd_card" msgid="3282948861378286745">"SD कार्ड"</string>
<string name="storage_usb" msgid="3017954059538517278">"USB संग्रहण"</string>
<string name="extract_edit_menu_button" msgid="8940478730496610137">"संपादित करें"</string>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"सभी देखें"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"गतिविधि चुनें"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"इसके साथ साझा करें:"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"उपकरण लॉक कर दिया गया."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"भेजा जा रहा है…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"ब्राउज़र लॉन्च करें?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"रद्द कर दी गई"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"सामग्री लिखने में त्रुटि"</string>
<string name="reason_unknown" msgid="6048913880184628119">"अज्ञात"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"व्यवस्थापक पिन डालें"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN डालें"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"गलत"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"वर्तमान पिन"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"नया पिन"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"नए पिन की पुष्टि करें"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN मिलान नहीं करते हैं. पुनः प्रयास करें."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN बहुत छोटा है. कम से कम 4 अंकों का होना चाहिए."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"गलत PIN. 1 सेकंड में पुनः प्रयास करें."</item>
- <item quantity="other" msgid="8030607343223287654">"गलत PIN. <xliff:g id="COUNT">%d</xliff:g> सेकंड में पुनः प्रयास करें."</item>
+ <item quantity="one" msgid="311050995198548675">"1 सेकंड में पुन: प्रयास करें"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g> सेकंड में पुन: प्रयास करें"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"बाद में पुनः प्रयास करें"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"बार को प्रदर्शित करने के लिए स्क्रीन के किनारे को स्वाइप करें"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"सिस्टम बार को प्रदर्शित करने के लिए स्क्रीन के किनारे से स्वाइप करें"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Prikaži sve"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Odabir aktivnosti"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Dijeljenje s"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Uređaj zaključan."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Slanje..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Pokrenuti preglednik?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Otkazano"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Pogreška prilikom pisanja sadržaja"</string>
<string name="reason_unknown" msgid="6048913880184628119">"nepoznato"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Unesite PIN administratora"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Unesite PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Netočno"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Trenutačni PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Novi PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Potvrdite novi PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-ovi se ne podudaraju. Pokušajte ponovo."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN je prekratak. Mora imati barem 4 znamenke."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN nije točan. Ponovite za 1 s."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN nije točan. Ponovite za <xliff:g id="COUNT">%d</xliff:g> s."</item>
+ <item quantity="one" msgid="311050995198548675">"Ponovite za 1 s"</item>
+ <item quantity="other" msgid="4730868920742952817">"Ponovite za <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Pokušajte ponovo kasnije"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Prijeđite po rubu za prikaz trake"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Prijeđite prstom od ruba zaslona da bi se prikazala traka sustava"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Összes megtekintése"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Tevékenység kiválasztása"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Megosztás"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Az eszköz le van zárva."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Küldés…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Böngésző indítása?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Törölve"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Hiba történt a tartalomírás közben"</string>
<string name="reason_unknown" msgid="6048913880184628119">"ismeretlen"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Rendszergazdai PIN kód megadása"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN kód megadása"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Helytelen"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Jelenlegi PIN kód"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Új PIN kód"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Új PIN kód megerősítése"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"A PIN kódok nem egyeznek. Próbálja újra."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"A PIN kód túl rövid. Legalább 4 számjegyből kell állnia."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Helytelen PIN kód. Próbálja újra 1 másodperc múlva."</item>
- <item quantity="other" msgid="8030607343223287654">"Helytelen PIN kód. Próbálja újra <xliff:g id="COUNT">%d</xliff:g> másodperc múlva."</item>
+ <item quantity="one" msgid="311050995198548675">"Próbálja újra 1 másodperc múlva"</item>
+ <item quantity="other" msgid="4730868920742952817">"Próbálja újra <xliff:g id="COUNT">%d</xliff:g> másodperc múlva"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Próbálkozzon később"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Csúsztatás a képernyő szélén a sávhoz"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Csúsztassa ujját a képernyő szélétől a rendszersáv megjelenítéséhez"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Տեսնել բոլորը"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Ընտրել գործունեությունը"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Տարածել"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Սարքը կողպված է:"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Ուղարկվում է..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Գործարկե՞լ զննարկիչը:"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Չեղարկված է"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Բովանդակության գրելու սխալ"</string>
<string name="reason_unknown" msgid="6048913880184628119">"անհայտ"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Մուտքագրեք կառավարչի PIN-ը"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Մուտքագրեք PIN-ը"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Սխալ է"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Ընթացիկ PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Նոր PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Հաստատեք նոր PIN-ը"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-երը չեն համընկնում: Փորձեք կրկին:"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN-ը չափազանց կարճ է: Պետք է ունենա առնվազն 4 թվանիշ:"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN-ը սխալ է: Փորձեք կրկին 1 վայրկյանից:"</item>
- <item quantity="other" msgid="8030607343223287654">"PIN-ը սխալ է: Փորձեք կրկին <xliff:g id="COUNT">%d</xliff:g> վայրկյանից:"</item>
+ <item quantity="one" msgid="311050995198548675">"Կրկին փորձեք 1 վայրկյանից"</item>
+ <item quantity="other" msgid="4730868920742952817">"Կրկին փորձեք <xliff:g id="COUNT">%d</xliff:g> վայրկյանից"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Կրկին փորձեք մի փոքր ուշ"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Սահեցրեք էկրանի եզրով՝ գոտին բացելու համար"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Սահեցրեք էկրանի եզրով՝ համակարգային գոտին բացելու համար"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Lihat semua"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Pilih kegiatan"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Berbagi dengan"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Perangkat tergembok."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Mengirim..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Luncurkan Browser?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Dibatalkan"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Terjadi kesalahan saat menulis konten"</string>
<string name="reason_unknown" msgid="6048913880184628119">"tak diketahui"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Masukkan PIN administrator"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Masukkan PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Tidak benar"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN Saat Ini"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN Baru"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Konfirmasi PIN baru"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN tidak cocok. Coba lagi."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN terlalu pendek. Minimal 4 digit."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN salah. Coba lagi dalam 1 detik."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN salah. Coba lagi dalam <xliff:g id="COUNT">%d</xliff:g> detik."</item>
+ <item quantity="one" msgid="311050995198548675">"Coba 1 dtk lagi"</item>
+ <item quantity="other" msgid="4730868920742952817">"Coba <xliff:g id="COUNT">%d</xliff:g> detik lagi"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Coba lagi nanti"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Gesek tepi layar untuk membuka bilah"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Gesek dari bagian tepi layar untuk membuka bilah sistem"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Mostra tutto"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Scegli attività"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Condividi con"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Dispositivo bloccato."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Invio..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Avviare l\'applicazione Browser?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Annullato"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Errore nella scrittura dei contenuti"</string>
<string name="reason_unknown" msgid="6048913880184628119">"sconosciuto"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Inserisci PIN amministratore"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Inserisci PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Non corretto"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN corrente"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Nuovo PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Conferma il nuovo PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"I PIN non corrispondono. Riprova."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Il PIN è troppo corto. Deve avere almeno quattro cifre."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN errato. Riprova tra 1 s."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN errato. Riprova tra <xliff:g id="COUNT">%d</xliff:g> s."</item>
+ <item quantity="one" msgid="311050995198548675">"Riprova fra 1 s."</item>
+ <item quantity="other" msgid="4730868920742952817">"Riprova tra <xliff:g id="COUNT">%d</xliff:g> s."</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Riprova più tardi"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Scorri bordo schermo per visual. barra"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Fai scorrere il dito dal bordo dello schermo per visualizzare la barra di sistema"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"הצג הכל"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"בחר פעילות"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"שתף עם"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"המכשיר נעול."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"שולח…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"להפעיל את הדפדפן?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"בוטלה"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"שגיאה בכתיבת תוכן"</string>
<string name="reason_unknown" msgid="6048913880184628119">"לא ידוע"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"הזן את מספר ה-PIN של מנהל המערכת"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"הזן מספר PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"שגוי"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"מספר PIN נוכחי"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"מספר PIN חדש"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"אשר את מספר ה-PIN החדש"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"מספרי ה-PIN לא תואמים. נסה שוב."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"מספר ה-PIN קצר מדי. חייב להיות באורך 4 ספרות לפחות."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"מספר PIN שגוי. נסה שוב בעוד שניה."</item>
- <item quantity="other" msgid="8030607343223287654">"מספר PIN שגוי. נסה שוב בעוד <xliff:g id="COUNT">%d</xliff:g> שניות."</item>
+ <item quantity="one" msgid="311050995198548675">"נסה שוב בעוד שנייה"</item>
+ <item quantity="other" msgid="4730868920742952817">"נסה שוב בעוד <xliff:g id="COUNT">%d</xliff:g> שניות"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"נסה שוב מאוחר יותר"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"החלק מקצה המסך כדי להציג את הסרגל"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"החלק מקצה המסך כדי להציג את סרגל המערכת"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"すべて表示"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"操作の選択"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"共有"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"端末がロックされています。"</string>
<string name="list_delimeter" msgid="3975117572185494152">"、 "</string>
<string name="sending" msgid="3245653681008218030">"送信中..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"ブラウザを起動しますか?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"キャンセルされました"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"コンテンツの書き込み中にエラーが発生しました"</string>
<string name="reason_unknown" msgid="6048913880184628119">"不明"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"管理者PINを入力"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PINを入力"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"間違っています"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"現在のPIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"新しいPIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"新しいPINの確認"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PINが一致しません。もう一度お試しください。"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PINが短すぎます。4桁以上にしてください。"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PINが正しくありません。1秒後にもう一度お試しください。"</item>
- <item quantity="other" msgid="8030607343223287654">"PINが正しくありません。<xliff:g id="COUNT">%d</xliff:g>秒後にもう一度お試しください。"</item>
+ <item quantity="one" msgid="311050995198548675">"1秒後に再試行"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g>秒後に再試行"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"しばらくしてから再試行"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"画面の端からスワイプしてバーを表示"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"システムバーを表示するには、画面の端からスワイプします"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"ყველას ნახვა"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"აქტივობის არჩევა"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"გაზიარება"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"მოწყობილობა ჩაკეტილია."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"იგზავნება..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"გსურთ ბრაუზერის გაშვება?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"გაუქმებული"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"შეცდომა კონტენტის ჩაწერისას"</string>
<string name="reason_unknown" msgid="6048913880184628119">"უცნობი"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"შეიყვანეთ ადმინისტრატორის PIN"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"შეიყვანეთ PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"არასწორია"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"ამჟამინდელი PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"ახალი PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"გაიმეორეთ ახალი PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-ები არ ემთხვევა. სცადეთ ხელახლა."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN ძალიან მოკლეა. უნდა შედგებოდეს სულ ცოტა 4 ციფრისგან."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"არასწორი PIN. სცადეთ ისევ 1 წამში."</item>
- <item quantity="other" msgid="8030607343223287654">"არასწორი PIN. სცადეთ ისევ <xliff:g id="COUNT">%d</xliff:g> წამში."</item>
+ <item quantity="one" msgid="311050995198548675">"კიდევ ერთხელ სცადეთ 1 წამში"</item>
+ <item quantity="other" msgid="4730868920742952817">"კიდევ ერთხელ სცადეთ <xliff:g id="COUNT">%d</xliff:g> წამში"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"სცადეთ მოგვიანებით"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"გაასრიალეთ ეკრანის კიდეზე ზოლის გამოსაჩენად"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"გაასრიალეთ ეკრანის კიდიდან სისტემის ზოლის გამოსაჩენად"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"មើលទាំងអស់"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"ជ្រើសសកម្មភាព"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"ចែករំលែកជាមួយ"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"ឧបករណ៍ជាប់សោ។"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"កំពុងផ្ញើ..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"ចាប់ផ្ដើមកម្មវិធីអ៊ីនធឺណិត?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"បានបោះបង់"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"កំហុសក្នុងការសរសេរមាតិកា"</string>
<string name="reason_unknown" msgid="6048913880184628119">"មិនស្គាល់"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"បញ្ចូលលេខកូដសម្ងាត់អ្នកគ្រប់គ្រង"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"បញ្ចូលកូដ PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"មិនត្រឹមត្រូវ"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"កូដ PIN បច្ចុប្បន្ន"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"កូដ PIN ថ្មី"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"បញ្ជាក់កូដ PIN ថ្មី"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"កូដ PIN មិនដូចគ្នា។ ព្យាយាមម្ដងទៀត។"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"កូដ PIN ខ្លីពេក។ ត្រូវតែមានយ៉ាងហោចណាស់ ៤ តួ។"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"លេខកូដ PIN មិនត្រឹមត្រូវ។ ព្យាយាមម្ដងទៀតក្នុងរយៈពេល ១ វិនាទី។"</item>
- <item quantity="other" msgid="8030607343223287654">"លេខកូដ PIN មិនត្រឹមត្រូវ។ ព្យាយាមម្ដងទៀតក្នុងរយៈពេល <xliff:g id="COUNT">%d</xliff:g> វិនាទី។"</item>
+ <item quantity="one" msgid="311050995198548675">"ព្យាយាមម្ដងទៀតក្នុងរយៈពេល ១វិនាទី។"</item>
+ <item quantity="other" msgid="4730868920742952817">"សូមព្យាយាមម្ដងទៀតក្នុងរយៈពេល <xliff:g id="COUNT">%d</xliff:g> វិនាទី"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"សូមព្យាយាមម្ដងទៀតនៅពេលក្រោយ។"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"អូសគែមអេក្រង់ ដើម្បីបង្ហាញរបារ"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"អូសពីគែមអេក្រង់ ដើម្បីបង្ហាញរបារប្រព័ន្ធ"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"전체 보기"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"작업 선택"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"공유 대상"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"기기가 잠겼습니다."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"전송 중..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"브라우저를 실행하시겠습니까?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"취소됨"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"콘텐츠 작성 중 오류"</string>
<string name="reason_unknown" msgid="6048913880184628119">"알 수 없음"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"관리자 PIN 입력"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN 입력"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"올바르지 않은 값이 입력됨"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"현재 PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"새 PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"새 PIN 확인"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN이 일치하지 않습니다. 다시 시도하세요."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN이 너무 짧습니다. 최소 4자 이상이어야 합니다."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"잘못된 PIN입니다. 1초 뒤에 다시 시도하세요."</item>
- <item quantity="other" msgid="8030607343223287654">"잘못된 PIN입니다. <xliff:g id="COUNT">%d</xliff:g>초 뒤에 다시 시도하세요."</item>
+ <item quantity="one" msgid="311050995198548675">"1초 후에 다시 시도하세요."</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g>초 후에 다시 시도하세요."</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"나중에 다시 시도"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"화면 가장자리에서 스와이프하여 표시줄 표시"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"화면 가장자리에서 스와이프하여 시스템 표시줄 표시"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"ເບິ່ງທັງຫມົດ"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"ເລືອກກິດຈະກຳ"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"ແບ່ງປັນກັບ"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"ອຸປະກອນລັອກ."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"ກຳລັງສົ່ງ..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"ເປີດໂປຣແກຣມທ່ອງເວັບ?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"ຍົກເລີກແລ້ວ"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"ເນື້ອໃນການຂຽນຜິດພາດ"</string>
<string name="reason_unknown" msgid="6048913880184628119">"ບໍ່ຮູ້ຈັກ"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"ໃສ່ PIN ຜູ່ເບິ່ງແຍງລະບົບ"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"ໃສ່ລະຫັດ PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"ບໍ່ຖືກຕ້ອງ"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN ປະຈຸບັນ"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"ລະຫັດ PIN ໃໝ່"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"ຢືນຢັນລະຫັດ PIN ໃໝ່"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN ບໍ່ກົງກັນ. ລອງໃໝ່ອີກຄັ້ງ."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN ສັ້ນເກີນໄປ. ຕ້ອງມີຢ່າງໜ້ອຍ 4 ຫຼັກ."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN ບໍ່ຖືກຕ້ອງ. ລອງໃໝ່ໃນອີກ 1 ວິນາທີ."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN ບໍ່ຖືກຕ້ອງ. ລອງໃໝ່ໃນອີກ <xliff:g id="COUNT">%d</xliff:g> ວິນາທີ."</item>
+ <item quantity="one" msgid="311050995198548675">"ລອງໃໝ່ໃນອີກ 1 ວິນາທີ"</item>
+ <item quantity="other" msgid="4730868920742952817">"ລອງໃໝ່ໃນອີກ <xliff:g id="COUNT">%d</xliff:g> ວິນາທີ"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"ລອງໃໝ່ອີກຄັ້ງໃນພາຍຫລັງ."</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"ປັດຢູ່ຂອບຂອງໜ້າຈໍເພື່ອສະແດງແຖບ"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"ປັດຢູ່ຂອບຂອງໜ້າຈໍເພື່ອສະແດງແຖບຂອງລະບົບ"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Žr. viską"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Pasirinkti veiklą"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Bendrinti su"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Įrenginys užrakintas."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Siunčiama…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Paleisti naršyklę?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Atšaukta"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Klaida rašant turinį"</string>
<string name="reason_unknown" msgid="6048913880184628119">"nežinoma"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Įveskite administratoriaus PIN kodą"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Įveskite PIN kodą"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Neteisingas"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Dabartinis PIN kodas"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Naujas PIN kodas"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Patvirtinti naują PIN kodą"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN kodas neatitinka. Bandykite dar kartą."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN kodas per trumpas. Jis turi būti bent 4 skaitmenų."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Netinkamas PIN kodas. Band. po 1 sek."</item>
- <item quantity="other" msgid="8030607343223287654">"Netinkamas PIN kodas. Band. po <xliff:g id="COUNT">%d</xliff:g> sek."</item>
+ <item quantity="one" msgid="311050995198548675">"Band. dar po 1 s"</item>
+ <item quantity="other" msgid="4730868920742952817">"Band. dar po <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Vėliau bandykite dar kartą"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Perbr. ekr. kr., kad atsir. juost."</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Perbraukite iš ekrano krašto, kad atsirastų sistemos juosta"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Skatīt visu"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Darbības izvēle"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Kopīgošana ar:"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Ierīce ir bloķēta."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Notiek sūtīšana…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Vai palaist pārlūkprogrammu?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Atcelts"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Rakstot saturu, radās kļūda."</string>
<string name="reason_unknown" msgid="6048913880184628119">"nezināms"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Administratora PIN ievadīšana"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Ievadiet PIN."</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Nepareizs"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Pašreizējais PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Jaunais PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Apstipriniet jauno PIN."</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Ievadītie PIN neatbilst. Mēģiniet vēlreiz."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN ir pārāk īss. Tam ir jābūt vismaz 4 ciparus garam."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN nav pareizs. Mēģiniet pēc 1 s."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN nav pareizs. Mēģiniet pēc <xliff:g id="COUNT">%d</xliff:g> s."</item>
+ <item quantity="one" msgid="311050995198548675">"Mēģ. vēl pēc 1 s"</item>
+ <item quantity="other" msgid="4730868920742952817">"Mēģ. vēl pēc <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Vēlāk mēģiniet vēlreiz."</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Velciet no malas, lai atvērtu joslu"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Velciet no ekrāna malas, lai atvērtu sistēmas joslu."</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Бүгдийг харах"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Активити сонгох"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Хуваалцах"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Төхөөрөмж түгжигдсэн."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Илгээж байна ..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Хөтөч ажиллуулах уу?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Цуцлагдсан"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Контентыг бичих явцад алдаа гарсан"</string>
<string name="reason_unknown" msgid="6048913880184628119">"тодорхойгүй"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Админ PIN оруулна уу"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN оруулна уу"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Буруу"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Одоогийн PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Шинэ PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Шинэ PIN-г баталгаажуулах"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN таарахгүй байна. Дахин оролдоно уу."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN хэт богино байна. Хамгийн багадаа 4 цифртэй байх ёстой."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Буруу PIN. 1 секундын дараа дахин оролдоно уу."</item>
- <item quantity="other" msgid="8030607343223287654">"Буруу PIN. <xliff:g id="COUNT">%d</xliff:g> секундын дараа дахин оролдоно уу."</item>
+ <item quantity="one" msgid="311050995198548675">"1 секундын дараа дахин оролдоно уу"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g> секундын дараа дахин оролдоно уу"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Дараа дахин оролдоно уу"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Баганыг харуулахын тулд дэлгэцийн ирмэгийг шудрана уу"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Системийн баганыг гаргахын тулд дэлгэцийн ирмэгээс шудрана уу"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Lihat semua"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Pilih aktiviti"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Kongsi dengan"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Peranti dikunci."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Menghantar…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Lancarkan Penyemak Imbas?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Dibatalkan"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Ralat menulis kandungan"</string>
<string name="reason_unknown" msgid="6048913880184628119">"tidak diketahui"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Masukkan PIN pentadbir"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Masukkan PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Salah"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN semasa"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN baharu"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Sahkan PIN baharu"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN tidak sepadan. Cuba lagi."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN terlalu pendek. Mesti sekurang-kurangnya 4 angka."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN salah. Cuba lagi dalam masa 1 saat."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN salah. Cuba lagi dalam masa <xliff:g id="COUNT">%d</xliff:g> saat."</item>
+ <item quantity="one" msgid="311050995198548675">"Cuba lg dlm 1 st"</item>
+ <item quantity="other" msgid="4730868920742952817">"Cuba lg dlm <xliff:g id="COUNT">%d</xliff:g> st"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Cuba sebentar lagi"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Leret bhg tepi skrin utk serlah bar"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Leret dari tepi skrin untuk menampakkan bar sistem"</string>
</resources>
<string name="permdesc_bindAccessibilityService" msgid="7034615928609331368">"Gir innehaveren tillatelse til å bindes til det øverste nivået av grensesnittet for en tilgjengelighetstjeneste. Skal aldri være nødvendig for vanlige apper."</string>
<string name="permlab_bindPrintService" msgid="8462815179572748761">"binding til en utskriftstjeneste"</string>
<string name="permdesc_bindPrintService" msgid="7960067623209111135">"Gir innehaveren tillatelse til å binde til toppnivået av brukergrensesnittet for en utskriftstjeneste. Dette skal ikke være nødvendig for vanlige apper."</string>
- <string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"binde til en tjeneste for utskriftskø"</string>
- <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"Gir innehaveren tillatelse til å binde til toppnivået av brukergrensesnittet for en tjeneste for utskriftskø. Dette skal ikke være nødvendig for vanlige apper."</string>
+ <string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"binde til en utskriftskøtjeneste"</string>
+ <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"Gir innehaveren tillatelse til å binde til toppnivået av brukergrensesnittet for en utskriftskøtjeneste. Dette skal ikke være nødvendig for vanlige apper."</string>
<string name="permlab_bindNfcService" msgid="2752731300419410724">"binding til NFC-tjenesten"</string>
<string name="permdesc_bindNfcService" msgid="6120647629174066862">"Tillater eieren å binde seg til apper som emulerer NFC-kort. Skal aldri være nødvendig for vanlige apper."</string>
<string name="permlab_bindTextService" msgid="7358378401915287938">"binde til en teksttjeneste"</string>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Se alle"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Velg aktivitet"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Deling med"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Enheten er låst."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Sender …"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Vil du starte nettleseren?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Kansellert"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Feil under skriving av innhold"</string>
<string name="reason_unknown" msgid="6048913880184628119">"ukjent"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Skriv inn administrator-PIN-koden"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Skriv inn PIN-koden"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Feil"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Gjeldende PIN-kode:"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Ny PIN-kode"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Bekreft ny PIN-kode"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-kodene stemmer ikke overens. Prøv på nytt."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN-koden er for kort. Den må bestå av minst fire sifre."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Feil PIN-kode. Prøv på nytt om 1 sekund."</item>
- <item quantity="other" msgid="8030607343223287654">"Feil PIN-kode. Prøv på nytt om <xliff:g id="COUNT">%d</xliff:g> sekunder."</item>
+ <item quantity="one" msgid="311050995198548675">"Prøv på nytt om 1 sekund"</item>
+ <item quantity="other" msgid="4730868920742952817">"Prøv på nytt om <xliff:g id="COUNT">%d</xliff:g> sekunder"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Prøv på nytt senere"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Sveip på kanten av skjermen for å få frem feltet"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Sveip fra kanten på skjermen for å få frem systemfeltet"</string>
</resources>
<string name="global_action_silent_mode_on_status" msgid="3289841937003758806">"आवाज बन्द छ"</string>
<string name="global_action_silent_mode_off_status" msgid="1506046579177066419">"ध्वनि खुल्ला छ"</string>
<string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"हवाइजहाज मोड"</string>
- <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"à¤\89डान मोड खुला छ"</string>
+ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"हवाà¤\87à¤\9cहाà¤\9c मोड खुला छ"</string>
<string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"हवाइजहाज मोड बन्द छ"</string>
<string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"९९९+"</string>
<string name="safeMode" msgid="2788228061547930246">"सुरक्षित मोड"</string>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"सबै हेर्नुहोस्"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"गतिविधि छनौट गर्नुहोस्"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"साझेदारी गर्नुहोस्..."</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"उपकरण लक छ।"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"पठाउँदै..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"ब्राउजर सुरु गर्ने हो?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"रद्द गरियो"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"सामाग्री लेखनमा त्रुटि"</string>
<string name="reason_unknown" msgid="6048913880184628119">"अज्ञात"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"प्रशासक PIN प्रविष्ट गर्नुहोस्"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN प्रविष्टि गर्नुहोस्"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"गलत"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"वर्तमान PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"नयाँ PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"नयाँ PIN निश्चित गर्नुहोस्"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN हरू मेल खाएनन्। पुनः प्रयास गर्नुहोस्।"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN अति छोटो भयो। कम्तीमा ४ अङ्क हुन आवश्यक छ।"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"गलत PIN । १ सेकेन्डमा पुनः प्रयास गर्नुहोस्।"</item>
- <item quantity="other" msgid="8030607343223287654">"गलत PIN । <xliff:g id="COUNT">%d</xliff:g> सेकेन्डमा पुनः प्रयास गर्नुहोस्।"</item>
+ <item quantity="one" msgid="311050995198548675">"१ सेकेन्ड पछि पुन: प्रयास गर्नुहोला।"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g> सेकेन्डमा पुन: प्रयास गर्नुहोस्"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"पछि पुन: प्रयास गर्नुहोस्"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"पट्टि देखिने बनाउन स्क्रिनको छेउमा स्वाइप गर्नुहोस्"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"प्रणाली पट्टि देखिने बनाउन स्क्रिनको छेउबाट स्वाइप गर्नुहोस्"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Alles weergeven"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Een activiteit kiezen"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Delen met"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Apparaat vergrendeld."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Verzenden..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Browser starten?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Geannuleerd"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Fout bij schrijven van inhoud"</string>
<string name="reason_unknown" msgid="6048913880184628119">"onbekend"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Pincode voor beheerder opgeven"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Geef de pincode op"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Onjuist"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Huidige pincode"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Nieuwe pincode"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Nieuwe pincode bevestigen"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"De pincodes komen niet overeen. Probeer het opnieuw."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Pincode is te kort. Moet ten minste vier cijfers lang zijn."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Onjuiste pincode. Probeer het over één seconde opnieuw."</item>
- <item quantity="other" msgid="8030607343223287654">"Onjuiste pincode. Probeer het over <xliff:g id="COUNT">%d</xliff:g> seconden opnieuw."</item>
+ <item quantity="one" msgid="311050995198548675">"Probeer het over één seconde opnieuw"</item>
+ <item quantity="other" msgid="4730868920742952817">"Probeer het over <xliff:g id="COUNT">%d</xliff:g> seconden opnieuw"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Probeer het later opnieuw"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Veeg vanaf de rand voor de balk"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Veeg vanaf de rand van het scherm om de systeembalk weer te geven"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Zobacz wszystkie"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Wybierz działanie"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Udostępnij przez"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Urządzenie zablokowane."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Wysyłanie..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Uruchomić przeglądarkę?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Anulowane"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Błąd podczas zapisu treści"</string>
<string name="reason_unknown" msgid="6048913880184628119">"brak informacji"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Podaj PIN administratora"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Podaj PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Nieprawidłowy"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Bieżący PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Nowy PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Potwierdź nowy PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Kody PIN nie są identyczne. Spróbuj ponownie."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN jest za krótki. Musi mieć co najmniej 4 cyfry."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Nieprawidłowy PIN. Spróbuj ponownie za 1 s."</item>
- <item quantity="other" msgid="8030607343223287654">"Nieprawidłowy PIN. Spróbuj ponownie za <xliff:g id="COUNT">%d</xliff:g> s."</item>
+ <item quantity="one" msgid="311050995198548675">"Spróbuj za sekundę"</item>
+ <item quantity="other" msgid="4730868920742952817">"Spróbuj za <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Spróbuj ponownie później"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Przesuń palcem od krawędzi ekranu, by odkryć pasek"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Przesuń palcem od krawędzi ekranu, by odkryć pasek systemu"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Ver tudo"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Escolher atividade"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Partilhar com"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Aparelho bloqueado."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"A enviar..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Iniciar Navegador?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Cancelada"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Erro ao escrever conteúdo"</string>
<string name="reason_unknown" msgid="6048913880184628119">"desconhecido"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Introduza o PIN de administrador"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Introduzir PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorreto"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN Atual"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Novo PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirme o novo PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Os PINs não correspondem. Tente novamente."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"O PIN é demasiado pequeno. Deve ter, no mínimo, 4 dígitos."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN incorreto. Tente novamente em 1 seg."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN incorreto. Tente novamente em <xliff:g id="COUNT">%d</xliff:g> seg."</item>
+ <item quantity="one" msgid="311050995198548675">"Tente em: 1 seg"</item>
+ <item quantity="other" msgid="4730868920742952817">"Tente em: <xliff:g id="COUNT">%d</xliff:g> seg"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Tente novamente mais tarde"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Desliz. da extr. do ecrã p/ revelar barra"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Deslize da extremidade do ecrã para revelar a barra do sistema"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Ver tudo"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Selecione a atividade"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Compartilhar com"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Dispositivo bloqueado."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Enviando..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Abrir Navegador?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Cancelado"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Erro ao gravar o conteúdo"</string>
<string name="reason_unknown" msgid="6048913880184628119">"desconhecido"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Inserir PIN do administrador"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Insira o PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorreto"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN atual"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Novo PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirme o novo PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Os PINs não coincidem. Tente novamente."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"O PIN é curto demais. Deve ter pelo menos 4 dígitos."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN incorreto. Tente novamente em 1 segundo."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN incorreto. Tente novamente em <xliff:g id="COUNT">%d</xliff:g> segundos."</item>
+ <item quantity="one" msgid="311050995198548675">"Tente novamente em 1 segundo"</item>
+ <item quantity="other" msgid="4730868920742952817">"Tente novamente em <xliff:g id="COUNT">%d</xliff:g> segundos"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Tente novamente mais tarde"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Deslize a borda da tela para ver a barra"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Deslize a partir da borda da tela ver a barra do sistema"</string>
</resources>
<skip />
<!-- no translation found for share_action_provider_share_with (5247684435979149216) -->
<skip />
- <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
- <skip />
<!-- no translation found for list_delimeter (3975117572185494152) -->
<skip />
<!-- no translation found for sending (3245653681008218030) -->
<skip />
<!-- no translation found for reason_unknown (6048913880184628119) -->
<skip />
+ <!-- no translation found for restr_pin_enter_admin_pin (783643731895143970) -->
+ <skip />
<!-- no translation found for restr_pin_enter_pin (3395953421368476103) -->
<skip />
+ <!-- no translation found for restr_pin_incorrect (8571512003955077924) -->
+ <skip />
<!-- no translation found for restr_pin_enter_old_pin (1462206225512910757) -->
<skip />
<!-- no translation found for restr_pin_enter_new_pin (5959606691619959184) -->
<skip />
<!-- no translation found for restr_pin_error_too_short (8173982756265777792) -->
<skip />
- <!-- no translation found for restr_pin_countdown:one (4835639969503729874) -->
- <!-- no translation found for restr_pin_countdown:other (8030607343223287654) -->
+ <!-- no translation found for restr_pin_countdown:one (311050995198548675) -->
+ <!-- no translation found for restr_pin_countdown:other (4730868920742952817) -->
+ <!-- no translation found for restr_pin_try_later (973144472490532377) -->
+ <skip />
<!-- no translation found for transient_navigation_confirmation (4907844043611123426) -->
<skip />
<!-- no translation found for transient_navigation_confirmation_long (8061685920508086697) -->
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Afişaţi-le pe toate"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Alegeţi activitatea"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Distribuiţi pentru"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Dispozitiv blocat."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Se trimite..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Lansaţi browserul?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Anulat"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Eroare la scrierea conținutului"</string>
<string name="reason_unknown" msgid="6048913880184628119">"necunoscut"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Introduceți codul PIN de administrator"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Introduceți codul PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Incorect"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Codul PIN actual"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Codul PIN nou"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Confirmați noul cod PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Codurile PIN nu se potrivesc. Încercați din nou."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Codul PIN este prea scurt. Trebuie să aibă cel puțin 4 cifre."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN incorect. Reîncercați în 1 sec."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN incorect. Reîncercați în <xliff:g id="COUNT">%d</xliff:g> sec."</item>
+ <item quantity="one" msgid="311050995198548675">"Reîncercați în 1 sec."</item>
+ <item quantity="other" msgid="4730868920742952817">"Reîncercați în <xliff:g id="COUNT">%d</xliff:g> sec."</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Reîncercați mai târziu"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Glisați din margine pentru a afișa"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Glisați dinspre marginea ecranului pentru a afișa bara de sistem"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Показать все"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Выберите"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Открыть доступ"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Устройство заблокировано."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Отправка..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Запустить браузер?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Печать отменена"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Ошибка записи"</string>
<string name="reason_unknown" msgid="6048913880184628119">"неизвестно"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Введите PIN-код администратора"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Введите PIN-код"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Ошибка"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Текущий PIN-код"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Новый PIN-код"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Введите новый PIN-код ещё раз"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-коды не совпадают. Повторите попытку."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN-код должен содержать не менее 4 символов."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Неверный PIN-код. Повторите попытку через 1 сек."</item>
- <item quantity="other" msgid="8030607343223287654">"Неверный PIN-код. Повторите попытку через <xliff:g id="COUNT">%d</xliff:g> сек."</item>
+ <item quantity="one" msgid="311050995198548675">"Повтор через 1 сек."</item>
+ <item quantity="other" msgid="4730868920742952817">"Повтор через <xliff:g id="COUNT">%d</xliff:g> сек."</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Повторите попытку позже."</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Провести от края к центру – открыть панель"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Чтобы открыть панель навигации, проведите пальцем от края к центру экрана"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"සියල්ල බලන්න"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"ක්රියාකාරකම තෝරන්න"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"සමඟ බෙදාගන්න"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"උපාංගයට අගුළු වැටි ඇත."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"යවමින්..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"බ්රවුසරය දියත් කරන්නද?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"අවලංගු කරන ලදි"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"අන්තර්ගතය ලිවීමේදී දෝෂයකි"</string>
<string name="reason_unknown" msgid="6048913880184628119">"නොදනී"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"පරිපාලකයාගේ PIN එක ඇතුළ් කරන්න"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN එක ඇතුළු කරන්න"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"වැරදියි"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"වත්මන් PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"නව PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"නව PIN තහවුරු කරන්න"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN නොගැළපෙයි. නැවත උත්සහ කරන්න."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN කුඩා වැඩිය. ඉලක්කම් 4 වත් විය යුතුය."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"වැරදි PIN. තත්පරයකින් නැවත උත්සහ කරන්න."</item>
- <item quantity="other" msgid="8030607343223287654">"වැරදි PIN. තත්පර <xliff:g id="COUNT">%d</xliff:g> කින් නැවත උත්සහ කරන්න."</item>
+ <item quantity="one" msgid="311050995198548675">"තවත් තත්පර ^1 කින් යළි උත්සාහ කරන්න"</item>
+ <item quantity="other" msgid="4730868920742952817">"තත්පර <xliff:g id="COUNT">%d</xliff:g> කින් නැවත උත්සහ කරන්න"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"පසුව නැවත උත්සාහ කරන්න"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"තීරුව අනාවරණයට තිරයේ කෙලවර අදින්න"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"පද්ධති තීරුව අනාවරණයට තිරයේ කෙලවරින් අදින්න"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Zobraziť všetky"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Vybrať aktivitu"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Zdieľať s"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Zariadenie je zamknuté."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Odosielanie..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Spustiť prehliadač?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Zrušené"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Pri zapisovaní obsahu došlo ku chybe"</string>
<string name="reason_unknown" msgid="6048913880184628119">"neznáme"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Zadajte kód PIN správcu"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Zadajte kód PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Nesprávny kód"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Aktuálny kód PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Nový kód PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Potvrďte nový kód PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Kódy PIN sa nezhodujú. Skúste to znova."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Kód PIN je príliš krátky. Musí mať minimálne 4 číslice."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Nespr. PIN. Skús. o 1 s"</item>
- <item quantity="other" msgid="8030607343223287654">"Nespr. PIN. Skús. o <xliff:g id="COUNT">%d</xliff:g> s"</item>
+ <item quantity="one" msgid="311050995198548675">"Skúste to znova o 1 s."</item>
+ <item quantity="other" msgid="4730868920742952817">"Skúste to znova o <xliff:g id="COUNT">%d</xliff:g> s."</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Skúste to znova neskôr"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Panel zobraz. prejdením okraja obr."</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Systémový panel zobrazíte posunutím cez okraj obrazovky"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Pokaži vse"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Izberite dejavnost"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Delite z"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Naprava zaklenjena."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Pošiljanje ..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Ali želite odpreti brskalnik?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Preklicano"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Napaka pri pisanju vsebine"</string>
<string name="reason_unknown" msgid="6048913880184628119">"neznano"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Vnesite skrbniški PIN"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Vnesite PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Napačno"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Trenutni PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Novi PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Potrdite novi PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Kodi PIN se ne ujemata. Poskusite znova."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN je prekratek. Imeti mora vsaj 4 števke."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Napačen PIN. Poskusite znova čez eno sekundo."</item>
- <item quantity="other" msgid="8030607343223287654">"Napačen PIN. Poskusite znova čez <xliff:g id="COUNT">%d</xliff:g> s."</item>
+ <item quantity="one" msgid="311050995198548675">"Poskusite znova čez sekundo"</item>
+ <item quantity="other" msgid="4730868920742952817">"Poskusite znova čez <xliff:g id="COUNT">%d</xliff:g> s"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Poskusite znova pozneje"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Povlecite z roba za prikaz vrstice"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Sistemsko vrstico prikažete tako, da povlečete z roba zaslona"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Прикажи све"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Избор активности"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Дели са"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Уређај је закључан."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Слање..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Желите ли да покренете прегледач?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Отказано је"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Грешка при исписивању садржаја"</string>
<string name="reason_unknown" msgid="6048913880184628119">"непознато"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Унесите PIN администратора"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Унесите PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Нетачно"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Актуелни PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Нови PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Потврдите нови PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-ови се не подударају. Покушајте поново."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN је прекратак. Мора да садржи најмање 4 цифре."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Нетачан PIN. Покушајте опет за 1 сек."</item>
- <item quantity="other" msgid="8030607343223287654">"Нетачан PIN. Покушајте опет за <xliff:g id="COUNT">%d</xliff:g> сек."</item>
+ <item quantity="one" msgid="311050995198548675">"Покушајте опет за 1 сек"</item>
+ <item quantity="other" msgid="4730868920742952817">"Покушајте опет за <xliff:g id="COUNT">%d</xliff:g> сек"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Покушајте поново касније"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Превуците по ивици екрана да би се приказала трака"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Превуците од ивице екрана да би се приказала системска трака"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Visa alla"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Välj aktivitet"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Dela med"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Enheten är låst."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Skickar ..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Vill du öppna webbläsaren?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Inställd"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Det gick inte att skriva innehållet"</string>
<string name="reason_unknown" msgid="6048913880184628119">"okänt"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Ange administratörspinkod"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Ange pinkod"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Felaktig"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Aktuell pinkod"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Ny pinkod"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Bekräfta din nya pinkod"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Pinkoderna stämmer inte överens. Försök igen."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Pinkoden är för kort. Måste vara minst fyra siffror."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Fel pinkod. Försök igenom en sekund."</item>
- <item quantity="other" msgid="8030607343223287654">"Fel pinkod. Försök igenom om <xliff:g id="COUNT">%d</xliff:g> sekunder."</item>
+ <item quantity="one" msgid="311050995198548675">"Försök igen om en sekund"</item>
+ <item quantity="other" msgid="4730868920742952817">"Försök igen om <xliff:g id="COUNT">%d</xliff:g> sekunder"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Försök igen senare"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Dra från kanten av skärmen om du vill visa fältet"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Dra från kanten av skärmen om du vill visa systemfältet"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Angalia zote"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Chagua shughuli"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Shiriki na"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Kifaa kimefungwa."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Inatuma…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Zindua Kivinjari?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Imeghairiwa"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Hitilafu katika kuandika maudhui"</string>
<string name="reason_unknown" msgid="6048913880184628119">"haijulikani"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Ingiza PIN ya msimamizi"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Ingiza PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Sio sahihi"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN ya sasa"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN mpya"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Thibitisha PIN mpya"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN hazilingani. Jaribu tena."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN ni fupi mno. Lazima iwe angalau tarakimu 4."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN sio sahihi. Jaribu tena baada ya sekunde 1."</item>
- <item quantity="other" msgid="8030607343223287654">"PIN sio sahihi. Jaribu tena baada ya sekunde <xliff:g id="COUNT">%d</xliff:g>."</item>
+ <item quantity="one" msgid="311050995198548675">"Jaribu tena baada ya sekunde 1"</item>
+ <item quantity="other" msgid="4730868920742952817">"Jaribu tena baada ya sekunde <xliff:g id="COUNT">%d</xliff:g>"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Jaribu tena baadaye"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Telezesha kidole kutoka ukingo wa skrini ili kuonyesha upau"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Telezesha kidole kutoka ukingo wa skrini ili kuonyesha upau wa mfumo"</string>
</resources>
<string name="permdesc_bindAccessibilityService" msgid="7034615928609331368">"อนุญาตให้เจ้าของเชื่อมโยงกับส่วนติดต่อระดับบนสุดของบริการการเข้าถึง ซึ่งแอปพลิเคชันทั่วไปไม่จำเป็นต้องใช้"</string>
<string name="permlab_bindPrintService" msgid="8462815179572748761">"เชื่อมโยงกับบริการการพิมพ์"</string>
<string name="permdesc_bindPrintService" msgid="7960067623209111135">"อนุญาตให้ผู้ใช้เชื่อมโยงกับอินเทอร์เฟซระดับสูงสุดของบริการการพิมพ์ ซึ่งแอปทั่วไปไม่จำเป็นต้องใช้"</string>
- <string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"à¹\80à¸\8aืà¹\88à¸à¸¡à¹\82ยà¸\87à¸\81ัà¸\9aà¸\9aริà¸\81ารà¸\88ัิà¸\94à¸\84ิวà¹\81ละà¸\88ัà¸\94à¸\81ารà¸\81ารà¸\9eิมà¸\9eà¹\8c"</string>
- <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"à¸à¸\99ุà¸\8dาà¸\95à¹\83หà¹\89à¸\9cูà¹\89à¹\83à¸\8aà¹\89à¹\80à¸\8aืà¹\88à¸à¸¡à¹\82ยà¸\87à¸\81ัà¸\9aà¸à¸´à¸\99à¹\80à¸\97à¸à¸£à¹\8cà¹\80à¸\9fà¸\8bระà¸\94ัà¸\9aสูà¸\87สุà¸\94à¸\82à¸à¸\87à¸\9aริà¸\81ารà¸\88ัà¸\94à¸\84ิวà¹\81ละà¸\88ัà¸\94à¸\81ารà¸\81ารà¸\9eิมà¸\9eà¹\8c à¸\8bึà¹\88à¸\87à¹\81à¸à¸\9bà¸\97ัà¹\88วà¹\84à¸\9bà¹\84มà¹\88à¸\88ำà¹\80à¸\9bà¹\87à¸\99à¸\95à¹\89à¸à¸\87à¹\83à¸\8aà¹\89"</string>
+ <string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"เชื่อมโยงกับบริการจัดคิวและจัดการการพิมพ์"</string>
+ <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"อนุญาตให้เชื่อมโยงกับอินเทอร์เฟซระดับสูงสุดของบริการจัดคิวและจัดการการพิมพ์ ซึ่งแอปทั่วไปไม่จำเป็นต้องใช้"</string>
<string name="permlab_bindNfcService" msgid="2752731300419410724">"เชื่อมโยงกับบริการ NFC"</string>
<string name="permdesc_bindNfcService" msgid="6120647629174066862">"อนุญาตให้ผู้ถือเชื่อมโยงกับแอปพลิเคชันที่เลียนแบบการ์ด NFC ไม่จำเป็นสำหรับแอปทั่วไป"</string>
<string name="permlab_bindTextService" msgid="7358378401915287938">"เชื่อมโยงกับบริการข้อความ"</string>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"ดูทั้งหมด"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"เลือกกิจกรรม"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"แบ่งปันกับ"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"ล็อกอุปกรณ์อยู่"</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"กำลังส่ง…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"เปิดเบราว์เซอร์หรือไม่"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"ยกเลิก"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"ข้อผิดพลาดในการเขียนเนื้อหา"</string>
<string name="reason_unknown" msgid="6048913880184628119">"ไม่ทราบ"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"ป้อน PIN ของผู้ดูแลระบบ"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"ป้อน PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"ไม่ถูกต้อง"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"PIN ปัจจุบัน"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"PIN ใหม่"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"ยืนยัน PIN ใหม่"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN ไม่ตรงกัน โปรดลองอีกครั้ง"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN สั้นเกินไป ต้องมีอย่างน้อย 4 หลัก"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN ไม่ถูกต้อง โปรดลองอีกครั้งในอีก 1 วินาที"</item>
- <item quantity="other" msgid="8030607343223287654">"PIN ไม่ถูกต้อง โปรดลองอีกครั้งในอีก <xliff:g id="COUNT">%d</xliff:g> วินาที"</item>
+ <item quantity="one" msgid="311050995198548675">"ลองอีกใน 1 วิ"</item>
+ <item quantity="other" msgid="4730868920742952817">"ลองอีกใน <xliff:g id="COUNT">%d</xliff:g> วินาที"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"ลองอีกครั้งในภายหลัง"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"กวาดขอบของหน้าจอเพื่อแสดงแถบ"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"กวาดจากขอบของหน้าจอเพื่อแสดงแถบระบบ"</string>
</resources>
<string name="permlab_bindPrintService" msgid="8462815179572748761">"sumailalim sa isang serbisyo sa pag-print"</string>
<string name="permdesc_bindPrintService" msgid="7960067623209111135">"Nagbibigay-daan sa may-ari na sumailalim sa interface sa nangungunang antas ng isang serbisyo sa pag-print. Hindi dapat kailanganin para sa normal na apps kahit kailan."</string>
<string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"mag-bind sa isang serbisyo ng print spooler"</string>
- <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"Nagbibigay-daan sa may-ari na mag-bind sa interface sa nangungunang antas ng isang serbisyo ng print spooler. Hindi dapat kailanganin para sa normal na apps."</string>
+ <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"Nagbibigay-daan sa may-ari na mag-bind sa top-level interface ng isang serbisyo ng print spooler. Hindi dapat kailanganin para sa normal na apps."</string>
<string name="permlab_bindNfcService" msgid="2752731300419410724">"i-bind sa serbisyo ng NFC"</string>
<string name="permdesc_bindNfcService" msgid="6120647629174066862">"Nagbibigay-daan sa may-ari na mag-bind sa mga application na nag-e-emulate ng mga NFC card. Hindi dapat kailanman kailanganin para sa normal na apps."</string>
<string name="permlab_bindTextService" msgid="7358378401915287938">"sumailalim sa serbisyo ng teksto"</string>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Tingnan lahat"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Pumili ng aktibidad"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Ibahagi sa"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Naka-lock ang device."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Ipinapadala..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Ilunsad ang Browser?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Kinansela"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"May error sa pagsusulat ng nilalaman"</string>
<string name="reason_unknown" msgid="6048913880184628119">"hindi alam"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Ilagay ang PIN ng administrator"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Ilagay ang PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Mali"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Kasalukuyang PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Bagong PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Kumpirmahin ang bagong PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Hindi nagtutugma ang mga PIN. Subukang muli."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Masyadong maikli ang PIN. Hindi dapat mas maikli sa 4 na digit."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Mali ang PIN. Subukang muli pagkalipas ng 1 segundo."</item>
- <item quantity="other" msgid="8030607343223287654">"Mali ang PIN. Subukang muli pagkalipas ng <xliff:g id="COUNT">%d</xliff:g> (na) segundo."</item>
+ <item quantity="one" msgid="311050995198548675">"Subukan muli sa 1 seg"</item>
+ <item quantity="other" msgid="4730868920742952817">"Subukan muli sa <xliff:g id="COUNT">%d</xliff:g> seg"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Subukang muli sa ibang pagkakataon"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Mag-swipe sa dulo ng screen upang ipakita ang bar"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Mag-swipe mula sa dulo ng screen upang ipakita ang system bar"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Tümünü göster"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Etkinlik seçin"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Şununla paylaş:"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Cihaz kilitli."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Gönderiliyor…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Tarayıcı Başlatılsın mı?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"İptal edildi"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"İçerik yazılırken hata oluştu"</string>
<string name="reason_unknown" msgid="6048913880184628119">"bilinmiyor"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Yönetici PIN\'ini girin"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"PIN\'i girin"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Yanlış"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Mevcut PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Yeni PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Yeni PIN\'i doğrulayın"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN\'ler eşleşmiyor. Tekrar deneyin."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN çok kısa. En az 4 basamaklı olmalı."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Yanlış PIN. 1 saniye içinde tekrar deneyin."</item>
- <item quantity="other" msgid="8030607343223287654">"Yanlış PIN. <xliff:g id="COUNT">%d</xliff:g> saniye içinde tekrar deneyin."</item>
+ <item quantity="one" msgid="311050995198548675">"1 saniye içinde tekrar deneyin"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g> saniye içinde tekrar deneyin"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Daha sonra tekrar deneyin"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Çubuğu görüntülemek için ekranın kenarından hızlıca kaydırın"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Sistem çubuğunu görüntülemek için ekranın kenarından hızlıca kaydırın"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Переглянути всі"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Вибрати дію"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Спільний доступ для:"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Пристрій заблоковано."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Надсилання…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Запустити веб-переглядач?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Скасовано"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Помилка записування вмісту"</string>
<string name="reason_unknown" msgid="6048913880184628119">"невідомо"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Введіть PIN-код адміністратора"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Введіть PIN-код"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Неправильно"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Поточний PIN-код"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Новий PIN-код"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Підтвердьте новий PIN-код"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN-коди не збігаються. Повторіть спробу."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN-код закороткий. Має бути принаймні 4 цифри."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Неправильний PIN. Повторіть через 1 с."</item>
- <item quantity="other" msgid="8030607343223287654">"Неправильний PIN. Повторіть через <xliff:g id="COUNT">%d</xliff:g> с."</item>
+ <item quantity="one" msgid="311050995198548675">"Спробуйте за 1 с"</item>
+ <item quantity="other" msgid="4730868920742952817">"Спробуйте за <xliff:g id="COUNT">%d</xliff:g> с"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Спробуйте пізніше"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Гортайте від краю, щоб відкрити панель"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Проведіть пальцем від краю екрана, щоб з’явилась навігаційна панель"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Xem tất cả"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Chọn hoạt động"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Chia sẻ với"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Thiết bị đã bị khóa."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Đang gửi…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Khởi chạy trình duyệt?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Đã hủy"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Lỗi ghi nội dung"</string>
<string name="reason_unknown" msgid="6048913880184628119">"không xác định"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Nhập mã PIN của quản trị viên"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Nhập mã PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Không đúng"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"Mã PIN hiện tại"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"Mã PIN mới"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Xác nhận mã PIN mới"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Mã PIN không khớp. Hãy thử lại."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"Mã PIN quá ngắn. Phải có ít nhất 4 chữ số."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"Mã PIN không đúng. Hãy thử lại sau 1 giây nữa."</item>
- <item quantity="other" msgid="8030607343223287654">"Mã PIN không đúng. Hãy thử lại sau <xliff:g id="COUNT">%d</xliff:g> giây nữa."</item>
+ <item quantity="one" msgid="311050995198548675">"Hãy thử lại sau 1 giây"</item>
+ <item quantity="other" msgid="4730868920742952817">"Hãy thử lại sau <xliff:g id="COUNT">%d</xliff:g> giây"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Hãy thử lại sau"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Vuốt cạnh màn hình để hiện thanh"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Vuốt từ cạnh màn hình để hiển thị thanh hệ thống"</string>
</resources>
<string name="permdesc_bindAccessibilityService" msgid="7034615928609331368">"允许应用绑定至辅助服务的顶级接口。普通应用绝不需要此权限。"</string>
<string name="permlab_bindPrintService" msgid="8462815179572748761">"绑定至打印服务"</string>
<string name="permdesc_bindPrintService" msgid="7960067623209111135">"允许应用绑定至打印服务的顶级接口。普通应用绝不需要此权限。"</string>
- <string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"ç»\91å®\9aè\87³æ\89\93å\8d°å\90\8eå\8f°å¤\84ç\90\86ç¨\8båº\8f服务"</string>
- <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"å\85\81许åº\94ç\94¨ç»\91å®\9aè\87³æ\89\93å\8d°å\90\8eå\8f°å¤\84ç\90\86ç¨\8båº\8f服务的顶级接口。普通应用绝不需要此权限。"</string>
+ <string name="permlab_bindPrintSpoolerService" msgid="6807762783744125954">"ç»\91å®\9aè\87³æ\89\93å\8d°å¤\84ç\90\86服务"</string>
+ <string name="permdesc_bindPrintSpoolerService" msgid="3680552285933318372">"å\85\81许åº\94ç\94¨ç»\91å®\9aè\87³æ\89\93å\8d°å¤\84ç\90\86服务的顶级接口。普通应用绝不需要此权限。"</string>
<string name="permlab_bindNfcService" msgid="2752731300419410724">"绑定到 NFC 服务"</string>
<string name="permdesc_bindNfcService" msgid="6120647629174066862">"允许应用绑定到模拟 NFC 卡的应用。普通应用绝不需要此权限。"</string>
<string name="permlab_bindTextService" msgid="7358378401915287938">"绑定至文字服务"</string>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"查看全部"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"选择活动"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"分享方式"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"设备已锁定。"</string>
<string name="list_delimeter" msgid="3975117572185494152">"、 "</string>
<string name="sending" msgid="3245653681008218030">"正在发送..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"要启动浏览器吗?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"已取消"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"写入内容时出错"</string>
<string name="reason_unknown" msgid="6048913880184628119">"未知"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"输入管理员 PIN 码"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"输入 PIN 码"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"错误"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"当前 PIN 码"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"新 PIN 码"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"确认新 PIN 码"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN 码不符,请重试。"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN 码太短,至少应包含 4 位数字。"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN 码错误。请在1秒钟后重试。"</item>
- <item quantity="other" msgid="8030607343223287654">"PIN 码错误。请在<xliff:g id="COUNT">%d</xliff:g>秒钟后重试。"</item>
+ <item quantity="one" msgid="311050995198548675">"1秒后重试"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g>秒后重试"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"稍后重试"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"从边缘向里滑可显示系统栏"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"从屏幕边缘向里滑可显示系统栏"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"查看全部"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"選擇活動"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"分享活動"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"裝置已鎖定。"</string>
<string name="list_delimeter" msgid="3975117572185494152">"、 "</string>
<string name="sending" msgid="3245653681008218030">"正在傳送..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"要啟動「瀏覽器」嗎?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"已取消"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"寫入內容時發生錯誤"</string>
<string name="reason_unknown" msgid="6048913880184628119">"不明"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"輸入管理員 PIN"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"輸入 PIN 碼"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"不正確"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"目前的 PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"新的 PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"確認新的 PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN 碼不符,請再試一次。"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN 碼太短,至少必須為 4 位數。"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN 碼不正確,請於 1 秒內再試一次。"</item>
- <item quantity="other" msgid="8030607343223287654">"PIN 碼不正確,請於 <xliff:g id="COUNT">%d</xliff:g> 秒內再試一次。"</item>
+ <item quantity="one" msgid="311050995198548675">"1 秒後再試一次"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g> 秒後再試一次"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"稍後再試"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"從螢幕邊緣快速滑動,即可顯示系統列"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"從螢幕邊緣快速滑動,即可顯示系統列"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"全部顯示"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"選擇活動"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"分享活動"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"裝置已鎖定。"</string>
<string name="list_delimeter" msgid="3975117572185494152">"、 "</string>
<string name="sending" msgid="3245653681008218030">"傳送中…"</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"啟動「瀏覽器」嗎?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"已取消"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"寫入內容時發生錯誤"</string>
<string name="reason_unknown" msgid="6048913880184628119">"不明"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"輸入管理員 PIN"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"輸入 PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"不正確"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"目前的 PIN"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"新 PIN"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"確認新 PIN"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"PIN 不符,請再試一次。"</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"PIN 長度太短,至少必須為 4 位數。"</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"PIN 不正確,請於 1 秒後再試一次。"</item>
- <item quantity="other" msgid="8030607343223287654">"PIN 不正確,請於 <xliff:g id="COUNT">%d</xliff:g> 秒後再試一次。"</item>
+ <item quantity="one" msgid="311050995198548675">"1 秒後再試一次"</item>
+ <item quantity="other" msgid="4730868920742952817">"<xliff:g id="COUNT">%d</xliff:g> 秒後再試一次"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"稍後再試"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"從螢幕邊緣向內滑動即可顯示導覽列"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"從螢幕邊緣向內滑動即可顯示導覽列"</string>
</resources>
<string name="activity_chooser_view_see_all" msgid="4292569383976636200">"Buka konke"</string>
<string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"Khetha okwenziwayo"</string>
<string name="share_action_provider_share_with" msgid="5247684435979149216">"Yabelana no"</string>
- <string name="status_bar_device_locked" msgid="3092703448690669768">"Idivayisi ivaliwe."</string>
<string name="list_delimeter" msgid="3975117572185494152">", "</string>
<string name="sending" msgid="3245653681008218030">"Iyathumela..."</string>
<string name="launchBrowserDefault" msgid="2057951947297614725">"Qala Isiphequluli?"</string>
<string name="write_fail_reason_cancelled" msgid="7091258378121627624">"Kukhanseliwe"</string>
<string name="write_fail_reason_cannot_write" msgid="8132505417935337724">"Iphutha ekubhaleni okuqukethwe"</string>
<string name="reason_unknown" msgid="6048913880184628119">"akwaziwa"</string>
+ <string name="restr_pin_enter_admin_pin" msgid="783643731895143970">"Faka i-PIN yomlawuli"</string>
<string name="restr_pin_enter_pin" msgid="3395953421368476103">"Faka i-PIN"</string>
+ <string name="restr_pin_incorrect" msgid="8571512003955077924">"Ayilungile"</string>
<string name="restr_pin_enter_old_pin" msgid="1462206225512910757">"I-PIN yamanje"</string>
<string name="restr_pin_enter_new_pin" msgid="5959606691619959184">"I-PIN entsha"</string>
<string name="restr_pin_confirm_pin" msgid="8501523829633146239">"Qinisekisa i-PIN entsha"</string>
<string name="restr_pin_error_doesnt_match" msgid="2224214190906994548">"Ama-PIN awafani. Zama futhi."</string>
<string name="restr_pin_error_too_short" msgid="8173982756265777792">"I-PIN yimfushane kakhulu. Okungenani kumele ibe namadijithi angu-4."</string>
<plurals name="restr_pin_countdown">
- <item quantity="one" msgid="4835639969503729874">"I-PIN engalungile. Zama futhi esekhondini elingu-1."</item>
- <item quantity="other" msgid="8030607343223287654">"I-PIN engalungile. Zama futhi emasekhondini angu-<xliff:g id="COUNT">%d</xliff:g>."</item>
+ <item quantity="one" msgid="311050995198548675">"Zama futhi kusekhondi elingu-1"</item>
+ <item quantity="other" msgid="4730868920742952817">"Zama futhi kumasekhondi angu-<xliff:g id="COUNT">%d</xliff:g>"</item>
</plurals>
+ <string name="restr_pin_try_later" msgid="973144472490532377">"Zama futhi emva kwesikhathi"</string>
<string name="transient_navigation_confirmation" msgid="4907844043611123426">"Swayipha emaphethelweni wesikrini ukuze uveze ibha"</string>
<string name="transient_navigation_confirmation_long" msgid="8061685920508086697">"Swayipha kusukela emaphethelweni wesikrini ukuze uveze ibha yesistimu"</string>
</resources>
<!-- Attributes that can be supplied in an AndroidManifest.xml
<code>screen</code> tag, a child of <code>compatible-screens</code>,
- which is itseld a child of the root
+ which is itself a child of the root
{@link #AndroidManifest manifest} tag. -->
<declare-styleable name="AndroidManifestCompatibleScreensScreen"
parent="AndroidManifest.AndroidManifestCompatibleScreens">
<!-- Specifies a compatible screen size, as per the device
configuration screen size bins. -->
<attr name="screenSize">
- <!-- A small screen configuration, at least 240x320db. -->
+ <!-- A small screen configuration, at least 240x320dp. -->
<enum name="small" value="200" />
- <!-- A normal screen configuration, at least 320x480db. -->
+ <!-- A normal screen configuration, at least 320x480dp. -->
<enum name="normal" value="300" />
- <!-- A large screen configuration, at least 400x530db. -->
+ <!-- A large screen configuration, at least 400x530dp. -->
<enum name="large" value="400" />
- <!-- An extra large screen configuration, at least 600x800db. -->
+ <!-- An extra large screen configuration, at least 600x800dp. -->
<enum name="xlarge" value="500" />
</attr>
<!-- Specifies a compatible screen density, as per the device
</attr>
</declare-styleable>
+ <!-- The <code>input-type</code> tag is a child of the <code>supports-input</code> tag, which
+ is itself a child of the root {@link #AndroidManifest manifest} tag. Each
+ <code>input-type</code> tag specifices the name of a specific input device type. When
+ grouped with the other elements of the parent <code>supports-input</code> tag it defines
+ a collection of input devices, which when all used together, are considered a supported
+ input mechanism for the application. There may be multiple <code>supports-input</code>
+ tags defined, each containing a different combination of input device types. -->
+ <declare-styleable name="AndroidManifestSupportsInputInputType"
+ parent="AndroidManifest.AndroidManifestSupportsInput">
+ <!-- Specifices the name of the input device type -->
+ <attr name="name" />
+ </declare-styleable>
+
<!-- The attribute that holds a Base64-encoded public key. -->
<attr name="publicKey" format="string" />
assertFalse(lp.hasIPv4Address());
assertFalse(lp.removeLinkAddress(LINKADDRV4));
}
+
+ @SmallTest
+ public void testSetLinkAddresses() {
+ LinkProperties lp = new LinkProperties();
+ lp.addLinkAddress(LINKADDRV4);
+ lp.addLinkAddress(LINKADDRV6);
+
+ LinkProperties lp2 = new LinkProperties();
+ lp2.addLinkAddress(LINKADDRV6);
+
+ assertFalse(lp.equals(lp2));
+
+ lp2.setLinkAddresses(lp.getLinkAddresses());
+ assertTrue(lp.equals(lp));
+ }
}
}
if (mAnimationMatrix) {
ALOGD("%*sConcatMatrix (animation) %p: " MATRIX_STRING,
- level * 2, "", mAnimationMatrix, MATRIX_ARGS(mStaticMatrix));
+ level * 2, "", mAnimationMatrix, MATRIX_ARGS(mAnimationMatrix));
}
if (mMatrixFlags != 0) {
if (mMatrixFlags == TRANSLATION) {
mOnInfoListener = null;
mOnVideoSizeChangedListener = null;
mOnTimedTextListener = null;
- mTimeProvider.close();
- mTimeProvider = null;
+ if (mTimeProvider != null) {
+ mTimeProvider.close();
+ mTimeProvider = null;
+ }
mOnSubtitleDataListener = null;
_release();
}
if (mSubtitleController != null) {
mSubtitleController.reset();
}
+ if (mTimeProvider != null) {
+ mTimeProvider.close();
+ mTimeProvider = null;
+ }
stayAwake(false);
_reset();
// make sure none of the listeners get called anymore
- mEventHandler.removeCallbacksAndMessages(null);
+ if (mEventHandler != null) {
+ mEventHandler.removeCallbacksAndMessages(null);
+ }
disableProxyListener();
}
/** @hide */
public MediaTimeProvider getMediaTimeProvider() {
+ if (mTimeProvider == null) {
+ mTimeProvider = new TimeProvider(this);
+ }
return mTimeProvider;
}
private static final int REFRESH_AND_NOTIFY_TIME = 1;
private static final int NOTIFY_STOP = 2;
private static final int NOTIFY_SEEK = 3;
+ private HandlerThread mHandlerThread;
/** @hide */
public boolean DEBUG = false;
// we assume starting position
mRefresh = true;
}
- mEventHandler = new EventHandler();
+
+ Looper looper;
+ if ((looper = Looper.myLooper()) == null &&
+ (looper = Looper.getMainLooper()) == null) {
+ // Create our own looper here in case MP was created without one
+ mHandlerThread = new HandlerThread("MediaPlayerMTPEventThread",
+ Process.THREAD_PRIORITY_FOREGROUND);
+ mHandlerThread.start();
+ looper = mHandlerThread.getLooper();
+ }
+ mEventHandler = new EventHandler(looper);
+
mListeners = new MediaTimeProvider.OnMediaTimeListener[0];
mTimes = new long[0];
mLastTimeUs = 0;
/** @hide */
public void close() {
mEventHandler.removeMessages(NOTIFY);
+ if (mHandlerThread != null) {
+ mHandlerThread.quitSafely();
+ mHandlerThread = null;
+ }
+ }
+
+ /** @hide */
+ protected void finalize() {
+ if (mHandlerThread != null) {
+ mHandlerThread.quitSafely();
+ }
}
/** @hide */
}
private class EventHandler extends Handler {
+ public EventHandler(Looper looper) {
+ super(looper);
+ }
+
@Override
public void handleMessage(Message msg) {
if (msg.what == NOTIFY) {
}
}
}
-
- /** @hide */
- public Handler getHandler() {
- return mEventHandler;
- }
}
}
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="*/*" />
</intent-filter>
- <!-- data expected to point at existing root to manage -->
<intent-filter>
- <action android:name="android.provider.action.MANAGE_DOCUMENTS" />
+ <action android:name="android.provider.action.MANAGE_ROOT" />
<category android:name="android.intent.category.DEFAULT" />
- <data android:mimeType="vnd.android.document/directory" />
+ <data android:mimeType="vnd.android.document/root" />
</intent-filter>
</activity>
<string name="toast_failed_delete" msgid="2180678019407244069">"Kan sommige dokumente nie uitvee nie"</string>
<string name="more" msgid="7117420986529297171">"Nog"</string>
<string name="loading" msgid="7933681260296021180">"Laai tans..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Deel via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"አንዳንድ ሰነዶችን መሰረዝ አልተቻለም"</string>
<string name="more" msgid="7117420986529297171">"ተጨማሪ"</string>
<string name="loading" msgid="7933681260296021180">"በመጫን ላይ…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"በሚከተለው በኩል ያጋሩ"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"تعذر حذف بعض المستندات"</string>
<string name="more" msgid="7117420986529297171">"المزيد"</string>
<string name="loading" msgid="7933681260296021180">"جارٍ التحميل…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"مشاركة عبر"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Bəzi sənədləri silə bilmir"</string>
<string name="more" msgid="7117420986529297171">"Daha çox"</string>
<string name="loading" msgid="7933681260296021180">"Yüklənir…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Bunun vasitəsilə paylaş:"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Някои документи не могат да бъдат изтрити"</string>
<string name="more" msgid="7117420986529297171">"Още"</string>
<string name="loading" msgid="7933681260296021180">"Зарежда се..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Споделяне чрез"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"No es poden suprimir alguns documents."</string>
<string name="more" msgid="7117420986529297171">"Més"</string>
<string name="loading" msgid="7933681260296021180">"S\'està carregant…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Comparteix mitjançant"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Některé dokumenty nelze smazat"</string>
<string name="more" msgid="7117420986529297171">"Více"</string>
<string name="loading" msgid="7933681260296021180">"Načítání..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Sdílet pomocí"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Nogle dokumenter kan ikke slettes"</string>
<string name="more" msgid="7117420986529297171">"Mere"</string>
<string name="loading" msgid="7933681260296021180">"Indlæser…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Del via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Einige Dokumente konnten nicht gelöscht werden."</string>
<string name="more" msgid="7117420986529297171">"Mehr"</string>
<string name="loading" msgid="7933681260296021180">"Wird geladen…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Teilen über"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Δεν είναι δυνατή η διαγραφή ορισμένων εγγράφων"</string>
<string name="more" msgid="7117420986529297171">"Περισσότερα"</string>
<string name="loading" msgid="7933681260296021180">"Φόρτωση…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Κοινή χρήση μέσω"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Unable to delete some documents"</string>
<string name="more" msgid="7117420986529297171">"More"</string>
<string name="loading" msgid="7933681260296021180">"Loading…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Share via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Unable to delete some documents"</string>
<string name="more" msgid="7117420986529297171">"More"</string>
<string name="loading" msgid="7933681260296021180">"Loading…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Share via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"No es posible eliminar algunos documentos."</string>
<string name="more" msgid="7117420986529297171">"Más"</string>
<string name="loading" msgid="7933681260296021180">"Cargando…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Compartir mediante"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"No es posible eliminar algunos documentos"</string>
<string name="more" msgid="7117420986529297171">"Más"</string>
<string name="loading" msgid="7933681260296021180">"Cargando..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Compartir a través de"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Mõnda dokumenti ei õnnestu kustutada"</string>
<string name="more" msgid="7117420986529297171">"Rohkem"</string>
<string name="loading" msgid="7933681260296021180">"Laadimine ..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Jagage teenusega"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"برخی از اسناد حذف نمیشوند"</string>
<string name="more" msgid="7117420986529297171">"بیشتر"</string>
<string name="loading" msgid="7933681260296021180">"در حال بارگیری..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"اشتراکگذاری از طریق"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Joitakin asiakirjoja ei voi poistaa"</string>
<string name="more" msgid="7117420986529297171">"Lisää"</string>
<string name="loading" msgid="7933681260296021180">"Ladataan…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Jaa sovelluksessa"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Impossible de supprimer certains documents"</string>
<string name="more" msgid="7117420986529297171">"Plus"</string>
<string name="loading" msgid="7933681260296021180">"Chargement en cours..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Partager par"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Impossible de supprimer certains documents."</string>
<string name="more" msgid="7117420986529297171">"Plus"</string>
<string name="loading" msgid="7933681260296021180">"Chargement…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Partager via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"कुछ दस्तावेज़ों को हटाने में अक्षम"</string>
<string name="more" msgid="7117420986529297171">"अधिक"</string>
<string name="loading" msgid="7933681260296021180">"लोड हो रहे हैं..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"इसके द्वारा साझा करें"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Nije moguće izbrisati neke dokumente"</string>
<string name="more" msgid="7117420986529297171">"Više"</string>
<string name="loading" msgid="7933681260296021180">"Učitavanje…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Dijeli putem"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Néhány dokumentumot nem lehet törölni"</string>
<string name="more" msgid="7117420986529297171">"Továbbiak"</string>
<string name="loading" msgid="7933681260296021180">"Betöltés..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Megosztás itt:"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Անհնար է ջնջել որոշ փաստաթղթեր"</string>
<string name="more" msgid="7117420986529297171">"Ավելին"</string>
<string name="loading" msgid="7933681260296021180">"Բեռնում..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Տարածել"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Tidak dapat menghapus beberapa dokumen"</string>
<string name="more" msgid="7117420986529297171">"Lainnya"</string>
<string name="loading" msgid="7933681260296021180">"Memuat..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Bagikan melalui"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Impossibile eliminare alcuni documenti"</string>
<string name="more" msgid="7117420986529297171">"Altro"</string>
<string name="loading" msgid="7933681260296021180">"Caricamento..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Condividi via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"לא ניתן למחוק חלק מהמסמכים"</string>
<string name="more" msgid="7117420986529297171">"עוד"</string>
<string name="loading" msgid="7933681260296021180">"טוען..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"שתף באמצעות"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"一部のドキュメントを削除できません"</string>
<string name="more" msgid="7117420986529297171">"その他"</string>
<string name="loading" msgid="7933681260296021180">"読み込んでいます..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"共有ツール"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"ზოგიერთი დოკუმენტის წაშლა ვერ ხერხდება"</string>
<string name="more" msgid="7117420986529297171">"მეტი"</string>
<string name="loading" msgid="7933681260296021180">"ჩატვირთვა…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"გაზიარება:"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"មិនអាចលុបឯកសារមួយចំនួន"</string>
<string name="more" msgid="7117420986529297171">"ច្រើនទៀត"</string>
<string name="loading" msgid="7933681260296021180">"កំពុងផ្ទុក..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"ចែករំលែកតាម"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"일부 문서를 삭제할 수 없음"</string>
<string name="more" msgid="7117420986529297171">"더보기"</string>
<string name="loading" msgid="7933681260296021180">"로드 중.."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"공유 방법"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"ບໍ່ສາມາດລຶບບາງເອກະສານໄດ້"</string>
<string name="more" msgid="7117420986529297171">"ເພີ່ມເຕີມ"</string>
<string name="loading" msgid="7933681260296021180">"ກຳລັງໂຫລດ..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"ແບ່ງປັນຜ່ານ"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Nepavyko ištrinti kai kurių dokumentų"</string>
<string name="more" msgid="7117420986529297171">"Daugiau"</string>
<string name="loading" msgid="7933681260296021180">"Įkeliama..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Bendrinti naudojant"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Nevar dzēst dažus dokumentus."</string>
<string name="more" msgid="7117420986529297171">"Vēl"</string>
<string name="loading" msgid="7933681260296021180">"Notiek ielāde..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Kopīgot, izmantojot"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Зарим документуудыг устгах боломжгүй"</string>
<string name="more" msgid="7117420986529297171">"Цааш"</string>
<string name="loading" msgid="7933681260296021180">"Ачааллаж байна..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Дараахаар дамжуулан хуваалцах"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Tidak dapat memadam beberapa dokumen"</string>
<string name="more" msgid="7117420986529297171">"Lagi"</string>
<string name="loading" msgid="7933681260296021180">"Memuatkan…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Kongsi melalui"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Enkelte dokumenter kunne ikke slettes"</string>
<string name="more" msgid="7117420986529297171">"Mer"</string>
<string name="loading" msgid="7933681260296021180">"Laster inn …"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Del via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"केही कागजातहरू मेट्न असमर्थ छ"</string>
<string name="more" msgid="7117420986529297171">"थप"</string>
<string name="loading" msgid="7933681260296021180">"लोड हुँदै..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"माध्यमबाट साझेदारी गर्नुहोस्"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Kan bepaalde documenten niet verwijderen"</string>
<string name="more" msgid="7117420986529297171">"Meer"</string>
<string name="loading" msgid="7933681260296021180">"Laden..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Delen via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Nie można usunąć niektórych dokumentów"</string>
<string name="more" msgid="7117420986529297171">"Więcej"</string>
<string name="loading" msgid="7933681260296021180">"Wczytywanie…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Udostępnij przez"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Não é possível eliminar alguns documentos"</string>
<string name="more" msgid="7117420986529297171">"Mais"</string>
<string name="loading" msgid="7933681260296021180">"A carregar…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Partilhar através de"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Não foi possível excluir alguns documentos"</string>
<string name="more" msgid="7117420986529297171">"Mais"</string>
<string name="loading" msgid="7933681260296021180">"Carregando…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Compartilhar via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Unele documente nu au putut fi șterse"</string>
<string name="more" msgid="7117420986529297171">"Mai multe"</string>
<string name="loading" msgid="7933681260296021180">"Se încarcă…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Distribuiţi prin"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Не удалось удалить некоторые документы"</string>
<string name="more" msgid="7117420986529297171">"Ещё"</string>
<string name="loading" msgid="7933681260296021180">"Загрузка…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Способ отправки"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"සමහර ලේඛන මැකීමට නොහැකි විය"</string>
<string name="more" msgid="7117420986529297171">"තව"</string>
<string name="loading" msgid="7933681260296021180">"පූරණය වෙමින්..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"හරහා බෙදාගන්න"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Niektoré dokumenty sa nepodarilo odstrániť"</string>
<string name="more" msgid="7117420986529297171">"Viac"</string>
<string name="loading" msgid="7933681260296021180">"Prebieha načítavanie..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Zdieľať pomocou"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Nekaterih dokumentov ni mogoče izbrisati"</string>
<string name="more" msgid="7117420986529297171">"Več"</string>
<string name="loading" msgid="7933681260296021180">"Nalaganje …"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Deli z drugimi prek"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Није могуће избрисати неке документе"</string>
<string name="more" msgid="7117420986529297171">"Још"</string>
<string name="loading" msgid="7933681260296021180">"Учитавање…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Дељење преко"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Det gick inte att ta bort vissa dokument"</string>
<string name="more" msgid="7117420986529297171">"Mer"</string>
<string name="loading" msgid="7933681260296021180">"Läser in …"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Dela via"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Imeshindwa kufuta baadhi ya hati"</string>
<string name="more" msgid="7117420986529297171">"Zaidi"</string>
<string name="loading" msgid="7933681260296021180">"Inapakia…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Shiriki kupitia"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"ไม่สามารถลบเอกสารบางรายการ"</string>
<string name="more" msgid="7117420986529297171">"เพิ่มเติม"</string>
<string name="loading" msgid="7933681260296021180">"กำลังโหลด..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"แชร์ผ่าน"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Hindi matanggal ang ilang dokumento"</string>
<string name="more" msgid="7117420986529297171">"Higit pa"</string>
<string name="loading" msgid="7933681260296021180">"Naglo-load…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Ibahagi sa pamamagitan ng"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Bazı dokümanlar silinemiyor"</string>
<string name="more" msgid="7117420986529297171">"Diğer"</string>
<string name="loading" msgid="7933681260296021180">"Yükleniyor..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Şunu kullanarak paylaş:"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Не вдалося видалити деякі документи"</string>
<string name="more" msgid="7117420986529297171">"Більше"</string>
<string name="loading" msgid="7933681260296021180">"Завантаження..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Надіслати через"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Không thể xóa một số tài liệu"</string>
<string name="more" msgid="7117420986529297171">"Thêm"</string>
<string name="loading" msgid="7933681260296021180">"Đang tải…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Chia sẻ qua"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"无法删除部分文档"</string>
<string name="more" msgid="7117420986529297171">"更多"</string>
<string name="loading" msgid="7933681260296021180">"正在加载..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"分享方式:"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"無法刪除部分文件"</string>
<string name="more" msgid="7117420986529297171">"更多"</string>
<string name="loading" msgid="7933681260296021180">"正在載入..."</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"分享方式:"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"無法刪除部分文件"</string>
<string name="more" msgid="7117420986529297171">"更多"</string>
<string name="loading" msgid="7933681260296021180">"載入中…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"分享方式:"</string>
</resources>
<string name="toast_failed_delete" msgid="2180678019407244069">"Ayikwazi ukususa amanye amadokhumenti"</string>
<string name="more" msgid="7117420986529297171">"Okuningi"</string>
<string name="loading" msgid="7933681260296021180">"Iyalayisha…"</string>
- <!-- no translation found for share_via (8966594246261344259) -->
- <skip />
+ <string name="share_via" msgid="8966594246261344259">"Yabelana nge-"</string>
</resources>
mState.action = ACTION_CREATE;
} else if (Intent.ACTION_GET_CONTENT.equals(action)) {
mState.action = ACTION_GET_CONTENT;
- } else if (DocumentsContract.ACTION_MANAGE_DOCUMENTS.equals(action)) {
+ } else if (DocumentsContract.ACTION_MANAGE_ROOT.equals(action)) {
mState.action = ACTION_MANAGE;
}
}
if (mState.action == ACTION_MANAGE) {
- final Uri rootUri = intent.getData();
- final RootInfo root = mRoots.findRoot(rootUri);
+ final Uri uri = intent.getData();
+ final String rootId = DocumentsContract.getRootId(uri);
+ final RootInfo root = mRoots.getRoot(uri.getAuthority(), rootId);
if (root != null) {
onRootPicked(root, true);
} else {
- Log.w(TAG, "Failed to find root: " + rootUri);
+ Log.w(TAG, "Failed to find root: " + uri);
finish();
}
// Replace selected file
SaveFragment.get(fm).setReplaceTarget(doc);
} else if (mState.action == ACTION_MANAGE) {
- // Open the document
- final Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- intent.setData(doc.uri);
+ // First try managing the document; we expect manager to filter
+ // based on authority, so we don't grant.
+ final Intent manage = new Intent(DocumentsContract.ACTION_MANAGE_DOCUMENT);
+ manage.setData(doc.uri);
+
try {
- startActivity(intent);
+ startActivity(manage);
} catch (ActivityNotFoundException ex) {
- Toast.makeText(this, R.string.toast_no_application, Toast.LENGTH_SHORT).show();
+ // Fall back to viewing
+ final Intent view = new Intent(Intent.ACTION_VIEW);
+ view.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ view.setData(doc.uri);
+
+ try {
+ startActivity(view);
+ } catch (ActivityNotFoundException ex2) {
+ Toast.makeText(this, R.string.toast_no_application, Toast.LENGTH_SHORT).show();
+ }
}
}
}
package com.android.documentsui;
-import android.util.Log;
-
import com.android.documentsui.model.DocumentInfo;
import com.android.internal.util.Predicate;
-import java.util.Arrays;
-
public class MimePredicate implements Predicate<DocumentInfo> {
private final String[] mFilters;
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.printspooler"
- android:sharedUserId="android.uid.printspooler"
android:versionName="1"
android:versionCode="1">
* Fast path that avoids the use of chatty remoted Cursors.
*/
@Override
- public Bundle callFromPackage(String callingPackage, String method, String request,
- Bundle args) {
+ public Bundle call(String method, String request, Bundle args) {
int callingUser = UserHandle.getCallingUserId();
if (args != null) {
int reqUser = args.getInt(Settings.CALL_METHOD_USER_KEY, callingUser);
// Also need to take care of app op.
if (getAppOpsManager().noteOp(AppOpsManager.OP_WRITE_SETTINGS, Binder.getCallingUid(),
- callingPackage) != AppOpsManager.MODE_ALLOWED) {
+ getCallingPackage()) != AppOpsManager.MODE_ALLOWED) {
return null;
}
return km.inKeyguardRestrictedInputMode();
}
- public void setInteracting(boolean interacting) {
+ public void setInteracting(int barWindow, boolean interacting) {
// hook for subclasses
}
package com.android.systemui.statusbar;
+import android.app.StatusBarManager;
import android.graphics.RectF;
import android.view.MotionEvent;
import android.view.View;
}
if (action == MotionEvent.ACTION_DOWN) {
- mBar.setInteracting(true);
+ mBar.setInteracting(StatusBarManager.WINDOW_NAVIGATION_BAR, true);
} else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) {
- mBar.setInteracting(false);
+ mBar.setInteracting(StatusBarManager.WINDOW_NAVIGATION_BAR, false);
}
mDelegateView.getLocationOnScreen(mTempPoint);
}
};
- private boolean mInteracting;
+ private int mInteractingWindows;
private boolean mAutohideSuspended;
private int mStatusBarMode;
private int mNavigationBarMode;
visibilityChanged(true);
- setInteracting(true);
+ setInteracting(StatusBarManager.WINDOW_STATUS_BAR, true);
}
public void animateCollapsePanels() {
mPostCollapseCleanup = null;
}
- setInteracting(false);
+ setInteracting(StatusBarManager.WINDOW_STATUS_BAR, false);
}
/**
}
if (mStatusBarWindowState == WINDOW_STATE_SHOWING) {
- setInteracting(true);
+ setInteracting(StatusBarManager.WINDOW_STATUS_BAR, true);
}
return false;
}
private void checkBarModes() {
if (mDemoMode) return;
- checkBarMode(mStatusBarMode, mStatusBarWindowState, mStatusBarView.getBarTransitions());
+ checkBarMode((mInteractingWindows & StatusBarManager.WINDOW_STATUS_BAR) != 0 ? MODE_OPAQUE
+ : mStatusBarMode, mStatusBarWindowState, mStatusBarView.getBarTransitions());
if (mNavigationBarView != null) {
checkBarMode(mNavigationBarMode,
mNavigationBarWindowState, mNavigationBarView.getBarTransitions());
private void checkBarMode(int mode, int windowState, BarTransitions transitions) {
final boolean imeVisible = (mNavigationIconHints & NAVIGATION_HINT_BACK_ALT) != 0;
- final int finalMode = imeVisible || mInteracting ? MODE_OPAQUE : mode;
+ final int finalMode = imeVisible ? MODE_OPAQUE : mode;
final boolean animate = windowState == WINDOW_STATE_SHOWING;
transitions.transitionTo(finalMode, animate);
}
}};
@Override
- public void setInteracting(boolean interacting) {
- mInteracting = interacting;
- if (mInteracting) {
+ public void setInteracting(int barWindow, boolean interacting) {
+ mInteractingWindows = interacting
+ ? (mInteractingWindows | barWindow)
+ : (mInteractingWindows & ~barWindow);
+ if (mInteractingWindows != 0) {
suspendAutohide();
} else {
resumeSuspendedAutohide();
+ " scroll " + mScrollView.getScrollX() + "," + mScrollView.getScrollY());
}
- pw.print(" mInteracting="); pw.println(mInteracting);
+ pw.print(" mInteractingWindows="); pw.println(mInteractingWindows);
pw.print(" mStatusBarWindowState=");
pw.println(windowStateToString(mStatusBarWindowState));
pw.print(" mStatusBarMode=");
}
private void applyMode(int mode, boolean animate) {
+ if (mLeftSide == null || mRightSide == null) return;
float newAlpha = getAlphaFor(mode);
if (animate) {
ObjectAnimator lhs = animateTransitionTo(mLeftSide, newAlpha);
// setting won't be fully enabled until the user accepts the agreement.
int mode = enabled
? Settings.Secure.LOCATION_MODE_HIGH_ACCURACY : Settings.Secure.LOCATION_MODE_OFF;
+ // QuickSettings always runs as the owner, so specifically set the settings
+ // for the current foreground user.
return Settings.Secure
.putIntForUser(cr, Settings.Secure.LOCATION_MODE, mode, currentUserId);
}
* Returns true if location isn't disabled in settings.
*/
public boolean isLocationEnabled() {
- int currentUserId = ActivityManager.getCurrentUser();
- if (isUserLocationRestricted(currentUserId)) {
- return false;
- }
-
ContentResolver resolver = mContext.getContentResolver();
+ // QuickSettings always runs as the owner, so specifically retrieve the settings
+ // for the current foreground user.
int mode = Settings.Secure.getIntForUser(resolver, Settings.Secure.LOCATION_MODE,
- Settings.Secure.LOCATION_MODE_OFF, currentUserId);
+ Settings.Secure.LOCATION_MODE_OFF, ActivityManager.getCurrentUser());
return mode != Settings.Secure.LOCATION_MODE_OFF;
}
if (statusBarHasFocus) {
int flags = View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
- | View.SYSTEM_UI_FLAG_IMMERSIVE;
+ | View.SYSTEM_UI_FLAG_IMMERSIVE
+ | View.SYSTEM_UI_FLAG_TRANSPARENT_STATUS
+ | View.SYSTEM_UI_FLAG_TRANSPARENT_NAVIGATION;
vis = (vis & ~flags) | (mLastSystemUiFlags & flags);
}
= new Intent().addFlags(Intent.FLAG_FROM_BACKGROUND);
private static final IncreasingTimeOrder sIncreasingTimeOrder = new IncreasingTimeOrder();
- private static final boolean WAKEUP_STATS = true;
+ private static final boolean WAKEUP_STATS = false;
private final Context mContext;
}
@Override
+ public int checkPackage(int uid, String packageName) {
+ synchronized (this) {
+ if (getOpsLocked(uid, packageName, true) != null) {
+ return AppOpsManager.MODE_ALLOWED;
+ } else {
+ return AppOpsManager.MODE_ERRORED;
+ }
+ }
+ }
+
+ @Override
public int noteOperation(int code, int uid, String packageName) {
verifyIncomingUid(uid);
verifyIncomingOp(code);
if (ops == null) {
if (DEBUG) Log.d(TAG, "noteOperation: no op for code " + code + " uid " + uid
+ " package " + packageName);
- return AppOpsManager.MODE_IGNORED;
+ return AppOpsManager.MODE_ERRORED;
}
Op op = getOpLocked(ops, code, true);
if (op.duration == -1) {
if (ops == null) {
if (DEBUG) Log.d(TAG, "startOperation: no op for code " + code + " uid " + uid
+ " package " + packageName);
- return AppOpsManager.MODE_IGNORED;
+ return AppOpsManager.MODE_ERRORED;
}
Op op = getOpLocked(ops, code, true);
final int switchCode = AppOpsManager.opToSwitch(code);
// Find the first Provisioning Network
NetworkInfo provNi = null;
for (NetworkInfo ni : getAllNetworkInfo()) {
- if (ni.getDetailedState()
- == NetworkInfo.DetailedState.CONNECTED_TO_PROVISIONING_NETWORK) {
+ if (ni.isConnectedToProvisioningNetwork()) {
provNi = ni;
break;
}
NetworkInfo.State state = info.getState();
if (VDBG || (state == NetworkInfo.State.CONNECTED) ||
- (state == NetworkInfo.State.DISCONNECTED)) {
+ (state == NetworkInfo.State.DISCONNECTED) ||
+ (state == NetworkInfo.State.SUSPENDED)) {
log("ConnectivityChange for " +
info.getTypeName() + ": " +
state + "/" + info.getDetailedState());
if (ConnectivityManager.isNetworkTypeMobile(info.getType())
&& (0 != Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.DEVICE_PROVISIONED, 0))
- && (state == NetworkInfo.State.CONNECTED)) {
+ && ((state == NetworkInfo.State.CONNECTED)
+ || info.isConnectedToProvisioningNetwork())) {
checkMobileProvisioning(CheckMp.MAX_TIMEOUT_MS);
}
} else if (info.getDetailedState() ==
DetailedState.CAPTIVE_PORTAL_CHECK) {
handleCaptivePortalTrackerCheck(info);
- } else if (info.getDetailedState() ==
- DetailedState.CONNECTED_TO_PROVISIONING_NETWORK) {
+ } else if (info.isConnectedToProvisioningNetwork()) {
/**
* TODO: Create ConnectivityManager.TYPE_MOBILE_PROVISIONING
* for now its an in between network, its a network that
// If provisioning network handle as a special case,
// otherwise launch browser with the intent directly.
NetworkInfo ni = getProvisioningNetworkInfo();
- if ((ni != null) && ni.getDetailedState() ==
- NetworkInfo.DetailedState.CONNECTED_TO_PROVISIONING_NETWORK) {
+ if ((ni != null) && ni.isConnectedToProvisioningNetwork()) {
if (DBG) log("handleMobileProvisioningAction: on provisioning network");
MobileDataStateTracker mdst = (MobileDataStateTracker)
mNetTrackers[ConnectivityManager.TYPE_MOBILE];
import android.content.pm.PackageManager;
import android.database.ContentObserver;
import android.net.Uri;
+import android.os.Binder;
import android.os.Debug;
import android.os.DropBoxManager;
import android.os.FileUtils;
}
public boolean isTagEnabled(String tag) {
- return !"disabled".equals(Settings.Global.getString(
- mContentResolver, Settings.Global.DROPBOX_TAG_PREFIX + tag));
+ final long token = Binder.clearCallingIdentity();
+ try {
+ return !"disabled".equals(Settings.Global.getString(
+ mContentResolver, Settings.Global.DROPBOX_TAG_PREFIX + tag));
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
}
public synchronized DropBoxManager.Entry getNextEntry(String tag, long millis) {
if (restrictions == null) return;
synchronized (mPackagesLock) {
- // If the user has restrictions already and call is trying to disallow restrictions,
- // don't modify the flag.
- if (hasRestrictionsPinLocked(userId)
- && restrictions.getBoolean(UserManager.DISALLOW_APP_RESTRICTIONS, false)) {
- restrictions.putBoolean(UserManager.DISALLOW_APP_RESTRICTIONS, false);
- }
mUserRestrictions.get(userId).clear();
mUserRestrictions.get(userId).putAll(restrictions);
writeUserLocked(mUsers.get(userId));
writeBoolean(serializer, restrictions, UserManager.DISALLOW_USB_FILE_TRANSFER);
writeBoolean(serializer, restrictions, UserManager.DISALLOW_CONFIG_CREDENTIALS);
writeBoolean(serializer, restrictions, UserManager.DISALLOW_REMOVE_USER);
- writeBoolean(serializer, restrictions, UserManager.DISALLOW_APP_RESTRICTIONS);
serializer.endTag(null, TAG_RESTRICTIONS);
}
serializer.endTag(null, TAG_USER);
readBoolean(parser, restrictions, UserManager.DISALLOW_USB_FILE_TRANSFER);
readBoolean(parser, restrictions, UserManager.DISALLOW_CONFIG_CREDENTIALS);
readBoolean(parser, restrictions, UserManager.DISALLOW_REMOVE_USER);
- readBoolean(parser, restrictions, UserManager.DISALLOW_APP_RESTRICTIONS);
}
}
}
}
@Override
- public boolean changeRestrictionsPin(String newPin) {
+ public boolean setRestrictionsChallenge(String newPin) {
checkManageUsersPermission("Only system can modify the restrictions pin");
int userId = UserHandle.getCallingUserId();
synchronized (mPackagesLock) {
}
@Override
- public int checkRestrictionsPin(String pin) {
+ public int checkRestrictionsChallenge(String pin) {
checkManageUsersPermission("Only system can verify the restrictions pin");
int userId = UserHandle.getCallingUserId();
synchronized (mPackagesLock) {
}
@Override
- public boolean hasRestrictionsPin() {
+ public boolean hasRestrictionsChallenge() {
int userId = UserHandle.getCallingUserId();
synchronized (mPackagesLock) {
return hasRestrictionsPinLocked(userId);
// Remove all user restrictions
setUserRestrictions(new Bundle(), userHandle);
// Remove restrictions pin
- changeRestrictionsPin(null);
+ setRestrictionsChallenge(null);
// Remove any app restrictions
cleanAppRestrictions(userHandle, true);
}
bool isLauncherActivity = false;
bool isSearchable = false;
bool withinApplication = false;
+ bool withinSupportsInput = false;
bool withinReceiver = false;
bool withinService = false;
bool withinIntentFilter = false;
String8 activityIcon;
String8 receiverName;
String8 serviceName;
+ Vector<String8> supportedInput;
while ((code=tree.next()) != ResXMLTree::END_DOCUMENT && code != ResXMLTree::BAD_DOCUMENT) {
if (code == ResXMLTree::END_TAG) {
depth--;
if (depth < 2) {
+ if (withinSupportsInput && !supportedInput.isEmpty()) {
+ printf("supports-input: '");
+ const size_t N = supportedInput.size();
+ for (size_t i=0; i<N; i++) {
+ printf("%s", supportedInput[i].string());
+ if (i != N - 1) {
+ printf("' '");
+ } else {
+ printf("'\n");
+ }
+ }
+ supportedInput.clear();
+ }
withinApplication = false;
+ withinSupportsInput = false;
} else if (depth < 3) {
if (withinActivity && isMainActivity && isLauncherActivity) {
const char *aName = getComponentName(pkg, activityName);
printf(" reqFiveWayNav='%d'", reqFiveWayNav);
}
printf("\n");
+ } else if (tag == "supports-input") {
+ withinSupportsInput = true;
} else if (tag == "supports-screens") {
smallScreen = getIntegerAttribute(tree,
SMALL_SCREEN_ATTR, NULL, 1);
}
}
}
- } else if (depth == 3 && withinApplication) {
+ } else if (depth == 3) {
withinActivity = false;
withinReceiver = false;
withinService = false;
hasIntentFilter = false;
- if(tag == "activity") {
- withinActivity = true;
- activityName = getAttribute(tree, NAME_ATTR, &error);
- if (error != "") {
- fprintf(stderr, "ERROR getting 'android:name' attribute: %s\n", error.string());
- goto bail;
- }
+ if (withinApplication) {
+ if(tag == "activity") {
+ withinActivity = true;
+ activityName = getAttribute(tree, NAME_ATTR, &error);
+ if (error != "") {
+ fprintf(stderr, "ERROR getting 'android:name' attribute: %s\n",
+ error.string());
+ goto bail;
+ }
- activityLabel = getResolvedAttribute(&res, tree, LABEL_ATTR, &error);
- if (error != "") {
- fprintf(stderr, "ERROR getting 'android:label' attribute: %s\n", error.string());
- goto bail;
- }
+ activityLabel = getResolvedAttribute(&res, tree, LABEL_ATTR, &error);
+ if (error != "") {
+ fprintf(stderr, "ERROR getting 'android:label' attribute: %s\n",
+ error.string());
+ goto bail;
+ }
- activityIcon = getResolvedAttribute(&res, tree, ICON_ATTR, &error);
- if (error != "") {
- fprintf(stderr, "ERROR getting 'android:icon' attribute: %s\n", error.string());
- goto bail;
- }
+ activityIcon = getResolvedAttribute(&res, tree, ICON_ATTR, &error);
+ if (error != "") {
+ fprintf(stderr, "ERROR getting 'android:icon' attribute: %s\n",
+ error.string());
+ goto bail;
+ }
- int32_t orien = getResolvedIntegerAttribute(&res, tree,
- SCREEN_ORIENTATION_ATTR, &error);
- if (error == "") {
- if (orien == 0 || orien == 6 || orien == 8) {
- // Requests landscape, sensorLandscape, or reverseLandscape.
- reqScreenLandscapeFeature = true;
- } else if (orien == 1 || orien == 7 || orien == 9) {
- // Requests portrait, sensorPortrait, or reversePortrait.
- reqScreenPortraitFeature = true;
+ int32_t orien = getResolvedIntegerAttribute(&res, tree,
+ SCREEN_ORIENTATION_ATTR, &error);
+ if (error == "") {
+ if (orien == 0 || orien == 6 || orien == 8) {
+ // Requests landscape, sensorLandscape, or reverseLandscape.
+ reqScreenLandscapeFeature = true;
+ } else if (orien == 1 || orien == 7 || orien == 9) {
+ // Requests portrait, sensorPortrait, or reversePortrait.
+ reqScreenPortraitFeature = true;
+ }
}
- }
- } else if (tag == "uses-library") {
- String8 libraryName = getAttribute(tree, NAME_ATTR, &error);
- if (error != "") {
- fprintf(stderr, "ERROR getting 'android:name' attribute for uses-library: %s\n", error.string());
- goto bail;
- }
- int req = getIntegerAttribute(tree,
- REQUIRED_ATTR, NULL, 1);
- printf("uses-library%s:'%s'\n",
- req ? "" : "-not-required", libraryName.string());
- } else if (tag == "receiver") {
- withinReceiver = true;
- receiverName = getAttribute(tree, NAME_ATTR, &error);
+ } else if (tag == "uses-library") {
+ String8 libraryName = getAttribute(tree, NAME_ATTR, &error);
+ if (error != "") {
+ fprintf(stderr,
+ "ERROR getting 'android:name' attribute for uses-library"
+ " %s\n", error.string());
+ goto bail;
+ }
+ int req = getIntegerAttribute(tree,
+ REQUIRED_ATTR, NULL, 1);
+ printf("uses-library%s:'%s'\n",
+ req ? "" : "-not-required", libraryName.string());
+ } else if (tag == "receiver") {
+ withinReceiver = true;
+ receiverName = getAttribute(tree, NAME_ATTR, &error);
- if (error != "") {
- fprintf(stderr, "ERROR getting 'android:name' attribute for receiver: %s\n", error.string());
- goto bail;
- }
- } else if (tag == "service") {
- withinService = true;
- serviceName = getAttribute(tree, NAME_ATTR, &error);
+ if (error != "") {
+ fprintf(stderr,
+ "ERROR getting 'android:name' attribute for receiver:"
+ " %s\n", error.string());
+ goto bail;
+ }
+ } else if (tag == "service") {
+ withinService = true;
+ serviceName = getAttribute(tree, NAME_ATTR, &error);
- if (error != "") {
- fprintf(stderr, "ERROR getting 'android:name' attribute for service: %s\n", error.string());
+ if (error != "") {
+ fprintf(stderr, "ERROR getting 'android:name' attribute for"
+ " service: %s\n", error.string());
+ goto bail;
+ }
+ }
+ } else if (withinSupportsInput && tag == "input-type") {
+ String8 name = getAttribute(tree, NAME_ATTR, &error);
+ if (name != "" && error == "") {
+ supportedInput.add(name);
+ } else {
+ fprintf(stderr, "ERROR getting 'android:name' attribute: %s\n",
+ error.string());
goto bail;
}
}
}
config.ipAssignment = IpAssignment.DHCP;
config.proxySettings = ProxySettings.NONE;
- mConfiguredNetworks.put(config.networkId, config);
- mNetworkIds.put(configKey(config), config.networkId);
- localLog("loaded configured network", config.networkId);
+
+ if (mNetworkIds.containsKey(configKey(config))) {
+ // That SSID is already known, just ignore this duplicate entry
+ localLog("discarded duplicate network", config.networkId);
+ } else {
+ mConfiguredNetworks.put(config.networkId, config);
+ mNetworkIds.put(configKey(config), config.networkId);
+ localLog("loaded configured network", config.networkId);
+ }
}
readIpAndProxyConfigurations();
import android.net.NetworkInfo;
import android.net.NetworkInfo.DetailedState;
import android.net.NetworkUtils;
+import android.net.RouteInfo;
import android.net.wifi.WpsResult.Status;
import android.net.wifi.p2p.WifiP2pManager;
import android.net.wifi.p2p.WifiP2pService;
import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
+import com.android.server.net.BaseNetworkObserver;
+
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.net.InetAddress;
+import java.net.Inet6Address;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
/* Tracks sequence number on a driver time out */
private int mDriverStartToken = 0;
+ /**
+ * The link properties of the wifi interface.
+ * Do not modify this directly; use updateLinkProperties instead.
+ */
private LinkProperties mLinkProperties;
+ /**
+ * Subset of link properties coming from netlink.
+ * Currently includes IPv4 and IPv6 addresses. In the future will also include IPv6 DNS servers
+ * and domains obtained from router advertisements (RFC 6106).
+ */
+ private final LinkProperties mNetlinkLinkProperties;
+
/* Tracks sequence number on a periodic scan message */
private int mPeriodicScanToken = 0;
private SupplicantStateTracker mSupplicantStateTracker;
private DhcpStateMachine mDhcpStateMachine;
+ private class InterfaceObserver extends BaseNetworkObserver {
+ private WifiStateMachine mWifiStateMachine;
+
+ InterfaceObserver(WifiStateMachine wifiStateMachine) {
+ super();
+ mWifiStateMachine = wifiStateMachine;
+ }
+
+ @Override
+ public void addressUpdated(String address, String iface, int flags, int scope) {
+ if (mWifiStateMachine.mInterfaceName.equals(iface)) {
+ if (DBG) {
+ log("addressUpdated: " + address + " on " + iface +
+ " flags " + flags + " scope " + scope);
+ }
+ mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_UPDATED, new LinkAddress(address));
+ }
+ }
+
+ @Override
+ public void addressRemoved(String address, String iface, int flags, int scope) {
+ if (mWifiStateMachine.mInterfaceName.equals(iface)) {
+ if (DBG) {
+ log("addressRemoved: " + address + " on " + iface +
+ " flags " + flags + " scope " + scope);
+ }
+ mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_REMOVED, new LinkAddress(address));
+ }
+ }
+ }
+
+ private InterfaceObserver mInterfaceObserver;
+
private AlarmManager mAlarmManager;
private PendingIntent mScanIntent;
private PendingIntent mDriverStopIntent;
public static final int CMD_START_NEXT_BATCHED_SCAN = BASE + 136;
public static final int CMD_POLL_BATCHED_SCAN = BASE + 137;
+ /* Link configuration (IP address, DNS, ...) changes */
+ /* An new IP address was added to our interface, or an existing IP address was updated */
+ static final int CMD_IP_ADDRESS_UPDATED = BASE + 140;
+ /* An IP address was removed from our interface */
+ static final int CMD_IP_ADDRESS_REMOVED = BASE + 141;
+
public static final int CONNECT_MODE = 1;
public static final int SCAN_ONLY_MODE = 2;
public static final int SCAN_ONLY_WITH_WIFI_OFF_MODE = 3;
mSupplicantStateTracker = new SupplicantStateTracker(context, this, mWifiConfigStore,
getHandler());
mLinkProperties = new LinkProperties();
+ mNetlinkLinkProperties = new LinkProperties();
mWifiP2pManager = (WifiP2pManager) mContext.getSystemService(Context.WIFI_P2P_SERVICE);
mNetworkInfo.setIsAvailable(false);
- mLinkProperties.clear();
mLastBssid = null;
mLastNetworkId = WifiConfiguration.INVALID_NETWORK_ID;
mLastSignalLevel = -1;
+ mInterfaceObserver = new InterfaceObserver(this);
+ try {
+ mNwService.registerObserver(mInterfaceObserver);
+ } catch (RemoteException e) {
+ loge("Couldn't register interface observer: " + e.toString());
+ }
+
mAlarmManager = (AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE);
Intent scanIntent = new Intent(ACTION_START_SCAN, null);
mScanIntent = PendingIntent.getBroadcast(mContext, SCAN_REQUEST, scanIntent, 0);
}
}
- private void configureLinkProperties() {
- if (mWifiConfigStore.isUsingStaticIp(mLastNetworkId)) {
- mLinkProperties = mWifiConfigStore.getLinkProperties(mLastNetworkId);
- } else {
- synchronized (mDhcpResultsLock) {
- if ((mDhcpResults != null) && (mDhcpResults.linkProperties != null)) {
- mLinkProperties = mDhcpResults.linkProperties;
+ /**
+ * Updates mLinkProperties by merging information from various sources.
+ *
+ * This is needed because the information in mLinkProperties comes from multiple sources (DHCP,
+ * netlink, static configuration, ...). When one of these sources of information has updated
+ * link properties, we can't just assign them to mLinkProperties or we'd lose track of the
+ * information that came from other sources. Instead, when one of those sources has new
+ * information, we update the object that tracks the information from that source and then
+ * call this method to apply the change to mLinkProperties.
+ *
+ * The information in mLinkProperties is currently obtained as follows:
+ * - Interface name: set in the constructor.
+ * - IPv4 and IPv6 addresses: netlink, via mInterfaceObserver.
+ * - IPv4 routes, DNS servers, and domains: DHCP.
+ * - HTTP proxy: the wifi config store.
+ */
+ private void updateLinkProperties() {
+ LinkProperties newLp = new LinkProperties();
+
+ // Interface name and proxy are locally configured.
+ newLp.setInterfaceName(mInterfaceName);
+ newLp.setHttpProxy(mWifiConfigStore.getProxyProperties(mLastNetworkId));
+
+ // IPv4 and IPv6 addresses come from netlink.
+ newLp.setLinkAddresses(mNetlinkLinkProperties.getLinkAddresses());
+
+ // For now, routing and DNS only come from DHCP or static configuration. In the future,
+ // we'll need to merge IPv6 DNS servers and domains coming from netlink.
+ synchronized (mDhcpResultsLock) {
+ // Even when we're using static configuration, we don't need to look at the config
+ // store, because static IP configuration also populates mDhcpResults.
+ if ((mDhcpResults != null) && (mDhcpResults.linkProperties != null)) {
+ LinkProperties lp = mDhcpResults.linkProperties;
+ for (RouteInfo route: lp.getRoutes()) {
+ newLp.addRoute(route);
+ }
+ for (InetAddress dns: lp.getDnses()) {
+ newLp.addDns(dns);
}
+ newLp.setDomains(lp.getDomains());
+ }
+ }
+
+ // If anything has changed, and we're already connected, send out a notification.
+ // If we're still connecting, apps will be notified when we connect.
+ if (!newLp.equals(mLinkProperties)) {
+ if (DBG) {
+ log("Link configuration changed for netId: " + mLastNetworkId
+ + " old: " + mLinkProperties + "new: " + newLp);
+ }
+ mLinkProperties = newLp;
+ if (getNetworkDetailedState() == DetailedState.CONNECTED) {
+ sendLinkConfigurationChangedBroadcast();
}
- mLinkProperties.setHttpProxy(mWifiConfigStore.getProxyProperties(mLastNetworkId));
}
- mLinkProperties.setInterfaceName(mInterfaceName);
- if (DBG) log("netId=" + mLastNetworkId + " Link configured: " + mLinkProperties);
+ }
+
+ /**
+ * Clears all our link properties.
+ */
+ private void clearLinkProperties() {
+ // If the network used DHCP, clear the LinkProperties we stored in the config store.
+ if (!mWifiConfigStore.isUsingStaticIp(mLastNetworkId)) {
+ mWifiConfigStore.clearLinkProperties(mLastNetworkId);
+ }
+
+ // Clear the link properties obtained from DHCP and netlink.
+ synchronized(mDhcpResultsLock) {
+ if (mDhcpResults != null && mDhcpResults.linkProperties != null) {
+ mDhcpResults.linkProperties.clear();
+ }
+ }
+ mNetlinkLinkProperties.clear();
+
+ // Now clear the merged link properties.
+ mLinkProperties.clear();
}
private int getMaxDhcpRetries() {
mWifiConfigStore.updateStatus(mLastNetworkId, DetailedState.DISCONNECTED);
/* Clear network properties */
- mLinkProperties.clear();
+ clearLinkProperties();
/* send event to CM & network change broadcast */
sendNetworkStateChangeBroadcast(mLastBssid);
- /* Clear IP settings if the network used DHCP */
- if (!mWifiConfigStore.isUsingStaticIp(mLastNetworkId)) {
- mWifiConfigStore.clearLinkProperties(mLastNetworkId);
- }
-
mLastBssid= null;
mLastNetworkId = WifiConfiguration.INVALID_NETWORK_ID;
}
}
mWifiInfo.setInetAddress(addr);
mWifiInfo.setMeteredHint(dhcpResults.hasMeteredHint());
- if (getNetworkDetailedState() == DetailedState.CONNECTED) {
- //DHCP renewal in connected state
- linkProperties.setHttpProxy(mWifiConfigStore.getProxyProperties(mLastNetworkId));
- if (!linkProperties.equals(mLinkProperties)) {
- if (DBG) {
- log("Link configuration changed for netId: " + mLastNetworkId
- + " old: " + mLinkProperties + "new: " + linkProperties);
- }
- mLinkProperties = linkProperties;
- sendLinkConfigurationChangedBroadcast();
- }
- } else {
- configureLinkProperties();
- }
+ updateLinkProperties();
}
private void handleFailedIpConfiguration() {
mTemporarilyDisconnectWifi = (message.arg1 == 1);
replyToMessage(message, WifiP2pService.DISCONNECT_WIFI_RESPONSE);
break;
+ case CMD_IP_ADDRESS_UPDATED:
+ // addLinkAddress is a no-op if called more than once with the same address.
+ if (mNetlinkLinkProperties.addLinkAddress((LinkAddress) message.obj)) {
+ updateLinkProperties();
+ }
+ break;
+ case CMD_IP_ADDRESS_REMOVED:
+ if (mNetlinkLinkProperties.removeLinkAddress((LinkAddress) message.obj)) {
+ updateLinkProperties();
+ }
+ break;
default:
loge("Error! unhandled message" + message);
break;
}
if (result.hasProxyChanged()) {
log("Reconfiguring proxy on connection");
- configureLinkProperties();
- sendLinkConfigurationChangedBroadcast();
+ updateLinkProperties();
}
}
@Override
public void enter() {
if (!mWifiConfigStore.isUsingStaticIp(mLastNetworkId)) {
+ // TODO: If we're switching between static IP configuration and DHCP, remove the
+ // static configuration first.
startDhcp();
} else {
// stop any running dhcp before assigning static IP
stopDhcp();
DhcpResults dhcpResults = new DhcpResults(
mWifiConfigStore.getLinkProperties(mLastNetworkId));
- dhcpResults.linkProperties.setInterfaceName(mInterfaceName);
InterfaceConfiguration ifcg = new InterfaceConfiguration();
Iterator<LinkAddress> addrs =
dhcpResults.linkProperties.getLinkAddresses().iterator();