summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/java/android/accessibilityservice/AccessibilityService.java15
-rw-r--r--core/java/android/app/ActionBar.java14
-rw-r--r--core/java/android/app/Fragment.java5
-rw-r--r--core/java/android/app/FragmentManager.java2
-rw-r--r--core/java/android/bluetooth/BluetoothAdapter.java63
-rw-r--r--core/java/android/bluetooth/IBluetooth.aidl4
-rw-r--r--core/java/android/bluetooth/IBluetoothStateChangeCallback.aidl27
-rw-r--r--core/java/android/content/Context.java12
-rw-r--r--core/java/android/content/Loader.java2
-rw-r--r--core/java/android/content/SyncManager.java20
-rw-r--r--core/java/android/hardware/Camera.java195
-rw-r--r--core/java/android/net/INetworkPolicyManager.aidl3
-rw-r--r--core/java/android/net/NetworkPolicy.java31
-rw-r--r--core/java/android/net/NetworkPolicyManager.java22
-rw-r--r--core/java/android/os/INetworkManagementService.aidl21
-rw-r--r--core/java/android/os/IPowerManager.aidl3
-rw-r--r--core/java/android/provider/CallLog.java1
-rw-r--r--core/java/android/provider/ContactsContract.java33
-rw-r--r--core/java/android/provider/VoicemailContract.java6
-rw-r--r--core/java/android/server/BluetoothAdapterStateMachine.java234
-rw-r--r--core/java/android/server/BluetoothEventLoop.java4
-rwxr-xr-xcore/java/android/server/BluetoothService.java91
-rw-r--r--core/java/android/speech/tts/TextToSpeechService.java2
-rw-r--r--core/java/android/view/Display.java163
-rw-r--r--core/java/android/view/GLES20Canvas.java17
-rw-r--r--core/java/android/view/GLES20RecordingCanvas.java2
-rw-r--r--core/java/android/view/GLES20RenderLayer.java1
-rw-r--r--core/java/android/view/HardwareRenderer.java98
-rw-r--r--core/java/android/view/IWindowManager.aidl1
-rw-r--r--core/java/android/view/MotionEvent.java41
-rw-r--r--core/java/android/view/View.java37
-rw-r--r--core/java/android/view/ViewGroup.java5
-rw-r--r--core/java/android/view/ViewRootImpl.java22
-rw-r--r--core/java/android/webkit/DebugFlags.java2
-rw-r--r--core/java/android/webkit/WebTextView.java172
-rw-r--r--core/java/android/webkit/WebView.java73
-rw-r--r--core/java/android/widget/AbsListView.java94
-rw-r--r--core/java/android/widget/ActivityChooserView.java48
-rw-r--r--core/java/android/widget/FrameLayout.java17
-rw-r--r--core/java/android/widget/SearchView.java20
-rw-r--r--core/java/android/widget/TextView.java103
-rw-r--r--core/java/com/android/internal/content/NativeLibraryHelper.java285
-rw-r--r--core/java/com/android/internal/os/ZygoteInit.java2
-rw-r--r--core/java/com/android/internal/view/menu/ActionMenuView.java22
-rw-r--r--core/java/com/android/internal/view/menu/MenuBuilder.java3
-rw-r--r--core/java/com/android/internal/view/menu/MenuItemImpl.java2
-rw-r--r--core/java/com/android/internal/widget/ActionBarView.java11
-rw-r--r--core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java2
-rw-r--r--core/jni/Android.mk3
-rw-r--r--core/jni/AndroidRuntime.cpp2
-rw-r--r--core/jni/android_hardware_Camera.cpp49
-rw-r--r--core/jni/android_view_Display.cpp51
-rw-r--r--core/jni/com_android_internal_content_NativeLibraryHelper.cpp375
-rw-r--r--core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.pngbin525 -> 425 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_light.9.pngbin525 -> 425 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_disabled_holo.9.pngbin446 -> 372 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_disabled_holo_dark.9.pngbin356 -> 363 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_disabled_holo_light.9.pngbin356 -> 361 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_focused_holo.9.pngbin645 -> 420 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_focused_holo_dark.9.pngbin504 -> 419 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_focused_holo_light.9.pngbin504 -> 419 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_normal_holo.9.pngbin454 -> 402 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_normal_holo_dark.9.pngbin345 -> 374 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_normal_holo_light.9.pngbin345 -> 375 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_pressed_holo.9.pngbin635 -> 650 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.pngbin494 -> 513 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.pngbin494 -> 513 bytes
-rw-r--r--core/res/res/drawable-hdpi/popup_inline_error_above_holo_dark.9.pngbin992 -> 1000 bytes
-rw-r--r--core/res/res/drawable-hdpi/popup_inline_error_above_holo_light.9.pngbin1000 -> 992 bytes
-rw-r--r--core/res/res/drawable-hdpi/popup_inline_error_holo_dark.9.pngbin979 -> 936 bytes
-rw-r--r--core/res/res/drawable-hdpi/popup_inline_error_holo_light.9.pngbin968 -> 901 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.pngbin375 -> 298 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_light.9.pngbin375 -> 298 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_disabled_holo.9.pngbin325 -> 275 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_disabled_holo_dark.9.pngbin265 -> 256 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_disabled_holo_light.9.pngbin265 -> 245 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_focused_holo.9.pngbin420 -> 329 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_focused_holo_dark.9.pngbin376 -> 330 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_focused_holo_light.9.pngbin376 -> 330 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_normal_holo.9.pngbin325 -> 289 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_normal_holo_dark.9.pngbin274 -> 283 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_normal_holo_light.9.pngbin274 -> 278 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_pressed_holo.9.pngbin454 -> 439 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.pngbin388 -> 362 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.pngbin388 -> 362 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_disabled_focused_holo_dark.9.pngbin0 -> 501 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_disabled_focused_holo_light.9.pngbin0 -> 501 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_disabled_holo.9.pngbin0 -> 460 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_disabled_holo_dark.9.pngbin0 -> 440 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_disabled_holo_light.9.pngbin0 -> 428 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_focused_holo.9.pngbin0 -> 544 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_focused_holo_dark.9.pngbin0 -> 548 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_focused_holo_light.9.pngbin0 -> 548 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_normal.9.pngbin0 -> 1639 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_normal_disable.9.pngbin0 -> 1534 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.pngbin0 -> 1807 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_normal_holo.9.pngbin0 -> 495 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_normal_holo_dark.9.pngbin0 -> 490 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_normal_holo_light.9.pngbin0 -> 475 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_pressed.9.pngbin0 -> 1905 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_pressed_holo.9.pngbin0 -> 897 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.pngbin0 -> 673 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_pressed_holo_light.9.pngbin0 -> 673 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_selected.9.pngbin0 -> 1201 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_small_normal.9.pngbin0 -> 1380 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.pngbin0 -> 1285 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.pngbin0 -> 1718 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_small_pressed.9.pngbin0 -> 1185 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_small_selected.9.pngbin0 -> 1077 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.pngbin0 -> 2810 bytes
-rw-r--r--core/res/res/layout/activity_chooser_view.xml48
-rw-r--r--core/res/res/values-af/strings.xml28
-rw-r--r--core/res/res/values-am/strings.xml28
-rw-r--r--core/res/res/values-ar/strings.xml68
-rw-r--r--core/res/res/values-bg/strings.xml64
-rw-r--r--core/res/res/values-ca/strings.xml68
-rw-r--r--core/res/res/values-cs/strings.xml68
-rw-r--r--core/res/res/values-da/strings.xml68
-rw-r--r--core/res/res/values-de/strings.xml64
-rw-r--r--core/res/res/values-el/strings.xml64
-rw-r--r--core/res/res/values-en-rGB/strings.xml59
-rw-r--r--core/res/res/values-es-rUS/strings.xml68
-rw-r--r--core/res/res/values-es/strings.xml38
-rw-r--r--core/res/res/values-fa/strings.xml70
-rw-r--r--core/res/res/values-fi/strings.xml64
-rw-r--r--core/res/res/values-fr/strings.xml64
-rw-r--r--core/res/res/values-hr/strings.xml64
-rw-r--r--core/res/res/values-hu/strings.xml32
-rw-r--r--core/res/res/values-in/strings.xml64
-rw-r--r--core/res/res/values-it/strings.xml32
-rw-r--r--core/res/res/values-iw/strings.xml64
-rw-r--r--core/res/res/values-ja/strings.xml64
-rw-r--r--core/res/res/values-ko/strings.xml68
-rw-r--r--core/res/res/values-lt/strings.xml68
-rw-r--r--core/res/res/values-lv/strings.xml32
-rw-r--r--core/res/res/values-ms/strings.xml201
-rw-r--r--core/res/res/values-nb/strings.xml64
-rw-r--r--core/res/res/values-nl/strings.xml68
-rw-r--r--core/res/res/values-pl/strings.xml72
-rw-r--r--core/res/res/values-pt-rPT/strings.xml68
-rw-r--r--core/res/res/values-pt/strings.xml64
-rw-r--r--core/res/res/values-rm/strings.xml28
-rw-r--r--core/res/res/values-ro/strings.xml64
-rw-r--r--core/res/res/values-ru/strings.xml64
-rw-r--r--core/res/res/values-sk/strings.xml64
-rw-r--r--core/res/res/values-sl/strings.xml68
-rw-r--r--core/res/res/values-sr/strings.xml64
-rw-r--r--core/res/res/values-sv/strings.xml68
-rw-r--r--core/res/res/values-sw/strings.xml28
-rw-r--r--core/res/res/values-th/strings.xml68
-rw-r--r--core/res/res/values-tl/strings.xml68
-rw-r--r--core/res/res/values-tr/strings.xml64
-rw-r--r--core/res/res/values-uk/strings.xml32
-rw-r--r--core/res/res/values-vi/strings.xml68
-rw-r--r--core/res/res/values-zh-rCN/strings.xml64
-rw-r--r--core/res/res/values-zh-rTW/strings.xml64
-rw-r--r--core/res/res/values-zu/strings.xml156
-rwxr-xr-xcore/res/res/values/attrs.xml6
-rw-r--r--core/res/res/values/dimens.xml2
-rw-r--r--core/res/res/values/public.xml1
-rwxr-xr-xcore/res/res/values/strings.xml9
-rw-r--r--core/res/res/values/styles.xml29
-rw-r--r--core/res/res/values/themes.xml7
163 files changed, 3501 insertions, 2074 deletions
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index 68c9926..1e238f0 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -130,20 +130,11 @@ import android.view.accessibility.AccessibilityNodeInfo;
* For security purposes an accessibility service can retrieve only the content of the
* currently active window. The currently active window is defined as the window from
* which was fired the last event of the following types:
- * {@link AccessibilityEvent#TYPE_TOUCH_EXPLORATION_GESTURE_START},
- * {@link AccessibilityEvent#TYPE_TOUCH_EXPLORATION_GESTURE_END},
- * {@link AccessibilityEvent#TYPE_VIEW_CLICKED},
- * {@link AccessibilityEvent#TYPE_VIEW_FOCUSED},
+ * {@link AccessibilityEvent#TYPE_WINDOW_STATE_CHANGED},
* {@link AccessibilityEvent#TYPE_VIEW_HOVER_ENTER},
* {@link AccessibilityEvent#TYPE_VIEW_HOVER_EXIT},
- * {@link AccessibilityEvent#TYPE_VIEW_LONG_CLICKED},
- * {@link AccessibilityEvent#TYPE_VIEW_SELECTED},
- * {@link AccessibilityEvent#TYPE_VIEW_TEXT_CHANGED},
- * {@link AccessibilityEvent#TYPE_WINDOW_STATE_CHANGED},
- * {@link AccessibilityEvent#TYPE_VIEW_SCROLLED},
- * {@link AccessibilityEvent#TYPE_VIEW_TEXT_SELECTION_CHANGED},
- * {@link AccessibilityEvent#TYPE_WINDOW_CONTENT_CHANGED}.
- * In other words, the active window is the one where the user interaction is taking place.
+ * In other words, the last window that was shown or the last window that the user has touched
+ * during touch exploration.
* </p>
* <p>
* The entry point for retrieving window content is through calling
diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java
index 36940c2..a217867 100644
--- a/core/java/android/app/ActionBar.java
+++ b/core/java/android/app/ActionBar.java
@@ -29,10 +29,16 @@ import android.view.Window;
import android.widget.SpinnerAdapter;
/**
- * This is the public interface to the contextual ActionBar.
- * The ActionBar acts as a replacement for the title bar in Activities.
- * It provides facilities for creating toolbar actions as well as
- * methods of navigating around an application.
+ * Acts as a replacement for the title bar in Activities.
+ * The action bar provides facilities for creating toolbar actions as well as
+ * methods of navigating the application.
+ * <p>By default, the action bar appears at the top of every activity, with the application icon on
+ * the left, followed by the activity title. Items from the activity's options menu are also
+ * accessible from the action bar.</p>
+ * <p>From your activity, you can retrieve an instance of {@link ActionBar} by calling {@link
+ * android.app.Activity#getActionBar getActionBar()}.</p>
+ * <p>For more information, read the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action
+ * Bar</a> developer guide.</p>
*/
public abstract class ActionBar {
/**
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java
index cb97c46..e2746d4 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -162,6 +162,9 @@ final class FragmentState implements Parcelable {
* constructor to instantiate it. If the empty constructor is not available,
* a runtime exception will occur in some cases during state restore.
*
+ * <p>For more documentation, also see the <a
+ * href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
+ *
* <p>Topics covered here:
* <ol>
* <li><a href="#OlderPlatforms">Older Platforms</a>
@@ -880,7 +883,7 @@ public class Fragment implements ComponentCallbacks, OnCreateContextMenuListener
public void setHasOptionsMenu(boolean hasMenu) {
if (mHasMenu != hasMenu) {
mHasMenu = hasMenu;
- if (isAdded() && !isHidden()) {
+ if (isAdded() && !isHidden() && isResumed()) {
mActivity.invalidateOptionsMenu();
}
}
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index 789d3a6..24550c5 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -978,7 +978,7 @@ final class FragmentManagerImpl extends FragmentManager {
}
}
- if (mNeedMenuInvalidate && mActivity != null) {
+ if (mNeedMenuInvalidate && mActivity != null && mCurState == Fragment.RESUMED) {
mActivity.invalidateOptionsMenu();
mNeedMenuInvalidate = false;
}
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index b993bd8..ca6f085 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -1143,6 +1143,69 @@ public final class BluetoothAdapter {
}
}
+ /**
+ * Enable control of the Bluetooth Adapter for a single application.
+ *
+ * <p>Some applications need to use Bluetooth for short periods of time to
+ * transfer data but don't want all the associated implications like
+ * automatic connection to headsets etc.
+ *
+ * <p> Multiple applications can call this. This is reference counted and
+ * Bluetooth disabled only when no one else is using it. There will be no UI
+ * shown to the user while bluetooth is being enabled. Any user action will
+ * override this call. For example, if user wants Bluetooth on and the last
+ * user of this API wanted to disable Bluetooth, Bluetooth will not be
+ * turned off.
+ *
+ * <p> This API is only meant to be used by internal applications. Third
+ * party applications but use {@link #enable} and {@link #disable} APIs.
+ *
+ * <p> If this API returns true, it means the callback will be called.
+ * The callback will be called with the current state of Bluetooth.
+ * If the state is not what was requested, an internal error would be the
+ * reason.
+ *
+ * @param on True for on, false for off.
+ * @param callback The callback to notify changes to the state.
+ * @hide
+ */
+ public boolean changeApplicationBluetoothState(boolean on,
+ BluetoothStateChangeCallback callback) {
+ if (callback == null) return false;
+
+ try {
+ return mService.changeApplicationBluetoothState(on, new
+ StateChangeCallbackWrapper(callback), new Binder());
+ } catch (RemoteException e) {
+ Log.e(TAG, "changeBluetoothState", e);
+ }
+ return false;
+ }
+
+ /**
+ * @hide
+ */
+ public interface BluetoothStateChangeCallback {
+ public void onBluetoothStateChange(boolean on);
+ }
+
+ /**
+ * @hide
+ */
+ public class StateChangeCallbackWrapper extends IBluetoothStateChangeCallback.Stub {
+ private BluetoothStateChangeCallback mCallback;
+
+ StateChangeCallbackWrapper(BluetoothStateChangeCallback
+ callback) {
+ mCallback = callback;
+ }
+
+ @Override
+ public void onBluetoothStateChange(boolean on) {
+ mCallback.onBluetoothStateChange(on);
+ }
+ }
+
private Set<BluetoothDevice> toDeviceSet(String[] addresses) {
Set<BluetoothDevice> devices = new HashSet<BluetoothDevice>(addresses.length);
for (int i = 0; i < addresses.length; i++) {
diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl
index 183772d..be43c51 100644
--- a/core/java/android/bluetooth/IBluetooth.aidl
+++ b/core/java/android/bluetooth/IBluetooth.aidl
@@ -17,6 +17,7 @@
package android.bluetooth;
import android.bluetooth.IBluetoothCallback;
+import android.bluetooth.IBluetoothStateChangeCallback;
import android.bluetooth.IBluetoothHealthCallback;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothHealthAppConfiguration;
@@ -52,6 +53,9 @@ interface IBluetooth
byte[] readOutOfBandData();
int getAdapterConnectionState();
+ boolean changeApplicationBluetoothState(boolean on,
+ in IBluetoothStateChangeCallback callback, in
+ IBinder b);
boolean createBond(in String address);
boolean createBondOutOfBand(in String address, in byte[] hash, in byte[] randomizer);
diff --git a/core/java/android/bluetooth/IBluetoothStateChangeCallback.aidl b/core/java/android/bluetooth/IBluetoothStateChangeCallback.aidl
new file mode 100644
index 0000000..feccdce
--- /dev/null
+++ b/core/java/android/bluetooth/IBluetoothStateChangeCallback.aidl
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2011, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.bluetooth;
+
+/**
+ * System private API for Bluetooth state change callback.
+ *
+ * {@hide}
+ */
+interface IBluetoothStateChangeCallback
+{
+ void onBluetoothStateChange(boolean on);
+}
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index cdda910..2a02446 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -129,7 +129,7 @@ public abstract class Context {
/**
* Flag for {@link #bindService}: don't allow this binding to raise
* the target service's process to the foreground scheduling priority.
- * It will still be raised to the at least the same memory priority
+ * It will still be raised to at least the same memory priority
* as the client (so that its process will not be killable in any
* situation where the client is not killable), but for CPU scheduling
* purposes it may be left in the background. This only has an impact
@@ -138,6 +138,16 @@ public abstract class Context {
*/
public static final int BIND_NOT_FOREGROUND = 0x0004;
+ /**
+ * Flag for {@link #bindService}: allow the process hosting the bound
+ * service to go through its normal memory management. It will be
+ * treated more like a running service, allowing the system to
+ * (temporarily) expunge the process if low on memory or for some other
+ * whim it may have.
+ * @hide
+ */
+ public static final int BIND_ALLOW_OOM_MANAGEMENT = 0x0008;
+
/** Return an AssetManager instance for your application's package. */
public abstract AssetManager getAssets();
diff --git a/core/java/android/content/Loader.java b/core/java/android/content/Loader.java
index 4e70b74..368c33e 100644
--- a/core/java/android/content/Loader.java
+++ b/core/java/android/content/Loader.java
@@ -40,6 +40,8 @@ import java.io.PrintWriter;
*
* <p>Most implementations should not derive directly from this class, but
* instead inherit from {@link AsyncTaskLoader}.</p>
+ * <p>For more information, see the <a
+ * href="{@docRoot}guide/topics/fundamentals/loaders.html">Loaders</a> developer guide.</p>
*
* @param <D> The result returned when the load is complete
*/
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java
index 2cb8a86..5be6ec1 100644
--- a/core/java/android/content/SyncManager.java
+++ b/core/java/android/content/SyncManager.java
@@ -1691,12 +1691,28 @@ public class SyncManager implements OnAccountsUpdateListener {
continue;
}
- // skip the sync if it isn't manual and auto sync or
- // background data usage is disabled
+ final RegisteredServicesCache.ServiceInfo<SyncAdapterType> syncAdapterInfo;
+ syncAdapterInfo = mSyncAdapters.getServiceInfo(
+ SyncAdapterType.newKey(op.authority, op.account.type));
+
+ // only proceed if network is connected for requesting UID
+ final boolean uidNetworkConnected;
+ if (syncAdapterInfo != null) {
+ final NetworkInfo networkInfo = getConnectivityManager()
+ .getActiveNetworkInfoForUid(syncAdapterInfo.uid);
+ uidNetworkConnected = networkInfo != null && networkInfo.isConnected();
+ } else {
+ uidNetworkConnected = false;
+ }
+
+ // skip the sync if it isn't manual, and auto sync or
+ // background data usage is disabled or network is
+ // disconnected for the target UID.
if (!op.extras.getBoolean(ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS, false)
&& (syncableState > 0)
&& (!masterSyncAutomatically
|| !backgroundDataUsageAllowed
+ || !uidNetworkConnected
|| !mSyncStorageEngine.getSyncAutomatically(
op.account, op.authority))) {
operationIterator.remove();
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index a168260..d6dbc15 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -19,6 +19,7 @@ package android.hardware;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.graphics.ImageFormat;
+import android.graphics.Point;
import android.graphics.Rect;
import android.graphics.SurfaceTexture;
import android.os.Handler;
@@ -35,6 +36,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.StringTokenizer;
+
/**
* The Camera class is used to set image capture settings, start/stop preview,
* snap pictures, and retrieve frames for encoding for video. This class is a
@@ -128,7 +130,9 @@ public class Camera {
private static final int CAMERA_MSG_POSTVIEW_FRAME = 0x040;
private static final int CAMERA_MSG_RAW_IMAGE = 0x080;
private static final int CAMERA_MSG_COMPRESSED_IMAGE = 0x100;
- private static final int CAMERA_MSG_ALL_MSGS = 0x1FF;
+ private static final int CAMERA_MSG_RAW_IMAGE_NOTIFY = 0x200;
+ private static final int CAMERA_MSG_FACE = 0x400;
+ private static final int CAMERA_MSG_ALL_MSGS = 0x4FF;
private int mNativeContext; // accessed by native methods
private EventHandler mEventHandler;
@@ -139,9 +143,11 @@ public class Camera {
private PictureCallback mPostviewCallback;
private AutoFocusCallback mAutoFocusCallback;
private OnZoomChangeListener mZoomListener;
+ private FaceDetectionListener mFaceListener;
private ErrorCallback mErrorCallback;
private boolean mOneShot;
private boolean mWithBuffer;
+ private boolean mFaceDetectionRunning = false;
/**
* Broadcast Action: A new picture is taken by the camera, and the entry of
@@ -160,6 +166,25 @@ public class Camera {
public static final String ACTION_NEW_VIDEO = "android.hardware.action.NEW_VIDEO";
/**
+ * Hardware face detection. It does not use much CPU.
+ *
+ * @see #startFaceDetection(int)
+ * @see Parameters#getMaxNumDetectedFaces(int)
+ * @see #CAMERA_FACE_DETECTION_SW
+ * @hide
+ */
+ public static final int CAMERA_FACE_DETECTION_HW = 0;
+
+ /**
+ * Software face detection. It uses some CPU. Applications must use
+ * {@link #setPreviewTexture(SurfaceTexture)} for preview in this mode.
+ *
+ * @see #CAMERA_FACE_DETECTION_HW
+ * @hide
+ */
+ public static final int CAMERA_FACE_DETECTION_SW = 1;
+
+ /**
* Returns the number of physical cameras available on this device.
*/
public native static int getNumberOfCameras();
@@ -295,6 +320,7 @@ public class Camera {
*/
public final void release() {
native_release();
+ mFaceDetectionRunning = false;
}
/**
@@ -460,7 +486,12 @@ public class Camera {
* Stops capturing and drawing preview frames to the surface, and
* resets the camera for a future call to {@link #startPreview()}.
*/
- public native final void stopPreview();
+ public final void stopPreview() {
+ _stopPreview();
+ mFaceDetectionRunning = false;
+ }
+
+ private native final void _stopPreview();
/**
* Return current preview state.
@@ -690,6 +721,12 @@ public class Camera {
}
return;
+ case CAMERA_MSG_FACE:
+ if (mFaceListener != null) {
+ mFaceListener.onFaceDetection((FaceMetadata[])msg.obj, mCamera);
+ }
+ return;
+
case CAMERA_MSG_ERROR :
Log.e(TAG, "Error " + msg.arg1);
if (mErrorCallback != null) {
@@ -1031,6 +1068,139 @@ public class Camera {
mZoomListener = listener;
}
+ /**
+ * Callback interface for face detected in the preview frame.
+ *
+ * @hide
+ */
+ public interface FaceDetectionListener
+ {
+ /**
+ * Notify the listener of the detected faces in the preview frame.
+ *
+ * @param faceMetadata the face information. The list is sorted by the
+ * score. The highest score is the first element.
+ * @param camera the Camera service object
+ */
+ void onFaceDetection(FaceMetadata[] faceMetadata, Camera camera);
+ }
+
+ /**
+ * Registers a listener to be notified about the face detected of the
+ * preview frame.
+ *
+ * @param listener the listener to notify
+ * @see #startFaceDetection(int)
+ * @hide
+ */
+ public final void setFaceDetectionListener(FaceDetectionListener listener)
+ {
+ mFaceListener = listener;
+ }
+
+ /**
+ * Start the face detection. This should be called after preview is started.
+ * The camera will notify {@link FaceDetectionListener} of the detected
+ * faces in the preview frame. The detected faces may be the same as the
+ * previous ones. Applications should call {@link #stopFaceDetection} to
+ * stop the face detection. This method is supported if {@link
+ * Parameters#getMaxNumDetectedFaces(int)} returns a number larger than 0.
+ * Hardware and software face detection cannot be used at the same time.
+ * If the face detection has started, apps should not call this again.
+ *
+ * In hardware face detection mode, {@link Parameters#setWhiteBalance(String)},
+ * {@link Parameters#setFocusAreas(List)}, and {@link Parameters#setMeteringAreas(List)}
+ * have no effect.
+ *
+ * @param type face detection type. This can be either {@link
+ * #CAMERA_FACE_DETECTION_HW} or {@link #CAMERA_FACE_DETECTION_SW}
+ * @throws IllegalArgumentException if the face detection type is
+ * unsupported or invalid.
+ * @throws RuntimeException if the method fails or the face detection is
+ * already running.
+ * @see #CAMERA_FACE_DETECTION_HW
+ * @see #CAMERA_FACE_DETECTION_SW
+ * @see FaceDetectionListener
+ * @see #stopFaceDetection()
+ * @see Parameters#getMaxNumDetectedFaces(int)
+ * @hide
+ */
+ public final void startFaceDetection(int type) {
+ if (type != CAMERA_FACE_DETECTION_HW && type != CAMERA_FACE_DETECTION_SW) {
+ throw new IllegalArgumentException("Invalid face detection type " + type);
+ }
+ if (mFaceDetectionRunning) {
+ throw new RuntimeException("Face detection is already running");
+ }
+ _startFaceDetection(type);
+ mFaceDetectionRunning = true;
+ }
+
+ /**
+ * Stop the face detection.
+ *
+ * @see #startFaceDetection(int)
+ * @hide
+ */
+ public final void stopFaceDetection() {
+ _stopFaceDetection();
+ mFaceDetectionRunning = false;
+ }
+
+ private native final void _startFaceDetection(int type);
+ private native final void _stopFaceDetection();
+
+ /**
+ * The information of a face.
+ *
+ * @hide
+ */
+ public static class FaceMetadata {
+ /**
+ * Bounds of the face. (-1000, -1000) represents the top-left of the
+ * camera field of view, and (1000, 1000) represents the bottom-right of
+ * the field of view. This is supported by both hardware and software
+ * face detection.
+ *
+ * @see #startFaceDetection(int)
+ */
+ Rect face;
+
+ /**
+ * The confidence level of the face. The range is 1 to 100. 100 is the
+ * highest confidence. This is supported by both hardware and software
+ * face detction.
+ *
+ * @see #startFaceDetection(int)
+ */
+ int score;
+
+ /**
+ * An unique id per face while the face is visible to the tracker. If
+ * the face leaves the field-of-view and comes back, it will get a new
+ * id. If the value is 0, id is not supported.
+ */
+ int id;
+
+ /**
+ * The coordinates of the center of the left eye. null if this is not
+ * supported.
+ */
+ Point leftEye;
+
+ /**
+ * The coordinates of the center of the right eye. null if this is not
+ * supported.
+ */
+ Point rightEye;
+
+ /**
+ * The coordinates of the center of the mouth. null if this is not
+ * supported.
+ */
+ Point mouth;
+ }
+
// Error codes match the enum in include/ui/Camera.h
/**
@@ -1295,6 +1465,8 @@ public class Camera {
private static final String KEY_VIDEO_SIZE = "video-size";
private static final String KEY_PREFERRED_PREVIEW_SIZE_FOR_VIDEO =
"preferred-preview-size-for-video";
+ private static final String KEY_MAX_NUM_DETECTED_FACES_HW = "max-num-detected-faces-hw";
+ private static final String KEY_MAX_NUM_DETECTED_FACES_SW = "max-num-detected-faces-sw";
// Parameter key suffix for supported values.
private static final String SUPPORTED_VALUES_SUFFIX = "-values";
@@ -2977,6 +3149,25 @@ public class Camera {
set(KEY_METERING_AREAS, meteringAreas);
}
+ /**
+ * Gets the maximum number of detected faces supported. This is the
+ * maximum length of the list returned from {@link FaceDetectionListener}.
+ * If the return value is 0, face detection of the specified type is not
+ * supported.
+ *
+ * @return the maximum number of detected face supported by the camera.
+ * @see #startFaceDetection(int)
+ * @hide
+ */
+ public int getMaxNumDetectedFaces(int type) {
+ if (type == CAMERA_FACE_DETECTION_HW) {
+ return getInt(KEY_MAX_NUM_DETECTED_FACES_HW, 0);
+ } else if (type == CAMERA_FACE_DETECTION_SW){
+ return getInt(KEY_MAX_NUM_DETECTED_FACES_SW, 0);
+ }
+ throw new IllegalArgumentException("Invalid face detection type " + type);
+ }
+
// Splits a comma delimited string to an ArrayList of String.
// Return null if the passing string is null or the size is 0.
private ArrayList<String> split(String str) {
diff --git a/core/java/android/net/INetworkPolicyManager.aidl b/core/java/android/net/INetworkPolicyManager.aidl
index 82495e3..6fde746 100644
--- a/core/java/android/net/INetworkPolicyManager.aidl
+++ b/core/java/android/net/INetworkPolicyManager.aidl
@@ -18,6 +18,7 @@ package android.net;
import android.net.INetworkPolicyListener;
import android.net.NetworkPolicy;
+import android.net.NetworkTemplate;
/**
* Interface that creates and modifies network policy rules.
@@ -37,4 +38,6 @@ interface INetworkPolicyManager {
void setNetworkPolicies(in NetworkPolicy[] policies);
NetworkPolicy[] getNetworkPolicies();
+ void snoozePolicy(in NetworkTemplate template);
+
}
diff --git a/core/java/android/net/NetworkPolicy.java b/core/java/android/net/NetworkPolicy.java
index 52cab30..aaad8a1 100644
--- a/core/java/android/net/NetworkPolicy.java
+++ b/core/java/android/net/NetworkPolicy.java
@@ -21,6 +21,8 @@ import static com.android.internal.util.Preconditions.checkNotNull;
import android.os.Parcel;
import android.os.Parcelable;
+import com.android.internal.util.Objects;
+
/**
* Policy for networks matching a {@link NetworkTemplate}, including usage cycle
* and limits to be enforced.
@@ -30,20 +32,21 @@ import android.os.Parcelable;
public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> {
public static final long WARNING_DISABLED = -1;
public static final long LIMIT_DISABLED = -1;
+ public static final long SNOOZE_NEVER = -1;
public final NetworkTemplate template;
public int cycleDay;
public long warningBytes;
public long limitBytes;
+ public long lastSnooze;
- // TODO: teach how to snooze limit for current cycle
-
- public NetworkPolicy(
- NetworkTemplate template, int cycleDay, long warningBytes, long limitBytes) {
+ public NetworkPolicy(NetworkTemplate template, int cycleDay, long warningBytes, long limitBytes,
+ long lastSnooze) {
this.template = checkNotNull(template, "missing NetworkTemplate");
this.cycleDay = cycleDay;
this.warningBytes = warningBytes;
this.limitBytes = limitBytes;
+ this.lastSnooze = lastSnooze;
}
public NetworkPolicy(Parcel in) {
@@ -51,6 +54,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> {
cycleDay = in.readInt();
warningBytes = in.readLong();
limitBytes = in.readLong();
+ lastSnooze = in.readLong();
}
/** {@inheritDoc} */
@@ -59,6 +63,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> {
dest.writeInt(cycleDay);
dest.writeLong(warningBytes);
dest.writeLong(limitBytes);
+ dest.writeLong(lastSnooze);
}
/** {@inheritDoc} */
@@ -80,9 +85,25 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> {
}
@Override
+ public int hashCode() {
+ return Objects.hashCode(template, cycleDay, warningBytes, limitBytes, lastSnooze);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof NetworkPolicy) {
+ final NetworkPolicy other = (NetworkPolicy) obj;
+ return Objects.equal(template, other.template) && cycleDay == other.cycleDay
+ && warningBytes == other.warningBytes && limitBytes == other.limitBytes
+ && lastSnooze == other.lastSnooze;
+ }
+ return false;
+ }
+
+ @Override
public String toString() {
return "NetworkPolicy[" + template + "]: cycleDay=" + cycleDay + ", warningBytes="
- + warningBytes + ", limitBytes=" + limitBytes;
+ + warningBytes + ", limitBytes=" + limitBytes + ", lastSnooze=" + lastSnooze;
}
public static final Creator<NetworkPolicy> CREATOR = new Creator<NetworkPolicy>() {
diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java
index 593b2b7..1e9d813 100644
--- a/core/java/android/net/NetworkPolicyManager.java
+++ b/core/java/android/net/NetworkPolicyManager.java
@@ -52,26 +52,10 @@ public class NetworkPolicyManager {
private static final boolean ALLOW_PLATFORM_APP_POLICY = true;
/**
- * {@link Intent} action launched when user selects {@link NetworkPolicy}
- * warning notification.
+ * {@link Intent} extra that indicates which {@link NetworkTemplate} rule it
+ * applies to.
*/
- public static final String ACTION_DATA_USAGE_WARNING =
- "android.intent.action.DATA_USAGE_WARNING";
-
- /**
- * {@link Intent} action launched when user selects {@link NetworkPolicy}
- * limit notification.
- */
- public static final String ACTION_DATA_USAGE_LIMIT =
- "android.intent.action.DATA_USAGE_LIMIT";
-
- /**
- * {@link Intent} extra included in {@link #ACTION_DATA_USAGE_WARNING} and
- * {@link #ACTION_DATA_USAGE_LIMIT} to indicate which
- * {@link NetworkTemplate} rule it applies to.
- */
- public static final String EXTRA_NETWORK_TEMPLATE =
- "android.intent.extra.NETWORK_TEMPLATE";
+ public static final String EXTRA_NETWORK_TEMPLATE = "android.net.NETWORK_TEMPLATE";
private INetworkPolicyManager mService;
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index 1174e3b..3704248 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -212,7 +212,7 @@ interface INetworkManagementService
/**
* Set quota for an interface.
*/
- void setInterfaceQuota(String iface, long quota);
+ void setInterfaceQuota(String iface, long quotaBytes);
/**
* Remove quota for an interface.
@@ -220,6 +220,21 @@ interface INetworkManagementService
void removeInterfaceQuota(String iface);
/**
+ * Set alert for an interface; requires that iface already has quota.
+ */
+ void setInterfaceAlert(String iface, long alertBytes);
+
+ /**
+ * Remove alert for an interface.
+ */
+ void removeInterfaceAlert(String iface);
+
+ /**
+ * Set alert across all interfaces.
+ */
+ void setGlobalAlert(long alertBytes);
+
+ /**
* Control network activity of a UID over interfaces with a quota limit.
*/
void setUidNetworkRules(int uid, boolean rejectOnQuotaInterfaces);
@@ -252,12 +267,12 @@ interface INetworkManagementService
void setDnsServersForInterface(String iface, in String[] servers);
/**
- * Flush the DNS cache associated with the default interface
+ * Flush the DNS cache associated with the default interface.
*/
void flushDefaultDnsCache();
/**
- * Flush the DNS cache associated with the specified interface
+ * Flush the DNS cache associated with the specified interface.
*/
void flushInterfaceDnsCache(String iface);
}
diff --git a/core/java/android/os/IPowerManager.aidl b/core/java/android/os/IPowerManager.aidl
index 0067e94..9a53d76 100644
--- a/core/java/android/os/IPowerManager.aidl
+++ b/core/java/android/os/IPowerManager.aidl
@@ -20,12 +20,15 @@ package android.os;
import android.os.WorkSource;
/** @hide */
+
interface IPowerManager
{
+ // WARNING: changes in acquireWakeLock() signature must be reflected in IPowerManager.cpp/h
void acquireWakeLock(int flags, IBinder lock, String tag, in WorkSource ws);
void updateWakeLockWorkSource(IBinder lock, in WorkSource ws);
void goToSleep(long time);
void goToSleepWithReason(long time, int reason);
+ // WARNING: changes in releaseWakeLock() signature must be reflected in IPowerManager.cpp/h
void releaseWakeLock(IBinder lock, int flags);
void userActivity(long when, boolean noChangeLights);
void userActivityWithForce(long when, boolean noChangeLights, boolean force);
diff --git a/core/java/android/provider/CallLog.java b/core/java/android/provider/CallLog.java
index e23d6f3..b8ef7be 100644
--- a/core/java/android/provider/CallLog.java
+++ b/core/java/android/provider/CallLog.java
@@ -189,7 +189,6 @@ public class CallLog {
* Unlike the {@link #NEW} field, which requires the user to have acknowledged the
* existence of the entry, this implies the user has interacted with the entry.
* <P>Type: INTEGER (boolean)</P>
- * @hide
*/
public static final String IS_READ = "is_read";
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index b2c1386..5765dde 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -1973,6 +1973,16 @@ public final class ContactsContract {
public static final String DATA_SET = "data_set";
/**
+ * A concatenation of the account type and data set (delimited by a forward
+ * slash) - if the data set is empty, this will be the same as the account
+ * type. For applications that need to be aware of the data set, this can
+ * be used instead of account type to distinguish sets of data. This is
+ * never intended to be used for specifying accounts.
+ * @hide
+ */
+ public static final String ACCOUNT_TYPE_AND_DATA_SET = "account_type_and_data_set";
+
+ /**
* The aggregation mode for this contact.
* <P>Type: INTEGER</P>
*/
@@ -6444,6 +6454,16 @@ public final class ContactsContract {
public static final String DATA_SET = "data_set";
/**
+ * A concatenation of the account type and data set (delimited by a forward
+ * slash) - if the data set is empty, this will be the same as the account
+ * type. For applications that need to be aware of the data set, this can
+ * be used instead of account type to distinguish sets of data. This is
+ * never intended to be used for specifying accounts.
+ * @hide
+ */
+ public static final String ACCOUNT_TYPE_AND_DATA_SET = "account_type_and_data_set";
+
+ /**
* The display title of this group.
* <p>
* Type: TEXT
@@ -7871,6 +7891,19 @@ public final class ContactsContract {
* @hide
*/
public static final String ACCOUNT = "com.android.contacts.extra.ACCOUNT";
+
+ /**
+ * Used to specify the data set within the account in which to create the
+ * new contact.
+ * <p>
+ * This value is optional - if it is not specified, the contact will be
+ * created in the base account, with no data set.
+ * <p>
+ * Type: String
+ *
+ * @hide
+ */
+ public static final String DATA_SET = "com.android.contacts.extra.DATA_SET";
}
}
}
diff --git a/core/java/android/provider/VoicemailContract.java b/core/java/android/provider/VoicemailContract.java
index 2e5a495..a31374f 100644
--- a/core/java/android/provider/VoicemailContract.java
+++ b/core/java/android/provider/VoicemailContract.java
@@ -123,14 +123,8 @@ public class VoicemailContract {
*/
public static final String DURATION = Calls.DURATION;
/**
- * Whether this is a new voicemail (i.e. has not been heard).
- * <P>Type: INTEGER (boolean)</P>
- */
- public static final String NEW = Calls.NEW;
- /**
* Whether this item has been read or otherwise consumed by the user.
* <P>Type: INTEGER (boolean)</P>
- * @hide
*/
public static final String IS_READ = Calls.IS_READ;
/**
diff --git a/core/java/android/server/BluetoothAdapterStateMachine.java b/core/java/android/server/BluetoothAdapterStateMachine.java
index ae91465..83f5a9f 100644
--- a/core/java/android/server/BluetoothAdapterStateMachine.java
+++ b/core/java/android/server/BluetoothAdapterStateMachine.java
@@ -17,11 +17,13 @@
package android.server;
import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.IBluetoothStateChangeCallback;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.os.Binder;
import android.os.Message;
+import android.os.RemoteException;
import android.provider.Settings;
import android.util.Log;
@@ -34,17 +36,18 @@ import java.io.PrintWriter;
/**
* Bluetooth Adapter StateMachine
* All the states are at the same level, ie, no hierarchy.
- * (BluetootOn)
- * | ^
- * TURN_OFF | | BECOME_PAIRABLE
- * AIRPLANE_MODE_ON | |
- * V |
- * (Switching)
- * | ^
- * BECOME_NON_PAIRABLE& | | TURN_ON(_CONTINUE)/TURN_ON_FOR_PRIVILEGED
- * ALL_DEVICES_DISCONNECTED | |
- * V |
- * (HotOff)
+ * (BluetootOn)<----------------------<-
+ * | ^ -------------------->- |
+ * | | | |
+ * TURN_OFF | | BECAME_PAIRABLE m1 | | USER_TURN_ON
+ * AIRPLANE_MODE_ON | | | |
+ * V | | |
+ * (Switching) (PerProcessState)
+ * | ^ | |
+ * BECAME_NON_PAIRABLE& | | TURN_ON(_CONTINUE) | |
+ * ALL_DEVICES_DISCONNECTED | | m2 | |
+ * V |------------------------< | BECAME_PAIRABLE
+ * (HotOff)---------------------------- PER_PROCESS_TURN_ON
* / ^
* / | SERVICE_RECORD_LOADED
* | |
@@ -55,6 +58,10 @@ import java.io.PrintWriter;
* V |
* (PowerOff) <----- initial state
*
+ * Legend:
+ * m1 = USER_TURN_OFF
+ * m2 = Transition to HotOff when number of process wanting BT on is 0.
+ * BECAME_NON_PAIRABLE will make the transition.
*/
final class BluetoothAdapterStateMachine extends StateMachine {
private static final String TAG = "BluetoothAdapterStateMachine";
@@ -63,24 +70,24 @@ final class BluetoothAdapterStateMachine extends StateMachine {
// Message(what) to take an action
//
// We get this message when user tries to turn on BT
- public static final int USER_TURN_ON = 1;
+ static final int USER_TURN_ON = 1;
// We get this message when user tries to turn off BT
- public static final int USER_TURN_OFF = 2;
+ static final int USER_TURN_OFF = 2;
// Message(what) to report a event that the state machine need to respond to
//
// Event indicates sevice records have been loaded
- public static final int SERVICE_RECORD_LOADED = 51;
+ static final int SERVICE_RECORD_LOADED = 51;
// Event indicates all the remote Bluetooth devices has been disconnected
- public static final int ALL_DEVICES_DISCONNECTED = 52;
+ static final int ALL_DEVICES_DISCONNECTED = 52;
// Event indicates the Bluetooth is connectable
- public static final int BECOME_PAIRABLE = 53;
+ static final int BECAME_PAIRABLE = 53;
// Event indicates the Bluetooth is non-connectable.
- public static final int BECOME_NON_PAIRABLE = 54;
+ static final int BECAME_NON_PAIRABLE = 54;
// Event indicates airplane mode is turned on
- public static final int AIRPLANE_MODE_ON = 55;
+ static final int AIRPLANE_MODE_ON = 55;
// Event indicates airplane mode is turned off
- public static final int AIRPLANE_MODE_OFF = 56;
+ static final int AIRPLANE_MODE_OFF = 56;
// private internal messages
//
@@ -95,8 +102,9 @@ final class BluetoothAdapterStateMachine extends StateMachine {
private static final int TURN_ON_CONTINUE = 102;
// Unload firmware, turning off Bluetooth module power
private static final int TURN_COLD = 103;
- // For NFC, turn on bluetooth for certain process
- private static final int TURN_ON_FOR_PRIVILEGED = 104;
+ // Per process enable / disable messages
+ static final int PER_PROCESS_TURN_ON = 104;
+ static final int PER_PROCESS_TURN_OFF = 105;
private Context mContext;
private BluetoothService mBluetoothService;
@@ -107,6 +115,7 @@ final class BluetoothAdapterStateMachine extends StateMachine {
private HotOff mHotOff;
private WarmUp mWarmUp;
private PowerOff mPowerOff;
+ private PerProcessState mPerProcessState;
// this is the BluetoothAdapter state that reported externally
private int mPublicState;
@@ -123,12 +132,15 @@ final class BluetoothAdapterStateMachine extends StateMachine {
mHotOff = new HotOff();
mWarmUp = new WarmUp();
mPowerOff = new PowerOff();
+ mPerProcessState = new PerProcessState();
addState(mBluetoothOn);
addState(mSwitching);
addState(mHotOff);
addState(mWarmUp);
addState(mPowerOff);
+ addState(mPerProcessState);
+
setInitialState(mPowerOff);
mPublicState = BluetoothAdapter.STATE_OFF;
@@ -142,12 +154,9 @@ final class BluetoothAdapterStateMachine extends StateMachine {
* Bluetooth module's power is off, firmware is not loaded.
*/
private class PowerOff extends State {
- private boolean mPersistSwitchOn = false;
-
@Override
public void enter() {
- if (DBG) log("Enter PowerOff: " + mPersistSwitchOn);
- mPersistSwitchOn = false;
+ if (DBG) log("Enter PowerOff: ");
}
@Override
public boolean processMessage(Message message) {
@@ -162,7 +171,7 @@ final class BluetoothAdapterStateMachine extends StateMachine {
if (prepareBluetooth()) {
// this is user request, save the setting
if ((Boolean) message.obj) {
- mPersistSwitchOn = true;
+ persistSwitchSetting(true);
}
// We will continue turn the BT on all the way to the BluetoothOn state
deferMessage(obtainMessage(TURN_ON_CONTINUE));
@@ -191,9 +200,21 @@ final class BluetoothAdapterStateMachine extends StateMachine {
transitionTo(mPowerOff);
broadcastState(BluetoothAdapter.STATE_OFF);
}
+ } else if (mContext.getResources().getBoolean
+ (com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) {
+ sendMessage(TURN_HOT);
}
break;
- case AIRPLANE_MODE_ON: // ignore
+ case PER_PROCESS_TURN_ON:
+ if (prepareBluetooth()) {
+ transitionTo(mWarmUp);
+ }
+ deferMessage(obtainMessage(PER_PROCESS_TURN_ON));
+ break;
+ case PER_PROCESS_TURN_OFF:
+ perProcessCallback(false, (IBluetoothStateChangeCallback) message.obj);
+ break;
+ case AIRPLANE_MODE_ON:
case USER_TURN_OFF: // ignore
break;
default:
@@ -276,6 +297,8 @@ final class BluetoothAdapterStateMachine extends StateMachine {
// on to the BluetoothOn state
case AIRPLANE_MODE_ON:
case AIRPLANE_MODE_OFF:
+ case PER_PROCESS_TURN_ON:
+ case PER_PROCESS_TURN_OFF:
deferMessage(message);
break;
case USER_TURN_OFF: // ignore
@@ -294,12 +317,9 @@ final class BluetoothAdapterStateMachine extends StateMachine {
* non-connectable.
*/
private class HotOff extends State {
- private boolean mPersistSwitchOn = false;
-
@Override
public void enter() {
- if (DBG) log("Enter HotOff: " + mPersistSwitchOn);
- mPersistSwitchOn = false;
+ if (DBG) log("Enter HotOff:");
}
@Override
@@ -310,9 +330,10 @@ final class BluetoothAdapterStateMachine extends StateMachine {
switch(message.what) {
case USER_TURN_ON:
if ((Boolean) message.obj) {
- mPersistSwitchOn = true;
+ persistSwitchSetting(true);
}
// let it fall to TURN_ON_CONTINUE:
+ //$FALL-THROUGH$
case TURN_ON_CONTINUE:
mBluetoothService.switchConnectable(true);
transitionTo(mSwitching);
@@ -328,13 +349,25 @@ final class BluetoothAdapterStateMachine extends StateMachine {
break;
case AIRPLANE_MODE_OFF:
if (getBluetoothPersistedSetting()) {
- mBluetoothService.switchConnectable(true);
transitionTo(mSwitching);
+ mBluetoothService.switchConnectable(true);
broadcastState(BluetoothAdapter.STATE_TURNING_ON);
}
break;
case USER_TURN_OFF: // ignore
break;
+ case PER_PROCESS_TURN_ON:
+ transitionTo(mPerProcessState);
+
+ // Resend the PER_PROCESS_TURN_ON message so that the callback
+ // can be sent through.
+ deferMessage(message);
+
+ mBluetoothService.switchConnectable(true);
+ break;
+ case PER_PROCESS_TURN_OFF:
+ perProcessCallback(false, (IBluetoothStateChangeCallback)message.obj);
+ break;
default:
return NOT_HANDLED;
}
@@ -356,11 +389,7 @@ final class BluetoothAdapterStateMachine extends StateMachine {
boolean retValue = HANDLED;
switch(message.what) {
- case BECOME_PAIRABLE:
- if (mPowerOff.mPersistSwitchOn || mHotOff.mPersistSwitchOn) {
- persistSwitchSetting(true);
- mPowerOff.mPersistSwitchOn = mHotOff.mPersistSwitchOn = false;
- }
+ case BECAME_PAIRABLE:
String[] propVal = {"Pairable", mBluetoothService.getProperty("Pairable")};
mEventLoop.onPropertyChanged(propVal);
@@ -369,7 +398,7 @@ final class BluetoothAdapterStateMachine extends StateMachine {
transitionTo(mBluetoothOn);
broadcastState(BluetoothAdapter.STATE_ON);
break;
- case BECOME_NON_PAIRABLE:
+ case BECAME_NON_PAIRABLE:
if (mBluetoothService.getAdapterConnectionState() ==
BluetoothAdapter.STATE_DISCONNECTED) {
transitionTo(mHotOff);
@@ -385,9 +414,12 @@ final class BluetoothAdapterStateMachine extends StateMachine {
case USER_TURN_ON:
case AIRPLANE_MODE_OFF:
case AIRPLANE_MODE_ON:
+ case PER_PROCESS_TURN_ON:
+ case PER_PROCESS_TURN_OFF:
case USER_TURN_OFF:
deferMessage(message);
break;
+
default:
return NOT_HANDLED;
}
@@ -395,10 +427,6 @@ final class BluetoothAdapterStateMachine extends StateMachine {
}
private void finishSwitchingOff() {
- if (mBluetoothOn.mPersistBluetoothOff) {
- persistSwitchSetting(false);
- mBluetoothOn.mPersistBluetoothOff = false;
- }
mBluetoothService.finishDisable();
if (mContext.getResources().getBoolean
(com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) {
@@ -415,7 +443,6 @@ final class BluetoothAdapterStateMachine extends StateMachine {
@Override
public void enter() {
if (DBG) log("Enter BluetoothOn: " + mPersistBluetoothOff);
- mPersistBluetoothOff = false;
}
@Override
public boolean processMessage(Message message) {
@@ -425,22 +452,40 @@ final class BluetoothAdapterStateMachine extends StateMachine {
switch(message.what) {
case USER_TURN_OFF:
if ((Boolean) message.obj) {
- mPersistBluetoothOff = true;
+ persistSwitchSetting(false);
+ }
+
+ if (mBluetoothService.isDiscovering()) {
+ mBluetoothService.cancelDiscovery();
+ }
+ if (!mBluetoothService.isApplicationStateChangeTrackerEmpty()) {
+ transitionTo(mPerProcessState);
+ deferMessage(obtainMessage(USER_TURN_OFF));
+ break;
}
- // let it fall through to AIRPLANE_MODE_ON
+ //$FALL-THROUGH$ to AIRPLANE_MODE_ON
case AIRPLANE_MODE_ON:
transitionTo(mSwitching);
broadcastState(BluetoothAdapter.STATE_TURNING_OFF);
mBluetoothService.switchConnectable(false);
mBluetoothService.disconnectDevices();
+
// we turn all the way to PowerOff with AIRPLANE_MODE_ON
if (message.what == AIRPLANE_MODE_ON) {
+ // We inform all the per process callbacks
+ allProcessesCallback(false);
deferMessage(obtainMessage(AIRPLANE_MODE_ON));
}
break;
case AIRPLANE_MODE_OFF: // ignore
case USER_TURN_ON: // ignore
break;
+ case PER_PROCESS_TURN_ON:
+ perProcessCallback(true, (IBluetoothStateChangeCallback)message.obj);
+ break;
+ case PER_PROCESS_TURN_OFF:
+ perProcessCallback(false, (IBluetoothStateChangeCallback)message.obj);
+ break;
default:
return NOT_HANDLED;
}
@@ -449,6 +494,101 @@ final class BluetoothAdapterStateMachine extends StateMachine {
}
+
+ private class PerProcessState extends State {
+ IBluetoothStateChangeCallback mCallback = null;
+
+ @Override
+ public void enter() {
+ if (DBG) log("Enter PerProcessState");
+ }
+
+ @Override
+ public boolean processMessage(Message message) {
+ if (DBG) log("PerProcessState process message: " + message.what);
+
+ boolean retValue = HANDLED;
+ switch (message.what) {
+ case PER_PROCESS_TURN_ON:
+ mCallback = (IBluetoothStateChangeCallback)getCurrentMessage().obj;
+
+ // If this is not the first application call the callback.
+ if (mBluetoothService.getNumberOfApplicationStateChangeTrackers() > 1) {
+ perProcessCallback(true, mCallback);
+ }
+ break;
+ case BECAME_PAIRABLE:
+ perProcessCallback(true, mCallback);
+ break;
+ case USER_TURN_ON:
+ broadcastState(BluetoothAdapter.STATE_TURNING_ON);
+ persistSwitchSetting(true);
+
+ String[] propVal = {"Pairable", mBluetoothService.getProperty("Pairable")};
+ mEventLoop.onPropertyChanged(propVal);
+
+ // run bluetooth now that it's turned on
+ mBluetoothService.runBluetooth();
+ transitionTo(mBluetoothOn);
+ broadcastState(BluetoothAdapter.STATE_ON);
+ break;
+ case USER_TURN_OFF:
+ broadcastState(BluetoothAdapter.STATE_TURNING_OFF);
+ if (mBluetoothService.getAdapterConnectionState() !=
+ BluetoothAdapter.STATE_DISCONNECTED) {
+ mBluetoothService.disconnectDevices();
+ break;
+ }
+ //$FALL-THROUGH$ all devices are already disconnected
+ case ALL_DEVICES_DISCONNECTED:
+ mBluetoothService.finishDisable();
+ broadcastState(BluetoothAdapter.STATE_OFF);
+ break;
+ case PER_PROCESS_TURN_OFF:
+ perProcessCallback(false, (IBluetoothStateChangeCallback)message.obj);
+ if (mBluetoothService.isApplicationStateChangeTrackerEmpty()) {
+ mBluetoothService.switchConnectable(false);
+ }
+ break;
+ case BECAME_NON_PAIRABLE:
+ transitionTo(mHotOff);
+ if (!mContext.getResources().getBoolean
+ (com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) {
+ deferMessage(obtainMessage(TURN_COLD));
+ }
+ break;
+ case AIRPLANE_MODE_ON:
+ mBluetoothService.switchConnectable(false);
+ allProcessesCallback(false);
+ // we turn all the way to PowerOff with AIRPLANE_MODE_ON
+ deferMessage(obtainMessage(AIRPLANE_MODE_ON));
+ break;
+ default:
+ return NOT_HANDLED;
+ }
+ return retValue;
+ }
+ }
+
+
+ private void perProcessCallback(boolean on, IBluetoothStateChangeCallback c) {
+ if (c == null) return;
+
+ try {
+ c.onBluetoothStateChange(on);
+ } catch (RemoteException e) {}
+ }
+
+ private void allProcessesCallback(boolean on) {
+ for (IBluetoothStateChangeCallback c:
+ mBluetoothService.getApplicationStateChangeCallbacks()) {
+ perProcessCallback(on, c);
+ }
+ if (!on) {
+ mBluetoothService.clearApplicationStateChangeTracker();
+ }
+ }
+
/**
* Return the public BluetoothAdapter state
*/
@@ -476,7 +616,7 @@ final class BluetoothAdapterStateMachine extends StateMachine {
private void broadcastState(int newState) {
- if (DBG) log("Bluetooth state " + mPublicState + " -> " + newState);
+ log("Bluetooth state " + mPublicState + " -> " + newState);
if (mPublicState == newState) {
return;
}
diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java
index 107a2a9..2cab05c 100644
--- a/core/java/android/server/BluetoothEventLoop.java
+++ b/core/java/android/server/BluetoothEventLoop.java
@@ -340,9 +340,9 @@ class BluetoothEventLoop {
if (name.equals("Pairable")) {
if (pairable.equals("true")) {
- mBluetoothState.sendMessage(BluetoothAdapterStateMachine.BECOME_PAIRABLE);
+ mBluetoothState.sendMessage(BluetoothAdapterStateMachine.BECAME_PAIRABLE);
} else {
- mBluetoothState.sendMessage(BluetoothAdapterStateMachine.BECOME_NON_PAIRABLE);
+ mBluetoothState.sendMessage(BluetoothAdapterStateMachine.BECAME_NON_PAIRABLE);
}
}
diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java
index 34f1971..9e66957 100755
--- a/core/java/android/server/BluetoothService.java
+++ b/core/java/android/server/BluetoothService.java
@@ -39,6 +39,7 @@ import android.bluetooth.BluetoothUuid;
import android.bluetooth.IBluetooth;
import android.bluetooth.IBluetoothCallback;
import android.bluetooth.IBluetoothHealthCallback;
+import android.bluetooth.IBluetoothStateChangeCallback;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
@@ -68,13 +69,15 @@ import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
-import java.io.InputStreamReader;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -101,6 +104,8 @@ public class BluetoothService extends IBluetooth.Stub {
private final BluetoothBondState mBondState; // local cache of bondings
private final IBatteryStats mBatteryStats;
private final Context mContext;
+ private Map<Integer, IBluetoothStateChangeCallback> mStateChangeTracker =
+ Collections.synchronizedMap(new HashMap<Integer, IBluetoothStateChangeCallback>());
private static final String BLUETOOTH_ADMIN_PERM = android.Manifest.permission.BLUETOOTH_ADMIN;
static final String BLUETOOTH_PERM = android.Manifest.permission.BLUETOOTH;
@@ -114,6 +119,9 @@ public class BluetoothService extends IBluetooth.Stub {
private static final int MESSAGE_UUID_INTENT = 1;
private static final int MESSAGE_AUTO_PAIRING_FAILURE_ATTEMPT_DELAY = 2;
+ private static final int RFCOMM_RECORD_REAPER = 10;
+ private static final int STATE_CHANGE_REAPER = 11;
+
// The time (in millisecs) to delay the pairing attempt after the first
// auto pairing attempt fails. We use an exponential delay with
// INIT_AUTO_PAIRING_FAILURE_ATTEMPT_DELAY as the initial value and
@@ -1466,7 +1474,7 @@ public class BluetoothService extends IBluetooth.Stub {
int pid = Binder.getCallingPid();
mServiceRecordToPid.put(new Integer(handle), new Integer(pid));
try {
- b.linkToDeath(new Reaper(handle, pid), 0);
+ b.linkToDeath(new Reaper(handle, pid, RFCOMM_RECORD_REAPER), 0);
} catch (RemoteException e) {}
return handle;
}
@@ -1489,20 +1497,85 @@ public class BluetoothService extends IBluetooth.Stub {
}
private class Reaper implements IBinder.DeathRecipient {
- int pid;
- int handle;
- Reaper(int handle, int pid) {
- this.pid = pid;
- this.handle = handle;
+ int mPid;
+ int mHandle;
+ int mType;
+
+ Reaper(int handle, int pid, int type) {
+ mPid = pid;
+ mHandle = handle;
+ mType = type;
+ }
+
+ Reaper(int pid, int type) {
+ mPid = pid;
+ mType = type;
}
+
+ @Override
public void binderDied() {
synchronized (BluetoothService.this) {
- if (DBG) Log.d(TAG, "Tracked app " + pid + " died");
- checkAndRemoveRecord(handle, pid);
+ if (DBG) Log.d(TAG, "Tracked app " + mPid + " died" + "Type:" + mType);
+ if (mType == RFCOMM_RECORD_REAPER) {
+ checkAndRemoveRecord(mHandle, mPid);
+ } else if (mType == STATE_CHANGE_REAPER) {
+ mStateChangeTracker.remove(mPid);
+ }
}
}
}
+
+ @Override
+ public boolean changeApplicationBluetoothState(boolean on,
+ IBluetoothStateChangeCallback callback, IBinder binder) {
+ int pid = Binder.getCallingPid();
+ //mStateChangeTracker is a synchronized map
+ if (!mStateChangeTracker.containsKey(pid)) {
+ if (on) {
+ mStateChangeTracker.put(pid, callback);
+ } else {
+ return false;
+ }
+ } else if (!on) {
+ mStateChangeTracker.remove(pid);
+ }
+
+ if (binder != null) {
+ try {
+ binder.linkToDeath(new Reaper(pid, STATE_CHANGE_REAPER), 0);
+ } catch (RemoteException e) {
+ return false;
+ }
+ }
+
+ int type;
+ if (on) {
+ type = BluetoothAdapterStateMachine.PER_PROCESS_TURN_ON;
+ } else {
+ type = BluetoothAdapterStateMachine.PER_PROCESS_TURN_OFF;
+ }
+
+ mBluetoothState.sendMessage(type, callback);
+ return true;
+ }
+
+ boolean isApplicationStateChangeTrackerEmpty() {
+ return mStateChangeTracker.isEmpty();
+ }
+
+ void clearApplicationStateChangeTracker() {
+ mStateChangeTracker.clear();
+ }
+
+ Collection<IBluetoothStateChangeCallback> getApplicationStateChangeCallbacks() {
+ return mStateChangeTracker.values();
+ }
+
+ int getNumberOfApplicationStateChangeTrackers() {
+ return mStateChangeTracker.size();
+ }
+
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
diff --git a/core/java/android/speech/tts/TextToSpeechService.java b/core/java/android/speech/tts/TextToSpeechService.java
index 1926c92..b4e8ab4 100644
--- a/core/java/android/speech/tts/TextToSpeechService.java
+++ b/core/java/android/speech/tts/TextToSpeechService.java
@@ -227,7 +227,7 @@ public abstract class TextToSpeechService extends Service {
private boolean mFirstIdle = true;
public SynthThread() {
- super(SYNTH_THREAD_NAME, android.os.Process.THREAD_PRIORITY_AUDIO);
+ super(SYNTH_THREAD_NAME, android.os.Process.THREAD_PRIORITY_DEFAULT);
}
@Override
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 5ab2024..d9efe0c 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -25,16 +25,18 @@ import android.os.SystemClock;
import android.util.DisplayMetrics;
import android.util.Slog;
+/**
+ * Provides information about the display size and density.
+ */
public class Display {
static final String TAG = "Display";
static final boolean DEBUG_COMPAT = false;
/**
- * Specify the default Display
+ * The default Display id.
*/
public static final int DEFAULT_DISPLAY = 0;
-
/**
* Use {@link android.view.WindowManager#getDefaultDisplay()
* WindowManager.getDefaultDisplay()} to create a Display object.
@@ -55,16 +57,6 @@ public class Display {
init(display);
}
- /** @hide */
- public static void setCompatibilityInfo(CompatibilityInfo compatInfo) {
- if (compatInfo != null && (compatInfo.isScalingRequired()
- || !compatInfo.supportsScreen())) {
- sCompatibilityInfo = compatInfo;
- } else {
- sCompatibilityInfo = null;
- }
- }
-
/**
* Returns the index of this display. This is currently undefined; do
* not use.
@@ -80,25 +72,29 @@ public class Display {
native static int getDisplayCount();
/**
- * Returns the raw size of the display, in pixels. Note that this
- * should <em>not</em> generally be used for computing layouts, since
- * a device will typically have screen decoration (such as a status bar)
+ * Gets the size of the display, in pixels.
+ * <p>
+ * Note that this value should <em>not</em> be used for computing layouts,
+ * since a device will typically have screen decoration (such as a status bar)
* along the edges of the display that reduce the amount of application
- * space available from the raw size returned here. This value is
- * adjusted for you based on the current rotation of the display.
+ * space available from the size returned here. Layouts should instead use
+ * the window size.
+ * </p><p>
+ * The size is adjusted based on the current rotation of the display.
+ * </p><p>
+ * The size returned by this method does not necessarily represent the
+ * actual raw size (native resolution) of the display. The returned size may
+ * be adjusted to exclude certain system decor elements that are always visible.
+ * It may also be scaled to provide compatibility with older applications that
+ * were originally designed for smaller displays.
+ * </p>
+ *
+ * @param outSize A {@link Point} object to receive the size information.
*/
public void getSize(Point outSize) {
getSizeInternal(outSize, true);
}
- /**
- * Returns the raw size of the display, in pixels. Note that this
- * should <em>not</em> generally be used for computing layouts, since
- * a device will typically have screen decoration (such as a status bar)
- * along the edges of the display that reduce the amount of application
- * space available from the raw size returned here. This value is
- * adjusted for you based on the current rotation of the display.
- */
private void getSizeInternal(Point outSize, boolean doCompat) {
try {
IWindowManager wm = getWindowManager();
@@ -118,8 +114,8 @@ public class Display {
} else {
// This is just for boot-strapping, initializing the
// system process before the window manager is up.
- outSize.x = getRealWidth();
- outSize.y = getRealHeight();
+ outSize.x = getRawWidth();
+ outSize.y = getRawHeight();
}
if (DEBUG_COMPAT && doCompat) Slog.v(TAG, "Returning display size: " + outSize);
} catch (RemoteException e) {
@@ -128,7 +124,10 @@ public class Display {
}
/**
- * This is just easier for some parts of the framework.
+ * Gets the size of the display as a rectangle, in pixels.
+ *
+ * @param outSize A {@link Rect} object to receive the size information.
+ * @see #getSize(Point)
*/
public void getRectSize(Rect outSize) {
synchronized (mTmpPoint) {
@@ -182,14 +181,49 @@ public class Display {
}
}
- /** @hide Returns the actual screen size, not including any decor. */
- native public int getRealWidth();
- /** @hide Returns the actual screen size, not including any decor. */
- native public int getRealHeight();
+ /**
+ * Gets the real size of the display without subtracting any window decor or
+ * applying any compatibility scale factors.
+ * <p>
+ * The real size may be smaller than the raw size when the window manager
+ * is emulating a smaller display (using adb shell am display-size).
+ * </p><p>
+ * The size is adjusted based on the current rotation of the display.
+ * </p>
+ * @hide
+ */
+ public void getRealSize(Point outSize) {
+ try {
+ IWindowManager wm = getWindowManager();
+ if (wm != null) {
+ wm.getRealDisplaySize(outSize);
+ } else {
+ // This is just for boot-strapping, initializing the
+ // system process before the window manager is up.
+ outSize.x = getRawWidth();
+ outSize.y = getRawHeight();
+ }
+ } catch (RemoteException e) {
+ Slog.w("Display", "Unable to get real display size", e);
+ }
+ }
- /** @hide special for when we are faking the screen size. */
+ /**
+ * Gets the raw width of the display, in pixels.
+ * <p>
+ * The size is adjusted based on the current rotation of the display.
+ * </p>
+ * @hide
+ */
native public int getRawWidth();
- /** @hide special for when we are faking the screen size. */
+
+ /**
+ * Gets the raw height of the display, in pixels.
+ * <p>
+ * The size is adjusted based on the current rotation of the display.
+ * </p>
+ * @hide
+ */
native public int getRawHeight();
/**
@@ -235,17 +269,24 @@ public class Display {
}
/**
- * Initialize a DisplayMetrics object from this display's data.
- *
- * @param outMetrics
+ * Gets display metrics that describe the size and density of this display.
+ * <p>
+ * The size is adjusted based on the current rotation of the display.
+ * </p><p>
+ * The size returned by this method does not necessarily represent the
+ * actual raw size (native resolution) of the display. The returned size may
+ * be adjusted to exclude certain system decor elements that are always visible.
+ * It may also be scaled to provide compatibility with older applications that
+ * were originally designed for smaller displays.
+ * </p>
+ *
+ * @param outMetrics A {@link DisplayMetrics} object to receive the metrics.
*/
public void getMetrics(DisplayMetrics outMetrics) {
synchronized (mTmpPoint) {
getSizeInternal(mTmpPoint, false);
- outMetrics.widthPixels = mTmpPoint.x;
- outMetrics.heightPixels = mTmpPoint.y;
+ getMetricsWithSize(outMetrics, mTmpPoint.x, mTmpPoint.y);
}
- getNonSizeMetrics(outMetrics);
CompatibilityInfo ci = mCompatibilityInfo.getIfNeeded();
if (ci != null) {
@@ -257,22 +298,44 @@ public class Display {
}
/**
- * Initialize a DisplayMetrics object from this display's data.
- *
- * @param outMetrics
+ * Gets display metrics based on the real size of this display.
* @hide
*/
public void getRealMetrics(DisplayMetrics outMetrics) {
- outMetrics.widthPixels = getRealWidth();
- outMetrics.heightPixels = getRealHeight();
- getNonSizeMetrics(outMetrics);
+ synchronized (mTmpPoint) {
+ getRealSize(mTmpPoint);
+ getMetricsWithSize(outMetrics, mTmpPoint.x, mTmpPoint.y);
+ }
+ }
+
+ /**
+ * If the display is mirrored to an external HDMI display, returns the
+ * width of that display.
+ * @hide
+ */
+ public int getRawExternalWidth() {
+ return 1280;
+ }
+
+ /**
+ * If the display is mirrored to an external HDMI display, returns the
+ * height of that display.
+ * @hide
+ */
+ public int getRawExternalHeight() {
+ return 720;
}
- private void getNonSizeMetrics(DisplayMetrics outMetrics) {
+ /**
+ * Gets display metrics based on an explicit assumed display size.
+ * @hide
+ */
+ public void getMetricsWithSize(DisplayMetrics outMetrics,
+ int width, int height) {
outMetrics.densityDpi = (int)((mDensity*DisplayMetrics.DENSITY_DEFAULT)+.5f);
- outMetrics.noncompatWidthPixels = outMetrics.widthPixels;
- outMetrics.noncompatHeightPixels = outMetrics.heightPixels;
+ outMetrics.noncompatWidthPixels = outMetrics.widthPixels = width;
+ outMetrics.noncompatHeightPixels = outMetrics.heightPixels = height;
outMetrics.density = outMetrics.noncompatDensity = mDensity;
outMetrics.scaledDensity = outMetrics.noncompatScaledDensity = outMetrics.density;
@@ -315,8 +378,6 @@ public class Display {
private static boolean sInitialized = false;
private static IWindowManager sWindowManager;
- private static volatile CompatibilityInfo sCompatibilityInfo;
-
/**
* Returns a display object which uses the metric's width/height instead.
* @hide
diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java
index d22fa6e..ac0abc3 100644
--- a/core/java/android/view/GLES20Canvas.java
+++ b/core/java/android/view/GLES20Canvas.java
@@ -51,7 +51,7 @@ class GLES20Canvas extends HardwareCanvas {
// The native renderer will be destroyed when this object dies.
// DO NOT overwrite this reference once it is set.
- @SuppressWarnings("unused")
+ @SuppressWarnings({"unused", "FieldCanBeLocal"})
private CanvasFinalizer mFinalizer;
private int mWidth;
@@ -277,14 +277,25 @@ class GLES20Canvas extends HardwareCanvas {
///////////////////////////////////////////////////////////////////////////
/**
+ * Must match Caches::FlushMode values
+ *
* @see #flushCaches(int)
*/
- public static final int FLUSH_CACHES_MODERATE = 0;
+ public static final int FLUSH_CACHES_LAYERS = 0;
+
+ /**
+ * Must match Caches::FlushMode values
+ *
+ * @see #flushCaches(int)
+ */
+ public static final int FLUSH_CACHES_MODERATE = 1;
/**
+ * Must match Caches::FlushMode values
+ *
* @see #flushCaches(int)
*/
- public static final int FLUSH_CACHES_FULL = 1;
+ public static final int FLUSH_CACHES_FULL = 2;
/**
* Flush caches to reclaim as much memory as possible. The amount of memory
diff --git a/core/java/android/view/GLES20RecordingCanvas.java b/core/java/android/view/GLES20RecordingCanvas.java
index 078222b..c987f48 100644
--- a/core/java/android/view/GLES20RecordingCanvas.java
+++ b/core/java/android/view/GLES20RecordingCanvas.java
@@ -38,7 +38,7 @@ import android.util.Pools;
class GLES20RecordingCanvas extends GLES20Canvas implements Poolable<GLES20RecordingCanvas> {
// The recording canvas pool should be large enough to handle a deeply nested
// view hierarchy because display lists are generated recursively.
- private static final int POOL_LIMIT = 50;
+ private static final int POOL_LIMIT = 25;
private static final Pool<GLES20RecordingCanvas> sPool = Pools.synchronizedPool(
Pools.finitePool(new PoolableManager<GLES20RecordingCanvas>() {
diff --git a/core/java/android/view/GLES20RenderLayer.java b/core/java/android/view/GLES20RenderLayer.java
index 7adac1c..41f16e2 100644
--- a/core/java/android/view/GLES20RenderLayer.java
+++ b/core/java/android/view/GLES20RenderLayer.java
@@ -24,7 +24,6 @@ import android.graphics.Canvas;
* {@link Canvas} that can be used to render into an FBO using OpenGL.
*/
class GLES20RenderLayer extends GLES20Layer {
-
private int mLayerWidth;
private int mLayerHeight;
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index 14a77b4..5404e3a 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -140,6 +140,13 @@ public abstract class HardwareRenderer {
abstract void updateSurface(SurfaceHolder holder) throws Surface.OutOfResourcesException;
/**
+ * Destoys the layers used by the specified view hierarchy.
+ *
+ * @param view The root of the view hierarchy
+ */
+ abstract void destroyLayers(View view);
+
+ /**
* This method should be invoked whenever the current hardware renderer
* context should be reset.
*/
@@ -283,7 +290,7 @@ public abstract class HardwareRenderer {
* see {@link android.content.ComponentCallbacks}
*/
static void trimMemory(int level) {
- Gl20Renderer.flushCaches(level);
+ Gl20Renderer.trimMemory(level);
}
/**
@@ -622,18 +629,8 @@ public abstract class HardwareRenderer {
+ "from multiple threads");
}
- /*
- * The window size has changed, so we need to create a new
- * surface.
- */
- if (mEglSurface != null && mEglSurface != EGL_NO_SURFACE) {
- /*
- * Unbind and destroy the old EGL surface, if
- * there is one.
- */
- sEgl.eglMakeCurrent(sEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
- sEgl.eglDestroySurface(sEglDisplay, mEglSurface);
- }
+ // In case we need to destroy an existing surface
+ destroySurface();
// Create an EGL surface we can render into.
mEglSurface = sEgl.eglCreateWindowSurface(sEglDisplay, sEglConfig, holder, null);
@@ -677,22 +674,13 @@ public abstract class HardwareRenderer {
}
EGLContext createContext(EGL10 egl, EGLDisplay eglDisplay, EGLConfig eglConfig) {
- int[] attrib_list = { EGL_CONTEXT_CLIENT_VERSION, mGlVersion, EGL_NONE };
+ int[] attribs = { EGL_CONTEXT_CLIENT_VERSION, mGlVersion, EGL_NONE };
return egl.eglCreateContext(eglDisplay, eglConfig, EGL_NO_CONTEXT,
- mGlVersion != 0 ? attrib_list : null);
+ mGlVersion != 0 ? attribs : null);
}
@Override
- void initializeIfNeeded(int width, int height, View.AttachInfo attachInfo,
- SurfaceHolder holder) throws Surface.OutOfResourcesException {
- if (isRequested()) {
- checkEglErrors();
- super.initializeIfNeeded(width, height, attachInfo, holder);
- }
- }
-
- @Override
void destroy(boolean full) {
if (full && mCanvas != null) {
mCanvas = null;
@@ -702,15 +690,21 @@ public abstract class HardwareRenderer {
mDestroyed = true;
- sEgl.eglMakeCurrent(sEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
- sEgl.eglDestroySurface(sEglDisplay, mEglSurface);
+ destroySurface();
- mEglSurface = null;
mGl = null;
setEnabled(false);
}
+ void destroySurface() {
+ if (mEglSurface != null && mEglSurface != EGL_NO_SURFACE) {
+ sEgl.eglMakeCurrent(sEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
+ sEgl.eglDestroySurface(sEglDisplay, mEglSurface);
+ mEglSurface = null;
+ }
+ }
+
@Override
void invalidate() {
// Cancels any existing buffer to ensure we'll get a buffer
@@ -726,6 +720,7 @@ public abstract class HardwareRenderer {
@Override
void setup(int width, int height) {
+ checkCurrent();
mCanvas.setViewport(width, height);
}
@@ -819,7 +814,7 @@ public abstract class HardwareRenderer {
* {@link #SURFACE_STATE_UPDATED} if the EGL context was changed or
* {@link #SURFACE_STATE_SUCCESS} if the EGL context was the correct one
*/
- private int checkCurrent() {
+ int checkCurrent() {
if (mEglThread != Thread.currentThread()) {
throw new IllegalStateException("Hardware acceleration can only be used with a " +
"single UI thread.\nOriginal thread: " + mEglThread + "\n" +
@@ -847,6 +842,9 @@ public abstract class HardwareRenderer {
static class Gl20Renderer extends GlRenderer {
private GLES20Canvas mGlCanvas;
+ private static EGLSurface sPbuffer;
+ private static final Object[] sPbufferLock = new Object[0];
+
Gl20Renderer(boolean translucent) {
super(2, translucent);
}
@@ -926,14 +924,54 @@ public abstract class HardwareRenderer {
return ((GLES20TextureLayer) layer).getSurfaceTexture();
}
+ @Override
+ void destroyLayers(View view) {
+ if (view != null && isEnabled()) {
+ checkCurrent();
+ destroyHardwareLayer(view);
+ GLES20Canvas.flushCaches(GLES20Canvas.FLUSH_CACHES_LAYERS);
+ }
+ }
+
+ private void destroyHardwareLayer(View view) {
+ view.destroyLayer();
+ if (view instanceof ViewGroup) {
+ ViewGroup group = (ViewGroup) view;
+
+ int count = group.getChildCount();
+ for (int i = 0; i < count; i++) {
+ destroyHardwareLayer(group.getChildAt(i));
+ }
+ }
+ }
+
static HardwareRenderer create(boolean translucent) {
if (GLES20Canvas.isAvailable()) {
return new Gl20Renderer(translucent);
}
return null;
}
-
- static void flushCaches(int level) {
+
+ static void trimMemory(int level) {
+ if (sEgl == null || sEglConfig == null) return;
+
+ EGLContext eglContext = sEglContextStorage.get();
+ // We do not have OpenGL objects
+ if (eglContext == null) {
+ return;
+ } else {
+ synchronized (sPbufferLock) {
+ // Create a temporary 1x1 pbuffer so we have a context
+ // to clear our OpenGL objects
+ if (sPbuffer == null) {
+ sPbuffer = sEgl.eglCreatePbufferSurface(sEglDisplay, sEglConfig, new int[] {
+ EGL_WIDTH, 1, EGL_HEIGHT, 1, EGL_NONE
+ });
+ }
+ }
+ sEgl.eglMakeCurrent(sEglDisplay, sPbuffer, sPbuffer, eglContext);
+ }
+
switch (level) {
case ComponentCallbacks.TRIM_MEMORY_MODERATE:
GLES20Canvas.flushCaches(GLES20Canvas.FLUSH_CACHES_MODERATE);
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index ad17edf..81cd798 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -55,6 +55,7 @@ interface IWindowManager
boolean inputMethodClientHasFocus(IInputMethodClient client);
void getDisplaySize(out Point size);
+ void getRealDisplaySize(out Point size);
int getMaximumSizeDimension();
void setForcedDisplaySize(int longDimen, int shortDimen);
diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java
index 88f59d4..da5c7b2 100644
--- a/core/java/android/view/MotionEvent.java
+++ b/core/java/android/view/MotionEvent.java
@@ -1123,7 +1123,10 @@ public final class MotionEvent extends InputEvent implements Parcelable {
}
/**
- * Button constant: Primary button (left mouse button, stylus tip).
+ * Button constant: Primary button (left mouse button).
+ *
+ * This button constant is not set in response to simple touches with a finger
+ * or stylus tip. The user must actually push a button.
*
* @see #getButtonState
*/
@@ -1215,55 +1218,32 @@ public final class MotionEvent extends InputEvent implements Parcelable {
public static final int TOOL_TYPE_UNKNOWN = 0;
/**
- * Tool type constant: The tool is a finger directly touching the display.
- *
- * This is a <em>direct</em> positioning tool.
+ * Tool type constant: The tool is a finger.
*
* @see #getToolType
*/
public static final int TOOL_TYPE_FINGER = 1;
/**
- * Tool type constant: The tool is a stylus directly touching the display
- * or hovering slightly above it.
- *
- * This is a <em>direct</em> positioning tool.
+ * Tool type constant: The tool is a stylus.
*
* @see #getToolType
*/
public static final int TOOL_TYPE_STYLUS = 2;
/**
- * Tool type constant: The tool is a mouse or trackpad that translates
- * relative motions into cursor movements on the display.
- *
- * This is an <em>indirect</em> positioning tool.
+ * Tool type constant: The tool is a mouse or trackpad.
*
* @see #getToolType
*/
public static final int TOOL_TYPE_MOUSE = 3;
/**
- * Tool type constant: The tool is a finger on a touch pad that is not
- * directly attached to the display. Finger movements on the touch pad
- * may be translated into touches on the display, possibly with visual feedback.
- *
- * This is an <em>indirect</em> positioning tool.
- *
- * @see #getToolType
- */
- public static final int TOOL_TYPE_INDIRECT_FINGER = 4;
-
- /**
- * Tool type constant: The tool is a stylus on a digitizer tablet that is not
- * attached to the display. Stylus movements on the digitizer may be translated
- * into touches on the display, possibly with visual feedback.
- *
- * This is an <em>indirect</em> positioning tool.
+ * Tool type constant: The tool is an eraser or a stylus being used in an inverted posture.
*
* @see #getToolType
*/
- public static final int TOOL_TYPE_INDIRECT_STYLUS = 5;
+ public static final int TOOL_TYPE_ERASER = 4;
// NOTE: If you add a new tool type here you must also add it to:
// native/include/android/input.h
@@ -1276,8 +1256,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {
names.append(TOOL_TYPE_FINGER, "TOOL_TYPE_FINGER");
names.append(TOOL_TYPE_STYLUS, "TOOL_TYPE_STYLUS");
names.append(TOOL_TYPE_MOUSE, "TOOL_TYPE_MOUSE");
- names.append(TOOL_TYPE_INDIRECT_FINGER, "TOOL_TYPE_INDIRECT_FINGER");
- names.append(TOOL_TYPE_INDIRECT_STYLUS, "TOOL_TYPE_INDIRECT_STYLUS");
+ names.append(TOOL_TYPE_ERASER, "TOOL_TYPE_ERASER");
}
// Private value for history pos that obtains the current sample.
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 2213188..5dcb84f 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -672,19 +672,23 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit
private static final int FITS_SYSTEM_WINDOWS = 0x00000002;
/**
- * This view is visible. Use with {@link #setVisibility(int)}.
+ * This view is visible.
+ * Use with {@link #setVisibility} and <a href="#attr_android:visibility">{@code
+ * android:visibility}.
*/
public static final int VISIBLE = 0x00000000;
/**
* This view is invisible, but it still takes up space for layout purposes.
- * Use with {@link #setVisibility(int)}.
+ * Use with {@link #setVisibility} and <a href="#attr_android:visibility">{@code
+ * android:visibility}.
*/
public static final int INVISIBLE = 0x00000004;
/**
* This view is invisible, and it doesn't take any space for layout
- * purposes. Use with {@link #setVisibility(int)}.
+ * purposes. Use with {@link #setVisibility} and <a href="#attr_android:visibility">{@code
+ * android:visibility}.
*/
public static final int GONE = 0x00000008;
@@ -9226,10 +9230,7 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit
destroyDrawingCache();
- if (mHardwareLayer != null) {
- mHardwareLayer.destroy();
- mHardwareLayer = null;
- }
+ destroyLayer();
if (mDisplayList != null) {
mDisplayList.invalidate();
@@ -9601,21 +9602,10 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit
// Destroy any previous software drawing cache if needed
switch (mLayerType) {
case LAYER_TYPE_HARDWARE:
- if (mHardwareLayer != null) {
- mHardwareLayer.destroy();
- mHardwareLayer = null;
- }
+ destroyLayer();
// fall through - unaccelerated views may use software layer mechanism instead
case LAYER_TYPE_SOFTWARE:
- if (mDrawingCache != null) {
- mDrawingCache.recycle();
- mDrawingCache = null;
- }
-
- if (mUnscaledDrawingCache != null) {
- mUnscaledDrawingCache.recycle();
- mUnscaledDrawingCache = null;
- }
+ destroyDrawingCache();
break;
default:
break;
@@ -9741,6 +9731,13 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit
return mHardwareLayer;
}
+ void destroyLayer() {
+ if (mHardwareLayer != null) {
+ mHardwareLayer.destroy();
+ mHardwareLayer = null;
+ }
+ }
+
/**
* <p>Enables or disables the drawing cache. When the drawing cache is enabled, the next call
* to {@link #getDrawingCache()} or {@link #buildDrawingCache()} will draw the view in a
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 8cf03a6..697636e 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -788,7 +788,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
final View[] children = mChildren;
for (int i = 0; i < childrenCount; i++) {
View child = children[i];
- if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
+ if ((child.mPrivateFlags & IS_ROOT_NAMESPACE) == 0) {
child.findViewsWithText(outViews, text);
}
}
@@ -2162,6 +2162,9 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
+ if ((mPrivateFlags & IS_ROOT_NAMESPACE) != 0) {
+ return;
+ }
for (int i = 0, count = mChildrenCount; i < count; i++) {
View child = mChildren[i];
if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 470493d..76e16a9 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -235,6 +235,7 @@ public final class ViewRootImpl extends Handler implements ViewParent,
final Configuration mLastConfiguration = new Configuration();
final Configuration mPendingConfiguration = new Configuration();
+
class ResizedInfo {
Rect coveredInsets;
Rect visibleInsets;
@@ -540,6 +541,13 @@ public final class ViewRootImpl extends Handler implements ViewParent,
}
}
+ private void destroyHardwareResources() {
+ if (mAttachInfo.mHardwareRenderer.isEnabled()) {
+ mAttachInfo.mHardwareRenderer.destroyLayers(mView);
+ }
+ mAttachInfo.mHardwareRenderer.destroy(false);
+ }
+
private void enableHardwareAcceleration(WindowManager.LayoutParams attrs) {
mAttachInfo.mHardwareAccelerated = false;
mAttachInfo.mHardwareAccelerationRequested = false;
@@ -824,8 +832,10 @@ public final class ViewRootImpl extends Handler implements ViewParent,
if (lp.type == WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL) {
// NOTE -- system code, won't try to do compat mode.
Display disp = WindowManagerImpl.getDefault().getDefaultDisplay();
- desiredWindowWidth = disp.getRealWidth();
- desiredWindowHeight = disp.getRealHeight();
+ Point size = new Point();
+ disp.getRealSize(size);
+ desiredWindowWidth = size.x;
+ desiredWindowHeight = size.y;
} else {
DisplayMetrics packageMetrics =
mView.getContext().getResources().getDisplayMetrics();
@@ -869,7 +879,7 @@ public final class ViewRootImpl extends Handler implements ViewParent,
host.dispatchWindowVisibilityChanged(viewVisibility);
if (viewVisibility != View.VISIBLE || mNewSurfaceNeeded) {
if (mAttachInfo.mHardwareRenderer != null) {
- mAttachInfo.mHardwareRenderer.destroy(false);
+ destroyHardwareResources();
}
}
if (viewVisibility == View.GONE) {
@@ -979,8 +989,10 @@ public final class ViewRootImpl extends Handler implements ViewParent,
if (lp.type == WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL) {
// NOTE -- system code, won't try to do compat mode.
Display disp = WindowManagerImpl.getDefault().getDefaultDisplay();
- desiredWindowWidth = disp.getRealWidth();
- desiredWindowHeight = disp.getRealHeight();
+ Point size = new Point();
+ disp.getRealSize(size);
+ desiredWindowWidth = size.x;
+ desiredWindowHeight = size.y;
} else {
DisplayMetrics packageMetrics = res.getDisplayMetrics();
desiredWindowWidth = packageMetrics.widthPixels;
diff --git a/core/java/android/webkit/DebugFlags.java b/core/java/android/webkit/DebugFlags.java
index 3cb5e24..a21d3ee 100644
--- a/core/java/android/webkit/DebugFlags.java
+++ b/core/java/android/webkit/DebugFlags.java
@@ -47,7 +47,7 @@ class DebugFlags {
public static final boolean WEB_VIEW_CORE = false;
/*
* Set to true to allow the WebTextView to draw on top of the web page in a
- * different color so that you can see how the two line up.
+ * different color with no background so you can see how the two line up.
*/
public static final boolean DRAW_WEBTEXTVIEW = false;
}
diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java
index d54230c..b8c4e22 100644
--- a/core/java/android/webkit/WebTextView.java
+++ b/core/java/android/webkit/WebTextView.java
@@ -25,7 +25,7 @@ import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
+import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -87,7 +87,6 @@ import junit.framework.Assert;
// Keep track of the text before the change so we know whether we actually
// need to send down the DOM events.
private String mPreChange;
- private Drawable mBackground;
// Variables for keeping track of the touch down, to send to the WebView
// when a drag starts
private float mDragStartX;
@@ -190,6 +189,8 @@ import junit.framework.Assert;
// that other applications that use embedded WebViews will properly
// display the text in password textfields.
setTextColor(DebugFlags.DRAW_WEBTEXTVIEW ? Color.RED : Color.BLACK);
+ setBackgroundDrawable(DebugFlags.DRAW_WEBTEXTVIEW ? null : new ColorDrawable(Color.WHITE));
+
// This helps to align the text better with the text in the web page.
setIncludeFontPadding(false);
@@ -423,24 +424,6 @@ import junit.framework.Assert;
// makeNewLayout does.
super.makeNewLayout(w, hintWidth, boring, hintBoring, ellipsisWidth,
bringIntoView);
-
- // For fields that do not draw, create a layout which is altered so that
- // the text lines up.
- if (DebugFlags.DRAW_WEBTEXTVIEW || willNotDraw()) {
- float lineHeight = -1;
- if (mWebView != null) {
- float height = mWebView.nativeFocusCandidateLineHeight();
- if (height != -1) {
- lineHeight = height * mWebView.getScale();
- }
- }
- CharSequence text = getText();
- // Copy from the existing Layout.
- mLayout = new WebTextViewLayout(text, text, getPaint(), mLayout.getWidth(),
- mLayout.getAlignment(), mLayout.getSpacingMultiplier(),
- mLayout.getSpacingAdd(), false, null, ellipsisWidth,
- lineHeight);
- }
lineUpScroll();
}
@@ -491,51 +474,6 @@ import junit.framework.Assert;
return connection;
}
- /**
- * In general, TextView makes a call to InputMethodManager.updateSelection
- * in onDraw. However, in the general case of WebTextView, we do not draw.
- * This method is called by WebView.onDraw to take care of the part that
- * needs to be called.
- */
- /* package */ void onDrawSubstitute() {
- if (!willNotDraw()) {
- // If the WebTextView is set to draw, such as in the case of a
- // password, onDraw calls updateSelection(), so this code path is
- // unnecessary.
- return;
- }
- // This code is copied from TextView.onDraw(). That code does not get
- // executed, however, because the WebTextView does not draw, allowing
- // webkit's drawing to show through.
- InputMethodManager imm = InputMethodManager.peekInstance();
- if (imm != null && imm.isActive(this)) {
- Spannable sp = (Spannable) getText();
- int selStart = Selection.getSelectionStart(sp);
- int selEnd = Selection.getSelectionEnd(sp);
- int candStart = EditableInputConnection.getComposingSpanStart(sp);
- int candEnd = EditableInputConnection.getComposingSpanEnd(sp);
- imm.updateSelection(this, selStart, selEnd, candStart, candEnd);
- }
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- // onDraw should only be called for password fields. If WebTextView is
- // still drawing, but is no longer corresponding to a password field,
- // remove it.
- if (!DebugFlags.DRAW_WEBTEXTVIEW && (mWebView == null
- || !mWebView.nativeFocusCandidateIsPassword()
- || !isSameTextField(mWebView.nativeFocusCandidatePointer()))) {
- // Although calling remove() would seem to make more sense here,
- // changing it to not be a password field will make it not draw.
- // Other code will make sure that it is removed completely, but this
- // way the user will not see it.
- setInPassword(false);
- } else {
- super.onDraw(canvas);
- }
- }
-
@Override
public void onEditorAction(int actionCode) {
switch (actionCode) {
@@ -928,102 +866,6 @@ import junit.framework.Assert;
if (mWebView != null) mWebView.incrementTextGeneration();
}
- /**
- * Determine whether to use the system-wide password disguising method,
- * or to use none.
- * @param inPassword True if the textfield is a password field.
- */
- /* package */ void setInPassword(boolean inPassword) {
- if (inPassword) {
- setInputType(InputType.TYPE_CLASS_TEXT | EditorInfo.
- TYPE_TEXT_VARIATION_WEB_PASSWORD);
- createBackground();
- }
- // For password fields, draw the WebTextView. For others, just show
- // webkit's drawing.
- if (!DebugFlags.DRAW_WEBTEXTVIEW) {
- setWillNotDraw(!inPassword);
- }
- setBackgroundDrawable(inPassword ? mBackground : null);
- }
-
- /**
- * Private class used for the background of a password textfield.
- */
- private static class OutlineDrawable extends Drawable {
- private Paint mBackgroundPaint;
- private Paint mOutlinePaint;
- private float[] mLines;
- public OutlineDrawable() {
- mBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
- mBackgroundPaint.setColor(Color.WHITE);
-
- mOutlinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
- mOutlinePaint.setColor(Color.BLACK);
- mOutlinePaint.setStyle(Paint.Style.STROKE);
-
- mLines = new float[16];
- }
- @Override
- public void setBounds(int left, int top, int right, int bottom) {
- super.setBounds(left, top, right, bottom);
- bottom--;
- right -= 2;
- // Top line
- mLines[0] = left;
- mLines[1] = top + 1;
- mLines[2] = right;
- mLines[3] = top + 1;
- // Right line
- mLines[4] = right;
- mLines[5] = top;
- mLines[6] = right;
- mLines[7] = bottom;
- // Bottom line
- mLines[8] = left;
- mLines[9] = bottom;
- mLines[10] = right;
- mLines[11] = bottom;
- // Left line
- mLines[12] = left + 1;
- mLines[13] = top;
- mLines[14] = left + 1;
- mLines[15] = bottom;
- }
- @Override
- public void draw(Canvas canvas) {
- // Draw the background.
- canvas.drawRect(getBounds(), mBackgroundPaint);
- // Draw the outline.
- canvas.drawLines(mLines, mOutlinePaint);
- }
- // Always want it to be opaque.
- @Override
- public int getOpacity() {
- return PixelFormat.OPAQUE;
- }
- // These are needed because they are abstract in Drawable.
- @Override
- public void setAlpha(int alpha) { }
- @Override
- public void setColorFilter(ColorFilter cf) { }
- }
-
- /**
- * Create a background for the WebTextView and set up the paint for drawing
- * the text. This way, we can see the password transformation of the
- * system, which (optionally) shows the actual text before changing to dots.
- * The background is necessary to hide the webkit-drawn text beneath.
- */
- private void createBackground() {
- if (mBackground != null) {
- return;
- }
- mBackground = new OutlineDrawable();
-
- setGravity(Gravity.CENTER_VERTICAL);
- }
-
@Override
public void setInputType(int type) {
mFromSetInputType = true;
@@ -1072,7 +914,8 @@ import junit.framework.Assert;
lp.height = height;
}
if (getParent() == null) {
- mWebView.addView(this, lp);
+ // Insert the view so that it's drawn first (at index 0)
+ mWebView.addView(this, 0, lp);
} else {
setLayoutParams(lp);
}
@@ -1145,7 +988,6 @@ import junit.framework.Assert;
/* package */ void setType(int type) {
if (mWebView == null) return;
boolean single = true;
- boolean inPassword = false;
int maxLength = -1;
int inputType = InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT;
@@ -1167,7 +1009,7 @@ import junit.framework.Assert;
imeOptions |= EditorInfo.IME_ACTION_NONE;
break;
case PASSWORD:
- inPassword = true;
+ inputType |= EditorInfo.TYPE_TEXT_VARIATION_WEB_PASSWORD;
imeOptions |= EditorInfo.IME_ACTION_GO;
break;
case SEARCH:
@@ -1219,7 +1061,7 @@ import junit.framework.Assert;
setHorizontallyScrolling(single);
setInputType(inputType);
setImeOptions(imeOptions);
- setInPassword(inPassword);
+ setVisibility(VISIBLE);
AutoCompleteAdapter adapter = null;
setAdapterCustom(adapter);
}
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index e24ab58..a935a67 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -4068,9 +4068,6 @@ public class WebView extends AbsoluteLayout
if (AUTO_REDRAW_HACK && mAutoRedraw) {
invalidate();
}
- if (inEditingMode()) {
- mWebTextView.onDrawSubstitute();
- }
mWebViewCore.signalRepaintDone();
if (mOverScrollGlow != null && mOverScrollGlow.drawEdgeGlows(canvas)) {
@@ -4287,18 +4284,18 @@ public class WebView extends AbsoluteLayout
private void onZoomAnimationStart() {
// If it is in password mode, turn it off so it does not draw misplaced.
- if (inEditingMode() && nativeFocusCandidateIsPassword()) {
- mWebTextView.setInPassword(false);
+ if (inEditingMode()) {
+ mWebTextView.setVisibility(INVISIBLE);
}
}
private void onZoomAnimationEnd() {
// adjust the edit text view if needed
- if (inEditingMode() && didUpdateWebTextViewDimensions(FULLY_ON_SCREEN)
- && nativeFocusCandidateIsPassword()) {
+ if (inEditingMode()
+ && didUpdateWebTextViewDimensions(FULLY_ON_SCREEN)) {
// If it is a password field, start drawing the WebTextView once
// again.
- mWebTextView.setInPassword(true);
+ mWebTextView.setVisibility(VISIBLE);
}
}
@@ -4593,37 +4590,23 @@ public class WebView extends AbsoluteLayout
}
String text = nativeFocusCandidateText();
int nodePointer = nativeFocusCandidatePointer();
- if (alreadyThere && mWebTextView.isSameTextField(nodePointer)) {
- // It is possible that we have the same textfield, but it has moved,
- // i.e. In the case of opening/closing the screen.
- // In that case, we need to set the dimensions, but not the other
- // aspects.
- // If the text has been changed by webkit, update it. However, if
- // there has been more UI text input, ignore it. We will receive
- // another update when that text is recognized.
- if (text != null && !text.equals(mWebTextView.getText().toString())
- && nativeTextGeneration() == mTextGeneration) {
- mWebTextView.setTextAndKeepSelection(text);
- }
- } else {
- mWebTextView.setGravity(nativeFocusCandidateIsRtlText() ?
- Gravity.RIGHT : Gravity.NO_GRAVITY);
- // This needs to be called before setType, which may call
- // requestFormData, and it needs to have the correct nodePointer.
- mWebTextView.setNodePointer(nodePointer);
- mWebTextView.setType(nativeFocusCandidateType());
- updateWebTextViewPadding();
- if (null == text) {
- if (DebugFlags.WEB_VIEW) {
- Log.v(LOGTAG, "rebuildWebTextView null == text");
- }
- text = "";
- }
- mWebTextView.setTextAndKeepSelection(text);
- InputMethodManager imm = InputMethodManager.peekInstance();
- if (imm != null && imm.isActive(mWebTextView)) {
- imm.restartInput(mWebTextView);
+ mWebTextView.setGravity(nativeFocusCandidateIsRtlText() ?
+ Gravity.RIGHT : Gravity.NO_GRAVITY);
+ // This needs to be called before setType, which may call
+ // requestFormData, and it needs to have the correct nodePointer.
+ mWebTextView.setNodePointer(nodePointer);
+ mWebTextView.setType(nativeFocusCandidateType());
+ updateWebTextViewPadding();
+ if (null == text) {
+ if (DebugFlags.WEB_VIEW) {
+ Log.v(LOGTAG, "rebuildWebTextView null == text");
}
+ text = "";
+ }
+ mWebTextView.setTextAndKeepSelection(text);
+ InputMethodManager imm = InputMethodManager.peekInstance();
+ if (imm != null && imm.isActive(mWebTextView)) {
+ imm.restartInput(mWebTextView);
}
if (isFocused()) {
mWebTextView.requestFocus();
@@ -8120,19 +8103,7 @@ public class WebView extends AbsoluteLayout
// and representing the same node as the pointer.
if (inEditingMode() &&
mWebTextView.isSameTextField(msg.arg1)) {
- if (msg.getData().getBoolean("password")) {
- Spannable text = (Spannable) mWebTextView.getText();
- int start = Selection.getSelectionStart(text);
- int end = Selection.getSelectionEnd(text);
- mWebTextView.setInPassword(true);
- // Restore the selection, which may have been
- // ruined by setInPassword.
- Spannable pword =
- (Spannable) mWebTextView.getText();
- Selection.setSelection(pword, start, end);
- // If the text entry has created more events, ignore
- // this one.
- } else if (msg.arg2 == mTextGeneration) {
+ if (msg.arg2 == mTextGeneration) {
String text = (String) msg.obj;
if (null == text) {
text = "";
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index b7c1687..c4458df 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -2817,9 +2817,11 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
mPositionScroller.stop();
}
mTouchMode = TOUCH_MODE_OVERSCROLL;
+ mMotionX = (int) ev.getX();
mMotionY = mLastY = (int) ev.getY();
mMotionCorrection = 0;
mActivePointerId = ev.getPointerId(0);
+ mDirection = 0;
break;
}
@@ -2994,56 +2996,57 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
mDirection = newDirection;
}
- if (mDirection != newDirection) {
- // Coming back to 'real' list scrolling
- incrementalDeltaY = -newScroll;
- mScrollY = 0;
- invalidateParentIfNeeded();
-
- // No need to do all this work if we're not going to move anyway
- if (incrementalDeltaY != 0) {
- trackMotionScroll(incrementalDeltaY, incrementalDeltaY);
- }
-
- // Check to see if we are back in
- View motionView = this.getChildAt(mMotionPosition - mFirstPosition);
- if (motionView != null) {
- mTouchMode = TOUCH_MODE_SCROLL;
-
- // We did not scroll the full amount. Treat this essentially like the
- // start of a new touch scroll
- final int motionPosition = findClosestMotionRow(y);
-
- mMotionCorrection = 0;
- motionView = getChildAt(motionPosition - mFirstPosition);
- mMotionViewOriginalTop = motionView.getTop();
- mMotionY = y;
- mMotionPosition = motionPosition;
- }
+ int overScrollDistance = -incrementalDeltaY;
+ if ((newScroll < 0 && oldScroll >= 0) || (newScroll > 0 && oldScroll <= 0)) {
+ overScrollDistance = -oldScroll;
+ incrementalDeltaY += overScrollDistance;
} else {
- overScrollBy(0, -incrementalDeltaY, 0, mScrollY, 0, 0,
+ incrementalDeltaY = 0;
+ }
+
+ if (overScrollDistance != 0) {
+ overScrollBy(0, overScrollDistance, 0, mScrollY, 0, 0,
0, mOverscrollDistance, true);
final int overscrollMode = getOverScrollMode();
if (overscrollMode == OVER_SCROLL_ALWAYS ||
(overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS &&
!contentFits())) {
if (rawDeltaY > 0) {
- mEdgeGlowTop.onPull((float) -incrementalDeltaY / getHeight());
+ mEdgeGlowTop.onPull((float) overScrollDistance / getHeight());
if (!mEdgeGlowBottom.isFinished()) {
mEdgeGlowBottom.onRelease();
}
} else if (rawDeltaY < 0) {
- mEdgeGlowBottom.onPull((float) -incrementalDeltaY / getHeight());
+ mEdgeGlowBottom.onPull((float) overScrollDistance / getHeight());
if (!mEdgeGlowTop.isFinished()) {
mEdgeGlowTop.onRelease();
}
}
invalidate();
}
- if (Math.abs(mOverscrollDistance) == Math.abs(mScrollY)) {
- // Don't allow overfling if we're at the edge.
- mVelocityTracker.clear();
+ }
+
+ if (incrementalDeltaY != 0) {
+ // Coming back to 'real' list scrolling
+ mScrollY = 0;
+ invalidateParentIfNeeded();
+
+ // No need to do all this work if we're not going to move anyway
+ if (incrementalDeltaY != 0) {
+ trackMotionScroll(incrementalDeltaY, incrementalDeltaY);
}
+
+ mTouchMode = TOUCH_MODE_SCROLL;
+
+ // We did not scroll the full amount. Treat this essentially like the
+ // start of a new touch scroll
+ final int motionPosition = findClosestMotionRow(y);
+
+ mMotionCorrection = 0;
+ View motionView = getChildAt(motionPosition - mFirstPosition);
+ mMotionViewOriginalTop = motionView != null ? motionView.getTop() : 0;
+ mMotionY = y;
+ mMotionPosition = motionPosition;
}
mLastY = y;
mDirection = newDirection;
@@ -3320,12 +3323,6 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
mScrollY = scrollY;
invalidateParentIfNeeded();
- if (clampedY) {
- // Velocity is broken by hitting the limit; don't start a fling off of this.
- if (mVelocityTracker != null) {
- mVelocityTracker.clear();
- }
- }
awakenScrollBars();
}
}
@@ -3616,9 +3613,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
}
void startOverfling(int initialVelocity) {
- final int min = mScrollY > 0 ? Integer.MIN_VALUE : 0;
- final int max = mScrollY > 0 ? 0 : Integer.MAX_VALUE;
- mScroller.fling(0, mScrollY, 0, initialVelocity, 0, 0, min, max, 0, getHeight());
+ mScroller.fling(0, mScrollY, 0, initialVelocity, 0, 0,
+ Integer.MIN_VALUE, Integer.MAX_VALUE, 0, getHeight());
mTouchMode = TOUCH_MODE_OVERFLING;
invalidate();
post(this);
@@ -3768,10 +3764,22 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
final OverScroller scroller = mScroller;
if (scroller.computeScrollOffset()) {
final int scrollY = mScrollY;
- final int deltaY = scroller.getCurrY() - scrollY;
+ final int currY = scroller.getCurrY();
+ final int deltaY = currY - scrollY;
if (overScrollBy(0, deltaY, 0, scrollY, 0, 0,
0, mOverflingDistance, false)) {
- startSpringback();
+ final boolean crossDown = scrollY <= 0 && currY > 0;
+ final boolean crossUp = scrollY >= 0 && currY < 0;
+ if (crossDown || crossUp) {
+ int velocity = (int) scroller.getCurrVelocity();
+ if (crossUp) velocity = -velocity;
+
+ // Don't flywheel from this; we're just continuing things.
+ scroller.abortAnimation();
+ start(velocity);
+ } else {
+ startSpringback();
+ }
} else {
invalidate();
post(this);
diff --git a/core/java/android/widget/ActivityChooserView.java b/core/java/android/widget/ActivityChooserView.java
index d85f8a4..45d73af 100644
--- a/core/java/android/widget/ActivityChooserView.java
+++ b/core/java/android/widget/ActivityChooserView.java
@@ -29,16 +29,7 @@ import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ActivityChooserModel;
import android.widget.ActivityChooserModel.ActivityChooserModelClient;
-import android.widget.AdapterView;
-import android.widget.BaseAdapter;
-import android.widget.ImageButton;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ListPopupWindow;
-import android.widget.PopupWindow;
-import android.widget.TextView;
import com.android.internal.R;
@@ -85,12 +76,22 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
/**
* The expand activities action button;
*/
- private final ImageButton mExpandActivityOverflowButton;
+ private final FrameLayout mExpandActivityOverflowButton;
+
+ /**
+ * The image for the expand activities action button;
+ */
+ private final ImageView mExpandActivityOverflowButtonImage;
/**
* The default activities action button;
*/
- private final ImageButton mDefaultActionButton;
+ private final FrameLayout mDefaultActivityButton;
+
+ /**
+ * The image for the default activities action button;
+ */
+ private final ImageView mDefaultActivityButtonImage;
/**
* The maximal width of the list popup.
@@ -185,13 +186,16 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
mActivityChooserContent = (LinearLayout) findViewById(R.id.activity_chooser_view_content);
- mDefaultActionButton = (ImageButton) findViewById(R.id.default_activity_button);
- mDefaultActionButton.setOnClickListener(mCallbacks);
- mDefaultActionButton.setOnLongClickListener(mCallbacks);
+ mDefaultActivityButton = (FrameLayout) findViewById(R.id.default_activity_button);
+ mDefaultActivityButton.setOnClickListener(mCallbacks);
+ mDefaultActivityButton.setOnLongClickListener(mCallbacks);
+ mDefaultActivityButtonImage = (ImageView) mDefaultActivityButton.findViewById(R.id.image);
- mExpandActivityOverflowButton = (ImageButton) findViewById(R.id.expand_activities_button);
+ mExpandActivityOverflowButton = (FrameLayout) findViewById(R.id.expand_activities_button);
mExpandActivityOverflowButton.setOnClickListener(mCallbacks);
- mExpandActivityOverflowButton.setImageDrawable(expandActivityOverflowButtonDrawable);
+ mExpandActivityOverflowButtonImage =
+ (ImageView) mExpandActivityOverflowButton.findViewById(R.id.image);
+ mExpandActivityOverflowButtonImage.setImageDrawable(expandActivityOverflowButtonDrawable);
mAdapter = new ActivityChooserViewAdapter();
mAdapter.registerDataSetObserver(new DataSetObserver() {
@@ -230,7 +234,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
* @param drawable The drawable.
*/
public void setExpandActivityOverflowButtonDrawable(Drawable drawable) {
- mExpandActivityOverflowButton.setImageDrawable(drawable);
+ mExpandActivityOverflowButtonImage.setImageDrawable(drawable);
}
/**
@@ -391,7 +395,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
private void updateButtons() {
final int activityCount = mAdapter.getActivityCount();
if (activityCount > 0) {
- mDefaultActionButton.setVisibility(VISIBLE);
+ mDefaultActivityButton.setVisibility(VISIBLE);
if (mAdapter.getCount() > 0) {
mExpandActivityOverflowButton.setEnabled(true);
} else {
@@ -399,9 +403,9 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
}
ResolveInfo activity = mAdapter.getDefaultActivity();
PackageManager packageManager = mContext.getPackageManager();
- mDefaultActionButton.setImageDrawable(activity.loadIcon(packageManager));
+ mDefaultActivityButtonImage.setImageDrawable(activity.loadIcon(packageManager));
} else {
- mDefaultActionButton.setVisibility(View.INVISIBLE);
+ mDefaultActivityButton.setVisibility(View.INVISIBLE);
mExpandActivityOverflowButton.setEnabled(false);
}
}
@@ -440,7 +444,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
// View.OnClickListener
public void onClick(View view) {
- if (view == mDefaultActionButton) {
+ if (view == mDefaultActivityButton) {
dismissPopup();
ResolveInfo defaultActivity = mAdapter.getDefaultActivity();
final int index = mAdapter.getDataModel().getActivityIndex(defaultActivity);
@@ -457,7 +461,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
// OnLongClickListener#onLongClick
@Override
public boolean onLongClick(View view) {
- if (view == mDefaultActionButton) {
+ if (view == mDefaultActivityButton) {
if (mAdapter.getCount() > 0) {
mIsSelectingDefaultActivity = true;
showPopupUnchecked(mInitialActivityCount);
diff --git a/core/java/android/widget/FrameLayout.java b/core/java/android/widget/FrameLayout.java
index 5eba1a0..0b0b812 100644
--- a/core/java/android/widget/FrameLayout.java
+++ b/core/java/android/widget/FrameLayout.java
@@ -34,12 +34,17 @@ import android.widget.RemoteViews.RemoteView;
/**
* FrameLayout is designed to block out an area on the screen to display
- * a single item. You can add multiple children to a FrameLayout and control their
- * position within the FrameLayout using {@link android.widget.FrameLayout.LayoutParams#gravity}.
- * Children are drawn in a stack, with the most recently added child on top.
- * The size of the frame layout is the size of its largest child (plus padding), visible
- * or not (if the FrameLayout's parent permits). Views that are GONE are used for sizing
- * only if {@link #setMeasureAllChildren(boolean) setMeasureAllChildren()}
+ * a single item. Generally, FrameLayout should be used to hold a single child view, because it can
+ * be difficult to organize child views in a way that's scalable to different screen sizes without
+ * the children overlapping each other. You can, however, add multiple children to a FrameLayout
+ * and control their position within the FrameLayout by assigning gravity to each child, using the
+ * <a href="FrameLayout.LayoutParams.html#attr_android:layout_gravity">{@code
+ * android:layout_gravity}</a> attribute.
+ * <p>Child views are drawn in a stack, with the most recently added child on top.
+ * The size of the FrameLayout is the size of its largest child (plus padding), visible
+ * or not (if the FrameLayout's parent permits). Views that are {@link android.view.View#GONE} are
+ * used for sizing
+ * only if {@link #setMeasureAllChildren(boolean) setConsiderGoneChildrenWhenMeasuring()}
* is set to true.
*
* @attr ref android.R.styleable#FrameLayout_foreground
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index 55b73df..91b19ed 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -221,6 +221,7 @@ public class SearchView extends LinearLayout implements CollapsibleActionView {
mCloseButton.setOnClickListener(mOnClickListener);
mSubmitButton.setOnClickListener(mOnClickListener);
mVoiceButton.setOnClickListener(mOnClickListener);
+ mQueryTextView.setOnClickListener(mOnClickListener);
mQueryTextView.addTextChangedListener(mTextWatcher);
mQueryTextView.setOnEditorActionListener(mOnEditorActionListener);
@@ -319,7 +320,9 @@ public class SearchView extends LinearLayout implements CollapsibleActionView {
// If it is not iconified, then give the focus to the text field
if (!isIconified()) {
boolean result = mQueryTextView.requestFocus(direction, previouslyFocusedRect);
- if (result) updateViewsVisibility(false);
+ if (result) {
+ updateViewsVisibility(false);
+ }
return result;
} else {
return super.requestFocus(direction, previouslyFocusedRect);
@@ -330,9 +333,9 @@ public class SearchView extends LinearLayout implements CollapsibleActionView {
@Override
public void clearFocus() {
mClearingFocus = true;
+ setImeVisibility(false);
super.clearFocus();
mQueryTextView.clearFocus();
- setImeVisibility(false);
mClearingFocus = false;
}
@@ -681,6 +684,8 @@ public class SearchView extends LinearLayout implements CollapsibleActionView {
onSubmitQuery();
} else if (v == mVoiceButton) {
onVoiceClicked();
+ } else if (v == mQueryTextView) {
+ forceSuggestionQuery();
}
}
};
@@ -1029,6 +1034,9 @@ public class SearchView extends LinearLayout implements CollapsibleActionView {
void onTextFocusChanged() {
updateViewsVisibility(isIconified());
updateFocusedState(mQueryTextView.hasFocus());
+ if (mQueryTextView.hasFocus()) {
+ forceSuggestionQuery();
+ }
}
@Override
@@ -1041,8 +1049,9 @@ public class SearchView extends LinearLayout implements CollapsibleActionView {
*/
@Override
public void onActionViewCollapsed() {
+ clearFocus();
+ updateViewsVisibility(true);
mQueryTextView.setText("");
- setIconified(true);
mExpandedInActionView = false;
}
@@ -1376,6 +1385,11 @@ public class SearchView extends LinearLayout implements CollapsibleActionView {
}
}
+ private void forceSuggestionQuery() {
+ mQueryTextView.doBeforeTextChanged();
+ mQueryTextView.doAfterTextChanged();
+ }
+
static boolean isLandscapeMode(Context context) {
return context.getResources().getConfiguration().orientation
== Configuration.ORIENTATION_LANDSCAPE;
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index a7324b0..127b6a3 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -329,7 +329,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
private int mTextEditPasteWindowLayout, mTextEditSidePasteWindowLayout;
private int mTextEditNoPasteWindowLayout, mTextEditSideNoPasteWindowLayout;
- private int mTextEditSuggestionsWindowLayout;
private int mTextEditSuggestionItemLayout;
private SuggestionsPopupWindow mSuggestionsPopupWindow;
private SuggestionRangeSpan mSuggestionRangeSpan;
@@ -830,10 +829,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
mTextEditSideNoPasteWindowLayout = a.getResourceId(attr, 0);
break;
- case com.android.internal.R.styleable.TextView_textEditSuggestionsWindowLayout:
- mTextEditSuggestionsWindowLayout = a.getResourceId(attr, 0);
- break;
-
case com.android.internal.R.styleable.TextView_textEditSuggestionItemLayout:
mTextEditSuggestionItemLayout = a.getResourceId(attr, 0);
break;
@@ -8780,65 +8775,55 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
private class SuggestionsPopupWindow implements OnClickListener {
private static final int MAX_NUMBER_SUGGESTIONS = 5;
private static final int NO_SUGGESTIONS = -1;
- private final PopupWindow mContainer;
- private ViewGroup mSuggestionViewGroup;
+ private final PopupWindow mPopupWindow;
+ private LinearLayout mSuggestionsContainer;
private WordIterator mSuggestionWordIterator;
private TextAppearanceSpan[] mHighlightSpans = new TextAppearanceSpan[0];
public SuggestionsPopupWindow() {
- mContainer = new PopupWindow(TextView.this.mContext, null,
+ mPopupWindow = new PopupWindow(TextView.this.mContext, null,
com.android.internal.R.attr.textSuggestionsWindowStyle);
- mContainer.setSplitTouchEnabled(true);
- mContainer.setClippingEnabled(false);
- mContainer.setWindowLayoutType(WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL);
+ mPopupWindow.setWindowLayoutType(WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL);
+ mPopupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED);
+ mPopupWindow.setOutsideTouchable(true);
- mContainer.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
- mContainer.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
- }
+ mPopupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
+ mPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
- private class SuggestionInfo {
- int suggestionStart, suggestionEnd; // range of suggestion item with replacement text
- int spanStart, spanEnd; // range in TextView where text should be inserted
- SuggestionSpan suggestionSpan; // the SuggestionSpan that this TextView represents
- int suggestionIndex; // the index of the suggestion inside suggestionSpan
- }
+ mSuggestionsContainer = new LinearLayout(TextView.this.mContext);
+ mSuggestionsContainer.setOrientation(LinearLayout.VERTICAL);
- private void initSuggestionViewGroup() {
- if (mSuggestionViewGroup == null) {
- LayoutInflater inflater = (LayoutInflater) TextView.this.mContext.
- getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ LayoutInflater inflater = (LayoutInflater) TextView.this.mContext.
+ getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- if (inflater == null) {
- throw new IllegalArgumentException(
- "Unable to create TextEdit suggestion window inflater");
- }
+ if (inflater == null) {
+ throw new IllegalArgumentException(
+ "Unable to create inflater for TextEdit suggestions");
+ }
- View view = inflater.inflate(mTextEditSuggestionsWindowLayout, null);
+ // Inflate the suggestion items once and for all.
+ for (int i = 0; i < MAX_NUMBER_SUGGESTIONS; i++) {
+ View childView = inflater.inflate(mTextEditSuggestionItemLayout,
+ mSuggestionsContainer, false);
- if (! (view instanceof ViewGroup)) {
+ if (! (childView instanceof TextView)) {
throw new IllegalArgumentException(
- "Inflated TextEdit suggestion window is not a ViewGroup: " + view);
+ "Inflated TextEdit suggestion item is not a TextView: " + childView);
}
- mSuggestionViewGroup = (ViewGroup) view;
-
- // Inflate the suggestion items once and for all.
- for (int i = 0; i < MAX_NUMBER_SUGGESTIONS; i++) {
- View childView = inflater.inflate(mTextEditSuggestionItemLayout,
- mSuggestionViewGroup, false);
-
- if (! (childView instanceof TextView)) {
- throw new IllegalArgumentException(
- "Inflated TextEdit suggestion item is not a TextView: " + childView);
- }
+ childView.setTag(new SuggestionInfo());
+ mSuggestionsContainer.addView(childView);
+ childView.setOnClickListener(this);
+ }
- childView.setTag(new SuggestionInfo());
- mSuggestionViewGroup.addView(childView);
- childView.setOnClickListener(this);
- }
+ mPopupWindow.setContentView(mSuggestionsContainer);
+ }
- mContainer.setContentView(mSuggestionViewGroup);
- }
+ private class SuggestionInfo {
+ int suggestionStart, suggestionEnd; // range of suggestion item with replacement text
+ int spanStart, spanEnd; // range in TextView where text should be inserted
+ SuggestionSpan suggestionSpan; // the SuggestionSpan that this TextView represents
+ int suggestionIndex; // the index of the suggestion inside suggestionSpan
}
public void show() {
@@ -8849,8 +8834,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
SuggestionSpan[] suggestionSpans = spannable.getSpans(pos, pos, SuggestionSpan.class);
final int nbSpans = suggestionSpans.length;
- initSuggestionViewGroup();
-
int totalNbSuggestions = 0;
int spanUnionStart = mText.length();
int spanUnionEnd = 0;
@@ -8865,7 +8848,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
String[] suggestions = suggestionSpan.getSuggestions();
int nbSuggestions = suggestions.length;
for (int suggestionIndex = 0; suggestionIndex < nbSuggestions; suggestionIndex++) {
- TextView textView = (TextView) mSuggestionViewGroup.getChildAt(
+ TextView textView = (TextView) mSuggestionsContainer.getChildAt(
totalNbSuggestions);
textView.setText(suggestions[suggestionIndex]);
SuggestionInfo suggestionInfo = (SuggestionInfo) textView.getTag();
@@ -8885,7 +8868,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
if (totalNbSuggestions == 0) {
// TODO Replace by final text, use a dedicated layout, add a fade out timer...
- TextView textView = (TextView) mSuggestionViewGroup.getChildAt(0);
+ TextView textView = (TextView) mSuggestionsContainer.getChildAt(0);
textView.setText("No suggestions available");
SuggestionInfo suggestionInfo = (SuggestionInfo) textView.getTag();
suggestionInfo.spanStart = NO_SUGGESTIONS;
@@ -8896,22 +8879,22 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
for (int i = 0; i < totalNbSuggestions; i++) {
- final TextView textView = (TextView) mSuggestionViewGroup.getChildAt(i);
+ final TextView textView = (TextView) mSuggestionsContainer.getChildAt(i);
highlightTextDifferences(textView, spanUnionStart, spanUnionEnd);
}
}
for (int i = 0; i < totalNbSuggestions; i++) {
- mSuggestionViewGroup.getChildAt(i).setVisibility(VISIBLE);
+ mSuggestionsContainer.getChildAt(i).setVisibility(VISIBLE);
}
for (int i = totalNbSuggestions; i < MAX_NUMBER_SUGGESTIONS; i++) {
- mSuggestionViewGroup.getChildAt(i).setVisibility(GONE);
+ mSuggestionsContainer.getChildAt(i).setVisibility(GONE);
}
final DisplayMetrics displayMetrics = mContext.getResources().getDisplayMetrics();
final int screenWidth = displayMetrics.widthPixels;
final int screenHeight = displayMetrics.heightPixels;
- mSuggestionViewGroup.measure(
+ mSuggestionsContainer.measure(
View.MeasureSpec.makeMeasureSpec(screenWidth, View.MeasureSpec.AT_MOST),
View.MeasureSpec.makeMeasureSpec(screenHeight, View.MeasureSpec.AT_MOST));
@@ -9071,11 +9054,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
if ((mText instanceof Editable) && mSuggestionRangeSpan != null) {
((Editable) mText).removeSpan(mSuggestionRangeSpan);
}
- mContainer.dismiss();
+ mPopupWindow.dismiss();
}
public boolean isShowing() {
- return mContainer.isShowing();
+ return mPopupWindow.isShowing();
}
@Override
@@ -9139,7 +9122,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
void positionAtCursor() {
- View contentView = mContainer.getContentView();
+ View contentView = mPopupWindow.getContentView();
int width = contentView.getMeasuredWidth();
int height = contentView.getMeasuredHeight();
final int offset = TextView.this.getSelectionStart();
@@ -9173,7 +9156,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
coords[0] = Math.min(displayMetrics.widthPixels - width, coords[0]);
coords[0] = Math.max(0, coords[0]);
- mContainer.showAtLocation(TextView.this, Gravity.NO_GRAVITY, coords[0], coords[1]);
+ mPopupWindow.showAtLocation(TextView.this, Gravity.NO_GRAVITY, coords[0], coords[1]);
}
}
diff --git a/core/java/com/android/internal/content/NativeLibraryHelper.java b/core/java/com/android/internal/content/NativeLibraryHelper.java
index 9ae7def..1531946 100644
--- a/core/java/com/android/internal/content/NativeLibraryHelper.java
+++ b/core/java/com/android/internal/content/NativeLibraryHelper.java
@@ -1,22 +1,9 @@
package com.android.internal.content;
-import android.content.pm.PackageManager;
import android.os.Build;
-import android.os.FileUtils;
-import android.os.SystemProperties;
-import android.util.Log;
-import android.util.Pair;
import android.util.Slog;
import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
/**
* Native libraries helper.
@@ -28,270 +15,22 @@ public class NativeLibraryHelper {
private static final boolean DEBUG_NATIVE = false;
- /*
- * The following constants are returned by listPackageSharedLibsForAbiLI
- * to indicate if native shared libraries were found in the package.
- * Values are:
- * PACKAGE_INSTALL_NATIVE_FOUND_LIBRARIES => native libraries found and installed
- * PACKAGE_INSTALL_NATIVE_NO_LIBRARIES => no native libraries in package
- * PACKAGE_INSTALL_NATIVE_ABI_MISMATCH => native libraries for another ABI found
- * in package (and not installed)
- *
- */
- private static final int PACKAGE_INSTALL_NATIVE_FOUND_LIBRARIES = 0;
- private static final int PACKAGE_INSTALL_NATIVE_NO_LIBRARIES = 1;
- private static final int PACKAGE_INSTALL_NATIVE_ABI_MISMATCH = 2;
+ private static native long nativeSumNativeBinaries(String file, String cpuAbi, String cpuAbi2);
- // Directory in the APK that holds all the native shared libraries.
- private static final String APK_LIB = "lib/";
- private static final int APK_LIB_LENGTH = APK_LIB.length();
-
- // Prefix that native shared libraries must have.
- private static final String LIB_PREFIX = "lib";
- private static final int LIB_PREFIX_LENGTH = LIB_PREFIX.length();
-
- // Suffix that the native shared libraries must have.
- private static final String LIB_SUFFIX = ".so";
- private static final int LIB_SUFFIX_LENGTH = LIB_SUFFIX.length();
-
- // Name of the GDB binary.
- private static final String GDBSERVER = "gdbserver";
-
- // the minimum length of a valid native shared library of the form
- // lib/<something>/lib<name>.so.
- private static final int MIN_ENTRY_LENGTH = APK_LIB_LENGTH + 2 + LIB_PREFIX_LENGTH + 1
- + LIB_SUFFIX_LENGTH;
-
- /*
- * Find all files of the form lib/<cpuAbi>/lib<name>.so in the .apk
- * and add them to a list to be installed later.
- *
- * NOTE: this method may throw an IOException if the library cannot
- * be copied to its final destination, e.g. if there isn't enough
- * room left on the data partition, or a ZipException if the package
- * file is malformed.
- */
- private static int listPackageSharedLibsForAbiLI(ZipFile zipFile,
- String cpuAbi, List<Pair<ZipEntry, String>> libEntries) throws IOException,
- ZipException {
- final int cpuAbiLen = cpuAbi.length();
- boolean hasNativeLibraries = false;
- boolean installedNativeLibraries = false;
-
- if (DEBUG_NATIVE) {
- Slog.d(TAG, "Checking " + zipFile.getName() + " for shared libraries of CPU ABI type "
- + cpuAbi);
- }
-
- Enumeration<? extends ZipEntry> entries = zipFile.entries();
-
- while (entries.hasMoreElements()) {
- ZipEntry entry = entries.nextElement();
-
- // skip directories
- if (entry.isDirectory()) {
- continue;
- }
- String entryName = entry.getName();
-
- /*
- * Check that the entry looks like lib/<something>/lib<name>.so
- * here, but don't check the ABI just yet.
- *
- * - must be sufficiently long
- * - must end with LIB_SUFFIX, i.e. ".so"
- * - must start with APK_LIB, i.e. "lib/"
- */
- if (entryName.length() < MIN_ENTRY_LENGTH || !entryName.endsWith(LIB_SUFFIX)
- || !entryName.startsWith(APK_LIB)) {
- continue;
- }
-
- // file name must start with LIB_PREFIX, i.e. "lib"
- int lastSlash = entryName.lastIndexOf('/');
-
- if (lastSlash < 0
- || !entryName.regionMatches(lastSlash + 1, LIB_PREFIX, 0, LIB_PREFIX_LENGTH)) {
- continue;
- }
-
- hasNativeLibraries = true;
-
- // check the cpuAbi now, between lib/ and /lib<name>.so
- if (lastSlash != APK_LIB_LENGTH + cpuAbiLen
- || !entryName.regionMatches(APK_LIB_LENGTH, cpuAbi, 0, cpuAbiLen))
- continue;
-
- /*
- * Extract the library file name, ensure it doesn't contain
- * weird characters. we're guaranteed here that it doesn't contain
- * a directory separator though.
- */
- String libFileName = entryName.substring(lastSlash+1);
- if (!FileUtils.isFilenameSafe(new File(libFileName))) {
- continue;
- }
-
- installedNativeLibraries = true;
-
- if (DEBUG_NATIVE) {
- Log.d(TAG, "Caching shared lib " + entry.getName());
- }
-
- libEntries.add(Pair.create(entry, libFileName));
- }
- if (!hasNativeLibraries)
- return PACKAGE_INSTALL_NATIVE_NO_LIBRARIES;
-
- if (!installedNativeLibraries)
- return PACKAGE_INSTALL_NATIVE_ABI_MISMATCH;
-
- return PACKAGE_INSTALL_NATIVE_FOUND_LIBRARIES;
+ public static long sumNativeBinariesLI(File apkFile) {
+ final String cpuAbi = Build.CPU_ABI;
+ final String cpuAbi2 = Build.CPU_ABI2;
+ return nativeSumNativeBinaries(apkFile.getPath(), cpuAbi, cpuAbi2);
}
- /*
- * Find the gdbserver executable program in a package at
- * lib/<cpuAbi>/gdbserver and add it to the list of binaries
- * to be copied out later.
- *
- * Returns PACKAGE_INSTALL_NATIVE_FOUND_LIBRARIES on success,
- * or PACKAGE_INSTALL_NATIVE_NO_LIBRARIES otherwise.
- */
- private static int listPackageGdbServerLI(ZipFile zipFile, String cpuAbi,
- List<Pair<ZipEntry, String>> nativeFiles) throws IOException, ZipException {
- final String apkGdbServerPath = "lib/" + cpuAbi + "/" + GDBSERVER;
-
- Enumeration<? extends ZipEntry> entries = zipFile.entries();
-
- while (entries.hasMoreElements()) {
- ZipEntry entry = entries.nextElement();
- // skip directories
- if (entry.isDirectory()) {
- continue;
- }
- String entryName = entry.getName();
-
- if (!entryName.equals(apkGdbServerPath)) {
- continue;
- }
-
- if (false) {
- Log.d(TAG, "Found gdbserver: " + entry.getName());
- }
+ private native static int nativeCopyNativeBinaries(String filePath, String sharedLibraryPath,
+ String cpuAbi, String cpuAbi2);
- final String installGdbServerPath = GDBSERVER;
- nativeFiles.add(Pair.create(entry, installGdbServerPath));
-
- return PACKAGE_INSTALL_NATIVE_FOUND_LIBRARIES;
- }
- return PACKAGE_INSTALL_NATIVE_NO_LIBRARIES;
- }
-
- /*
- * Examine shared libraries stored in the APK as
- * lib/<cpuAbi>/lib<name>.so and add them to a list to be copied
- * later.
- *
- * This function will first try the main CPU ABI defined by Build.CPU_ABI
- * (which corresponds to ro.product.cpu.abi), and also try an alternate
- * one if ro.product.cpu.abi2 is defined.
- */
- public static int listPackageNativeBinariesLI(ZipFile zipFile,
- List<Pair<ZipEntry, String>> nativeFiles) throws ZipException, IOException {
- String cpuAbi = Build.CPU_ABI;
-
- int result = listPackageSharedLibsForAbiLI(zipFile, cpuAbi, nativeFiles);
-
- /*
- * Some architectures are capable of supporting several CPU ABIs
- * for example, 'armeabi-v7a' also supports 'armeabi' native code
- * this is indicated by the definition of the ro.product.cpu.abi2
- * system property.
- *
- * only scan the package twice in case of ABI mismatch
- */
- if (result == PACKAGE_INSTALL_NATIVE_ABI_MISMATCH) {
- final String cpuAbi2 = SystemProperties.get("ro.product.cpu.abi2", null);
- if (cpuAbi2 != null) {
- result = listPackageSharedLibsForAbiLI(zipFile, cpuAbi2, nativeFiles);
- }
-
- if (result == PACKAGE_INSTALL_NATIVE_ABI_MISMATCH) {
- Slog.w(TAG, "Native ABI mismatch from package file");
- return PackageManager.INSTALL_FAILED_INVALID_APK;
- }
-
- if (result == PACKAGE_INSTALL_NATIVE_FOUND_LIBRARIES) {
- cpuAbi = cpuAbi2;
- }
- }
-
- /*
- * Debuggable packages may have gdbserver embedded, so add it to
- * the list to the list of items to be extracted (as lib/gdbserver)
- * into the application's native library directory later.
- */
- if (result == PACKAGE_INSTALL_NATIVE_FOUND_LIBRARIES) {
- listPackageGdbServerLI(zipFile, cpuAbi, nativeFiles);
- }
- return PackageManager.INSTALL_SUCCEEDED;
- }
-
- public static int copyNativeBinariesLI(File scanFile, File sharedLibraryDir) {
- /*
- * Check all the native files that need to be copied and add
- * that to the container size.
- */
- ZipFile zipFile;
- try {
- zipFile = new ZipFile(scanFile);
-
- List<Pair<ZipEntry, String>> nativeFiles = new LinkedList<Pair<ZipEntry, String>>();
-
- NativeLibraryHelper.listPackageNativeBinariesLI(zipFile, nativeFiles);
-
- final int N = nativeFiles.size();
-
- for (int i = 0; i < N; i++) {
- final Pair<ZipEntry, String> entry = nativeFiles.get(i);
-
- File destFile = new File(sharedLibraryDir, entry.second);
- copyNativeBinaryLI(zipFile, entry.first, sharedLibraryDir, destFile);
- }
- zipFile.close();
- } catch (ZipException e) {
- Slog.w(TAG, "Failed to extract data from package file", e);
- return PackageManager.INSTALL_FAILED_INVALID_APK;
- } catch (IOException e) {
- Slog.w(TAG, "Failed to cache package shared libs", e);
- return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
- }
-
- return PackageManager.INSTALL_SUCCEEDED;
- }
-
- private static void copyNativeBinaryLI(ZipFile zipFile, ZipEntry entry,
- File binaryDir, File binaryFile) throws IOException {
- InputStream inputStream = zipFile.getInputStream(entry);
- try {
- File tempFile = File.createTempFile("tmp", "tmp", binaryDir);
- String tempFilePath = tempFile.getPath();
- // XXX package manager can't change owner, so the executable files for
- // now need to be left as world readable and owned by the system.
- if (!FileUtils.copyToFile(inputStream, tempFile)
- || !tempFile.setLastModified(entry.getTime())
- || FileUtils.setPermissions(tempFilePath, FileUtils.S_IRUSR | FileUtils.S_IWUSR
- | FileUtils.S_IRGRP | FileUtils.S_IXUSR | FileUtils.S_IXGRP
- | FileUtils.S_IXOTH | FileUtils.S_IROTH, -1, -1) != 0
- || !tempFile.renameTo(binaryFile)) {
- // Failed to properly write file.
- tempFile.delete();
- throw new IOException("Couldn't create cached binary " + binaryFile + " in "
- + binaryDir);
- }
- } finally {
- inputStream.close();
- }
+ public static int copyNativeBinariesIfNeededLI(File apkFile, File sharedLibraryDir) {
+ final String cpuAbi = Build.CPU_ABI;
+ final String cpuAbi2 = Build.CPU_ABI2;
+ return nativeCopyNativeBinaries(apkFile.getPath(), sharedLibraryDir.getPath(), cpuAbi,
+ cpuAbi2);
}
// Convenience method to call removeNativeBinariesFromDirLI(File)
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index 6ec186d..16336e0 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -474,7 +474,7 @@ public class ZygoteInit {
String args[] = {
"--setuid=1000",
"--setgid=1000",
- "--setgroups=1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1018,3001,3002,3003",
+ "--setgroups=1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1018,3001,3002,3003,3006",
"--capabilities=130104352,130104352",
"--runtime-init",
"--nice-name=system_server",
diff --git a/core/java/com/android/internal/view/menu/ActionMenuView.java b/core/java/com/android/internal/view/menu/ActionMenuView.java
index bf2965b..bff621c 100644
--- a/core/java/com/android/internal/view/menu/ActionMenuView.java
+++ b/core/java/com/android/internal/view/menu/ActionMenuView.java
@@ -36,8 +36,8 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo
private boolean mReserveOverflow;
private ActionMenuPresenter mPresenter;
- private boolean mUpdateContentsBeforeMeasure;
private boolean mFormatItems;
+ private int mFormatItemsWidth;
private int mMinCellSize;
private int mMeasuredExtraWidth;
@@ -71,19 +71,21 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo
}
@Override
- public void requestLayout() {
- // Layout can influence how many action items fit.
- mUpdateContentsBeforeMeasure = true;
- super.requestLayout();
- }
-
- @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// If we've been given an exact size to match, apply special formatting during layout.
+ final boolean wasFormatted = mFormatItems;
mFormatItems = MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.EXACTLY;
- if (mUpdateContentsBeforeMeasure && mMenu != null) {
+
+ if (wasFormatted != mFormatItems) {
+ mFormatItemsWidth = 0; // Reset this when switching modes
+ }
+
+ // Special formatting can change whether items can fit as action buttons.
+ // Kick the menu and update presenters when this changes.
+ final int widthSize = MeasureSpec.getMode(widthMeasureSpec);
+ if (mFormatItems && mMenu != null && widthSize != mFormatItemsWidth) {
+ mFormatItemsWidth = widthSize;
mMenu.onItemsChanged(true);
- mUpdateContentsBeforeMeasure = false;
}
if (mFormatItems) {
diff --git a/core/java/com/android/internal/view/menu/MenuBuilder.java b/core/java/com/android/internal/view/menu/MenuBuilder.java
index 159b3da..19cbe25 100644
--- a/core/java/com/android/internal/view/menu/MenuBuilder.java
+++ b/core/java/com/android/internal/view/menu/MenuBuilder.java
@@ -27,6 +27,7 @@ import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Parcelable;
+import android.util.Log;
import android.util.SparseArray;
import android.view.ActionProvider;
import android.view.ContextMenu.ContextMenuInfo;
@@ -47,7 +48,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* standard menu UI.
*/
public class MenuBuilder implements Menu {
- private static final String LOGTAG = "MenuBuilder";
+ private static final String TAG = "MenuBuilder";
private static final String PRESENTER_KEY = "android:menu:presenters";
private static final String ACTION_VIEW_STATES_KEY = "android:menu:actionviewstates";
diff --git a/core/java/com/android/internal/view/menu/MenuItemImpl.java b/core/java/com/android/internal/view/menu/MenuItemImpl.java
index b0a002d..8b53bb8 100644
--- a/core/java/com/android/internal/view/menu/MenuItemImpl.java
+++ b/core/java/com/android/internal/view/menu/MenuItemImpl.java
@@ -563,7 +563,7 @@ public final class MenuItemImpl implements MenuItem {
public MenuItem setActionView(int resId) {
final Context context = mMenu.getContext();
final LayoutInflater inflater = LayoutInflater.from(context);
- setActionView(inflater.inflate(resId, new LinearLayout(context)));
+ setActionView(inflater.inflate(resId, new LinearLayout(context), false));
return this;
}
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java
index 09262e0..468f28e 100644
--- a/core/java/com/android/internal/widget/ActionBarView.java
+++ b/core/java/com/android/internal/widget/ActionBarView.java
@@ -1323,11 +1323,18 @@ public class ActionBarView extends AbsActionBarView {
if (mExpandedActionView instanceof CollapsibleActionView) {
((CollapsibleActionView) mExpandedActionView).onActionViewExpanded();
}
+
return true;
}
@Override
public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) {
+ // Do this before detaching the actionview from the hierarchy, in case
+ // it needs to dismiss the soft keyboard, etc.
+ if (mExpandedActionView instanceof CollapsibleActionView) {
+ ((CollapsibleActionView) mExpandedActionView).onActionViewCollapsed();
+ }
+
removeView(mExpandedActionView);
removeView(mExpandedHomeLayout);
if ((mDisplayOptions & ActionBar.DISPLAY_SHOW_HOME) != 0) {
@@ -1349,16 +1356,12 @@ public class ActionBarView extends AbsActionBarView {
if (mCustomNavView != null && (mDisplayOptions & ActionBar.DISPLAY_SHOW_CUSTOM) != 0) {
mCustomNavView.setVisibility(VISIBLE);
}
- View collapsedView = mExpandedActionView;
mExpandedActionView = null;
mExpandedHomeLayout.setIcon(null);
mCurrentExpandedItem = null;
requestLayout();
item.setActionViewExpanded(false);
- if (collapsedView instanceof CollapsibleActionView) {
- ((CollapsibleActionView) collapsedView).onActionViewCollapsed();
- }
return true;
}
diff --git a/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java b/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java
index 04bb689..94990b6 100644
--- a/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java
+++ b/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java
@@ -45,7 +45,7 @@ import com.android.internal.R;
*/
public class MultiWaveView extends View {
private static final String TAG = "MultiWaveView";
- private static final boolean DEBUG = true;
+ private static final boolean DEBUG = false;
// Wave state machine
private static final int STATE_IDLE = 0;
diff --git a/core/jni/Android.mk b/core/jni/Android.mk
index 514e59d..6e73889 100644
--- a/core/jni/Android.mk
+++ b/core/jni/Android.mk
@@ -29,6 +29,7 @@ LOCAL_SRC_FILES:= \
ActivityManager.cpp \
AndroidRuntime.cpp \
Time.cpp \
+ com_android_internal_content_NativeLibraryHelper.cpp \
com_google_android_gles_jni_EGLImpl.cpp \
com_google_android_gles_jni_GLImpl.cpp.arm \
android_app_NativeActivity.cpp \
@@ -178,6 +179,7 @@ LOCAL_C_INCLUDES += \
external/icu4c/common \
external/jpeg \
external/harfbuzz/src \
+ external/zlib \
frameworks/opt/emoji \
libcore/include
@@ -211,6 +213,7 @@ LOCAL_SHARED_LIBRARIES := \
libnfc_ndef \
libusbhost \
libharfbuzz \
+ libz \
ifeq ($(USE_OPENGL_RENDERER),true)
LOCAL_SHARED_LIBRARIES += libhwui
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 6ab8fe3..9e46d80 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -175,6 +175,7 @@ extern int register_android_view_VelocityTracker(JNIEnv* env);
extern int register_android_content_res_ObbScanner(JNIEnv* env);
extern int register_android_content_res_Configuration(JNIEnv* env);
extern int register_android_animation_PropertyValuesHolder(JNIEnv *env);
+extern int register_com_android_internal_content_NativeLibraryHelper(JNIEnv *env);
static AndroidRuntime* gCurRuntime = NULL;
@@ -1199,6 +1200,7 @@ static const RegJNIRec gRegJNI[] = {
REG_JNI(register_android_content_res_Configuration),
REG_JNI(register_android_animation_PropertyValuesHolder),
+ REG_JNI(register_com_android_internal_content_NativeLibraryHelper),
};
/*
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index 4687ee0..3328fc8 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -38,6 +38,12 @@ struct fields_t {
jfieldID surfaceTexture;
jfieldID facing;
jfieldID orientation;
+ jfieldID face_rectangle;
+ jfieldID face_score;
+ jfieldID rect_left;
+ jfieldID rect_top;
+ jfieldID rect_right;
+ jfieldID rect_bottom;
jmethodID post_event;
};
@@ -708,6 +714,35 @@ static void android_hardware_Camera_setDisplayOrientation(JNIEnv *env, jobject t
}
}
+static void android_hardware_Camera_startFaceDetection(JNIEnv *env, jobject thiz,
+ jint type, jobjectArray face)
+{
+ LOGV("startFaceDetection");
+ JNICameraContext* context;
+ sp<Camera> camera = get_native_camera(env, thiz, &context);
+ if (camera == 0) return;
+
+ status_t rc = camera->sendCommand(CAMERA_CMD_START_FACE_DETECTION, type, 0);
+ if (rc == BAD_VALUE) {
+ char msg[64];
+ snprintf(msg, sizeof(msg), "invalid face detection type=%d", type);
+ jniThrowException(env, "java/lang/IllegalArgumentException", msg);
+ } else if (rc != NO_ERROR) {
+ jniThrowRuntimeException(env, "start face detection failed");
+ }
+}
+
+static void android_hardware_Camera_stopFaceDetection(JNIEnv *env, jobject thiz)
+{
+ LOGV("stopFaceDetection");
+ sp<Camera> camera = get_native_camera(env, thiz, NULL);
+ if (camera == 0) return;
+
+ if (camera->sendCommand(CAMERA_CMD_STOP_FACE_DETECTION, 0, 0) != NO_ERROR) {
+ jniThrowRuntimeException(env, "stop face detection failed");
+ }
+}
+
//-------------------------------------------------
static JNINativeMethod camMethods[] = {
@@ -732,7 +767,7 @@ static JNINativeMethod camMethods[] = {
{ "startPreview",
"()V",
(void *)android_hardware_Camera_startPreview },
- { "stopPreview",
+ { "_stopPreview",
"()V",
(void *)android_hardware_Camera_stopPreview },
{ "previewEnabled",
@@ -777,6 +812,12 @@ static JNINativeMethod camMethods[] = {
{ "setDisplayOrientation",
"(I)V",
(void *)android_hardware_Camera_setDisplayOrientation },
+ { "_startFaceDetection",
+ "(I)V",
+ (void *)android_hardware_Camera_startFaceDetection },
+ { "_stopFaceDetection",
+ "()V",
+ (void *)android_hardware_Camera_stopFaceDetection},
};
struct field {
@@ -818,6 +859,12 @@ int register_android_hardware_Camera(JNIEnv *env)
ANDROID_GRAPHICS_SURFACETEXTURE_JNI_ID, "I", &fields.surfaceTexture },
{ "android/hardware/Camera$CameraInfo", "facing", "I", &fields.facing },
{ "android/hardware/Camera$CameraInfo", "orientation", "I", &fields.orientation },
+ { "android/hardware/Camera$FaceMetadata", "face", "Landroid/graphics/Rect;", &fields.face_rectangle },
+ { "android/hardware/Camera$FaceMetadata", "score", "I", &fields.face_score },
+ { "android/graphics/Rect", "left", "I", &fields.rect_left },
+ { "android/graphics/Rect", "top", "I", &fields.rect_top },
+ { "android/graphics/Rect", "right", "I", &fields.rect_right },
+ { "android/graphics/Rect", "bottom", "I", &fields.rect_bottom },
};
if (find_fields(env, fields_to_find, NELEM(fields_to_find)) < 0)
diff --git a/core/jni/android_view_Display.cpp b/core/jni/android_view_Display.cpp
index 97f9fc3..5e668b9 100644
--- a/core/jni/android_view_Display.cpp
+++ b/core/jni/android_view_Display.cpp
@@ -45,11 +45,6 @@ struct offsets_t {
};
static offsets_t offsets;
-static int gShortSize = -1;
-static int gLongSize = -1;
-static int gOldSize = -1;
-static int gNewSize = -1;
-
// ----------------------------------------------------------------------------
static void android_view_Display_init(
@@ -68,30 +63,6 @@ static void android_view_Display_init(
env->SetFloatField(clazz, offsets.ydpi, info.ydpi);
}
-static jint android_view_Display_getWidth(
- JNIEnv* env, jobject clazz)
-{
- DisplayID dpy = env->GetIntField(clazz, offsets.display);
- jint w = SurfaceComposerClient::getDisplayWidth(dpy);
- if (gShortSize > 0) {
- jint h = SurfaceComposerClient::getDisplayHeight(dpy);
- return w < h ? gShortSize : gLongSize;
- }
- return w == gOldSize ? gNewSize : w;
-}
-
-static jint android_view_Display_getHeight(
- JNIEnv* env, jobject clazz)
-{
- DisplayID dpy = env->GetIntField(clazz, offsets.display);
- int h = SurfaceComposerClient::getDisplayHeight(dpy);
- if (gShortSize > 0) {
- jint w = SurfaceComposerClient::getDisplayWidth(dpy);
- return h < w ? gShortSize : gLongSize;
- }
- return h == gOldSize ? gNewSize : h;
-}
-
static jint android_view_Display_getRawWidth(
JNIEnv* env, jobject clazz)
{
@@ -132,10 +103,6 @@ static JNINativeMethod gMethods[] = {
(void*)android_view_Display_getDisplayCount },
{ "init", "(I)V",
(void*)android_view_Display_init },
- { "getRealWidth", "()I",
- (void*)android_view_Display_getWidth },
- { "getRealHeight", "()I",
- (void*)android_view_Display_getHeight },
{ "getRawWidth", "()I",
(void*)android_view_Display_getRawWidth },
{ "getRawHeight", "()I",
@@ -156,24 +123,6 @@ void nativeClassInit(JNIEnv* env, jclass clazz)
int register_android_view_Display(JNIEnv* env)
{
- char buf[PROPERTY_VALUE_MAX];
- int len = property_get("persist.demo.screensizehack", buf, "");
- if (len > 0) {
- int temp1, temp2;
- if (sscanf(buf, "%dx%d", &temp1, &temp2) == 2) {
- if (temp1 < temp2) {
- gShortSize = temp1;
- gLongSize = temp2;
- } else {
- gShortSize = temp2;
- gLongSize = temp1;
- }
- } else if (sscanf(buf, "%d=%d", &temp1, &temp2) == 2) {
- gOldSize = temp1;
- gNewSize = temp2;
- }
- }
-
return AndroidRuntime::registerNativeMethods(env,
kClassPathName, gMethods, NELEM(gMethods));
}
diff --git a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
new file mode 100644
index 0000000..830f70e
--- /dev/null
+++ b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
@@ -0,0 +1,375 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * 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.
+ */
+
+#define LOG_TAG "NativeLibraryHelper"
+//#define LOG_NDEBUG 0
+
+#include <android_runtime/AndroidRuntime.h>
+
+#include <utils/Log.h>
+#include <ScopedUtfChars.h>
+#include <utils/ZipFileRO.h>
+
+#include <zlib.h>
+
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+
+#define APK_LIB "lib/"
+#define APK_LIB_LEN (sizeof(APK_LIB) - 1)
+
+#define LIB_PREFIX "/lib"
+#define LIB_PREFIX_LEN (sizeof(LIB_PREFIX) - 1)
+
+#define LIB_SUFFIX ".so"
+#define LIB_SUFFIX_LEN (sizeof(LIB_SUFFIX) - 1)
+
+#define GDBSERVER "gdbserver"
+#define GDBSERVER_LEN (sizeof(GDBSERVER) - 1)
+
+#define TMP_FILE_PATTERN "/tmp.XXXXXX"
+#define TMP_FILE_PATTERN_LEN (sizeof(TMP_FILE_PATTERN) - 1)
+
+namespace android {
+
+typedef void (*iterFunc)(JNIEnv*, void*, ZipFileRO*, ZipEntryRO, const char*);
+
+// These match PackageManager.java install codes
+typedef enum {
+ INSTALL_SUCCEEDED = 0,
+ INSTALL_FAILED_INVALID_APK = -2,
+ INSTALL_FAILED_INSUFFICIENT_STORAGE = -4,
+} install_status_t;
+
+// Equivalent to isFilenameSafe
+static bool
+isFilenameSafe(const char* filename)
+{
+ off_t offset = 0;
+ for (;;) {
+ switch (*(filename + offset)) {
+ case 0:
+ // Null.
+ // If we've reached the end, all the other characters are good.
+ return true;
+
+ case 'A' ... 'Z':
+ case 'a' ... 'z':
+ case '0' ... '9':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '=':
+ case '_':
+ offset++;
+ break;
+
+ default:
+ // We found something that is not good.
+ return false;
+ }
+ }
+ // Should not reach here.
+}
+
+static bool
+isFileDifferent(const char* filePath, size_t fileSize, time_t modifiedTime,
+ long zipCrc, struct stat64* st)
+{
+ if (lstat64(filePath, st) < 0) {
+ // File is not found or cannot be read.
+ LOGV("Couldn't stat %s, copying: %s\n", filePath, strerror(errno));
+ return true;
+ }
+
+ if (!S_ISREG(st->st_mode)) {
+ return true;
+ }
+
+ if (st->st_size != fileSize) {
+ return true;
+ }
+
+ // For some reason, bionic doesn't define st_mtime as time_t
+ if (time_t(st->st_mtime) != modifiedTime) {
+ LOGV("mod time doesn't match: %ld vs. %ld\n", st->st_mtime, modifiedTime);
+ return true;
+ }
+
+ int fd = TEMP_FAILURE_RETRY(open(filePath, O_RDONLY));
+ if (fd < 0) {
+ LOGV("Couldn't open file %s: %s", filePath, strerror(errno));
+ return true;
+ }
+
+ long crc = crc32(0L, Z_NULL, 0);
+ unsigned char crcBuffer[16384];
+ ssize_t numBytes;
+ while ((numBytes = TEMP_FAILURE_RETRY(read(fd, crcBuffer, sizeof(crcBuffer)))) > 0) {
+ crc = crc32(crc, crcBuffer, numBytes);
+ }
+ close(fd);
+
+ LOGV("%s: crc = %lx, zipCrc = %lx\n", filePath, crc, zipCrc);
+
+ if (crc != zipCrc) {
+ return true;
+ }
+
+ return false;
+}
+
+static void
+sumFiles(JNIEnv* env, void* arg, ZipFileRO* zipFile, ZipEntryRO zipEntry, const char* fileName)
+{
+ size_t* total = (size_t*) arg;
+ size_t uncompLen;
+
+ if (!zipFile->getEntryInfo(zipEntry, NULL, &uncompLen, NULL, NULL, NULL, NULL)) {
+ return;
+ }
+
+ *total += uncompLen;
+}
+
+/*
+ * Copy the native library if needed.
+ *
+ * This function assumes the library and path names passed in are considered safe.
+ */
+static void
+copyFileIfChanged(JNIEnv *env, void* arg, ZipFileRO* zipFile, ZipEntryRO zipEntry, const char* fileName)
+{
+ jstring* javaNativeLibPath = (jstring*) arg;
+ ScopedUtfChars nativeLibPath(env, *javaNativeLibPath);
+
+ size_t uncompLen;
+ long when;
+ long crc;
+ time_t modTime;
+
+ if (!zipFile->getEntryInfo(zipEntry, NULL, &uncompLen, NULL, NULL, &when, &crc)) {
+ return;
+ } else {
+ struct tm t;
+ ZipFileRO::zipTimeToTimespec(when, &t);
+ modTime = mktime(&t);
+ }
+
+ // Build local file path
+ const size_t fileNameLen = strlen(fileName);
+ char localFileName[nativeLibPath.size() + fileNameLen + 2];
+
+ if (strlcpy(localFileName, nativeLibPath.c_str(), sizeof(localFileName)) != nativeLibPath.size()) {
+ LOGD("Couldn't allocate local file name for library: %s", strerror(errno));
+ return;
+ }
+
+ *(localFileName + nativeLibPath.size()) = '/';
+
+ if (strlcpy(localFileName + nativeLibPath.size() + 1, fileName, sizeof(localFileName)
+ - nativeLibPath.size() - 1) != fileNameLen) {
+ LOGD("Couldn't allocate local file name for library: %s", strerror(errno));
+ return;
+ }
+
+ // Only copy out the native file if it's different.
+ struct stat st;
+ if (!isFileDifferent(localFileName, uncompLen, modTime, crc, &st)) {
+ return;
+ }
+
+ char localTmpFileName[nativeLibPath.size() + TMP_FILE_PATTERN_LEN + 2];
+ if (strlcpy(localTmpFileName, nativeLibPath.c_str(), sizeof(localTmpFileName))
+ != nativeLibPath.size()) {
+ LOGD("Couldn't allocate local file name for library: %s", strerror(errno));
+ return;
+ }
+
+ *(localFileName + nativeLibPath.size()) = '/';
+
+ if (strlcpy(localTmpFileName + nativeLibPath.size(), TMP_FILE_PATTERN,
+ TMP_FILE_PATTERN_LEN - nativeLibPath.size()) != TMP_FILE_PATTERN_LEN) {
+ LOGI("Couldn't allocate temporary file name for library: %s", strerror(errno));
+ return;
+ }
+
+ int fd = mkstemp(localTmpFileName);
+ if (fd < 0) {
+ LOGI("Couldn't open temporary file name: %s: %s\n", localTmpFileName, strerror(errno));
+ return;
+ }
+
+ if (!zipFile->uncompressEntry(zipEntry, fd)) {
+ LOGI("Failed uncompressing %s to %s: %s", fileName, localTmpFileName, strerror(errno));
+ close(fd);
+ unlink(localTmpFileName);
+ return;
+ }
+
+ close(fd);
+
+ // Set the modification time for this file to the ZIP's mod time.
+ struct timeval times[2];
+ times[0].tv_sec = st.st_atime;
+ times[1].tv_sec = modTime;
+ times[0].tv_usec = times[1].tv_usec = 0;
+ if (utimes(localTmpFileName, times) < 0) {
+ LOGI("Couldn't change modification time on %s: %s\n", localTmpFileName, strerror(errno));
+ unlink(localTmpFileName);
+ return;
+ }
+
+ // Set the mode to 755
+ static const mode_t mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
+ if (chmod(localTmpFileName, mode) < 0) {
+ LOGI("Couldn't change permissions on %s: %s\n", localTmpFileName, strerror(errno));
+ unlink(localTmpFileName);
+ return;
+ }
+
+ // Finally, rename it to the final name.
+ if (rename(localTmpFileName, localFileName) < 0) {
+ LOGI("Couldn't rename %s to %s: %s\n", localTmpFileName, localFileName, strerror(errno));
+ unlink(localTmpFileName);
+ return;
+ }
+
+ LOGV("Successfully moved %s to %s\n", localTmpFileName, localFileName);
+}
+
+static install_status_t
+iterateOverNativeFiles(JNIEnv *env, jstring javaFilePath, jstring javaCpuAbi, jstring javaCpuAbi2,
+ iterFunc callFunc, void* callArg) {
+ ScopedUtfChars filePath(env, javaFilePath);
+ ScopedUtfChars cpuAbi(env, javaCpuAbi);
+ ScopedUtfChars cpuAbi2(env, javaCpuAbi2);
+
+ ZipFileRO zipFile;
+
+ if (zipFile.open(filePath.c_str()) != NO_ERROR) {
+ LOGI("Couldn't open APK %s\n", filePath.c_str());
+ return INSTALL_FAILED_INVALID_APK;
+ }
+
+ const int N = zipFile.getNumEntries();
+
+ char fileName[PATH_MAX];
+
+ for (int i = 0; i < N; i++) {
+ const ZipEntryRO entry = zipFile.findEntryByIndex(i);
+ if (entry == NULL) {
+ continue;
+ }
+
+ // Make sure this entry has a filename.
+ if (zipFile.getEntryFileName(entry, fileName, sizeof(fileName))) {
+ continue;
+ }
+
+ // Make sure we're in the lib directory of the ZIP.
+ if (strncmp(fileName, APK_LIB, APK_LIB_LEN)) {
+ continue;
+ }
+
+ // Make sure the filename is at least to the minimum library name size.
+ const size_t fileNameLen = strlen(fileName);
+ static const size_t minLength = APK_LIB_LEN + 2 + LIB_PREFIX_LEN + 1 + LIB_SUFFIX_LEN;
+ if (fileNameLen < minLength) {
+ continue;
+ }
+
+ const char* lastSlash = strrchr(fileName, '/');
+ if (lastSlash == NULL) {
+ LOG_ASSERT("last slash was null somehow for %s\n", fileName);
+ continue;
+ }
+
+ // Check to make sure the CPU ABI of this file is one we support.
+ const char* cpuAbiOffset = fileName + APK_LIB_LEN;
+ const size_t cpuAbiRegionSize = lastSlash - cpuAbiOffset;
+
+ LOGV("Comparing ABIs %s and %s versus %s\n", cpuAbi.c_str(), cpuAbi2.c_str(), cpuAbiOffset);
+ if (cpuAbi.size() == cpuAbiRegionSize
+ && *(cpuAbiOffset + cpuAbi.size()) == '/'
+ && !strncmp(cpuAbiOffset, cpuAbi.c_str(), cpuAbiRegionSize)) {
+ LOGV("Using ABI %s\n", cpuAbi.c_str());
+ } else if (cpuAbi2.size() == cpuAbiRegionSize
+ && *(cpuAbiOffset + cpuAbi2.size()) == '/'
+ && !strncmp(cpuAbiOffset, cpuAbi2.c_str(), cpuAbiRegionSize)) {
+ LOGV("Using ABI %s\n", cpuAbi2.c_str());
+ } else {
+ LOGV("abi didn't match anything: %s (end at %zd)\n", cpuAbiOffset, cpuAbiRegionSize);
+ continue;
+ }
+
+ // If this is a .so file, check to see if we need to copy it.
+ if (!strncmp(fileName + fileNameLen - LIB_SUFFIX_LEN, LIB_SUFFIX, LIB_SUFFIX_LEN)
+ && !strncmp(lastSlash, LIB_PREFIX, LIB_PREFIX_LEN)
+ && isFilenameSafe(lastSlash + 1)) {
+ callFunc(env, callArg, &zipFile, entry, lastSlash + 1);
+ } else if (!strncmp(lastSlash + 1, GDBSERVER, GDBSERVER_LEN)) {
+ callFunc(env, callArg, &zipFile, entry, lastSlash + 1);
+ }
+ }
+
+ return INSTALL_SUCCEEDED;
+}
+
+static jint
+com_android_internal_content_NativeLibraryHelper_copyNativeBinaries(JNIEnv *env, jclass clazz,
+ jstring javaFilePath, jstring javaNativeLibPath, jstring javaCpuAbi, jstring javaCpuAbi2)
+{
+ return iterateOverNativeFiles(env, javaFilePath, javaCpuAbi, javaCpuAbi2,
+ copyFileIfChanged, &javaNativeLibPath);
+}
+
+static jlong
+com_android_internal_content_NativeLibraryHelper_sumNativeBinaries(JNIEnv *env, jclass clazz,
+ jstring javaFilePath, jstring javaCpuAbi, jstring javaCpuAbi2)
+{
+ size_t totalSize = 0;
+
+ iterateOverNativeFiles(env, javaFilePath, javaCpuAbi, javaCpuAbi2, sumFiles, &totalSize);
+
+ return totalSize;
+}
+
+static JNINativeMethod gMethods[] = {
+ {"nativeCopyNativeBinaries",
+ "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I",
+ (void *)com_android_internal_content_NativeLibraryHelper_copyNativeBinaries},
+ {"nativeSumNativeBinaries",
+ "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J",
+ (void *)com_android_internal_content_NativeLibraryHelper_sumNativeBinaries},
+};
+
+
+int register_com_android_internal_content_NativeLibraryHelper(JNIEnv *env)
+{
+ return AndroidRuntime::registerNativeMethods(env,
+ "com/android/internal/content/NativeLibraryHelper", gMethods, NELEM(gMethods));
+}
+
+};
diff --git a/core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.png
index 8ea94e1..1b34672 100644
--- a/core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_light.9.png b/core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_light.9.png
index 8ea94e1..1b34672 100644
--- a/core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_disabled_holo.9.png b/core/res/res/drawable-hdpi/btn_default_disabled_holo.9.png
index 6840962..71ae113 100644
--- a/core/res/res/drawable-hdpi/btn_default_disabled_holo.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_disabled_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_default_disabled_holo_dark.9.png
index bee345e..739dff3 100644
--- a/core/res/res/drawable-hdpi/btn_default_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/btn_default_disabled_holo_light.9.png
index bee345e..26976c5 100644
--- a/core/res/res/drawable-hdpi/btn_default_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_focused_holo.9.png b/core/res/res/drawable-hdpi/btn_default_focused_holo.9.png
index b3196c3..9d787f1 100644
--- a/core/res/res/drawable-hdpi/btn_default_focused_holo.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_focused_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_default_focused_holo_dark.9.png
index e83686a..7699c47 100644
--- a/core/res/res/drawable-hdpi/btn_default_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_focused_holo_light.9.png b/core/res/res/drawable-hdpi/btn_default_focused_holo_light.9.png
index e83686a..7699c47 100644
--- a/core/res/res/drawable-hdpi/btn_default_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_normal_holo.9.png b/core/res/res/drawable-hdpi/btn_default_normal_holo.9.png
index c44ae7a..1e9c9d2 100644
--- a/core/res/res/drawable-hdpi/btn_default_normal_holo.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_normal_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_normal_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_default_normal_holo_dark.9.png
index 42e8ba4..27e7965 100644
--- a/core/res/res/drawable-hdpi/btn_default_normal_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_normal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_normal_holo_light.9.png b/core/res/res/drawable-hdpi/btn_default_normal_holo_light.9.png
index 42e8ba4..1dbabd3 100644
--- a/core/res/res/drawable-hdpi/btn_default_normal_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_normal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_pressed_holo.9.png b/core/res/res/drawable-hdpi/btn_default_pressed_holo.9.png
index e240a2d..12eec10 100644
--- a/core/res/res/drawable-hdpi/btn_default_pressed_holo.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_pressed_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png
index a24b13b..5a94b8d 100644
--- a/core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.png
index a24b13b..5a94b8d 100644
--- a/core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_inline_error_above_holo_dark.9.png b/core/res/res/drawable-hdpi/popup_inline_error_above_holo_dark.9.png
index 61ea2b0..83b2bce 100644
--- a/core/res/res/drawable-hdpi/popup_inline_error_above_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/popup_inline_error_above_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_inline_error_above_holo_light.9.png b/core/res/res/drawable-hdpi/popup_inline_error_above_holo_light.9.png
index 83b2bce..61ea2b0 100644
--- a/core/res/res/drawable-hdpi/popup_inline_error_above_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/popup_inline_error_above_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_inline_error_holo_dark.9.png b/core/res/res/drawable-hdpi/popup_inline_error_holo_dark.9.png
index daa47b7..9f3060d 100644
--- a/core/res/res/drawable-hdpi/popup_inline_error_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/popup_inline_error_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_inline_error_holo_light.9.png b/core/res/res/drawable-hdpi/popup_inline_error_holo_light.9.png
index 6c45935..411f639 100644
--- a/core/res/res/drawable-hdpi/popup_inline_error_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/popup_inline_error_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.png
index 5ce7321..918f972 100644
--- a/core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_light.9.png b/core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_light.9.png
index 5ce7321..918f972 100644
--- a/core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_disabled_holo.9.png b/core/res/res/drawable-mdpi/btn_default_disabled_holo.9.png
index 9a24b9c..1ae6cf2 100644
--- a/core/res/res/drawable-mdpi/btn_default_disabled_holo.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_disabled_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_default_disabled_holo_dark.9.png
index 34f69d3..0514a7c 100644
--- a/core/res/res/drawable-mdpi/btn_default_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/btn_default_disabled_holo_light.9.png
index 34f69d3..8cc4daf 100644
--- a/core/res/res/drawable-mdpi/btn_default_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_focused_holo.9.png b/core/res/res/drawable-mdpi/btn_default_focused_holo.9.png
index 93d9741..6449650 100644
--- a/core/res/res/drawable-mdpi/btn_default_focused_holo.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_focused_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_default_focused_holo_dark.9.png
index 0629efe..7f44eae2 100644
--- a/core/res/res/drawable-mdpi/btn_default_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_focused_holo_light.9.png b/core/res/res/drawable-mdpi/btn_default_focused_holo_light.9.png
index 0629efe..7f44eae2 100644
--- a/core/res/res/drawable-mdpi/btn_default_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_normal_holo.9.png b/core/res/res/drawable-mdpi/btn_default_normal_holo.9.png
index f462d98..3e9e6c3 100644
--- a/core/res/res/drawable-mdpi/btn_default_normal_holo.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_normal_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_normal_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_default_normal_holo_dark.9.png
index a2f411e..9df36a2 100644
--- a/core/res/res/drawable-mdpi/btn_default_normal_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_normal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_normal_holo_light.9.png b/core/res/res/drawable-mdpi/btn_default_normal_holo_light.9.png
index a2f411e..7abdfde 100644
--- a/core/res/res/drawable-mdpi/btn_default_normal_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_normal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_pressed_holo.9.png b/core/res/res/drawable-mdpi/btn_default_pressed_holo.9.png
index 30373a6..df4927f 100644
--- a/core/res/res/drawable-mdpi/btn_default_pressed_holo.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_pressed_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png
index 231997a..cb70e35 100644
--- a/core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.png
index 231997a..cb70e35 100644
--- a/core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_default_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_disabled_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_default_disabled_focused_holo_dark.9.png
new file mode 100644
index 0000000..eb7ce5e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_disabled_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_default_disabled_focused_holo_light.9.png
new file mode 100644
index 0000000..eb7ce5e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_disabled_holo.9.png b/core/res/res/drawable-xhdpi/btn_default_disabled_holo.9.png
new file mode 100644
index 0000000..4e4d3d4
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_disabled_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_default_disabled_holo_dark.9.png
new file mode 100644
index 0000000..ee291b6
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_default_disabled_holo_light.9.png
new file mode 100644
index 0000000..83e5011
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_focused_holo.9.png b/core/res/res/drawable-xhdpi/btn_default_focused_holo.9.png
new file mode 100644
index 0000000..67f007a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_focused_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_default_focused_holo_dark.9.png
new file mode 100644
index 0000000..4764d1b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_default_focused_holo_light.9.png
new file mode 100644
index 0000000..4764d1b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_normal.9.png
new file mode 100644
index 0000000..9f18a87
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png
new file mode 100644
index 0000000..652aa3e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png
new file mode 100644
index 0000000..92a7664
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_holo.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_holo.9.png
new file mode 100644
index 0000000..b949121
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_holo_dark.9.png
new file mode 100644
index 0000000..6a35514
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_holo_light.9.png
new file mode 100644
index 0000000..9068d75
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_pressed.9.png b/core/res/res/drawable-xhdpi/btn_default_pressed.9.png
new file mode 100644
index 0000000..3f42693
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_pressed_holo.9.png b/core/res/res/drawable-xhdpi/btn_default_pressed_holo.9.png
new file mode 100644
index 0000000..daac2e1
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_pressed_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png
new file mode 100644
index 0000000..94f1a5a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/btn_default_pressed_holo_light.9.png
new file mode 100644
index 0000000..94f1a5a
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_selected.9.png b/core/res/res/drawable-xhdpi/btn_default_selected.9.png
new file mode 100644
index 0000000..ecdc72b
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png
new file mode 100644
index 0000000..f823033
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png
new file mode 100644
index 0000000..f537a6d
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png
new file mode 100644
index 0000000..1b11689
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_pressed.9.png b/core/res/res/drawable-xhdpi/btn_default_small_pressed.9.png
new file mode 100644
index 0000000..787ba9e
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_small_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png b/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png
new file mode 100644
index 0000000..74a156f
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png
new file mode 100644
index 0000000..44860dc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png
Binary files differ
diff --git a/core/res/res/layout/activity_chooser_view.xml b/core/res/res/layout/activity_chooser_view.xml
index 50b1878..5d82a97 100644
--- a/core/res/res/layout/activity_chooser_view.xml
+++ b/core/res/res/layout/activity_chooser_view.xml
@@ -20,12 +20,52 @@
android:id="@+id/activity_chooser_view_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="center"
style="?android:attr/actionButtonStyle">
- <ImageButton android:id="@+id/default_activity_button"
- style="@style/Widget.ActivityChooserViewButton" />
+ <FrameLayout
+ android:id="@+id/default_activity_button"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:focusable="true"
+ android:addStatesFromChildren="true"
+ android:background="?android:attr/selectableItemBackground">
- <ImageButton android:id="@+id/expand_activities_button"
- style="@style/Widget.ActivityChooserViewButton" />
+ <ImageView android:id="@+id/image"
+ android:layout_width="32dip"
+ android:layout_height="32dip"
+ android:layout_gravity="center"
+ android:layout_marginTop="4dip"
+ android:layout_marginBottom="4dip"
+ android:layout_marginLeft="8dip"
+ android:layout_marginRight="8dip"
+ android:scaleType="fitCenter"
+ android:adjustViewBounds="true" />
+
+ </FrameLayout>
+
+ <FrameLayout
+ android:id="@+id/expand_activities_button"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:focusable="true"
+ android:addStatesFromChildren="true"
+ android:background="?android:attr/selectableItemBackground">
+
+ <ImageView android:id="@+id/image"
+ android:layout_width="32dip"
+ android:layout_height="32dip"
+ android:layout_gravity="center"
+ android:layout_marginTop="4dip"
+ android:layout_marginBottom="4dip"
+ android:layout_marginLeft="8dip"
+ android:layout_marginRight="8dip"
+ android:scaleType="fitCenter"
+ android:adjustViewBounds="true" />
+
+ </FrameLayout>
</LinearLayout>
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 6d9f2fe..e60af6d 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -385,6 +385,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Laat programme toe om te sien watter sleutels jy druk, selfs wanneer jy met \'n ander program werk (soos wanneer jy \'n wagwoord intik). Behoort vir gewone programme nooit nodig te wees nie."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"bind aan \'n invoermetode"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Laat die houer toe om aan die topvlak-koppelvlak van \'n invoermetode te bind. Behoort vir gewone programme nooit nodig te wees nie."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"bind aan \'n muurpapier"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Stel die houer toe om aan die topvlak-koppelvlak van \'n muurpapier te bind. Behoort vir gewone programme nooit nodig te wees nie."</string>
<!-- no translation found for permlab_bindRemoteViews (5697987759897367099) -->
@@ -962,6 +966,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Laat \'n program toe om die blaaier se geskiedenis of gestoorde boekmerke op die foon te wysig. Kwaadwillige programme kan dit gebruik om jou blaaier se data uit te vee of dit te wysig."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"stel alarm in wekker"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Laat die program toe om \'n alarm te stel in \'n geïnstalleerde wekkerprogram. Sommige wekkerprogramme sal dalk nie hierdie kenmerk implementeer nie."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Wysig blaaier se geoligging-toestemmings"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Laat \'n program toe om die blaaier se geoligging-toestemmings te wysig. Kwaadwillige programme kan dit gebruik om liggingsinligting na arbitrêre webwerwe te stuur."</string>
<!-- no translation found for save_password_message (767344687139195790) -->
@@ -1216,6 +1224,22 @@
<item quantity="one" msgid="1634101450343277345">"Oop Wi-Fi-netwerke beskikbaar"</item>
<item quantity="other" msgid="7915895323644292768">"Oop Wi-Fi-netwerke beskikbaar"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Voeg karakter in"</string>
<!-- no translation found for sms_control_default_app_name (7630529934366549163) -->
<skip />
@@ -1277,6 +1301,8 @@
<skip />
<!-- no translation found for usb_cd_installer_notification_title (6774712827892090754) -->
<skip />
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<!-- no translation found for usb_notification_message (4447869605109736382) -->
<skip />
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formateer USB-berging"</string>
@@ -1465,4 +1491,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 9fff387..716d19f 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -385,6 +385,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"ትግበራዎች ከሌላ ትግበራዎች ጋር እንኳ ሲገናኙ የሚጫኑትን ቁልፎች ለመመልከት ይፈቅዳሉ።ለመደበኛ ትግበራዎች በፍፁም አያስፈልግም።"</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"በግቤት ሜተድ ጠርዝ"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"ያዡ ግቤት ሜተዱን ወደ ከፍተኛ-ደረጃ በይነገጽ ለመጠረዝ ይፈቅዳል። ለመደበኛ ትግበራዎች በፍፁም አያስፈልግም።"</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"በልጣፍ ጠርዝ"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"ያዡ ግቤት ሜተዱን ወደ ከፍተኛ-ደረጃ ልጣፍ ለመጠረዝ ይፈቅዳል። ለመደበኛ ትግበራዎች በፍፁም አያስፈልግም።"</string>
<!-- no translation found for permlab_bindRemoteViews (5697987759897367099) -->
@@ -962,6 +966,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"ትግበራ በስልክዎ ላይ የተከማቹትንታሪኮች እና ዕልባቶች ለመቀየር ይፈቅዳል። ተንኮል አዘል ትግበራዎች የቀን መቁጠሪያዎን ለማጥፋት ወይም ለመቀየር ይህን መጠቀም ይችላሉ።"</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"በማንቂያ ሰዓት ውስጥ ማንቂያ አዘጋጅ"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"ትግበራ በተጫነ የማንቂያ ሰዓት ትግበራ ማንቂያ ለማዘጋጀትይፈቅዳል። አንዳንድ የማንቂያ ሰዓት ትግበራዎች ይህን ገፅታ ላይተገብሩ ይችላሉ።"</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"የአሳሽ ገፀ ሥፍራ ፍቃዶችን ቀይር"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"ትግበራ የአሳሹን ገፀ ሥፍራ ፈቃዶች ለመቀየር ይፈቅዳል። ተንኮል አዘል ትግበራዎች ይህን በመጠቀም የሥፍራ መረጃን ወደ ድረ ገፆች ለመላክ ይችላሉ።"</string>
<!-- no translation found for save_password_message (767344687139195790) -->
@@ -1216,6 +1224,22 @@
<item quantity="one" msgid="1634101450343277345">"አውታረ መረብ ሲኖር Wi-Fi ክፈት"</item>
<item quantity="other" msgid="7915895323644292768">"አውታረ መረቦች ሲኖሩ Wi-Fi ክፈት"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"ቁምፊ አስገባ"</string>
<!-- no translation found for sms_control_default_app_name (7630529934366549163) -->
<skip />
@@ -1277,6 +1301,8 @@
<skip />
<!-- no translation found for usb_cd_installer_notification_title (6774712827892090754) -->
<skip />
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<!-- no translation found for usb_notification_message (4447869605109736382) -->
<skip />
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"የUSB ማከማቻ ቅረፅ"</string>
@@ -1465,4 +1491,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 70fc500..12a240a 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"للسماح للتطبيقات بمراقبة الأحرف التي تضغط عليها حتى عند التفاعل مع تطبيق آخر (مثل إدخال كلمة مرور). لا يجب استخدامه على الإطلاق للتطبيقات العادية."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"الالتزام بطريقة إرسال ما"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"للسماح للمالك بالالتزام بواجهة المستوى العلوي لطريقة الإرسال. لا يجب استخدامه على الإطلاق للتطبيقات العادية."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"الالتزام بخلفية ما"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"للسماح للمالك بالالتزام بواجهة المستوى العلوي للخلفية. لا يجب استخدامه على الإطلاق للتطبيقات العادية."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"الالتزام بخدمة أداة"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">"، "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"الإقليم"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"الرمز البريدي"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"الولاية"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"الرمز البريدي"</string>
+ <string name="autofill_county" msgid="237073771020362891">"المقاطعة"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"جزيرة"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"المنطقة"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"القسم"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"المحافظة"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"الدائرة"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"المنطقة"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"الإمارة"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"قراءة سجل المتصفح والإشارات"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"للسماح للتطبيق بقراءة جميع عناوين URL التي انتقل إليها المتصفح. وجميع إشارات المتصفح."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"كتابة سجل المتصفح والإشارات"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"للسماح لتطبيق ما بتعديل سجل المتصفح أو الإشارات في هاتفك. يمكن أن تستخدم التطبيقات الضارة ذلك لمسح بيانات المتصفح أو تعديلها."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"تعيين المنبه في ساعة المنبه"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"للسماح للتطبيق بضبط المنبه في تطبيق ساعة منبه مثبّت. ربما لا تنفذ بعض تطبيقات المنبه هذه الميزة."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"تعديل أذونات الموقع الجغرافي للمتصفح"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"للسماح لتطبيق ما بتعديل أذونات الموقع الجغرافي للمتصفح. يمكن أن تستخدم التطبيقات الضارة هذا للسماح بإرسال معلومات الموقع إلى مواقع ويب عشوائية."</string>
<string name="save_password_message" msgid="767344687139195790">"هل تريد من المتصفح تذكر كلمة المرور هذه؟"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"هناك شبكة Wi-Fi مفتوحة متاحة"</item>
<item quantity="other" msgid="7915895323644292768">"هناك شبكات Wi-Fi مفتوحة متاحة"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"إدراج حرف"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"تطبيق غير معروف"</string>
<string name="sms_control_title" msgid="7296612781128917719">"إرسال رسائل قصيرة SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"التوصيل كجهاز وسائط"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"التوصيل ككاميرا"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"التوصيل كأداة تثبيت"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"المس للاطلاع على خيارات USB الأخرى"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"تهيئة وحدة تخزين USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"تنسيق بطاقة SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"بصمة أصبع SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"بصمة أصبع SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"عرض الكل..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"تحديد نشاط"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"مشاركة مع..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index b67812a..f20ef1b 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Разрешава на приложенията да наблюдават кои клавиши натискате дори и когато взаимодействате с друго приложение (например когато въвеждате парола). Нормалните приложения би трябвало никога да не се нуждаят от това."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"обвързване с метод на въвеждане"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Разрешава на притежателя да се обвърже с интерфейса от най-високото ниво на метод на въвеждане. Нормалните приложения би трябвало никога да не се нуждаят от това."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"обвързване с тапет"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Разрешава на притежателя да се обвърже с интерфейса от най-високото ниво на тапет. Нормалните приложения би трябвало никога да не се нуждаят от това."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"обвързване с услуга за приспособления"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Провинция"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Пощенски код"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Щат"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Пощенски код"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Окръг"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Остров"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Област"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Департамент"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Префектура"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Община"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Район"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Емирство"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"четене на историята и отметките на браузъра"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Разрешава на приложението да чете всички URL адреси, посетени от браузъра, и всички негови отметки."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"запис в историята и отметките на браузъра"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Разрешава на приложението да променя историята или отметките на браузъра, съхранени на телефона ви. Злонамерените приложения могат да използват това, за да изтрият или променят данните на браузъра ви."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"навиване на будилника"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Разрешава на приложението да навие инсталирано приложение будилник. Някои будилници може да не изпълнят тази функция."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Промяна на разрешенията за местоположение в браузъра"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Разрешава на приложението да променя разрешенията на браузъра за местоположение. Злонамерените приложения могат да използват това, за да изпращат информация за местоположението до произволни уебсайтове."</string>
<string name="save_password_message" msgid="767344687139195790">"Искате ли браузърът да запомни тази парола?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Има достъпна отворена Wi-Fi мрежа"</item>
<item quantity="other" msgid="7915895323644292768">"Има достъпни отворени Wi-Fi мрежи"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Вмъкване на знак"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Неизвестно приложение"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Изпращане на SMS съобщения"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Свързан като медийно устройство"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Свързан като камера"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Свързан като инсталационна програма"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Докоснете за други опции за USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Форматиране на USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Форматиране на SD картата"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index c7b1735..cb57c33 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Permet a les aplicacions fer un seguiment de les tecles que premeu, fins i tot quan s\'interactua amb una altra aplicació (com ara introduir una contrasenya). No s\'hauria de necessitar mai per a les aplicacions normals."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"vincular a un mètode d\'entrada"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Permet al titular vincular amb la interfície de nivell superior d\'un mètode d\'entrada. No s\'hauria de necessitar mai per a les aplicacions normals."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"vincular a un empaperat"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Permet al titular vincular amb la interfície de nivell superior d\'un empaperat. No s\'hauria de necessitar mai per a les aplicacions normals."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"vincula a un servei de widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Província"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Codi postal"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Estat"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Codi postal"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Comtat"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Illa"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Districte"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departament"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefectura"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Districte"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Àrea"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"llegir l\'historial i les adreces d\'interès del navegador"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Permet a l\'aplicació llegir tots els URL que ha visitat el navegador i totes les adreces d\'interès del navegador."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"escriure l\'historial i les adreces d\'interès del navegador"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Permet a una aplicació modificar l\'historial o les adreces d\'interès del navegador emmagatzemats al telèfon. Les aplicacions malicioses poden utilitzar-ho per esborrar o modificar les dades del navegador."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"defineix l\'alarma com a despertador"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Permet que l\'aplicació defineixi una alarma en una aplicació de despertador instal·lada. És possible que algunes aplicacions de despertador no incorporin aquesta funció."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modifica els permisos d\'ubicació geogràfica del navegador"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Permet a una aplicació modificar els permisos d\'ubicació geogràfica del navegador. Les aplicacions malicioses poden utilitzar-ho per permetre l\'enviament d\'informació d\'ubicació a llocs web arbitraris."</string>
<string name="save_password_message" msgid="767344687139195790">"Voleu que el navegador recordi aquesta contrasenya?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Xarxa Wi-fi oberta disponible"</item>
<item quantity="other" msgid="7915895323644292768">"Xarxes Wi-fi obertes disponibles"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Insereix un caràcter"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Aplicació desconeguda"</string>
<string name="sms_control_title" msgid="7296612781128917719">"S\'estan enviant missatges SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Connectat com a dispositiu multimèdia"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Connectat com a càmera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Connectat com a instal·lador"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Toca per obtenir altres opcions d\'USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formata l\'emmag. USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formata la targeta SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Empremta SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Empremta SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Mostra-ho tot"</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Selecció d\'activitat"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Ús compartit amb..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 944eb2f..c074e7b 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Umožňuje aplikacím sledovat, které klávesy používáte, a to i při práci s jinými aplikacemi (například při zadávání hesla). Běžné aplikace by toto nastavení nikdy neměly vyžadovat."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"vazba k metodě zadávání dat"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Umožňuje držiteli vázat se na nejvyšší úroveň rozhraní pro zadávání dat. Běžné aplikace by toto nastavení nikdy neměly využívat."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"vazba na tapetu"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Umožňuje držiteli navázat se na nejvyšší úroveň rozhraní tapety. Běžné aplikace by toto oprávnění nikdy neměly potřebovat."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"navázat se na službu widgetu"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provincie"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"PSČ"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Stát"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"PSČ"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Okres"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Ostrov"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Okres"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Department"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektura"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Farnost"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Oblast"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirát"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"čtení historie a záložek Prohlížeče"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Umožňuje aplikaci číst všechny navštívené adresy URL a záložky Prohlížeče."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"zápis do historie a záložek Prohlížeče"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Umožní aplikaci změnit historii či záložky prohlížeče uložené v telefonu. Škodlivé aplikace mohou pomocí tohoto nastavení vymazat či pozměnit data Prohlížeče."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"nastavit budík v budíku"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Dovoluje aplikaci nastavit budík v nainstalované aplikaci budíku. Některé budíkové aplikace nemusí tuto funkci implementovat."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Změnit oprávnění prohlížeče poskytovat informace o zeměpisné poloze"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Umožňuje aplikaci změnit oprávnění prohlížeče poskytovat informace o zeměpisné poloze. Škodlivé aplikace mohou toto nastavení použít k odesílání informací o umístění na libovolné webové stránky."</string>
<string name="save_password_message" msgid="767344687139195790">"Chcete, aby si prohlížeč zapamatoval toto heslo?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"K dispozici je veřejná síť WiFi"</item>
<item quantity="other" msgid="7915895323644292768">"Jsou k dispozici veřejné sítě WiFi"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Vkládání znaků"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Neznámá aplikace"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Odesílání zpráv SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Připojeno jako mediální zařízení"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Připojeno jako fotoaparát"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Připojeno jako instalátor"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Dotykem zobrazíte další možnosti USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formátovat úložiště USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formátovat kartu SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Digitální otisk SHA-256"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Digitální otisk SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Zobrazit vše..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Vybrat činnost"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Sdílet..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index c573322..0038b29 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Tillader, at en applikation registrerer taster, du trykker på, selv når du interagerer med andre applikationer (f.eks. ved indtastning af adgangskode). Bør aldrig være nødvendigt til normale applikationer."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"forpligt til en inputmetode"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Tillader, at brugeren forpligter sig til en inputmetodes grænseflade på øverste niveau. Bør aldrig være nødvendig til normale applikationer."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"forpligt til et tapet"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Tillader, at brugeren forpligter sig til et tapets grænseflade på øverste niveau. Bør aldrig være nødvendig til normale applikationer."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"forpligt til en widgettjeneste"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provins"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Postnummer"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Stat"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Postnummer"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Amt"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Ø"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Distrikt"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Afdeling"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Præfektur"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Sogn"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Område"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"læs browserens oversigt og bogmærker"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Tillader, at applikationen læser alle de webadresser, browseren har besøgt, og alle browserens bogmærker."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"skriv browserens oversigt og bogmærker"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Tillader, at en applikation ændrer browseroversigten eller bogmærker, der er gemt på din telefon. Ondsindede applikationer kan bruge dette til at slette eller ændre din browsers data."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"angiv alarm i alarmprogram"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Tillader, at applikationen angiver en alarm i et installeret alarmprogram. Nogle alarmprogrammer kan ikke implementere denne funktion."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Skift browsertilladelser for geografisk placering"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Giver en applikation tilladelse til at ændre browserens tilladelser for geografisk placering. Skadelige applikationer kan bruge dette til at tillade, at placeringsoplysninger sendes til vilkårlige websteder."</string>
<string name="save_password_message" msgid="767344687139195790">"Ønsker du, at browseren skal huske denne adgangskode?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Åbent Wi-Fi-netværk tilgængeligt"</item>
<item quantity="other" msgid="7915895323644292768">"Der er åbne Wi-Fi-netværk tilgængelige"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Indsæt tegn"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Ukendt applikation"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Sender sms-beskeder"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Tilsluttet som en medieenhed"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Tilsluttet som et kamera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Tilsluttet som et installationsprogram"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Tryk for at se andre valgmuligheder for USB-tilslutning"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formater USB-lager"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formater SD-kort"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256-fingeraftryk:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1-fingeraftryk:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Se alle..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Vælg aktivitet"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Del med..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 723d0a9..508b65d 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Ermöglicht Anwendungen, die von Ihnen gedrückten Tasten zu überwachen (etwa die Eingabe eines Passworts). Dies gilt auch für die Interaktion mit anderen Anwendungen. Sollte für normale Anwendungen nicht benötigt werden."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"An eine Eingabemethode binden"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Ermöglicht dem Halter, sich an die Oberfläche einer Eingabemethode auf oberster Ebene zu binden. Sollte nie für normale Anwendungen benötigt werden."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"An einen Hintergrund binden"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Ermöglicht dem Halter, sich an die Oberfläche einer Eingabemethode auf oberster Ebene zu binden. Sollte nie für normale Anwendungen benötigt werden."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"An einen Widget-Dienst binden"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provinz"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Postleitzahl"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Bundesstaat/-land"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Postleitzahl"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Landkreis"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Insel"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Bezirk"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Distrikt"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Präfektur"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Gemeinde"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Gebiet"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"Browserverlauf und Lesezeichen lesen"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Ermöglicht der App, alle URLs, die mit dem Browser besucht wurden, sowie alle Lesezeichen des Browsers zu lesen"</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"Browserverlauf und Lesezeichen schreiben"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Ermöglicht einer App, den auf Ihrem Telefon gespeicherten Browserverlauf und die Lesezeichen zu ändern. Schädliche Anwendungen können so Ihre Browserdaten löschen oder ändern."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"Alarm im Wecker festlegen"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Ermöglicht dieser Anwendung, einen Alarm mithilfe eines installierten Weckers festzulegen. Einige Weckeranwendungen verfügen möglicherweise nicht über diese Funktion."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Geolokalisierungsberechtigungen des Browsers ändern"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Ermöglicht einer App, die Geolokalisierungsberechtigungen des Browsers zu ändern. Schädliche Anwendungen können dies nutzen, um das Senden von Standortinformationen an willkürliche Websites zuzulassen."</string>
<string name="save_password_message" msgid="767344687139195790">"Möchten Sie, dass der Browser dieses Passwort speichert?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Verfügbares WLAN-Netzwerk öffnen"</item>
<item quantity="other" msgid="7915895323644292768">"Verfügbare WLAN-Netzwerke öffnen"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Zeichen einfügen"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Unbekannte Anwendung"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Kurznachrichten werden gesendet"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Als Mediengerät angeschlossen"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Als Kamera angeschlossen"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Als Installationsprogramm angeschlossen"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Zum Anzeigen weiterer USB-Optionen tippen"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"USB-Sp. formatieren"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"SD-Karte formatieren"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 22a74b9..1bf806a 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Επιτρέπει σε εφαρμογές να παρακολουθούν τα πλήκτρα που πατάτε, ακόμη και σε μια άλλη εφαρμογή (όπως π.χ. η καταχώρηση ενός κωδικού πρόσβασης). Δεν είναι απαραίτητο για συνήθεις εφαρμογές."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"δέσμευση σε μέθοδο εισόδου"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Επιτρέπει στον κάτοχο τη δέσμευση στη διεπαφή ανωτάτου επιπέδου μιας μεθόδου εισόδου. Δεν είναι απαραίτητο για συνήθεις εφαρμογές."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"δέσμευση σε ταπετσαρία"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Επιτρέπει στον κάτοχο τη δέσμευση στη διεπαφή ανωτάτου επιπέδου μιας ταπετσαρίας. Δεν είναι απαραίτητο για συνήθεις εφαρμογές."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"δέσμευση σε υπηρεσία γραφικών στοιχείων"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Επαρχία"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Ταχυδρομικός κώδικας"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Πολιτεία"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Ταχυδρομικός κώδικας"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Κομητεία"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Νησί"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Περιφέρεια"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Τμήμα"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Νομός"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Ενορία"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Περιοχή"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Εμιράτο"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"ανάγνωση ιστορικού και σελιδοδεικτών προγράμματος περιήγησης"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Επιτρέπει στην εφαρμογή την ανάγνωση όλων των διευθύνσεων URL που το πρόγραμμα περιήγησης έχει επισκεφθεί και όλων των σελιδοδεικτών του προγράμματος περιήγησης."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"εγγραφή ιστορικού και σελιδοδεικτών προγράμματος περιήγησης"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Επιτρέπει σε μια εφαρμογή να τροποποιήσει το ιστορικό ή τους σελιδοδείκτες του προγράμματος περιήγησης που βρίσκονται αποθηκευμένα στο τηλέφωνό σας. Κακόβουλες εφαρμογές μπορούν να το χρησιμοποιήσουν για να διαγράψουν ή να τροποποιήσουν τα δεδομένα του προγράμματος περιήγησης."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"ρύθμιση ειδοποίησης σε ξυπνητήρι"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Επιτρέπει στην εφαρμογή να ρυθμίσει μια ειδοποίηση σε μια εγκατεστημένη εφαρμογή ξυπνητηριού. Κάποιες εφαρμογές ξυπνητηριού ενδέχεται να μην περιλαμβάνουν αυτή τη λειτουργία."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Τροποποίηση δικαιωμάτων γεωγραφικής θέσης προγράμματος περιήγησης"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Επιτρέπει σε μια εφαρμογή την τροποποίηση των δικαιωμάτων γεωγραφικής θέσης του προγράμματος περιήγησης. Οι κακόβουλες εφαρμογές μπορούν να το χρησιμοποιήσουν για να επιτρέψουν την αποστολή στοιχείων τοποθεσίας σε αυθαίρετους ιστότοπους."</string>
<string name="save_password_message" msgid="767344687139195790">"Θέλετε το πρόγραμμα περιήγησης να διατηρήσει αυτόν τον κωδικό πρόσβασης;"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Υπάρχει διαθέσιμο ανοικτό δίκτυο Wi-Fi"</item>
<item quantity="other" msgid="7915895323644292768">"Υπάρχουν διαθέσιμα ανοικτά δίκτυα Wi-Fi"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Εισαγωγή χαρακτήρα"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Άγνωστη εφαρμογή"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Αποστολή μηνυμάτων SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Συνδεδεμένο ως συσκευή πολυμέσων"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Συνδεδεμένο ως φωτογραφική μηχανή"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Συνδεδεμένο ως πρόγραμμα εγκατάστασης"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Αγγίξτε για άλλες επιλογές USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Διαγρ. απ. χώρου USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Διαμόρφωση κάρτας SD"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 2bf09f6..a22fafc 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Allows applications to watch the keys that you press even when interacting with another application (such as entering a password). Should never be needed for normal applications."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"bind to an input method"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Allows the holder to bind to the top-level interface of an input method. Should never be needed for normal applications."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"bind to wallpaper"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Allows the holder to bind to the top-level interface of wallpaper. Should never be needed for normal applications."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"bind to a widget service"</string>
@@ -720,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Allows an application to modify the browser\'s history or bookmarks stored on your phone. Malicious applications can use this to erase or modify your browser\'s data."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"set alarm in alarm clock"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Allows the application to set an alarm in an installed alarm clock application. Some alarm clock applications may not implement this feature."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modify Browser geo-location permissions"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Allows an application to modify the browser\'s geo-location permissions. Malicious applications can use this to allow the sending of location information to arbitrary websites."</string>
<string name="save_password_message" msgid="767344687139195790">"Do you want the browser to remember this password?"</string>
@@ -872,12 +880,9 @@
<string name="launch_warning_title" msgid="8323761616052121936">"Application redirected"</string>
<string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> is now running."</string>
<string name="launch_warning_original" msgid="188102023021668683">"<xliff:g id="APP_NAME">%1$s</xliff:g> was originally launched."</string>
- <!-- no translation found for screen_compat_mode_scale (3202955667675944499) -->
- <skip />
- <!-- no translation found for screen_compat_mode_show (4013878876486655892) -->
- <skip />
- <!-- no translation found for screen_compat_mode_hint (2953716574198046484) -->
- <skip />
+ <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Scale"</string>
+ <string name="screen_compat_mode_show" msgid="4013878876486655892">"Always show"</string>
+ <string name="screen_compat_mode_hint" msgid="2953716574198046484">"Reenable this with Settings &gt; Applications &gt; Manage applications."</string>
<string name="smv_application" msgid="295583804361236288">"The application <xliff:g id="APPLICATION">%1$s</xliff:g> (process <xliff:g id="PROCESS">%2$s</xliff:g>) has violated its self-enforced StrictMode policy."</string>
<string name="smv_process" msgid="5120397012047462446">"The process <xliff:g id="PROCESS">%1$s</xliff:g> has violated its self-enforced StrictMode policy."</string>
<string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> running"</string>
@@ -911,24 +916,34 @@
<item quantity="one" msgid="1634101450343277345">"Open available Wi-Fi network"</item>
<item quantity="other" msgid="7915895323644292768">"Open Wi-Fi networks available"</item>
</plurals>
- <string name="select_character" msgid="3365550120617701745">"Insert character"</string>
- <string name="sms_control_default_app_name" msgid="7630529934366549163">"Unknown application"</string>
- <string name="sms_control_title" msgid="7296612781128917719">"Sending SMS messages"</string>
- <string name="sms_control_message" msgid="1289331457999236205">"A large number of SMS messages are being sent. Select \"OK\" to continue or \"Cancel\" to stop sending."</string>
- <string name="sms_control_yes" msgid="2532062172402615953">"OK"</string>
- <string name="sms_control_no" msgid="1715320703137199869">"Cancel"</string>
- <!-- no translation found for sim_removed_title (6227712319223226185) -->
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
<skip />
- <!-- no translation found for sim_removed_message (2064255102770489459) -->
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
<skip />
- <!-- no translation found for sim_done_button (827949989369963775) -->
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
<skip />
- <!-- no translation found for sim_added_title (3719670512889674693) -->
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
<skip />
- <!-- no translation found for sim_added_message (1209265974048554242) -->
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
<skip />
- <!-- no translation found for sim_restart_button (4722407842815232347) -->
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
<skip />
+ <string name="select_character" msgid="3365550120617701745">"Insert character"</string>
+ <string name="sms_control_default_app_name" msgid="7630529934366549163">"Unknown application"</string>
+ <string name="sms_control_title" msgid="7296612781128917719">"Sending SMS messages"</string>
+ <string name="sms_control_message" msgid="1289331457999236205">"A large number of SMS messages are being sent. Select \"OK\" to continue or \"Cancel\" to stop sending."</string>
+ <string name="sms_control_yes" msgid="2532062172402615953">"OK"</string>
+ <string name="sms_control_no" msgid="1715320703137199869">"Cancel"</string>
+ <string name="sim_removed_title" msgid="6227712319223226185">"SIM card removed"</string>
+ <string name="sim_removed_message" msgid="2064255102770489459">"The mobile network will be unavailable until you replace the SIM card."</string>
+ <string name="sim_done_button" msgid="827949989369963775">"Done"</string>
+ <string name="sim_added_title" msgid="3719670512889674693">"SIM card added"</string>
+ <string name="sim_added_message" msgid="1209265974048554242">"You must restart your device to access the mobile network."</string>
+ <string name="sim_restart_button" msgid="4722407842815232347">"Restart"</string>
<string name="time_picker_dialog_title" msgid="8349362623068819295">"Set time"</string>
<string name="date_picker_dialog_title" msgid="5879450659453782278">"Set date"</string>
<string name="date_time_set" msgid="5777075614321087758">"Set"</string>
@@ -959,6 +974,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Connected as a media device"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Connected as a camera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Connected as an installer"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Touch for other USB options"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Format USB storage"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Format SD card"</string>
@@ -1106,8 +1123,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 fingerprint"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 fingerprint"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"See all..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Select activity"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Share with..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index ea642c9..7c61d39 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Admite que las aplicaciones observen las teclas que presionas, incluso al interactuar con otra aplicación (como el ingreso de una contraseña). Se debe evitar utilizarlo en aplicaciones normales."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"vincular a un método de entrada"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Permite al propietario vincularse a la interfaz de nivel superior de un método de entrada. Se debe evitar utilizarlo en aplicaciones normales."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"vincular a un fondo de pantalla"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Permite al propietario vincularse a la interfaz de nivel superior de un fondo de pantalla. Se debe evitar utilizarlo en aplicaciones normales."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"vincular a un servicio de widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provincia"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Código postal"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Estado"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Código postal"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Condado"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Isla"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Distrito"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departamento"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefectura"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Circunscripción"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Área"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirato"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"leer historial y marcadores del navegador"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Permite a la aplicación leer todas las URL que ha visitado el navegador y todos los marcadores del navegador."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"escribir historial y marcadores del navegador"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Permite a una aplicación modificar el historial y los marcadores del navegador almacenados en tu teléfono. Las aplicaciones maliciosas pueden utilizarlo para borrar o modificar tus datos."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"configurar alarma en reloj alarma"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Permite que la aplicación configure una alarma en una aplicación instalada de reloj alarma. Es posible que algunas aplicaciones de reloj alarma no implementen esta función."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modificar los permisos de ubicación geográfica del navegador"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Permite que una aplicación modifique los permisos de ubicación geográfica del navegador. Las aplicaciones maliciosas pueden utilizarlos para permitir el envío de información sobre la ubicación a sitos web de forma arbitraria."</string>
<string name="save_password_message" msgid="767344687139195790">"¿Quieres recordar esta contraseña en el navegador?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Abrir red disponible de Wi-Fi"</item>
<item quantity="other" msgid="7915895323644292768">"Abrir redes disponibles de Wi-Fi"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Insertar caracteres"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Aplicación desconocida"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Enviando mensajes SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como un dispositivo de medios"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Conectado como una cámara"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Conectado como un instalador"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Toca para otras opciones de USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatear almacenamiento USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatear tarjeta SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Huella digital SHA-256"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Huella digital SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Ver todas..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Seleccionar actividad"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Compartir con..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 44e1c94..1179764 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Permite que las aplicaciones observen las teclas que pulsas incluso cuando interactúas con otra aplicación (como, por ejemplo, al introducir una contraseña). No debería ser necesario nunca para las aplicaciones normales."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"enlazar con un método de introducción de texto"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Permite enlazar con la interfaz de nivel superior de un método de introducción de texto. No debe ser necesario para las aplicaciones normales."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"enlazar con un fondo de pantalla"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Permite enlazar con la interfaz de nivel superior de un fondo de pantalla. No debe ser necesario para las aplicaciones normales."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"enlazar con un servicio de widget"</string>
@@ -519,7 +523,7 @@
<item msgid="7897544654242874543">"Trabajo"</item>
<item msgid="1103601433382158155">"Fax del trabajo"</item>
<item msgid="1735177144948329370">"Fax de casa"</item>
- <item msgid="603878674477207394">"Buscapersonas"</item>
+ <item msgid="603878674477207394">"Busca"</item>
<item msgid="1650824275177931637">"Otro"</item>
<item msgid="9192514806975898961">"Personalizar"</item>
</string-array>
@@ -562,7 +566,7 @@
<string name="phoneTypeWork" msgid="8863939667059911633">"Trabajo"</string>
<string name="phoneTypeFaxWork" msgid="3517792160008890912">"Fax del trabajo"</string>
<string name="phoneTypeFaxHome" msgid="2067265972322971467">"Fax de casa"</string>
- <string name="phoneTypePager" msgid="7582359955394921732">"Buscapersonas"</string>
+ <string name="phoneTypePager" msgid="7582359955394921732">"Busca"</string>
<string name="phoneTypeOther" msgid="1544425847868765990">"Otro"</string>
<string name="phoneTypeCallback" msgid="2712175203065678206">"Devolución de llamada"</string>
<string name="phoneTypeCar" msgid="8738360689616716982">"Coche"</string>
@@ -574,7 +578,7 @@
<string name="phoneTypeTelex" msgid="3367879952476250512">"Télex"</string>
<string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string>
<string name="phoneTypeWorkMobile" msgid="1311426989184065709">"Móvil del trabajo"</string>
- <string name="phoneTypeWorkPager" msgid="649938731231157056">"Buscapersonas del trabajo"</string>
+ <string name="phoneTypeWorkPager" msgid="649938731231157056">"Busca del trabajo"</string>
<string name="phoneTypeAssistant" msgid="5596772636128562884">"Asistente"</string>
<string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string>
<string name="eventTypeCustom" msgid="7837586198458073404">"Personalizados"</string>
@@ -720,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Permite que una aplicación modifique la información de los marcadores o del historial del navegador almacenada en el teléfono. Las aplicaciones malintencionadas pueden utilizar este permiso para borrar o modificar los datos del navegador."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"establecer alarma en un reloj"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Permite a la aplicación establecer una alarma en una aplicación de reloj instalada. Es posible que algunas aplicaciones de reloj no incluyan esta función."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modificar los permisos de ubicación geográfica del navegador"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Permite que una aplicación modifique los permisos de ubicación geográfica del navegador. Las aplicaciones malintencionadas pueden utilizar este permiso para permitir el envío de información sobre la ubicación a sitios web arbitrarios."</string>
<string name="save_password_message" msgid="767344687139195790">"¿Deseas que el navegador recuerde esta contraseña?"</string>
@@ -911,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Red Wi-Fi abierta disponible"</item>
<item quantity="other" msgid="7915895323644292768">"Redes Wi-Fi abiertas disponibles"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Insertar carácter"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Aplicación desconocida"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Enviando mensajes SMS..."</string>
@@ -959,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como un dispositivo de medios"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Conectado como una cámara"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Conectado como instalador"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Tocar para acceder a otras opciones de USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatear USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatear tarjeta SD"</string>
@@ -1106,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Huella digital SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Huella digital SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Ver todas..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Seleccionar actividad"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Compartir con..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 14943a1..35fc0b9 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"به برنامه های کاربردی اجازه می دهد حتی زمانی که با برنامه دیگری در حال ارتباط هستید (مانند وارد کردن یک رمز ورود)، بتوانند کلیدهایی را که فشار می دهید ببینند. هرگز برای برنامه های معمولی مورد نیاز نیست."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"پیوند شده به روش ورودی"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"به نگهدارنده اجازه می دهد به رابط سطح بالای یک روش ورودی متصل شود. هرگز برای برنامه های معمولی مورد نیاز نیست."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"پیوند شده به تصویر زمینه"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"به نگهدارنده اجازه می دهد که به رابط سطح بالای تصویر زمینه متصل شود. هرگز برای برنامه های معمولی مورد نیاز نیست."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"اتصال به یک سرویس ابزارک"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">"، "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"استان"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"کد پستی"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"ایالت"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"کد پستی"</string>
+ <string name="autofill_county" msgid="237073771020362891">"بخش"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"جزیره"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"حوزه"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"اداره"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"حوزه اداری"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"ناحیه"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"منطقه"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"امارات"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"خواندن سابقه و نشانک های مرورگر"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"به برنامه کاربردی اجازه می دهد تا تمام URL های بازدید شده توسط مرورگر و تمام نشانک های آن را بخواند."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"نوشتن سابقه مرورگر و نشانک ها"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"به یک برنامه کاربردی اجازه می دهد سابقه مرورگر یا نشانک ذخیره شده در گوشی شما را تغییر دهد. برنامه های مضر می توانند از این امکان برای حذف یا تغییر داده های مرورگر شما استفاده کنند."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"تنظیم هشدار در ساعت زنگ دار"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"به برنامه کاربردی برای تنظیم یک هشدار در یک برنامه ساعت زنگ دار نصب شده اجازه می دهد. در برخی از برنامه های ساعت زنگ دار ممکن است این ویژگی اجرا نشود."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"اصلاح کردن مجوزهای مکان جغرافیایی مرورگر"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"به یک برنامه کاربردی اجازه می دهد مجوزهای مکان جغرافیایی مرورگر را تغییر دهد. برنامه های مضر می توانند از این گزینه استفاده کرده و اطلاعات مربوط به مکان را به وب سایت های غیر قانونی ارسال کنند."</string>
<string name="save_password_message" msgid="767344687139195790">"می خواهید مرورگر این رمز ورود را به خاطر داشته باشد؟"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"شبکه Wi-Fi موجود را باز کنید"</item>
<item quantity="other" msgid="7915895323644292768">"شبکه های Wi-Fi موجود را باز کنید"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"درج نویسه"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"برنامه ناشناس"</string>
<string name="sms_control_title" msgid="7296612781128917719">"ارسال پیامک ها"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"متصل شده به عنوان دستگاه رسانه ای"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"متصل شده به عنوان دوربین"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"متصل شده به عنوان نصب کننده"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"برای سایر گزینه های USB لمس کنید"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"فرمت کردن حافظه USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"فرمت کردن کارت SD"</string>
@@ -1085,7 +1099,7 @@
<string name="sync_too_many_deletes" msgid="5296321850662746890">"از حد مجاز حذف فراتر رفت"</string>
<string name="sync_too_many_deletes_desc" msgid="7030265992955132593">"<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> مورد حذف شده برای <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>، حساب <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> وجود دارد. می خواهید چه کاری انجام دهید؟"</string>
<string name="sync_really_delete" msgid="8933566316059338692">"موارد را حذف کنید."</string>
- <string name="sync_undo_deletes" msgid="8610996708225006328">"واگرد موارد حذف شده."</string>
+ <string name="sync_undo_deletes" msgid="8610996708225006328">"لغو موارد حذف شده."</string>
<string name="sync_do_nothing" msgid="8717589462945226869">"اکنون هیچ کاری انجام نشود."</string>
<string name="choose_account_label" msgid="4191313562041125787">"انتخاب یک حساب"</string>
<string name="number_picker_increment_button" msgid="4830170763103463443">"افزایش"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"اثر انگشت SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"اثر انگشت SHA-1"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"مشاهده همه..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"انتخاب فعالیت"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"اشتراک گذاری با..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index fcae45c..2e3f921 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Antaa sovelluksien tarkkailla painamiasi näppäimiä jopa toisten sovellusten käytön yhteydessä (kuten salasanoja syötettäessä). Ei tavallisten sovelluksien käyttöön."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"sitoudu syöttötapaan"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Antaa sovelluksen sitoutua syöttötavan ylemmän tason käyttöliittymään. Ei tavallisten sovelluksien käyttöön."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"sido taustakuvaan"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Antaa sovelluksen sitoutua taustakuvan ylemmän tason käyttöliittymään. Ei tavallisten sovelluksien käyttöön."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"sitoudu widget-palveluun"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provinssi"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Postinumero"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Osavaltio"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Postinumero"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Lääni"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Saari"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Piiri"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Osasto"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektuuri"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Kunta"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Alue"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emiraatti"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"lue selaimen historiaa ja kirjanmerkkejä"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Antaa sovelluksen lukea kaikki selaimen käyttämät URL-osoitteet ja selaimen kirjanmerkit."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"kirjoita selaimen historiaa ja kirjanmerkkejä"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Antaa sovelluksen muokata puhelimeen tallennettuja selaimen historia- ja kirjanmerkkitietoja. Haitalliset sovellukset voivat käyttää tätä pyyhkiäkseen tai muokatakseen selaimen tietoja."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"aseta herätys herätyskelloon"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Antaa sovelluksen asettaa herätyksen asennettuun herätyskellosovellukseen. Kaikki herätyskellosovellukset eivät välttämättä käytä tätä ominaisuutta."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"muokkaa selaimen maantieteellisen sijainnin lupia"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Antaa sovelluksen muokata selaimen maantieteellisen sijainnin lupia. Haitalliset sovellukset saattavat käyttää tätä sijaintitietojen lähettämiseen satunnaisiin verkkosivustoihin."</string>
<string name="save_password_message" msgid="767344687139195790">"Haluatko selaimen muistavan tämän salasanan?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Avoin wifi-verkko käytettävissä"</item>
<item quantity="other" msgid="7915895323644292768">"Avoimia wifi-verkkoja käytettävissä"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Lisää merkki"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Tuntematon sovellus"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Tekstiviestien lähettäminen"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Kytketty medialaitteena"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Kytketty kamerana"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Kytketty asennusohjelmana"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Käytä muita USB-vaihtoehtoja koskettamalla"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Alusta USB-tila"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Alusta SD-kortti"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index be75a7e..a10b203 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Permet à des applications d\'identifier les touches sur lesquelles vous appuyez même lorsque vous utilisez une autre application (lors de la saisie d\'un mot de passe, par exemple). Les applications normales ne devraient jamais avoir recours à cette fonctionnalité."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"Association à un mode de saisie"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Permet au support de se connecter à l\'interface de plus haut niveau d\'un mode de saisie. Les applications normales ne devraient jamais avoir recours à cette fonctionnalité."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"Se fixer sur un fond d\'écran"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Permet au support de se fixer sur l\'interface de plus haut niveau d\'un fond d\'écran. Les applications normales ne devraient jamais avoir recours à cette fonctionnalité."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"associer à un service widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Province"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Code postal"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"État"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Code postal"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Comté"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Île"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"District"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Département"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Préfecture"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Commune"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Région"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Émirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"lire l\'historique et les favoris du navigateur"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Autorise l\'application à lire toutes les URL auxquelles le navigateur a accédé et tous ses favoris."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"écrire dans l\'historique et les favoris du navigateur"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Permet à une application de modifier l\'historique du navigateur ou les favoris enregistrés sur votre téléphone. Des applications malveillantes peuvent exploiter cette fonction pour effacer ou modifier les données de votre navigateur."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"régler le réveil"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Permet à l\'application de définir une alarme dans un utilitaire faisant office de réveil. Certains réveils risquent ne pas prendre en charge cette fonctionnalité."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modifier les autorisations de géolocalisation du navigateur"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Permet à une application de modifier les autorisations de géolocalisation du navigateur. Les applications malveillantes peuvent se servir de cette fonctionnalité pour envoyer des informations de lieu à des sites Web arbitraires."</string>
<string name="save_password_message" msgid="767344687139195790">"Voulez-vous que le navigateur se souvienne de ce mot de passe ?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Réseau Wi-Fi ouvert disponible"</item>
<item quantity="other" msgid="7915895323644292768">"Réseaux Wi-Fi ouverts disponibles"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Insérer un caractère"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Application inconnue"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Envoi de messages SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Connecté en tant qu\'appareil multimédia"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Connecté en tant qu\'appareil photo"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Connecté en tant que programme d\'installation"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Appuyez pour accéder aux autres options USB."</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formater la mémoire USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formater la carte SD"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index cf119d5..72ea506 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Aplikacijama omogućuje praćenje pritisnutih tipki kod interakcije s drugom aplikacijom (primjerice kod unosa zaporke). Nikad ne bi trebalo koristiti za uobičajene aplikacije."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"vezano uz način unosa"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Nositelju omogućuje da se veže uz sučelje najviše razine za metodu unosa. Nikad ne bi trebalo koristiti za uobičajene aplikacije."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"povezano s pozadinskom slikom"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Nositelju omogućuje da se veže uz sučelje najviše razine za pozadinsku sliku. Nikad ne bi trebalo koristiti za uobičajene aplikacije."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"vezanje na uslugu widgeta"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Pokrajina"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Poštanski broj"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Država"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Poštanski broj"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Županija"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Otok"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Okrug"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Odjel"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektura"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Župa"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Područje"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"čitanje povijesti i oznaka preglednika"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Aplikaciji omogućuje čitanje svih URL-ova koje je preglednik posjetio i svih oznaka iz preglednika."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"pisanje povijesti i oznaka preglednika"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Aplikaciji omogućuje izmjenu povijesti ili oznaka preglednika koji su pohranjeni na vašem telefonu. Zlonamjerne aplikacije to mogu koristiti za brisanje ili izmjenu podataka o pregledniku."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"namjesti alarm na budilici"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Omogućuje aplikaciji da namjesti alarm u instaliranoj aplikaciji budilice. Neke aplikacije budilice možda neće primijeniti ovu značajku."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Izmijeni dopuštenja za geo-lociranje u pregledniku"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Aplikaciji omogućuje izmjenu dopuštenja za geolokaciju u pregledniku. Zlonamjerne aplikacije to mogu koristiti za omogućavanje slanja informacija o lokaciji na proizvoljne web-lokacije."</string>
<string name="save_password_message" msgid="767344687139195790">"Želite li da preglednik zapamti ovu zaporku?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Omogućavanje otvaranja Wi-Fi mreže"</item>
<item quantity="other" msgid="7915895323644292768">"Omogućavanje otvaranja Wi-Fi mreža"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Umetni znak"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Nepoznata aplikacija"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Slanje SMS poruka"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Spojen kao medijski uređaj"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Spojen kao fotoaparat"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Spojen kao instalacijski program"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Dodirnite za ostale opcije USB-a"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Format. USB memoriju"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatiraj SD karticu"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 5fc1c31..3a5fd40 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Lehetővé teszi az alkalmazások számára, hogy figyeljék a lenyomott billentyűket még másik alkalmazás használata esetén is (például jelszó beírásakor). A normál alkalmazásoknak erre soha nincs szüksége."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"összekapcsolás egy beviteli módszerrel"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Lehetővé teszi a használó számára a beviteli módszer legfelső szintű kezelőfelületéhez való csatlakozást. A normál alkalmazások soha nem használják ezt."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"összekapcsolás háttérképpel"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Lehetővé teszi a használó számára, hogy csatlakozzon egy háttérkép legfelső szintű kezelőfelületéhez. A normál alkalmazásoknak erre soha nincs szüksége."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"csatlakozás modulszolgáltatáshoz"</string>
@@ -720,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Lehetővé teszi egy alkalmazás számára, hogy módosítsa a telefonon tárolt böngészési előzményeket és könyvjelzőket. A rosszindulatú alkalmazások felhasználhatják ezt a böngésző adatainak törlésére vagy módosítására."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"ébresztő beállítása az ébresztőórában"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Lehetővé teszi az alkalmazások számára, hogy beállítsanak egy ébresztőt egy telepített ébresztőóra alkalmazásban. Egyes ilyen alkalmazásokban lehet, hogy nem működik ez a funkció."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"A böngésző helymeghatározási engedélyeinek módosítása"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Lehetővé teszi egy alkalmazás számára, hogy módosítsa a böngésző helymeghatározási engedélyeit. A rosszindulatú alkalmazások kihasználhatják ezt arra, hogy helyadatokat küldjenek tetszőleges webhelyeknek."</string>
<string name="save_password_message" msgid="767344687139195790">"Szeretné, hogy a böngésző megjegyezze a jelszót?"</string>
@@ -911,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Nyílt Wi-Fi hálózat elérhető"</item>
<item quantity="other" msgid="7915895323644292768">"Nyílt Wi-Fi hálózatok elérhetők"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Karakter beszúrása"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Ismeretlen alkalmazás"</string>
<string name="sms_control_title" msgid="7296612781128917719">"SMS-ek küldése"</string>
@@ -959,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Csatlakoztatva médiaeszközként"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Csatlakoztatva kameraként"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Csatlakoztatva telepítőként"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Érintse meg a további USB-opciókért"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Az USB-tár formázása"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"SD-kártya formázása"</string>
@@ -1106,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 ujjlenyomat:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 ujjlenyomat:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Összes megtekintése..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Tevékenység kiválasztása"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Megosztás..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index fa7fefb..85b8012 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Mengizinkan aplikasi melihat tombol yang Anda tekan bahkan ketika berinteraksi dengan aplikasi lain (seperti memasukkan sandi). Tidak pernah diperlukan untuk aplikasi normal."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"mengikat ke metode masukan"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Mengizinkan pemegang mengikat antarmuka tingkat tinggi pada suatu metode masukan. Tidak diperlukan untuk aplikasi normal."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"mengikat ke wallpaper"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Mengizinkan pemegang mengikat antarmuka tingkat tinggi dari suatu wallpaper. Tidak diperlukan untuk aplikasi normal."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"mengikat ke layanan widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provinsi"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Kode pos"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Negara Bagian"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Kode pos"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Wilayah"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Pulau"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Distrik"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departemen"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektur"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Kampung"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Area"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"baca riwayat dan bookmark Peramban"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Izinkan aplikasi membaca semua URL yang telah dikunjungi Peramban, dam semua bookmark Peramban."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"tuliskan riwayat dan bookmark Peramban"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Mengizinkan aplikasi mengubah riwayat atau bookmark Peramban yang tersimpan pada ponsel. Aplikasi hasad dapat menggunakan ini untuk menghapus atau mengubah data Peramban."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"setel alarm di jam alarm"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Perbolehkan aplikasi untuk menyetel alarm di aplikasi jam alarm yang terpasang. Beberapa aplikasi jam alarm tidak dapat menerapkan fitur ini."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Ubah izin geolokasi Peramban"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Mengizinkan aplikasi mengubah izin geolokasi Peramban. Aplikasi hasad dapat menggunakan ini untuk mengizinkan pengiriman informasi lokasi ke situs web sembarangan."</string>
<string name="save_password_message" msgid="767344687139195790">"Apakah Anda ingin peramban menyimpan sandi ini?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Jaringan Wi-Fi terbuka tersedia"</item>
<item quantity="other" msgid="7915895323644292768">"Jaringan Wi-Fi terbuka tersedia"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Sisipkan huruf"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Aplikasi tidak dikenal"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Mengirim pesan SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Terhubung sebagai perangkat media"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Terhubung sebagai kamera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Terhubung sebagai pemasang"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Sentuh untuk opsi USB lainnya"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Format penyimpanan USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Format kartu SD"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 6e19cb5..147cb70 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Consente il rilevamento da parte delle applicazioni dei tasti premuti anche durante l\'interazione con un\'altra applicazione (come nel caso di inserimento di una password). Non dovrebbe essere mai necessario per le normali applicazioni."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"associaz. a un metodo di inserimento"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Consente l\'associazione all\'interfaccia principale di un metodo di inserimento. Non dovrebbe essere mai necessario per le normali applicazioni."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"associazione a sfondo"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Consente l\'associazione di uno sfondo all\'interfaccia principale. Non dovrebbe mai essere necessario per le normali applicazioni."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"associazione a un servizio widget"</string>
@@ -720,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Consente a un\'applicazione di modificare la cronologia o i segnalibri del browser memorizzati sul telefono. Le applicazioni dannose possono sfruttare questa possibilità per cancellare o modificare i dati del browser."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"impostazione allarmi nella sveglia"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Consente all\'applicazione di impostare un allarme in un\'applicazione sveglia installata. Alcune applicazioni sveglia potrebbero non supportare questa funzione."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modifica le autorizzazioni di localizzazione geografica del browser"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Consente a un\'applicazione di modificare le autorizzazioni di localizzazione geografica del browser. Le applicazioni dannose possono utilizzare questa autorizzazione per consentire l\'invio di informazioni sulla posizione a siti web arbitrari."</string>
<string name="save_password_message" msgid="767344687139195790">"Memorizzare la password nel browser?"</string>
@@ -911,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Rete Wi-Fi aperta disponibile"</item>
<item quantity="other" msgid="7915895323644292768">"Reti Wi-Fi aperte disponibili"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Inserisci carattere"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Applicazione sconosciuta"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Invio SMS"</string>
@@ -959,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Collegato come dispositivo multimediale"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Collegato come fotocamera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Collegato come installer"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Tocca per altre opzioni USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatta archivio USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatta scheda SD"</string>
@@ -1106,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Fingerprint SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Fingerprint SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Mostra tutto..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Seleziona attività"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Condividi con..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 9c8b81d..159af64 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"מאפשר ליישומים לצפות במקשים שעליהם אתה לוחץ בעת אינטראקציה עם יישום אחר (כגון הזנת סיסמה). לא אמור להיות דרוש לעולם ליישום רגילים."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"הכפפה לשיטת קלט"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"מאפשר למחזיק להכפיף לממשק ברמה עליונה של שיטת קלט. לא אמור להידרש לעולם ביישומים רגילים."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"קשור לטפט"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"מאפשר למחזיק לקשור לממשק ברמה עליונה של טפט. לא אמור להידרש לעולם ביישומים רגילים."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"הכפפה לשירות Widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"פרובינציה"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"מיקוד"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"מדינה"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"מיקוד"</string>
+ <string name="autofill_county" msgid="237073771020362891">"מחוז"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"אי"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"רובע"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"מחלקה"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"תחום שיפוט"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"קהילה"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"אזור"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"אמירות"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"קרא היסטוריה וסימניות של דפדפן"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"מאפשר ליישום לקרוא את כל כתובות האתרים שבהן ביקר הדפדפן, ואת כל הסימניות של הדפדפן."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"כתיבת היסטוריה וסימניות של דפדפן"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"מאפשר ליישום לשנות את ההיסטוריה או הסימניות של הדפדפן המאוחסנים בטלפון. יישומים זדוניים עלולים להשתמש ביכולת זו כדי למחוק או לשנות את נתוני הדפדפן."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"הגדר התראה בשעון המעורר"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"מאפשר ליישום להגדיר התראה ביישום מותקן של שעון מעורר. חלק מיישומי השעון המעורר עשויים שלא ליישם תכונה זו."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"שנה את ההרשאות של מיקום גיאוגרפי בדפדפן"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"מאפשר ליישום לשנות את הרשאות היעד הגיאוגרפי של הדפדפן. יישומים זדוניים יכולים להשתמש ביכולת זו כדי לאפשר שליחה של פרטי מיקום לאתרי אינטרנט אקראיים."</string>
<string name="save_password_message" msgid="767344687139195790">"האם ברצונך שהדפדפן יזכור סיסמה זו?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"רשת Wi-Fi פתוחה זמינה"</item>
<item quantity="other" msgid="7915895323644292768">"רשתות Wi-Fi פתוחות זמינות"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"הוסף תו"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"יישום לא ידוע"</string>
<string name="sms_control_title" msgid="7296612781128917719">"שולח הודעות SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"מחובר כמכשיר מדיה"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"מחובר כמצלמה"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"מחובר כמתקין"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"גע לקבלת אפשרויות USB נוספות"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"פרמט אמצעי אחסון מסוג USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"פרמוט כרטיס SD"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 7614dd1..c2b6dd2 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"別のアプリケーションへの入力(パスワードなど)でもキー入力を監視することをアプリケーションに許可します。通常のアプリケーションではまったく必要ありません。"</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"入力方法に関連付ける"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"入力方法のトップレベルインターフェースに関連付けることを所有者に許可します。通常のアプリケーションにはまったく必要ありません。"</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"壁紙にバインド"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"壁紙のトップレベルインターフェースへのバインドを所有者に許可します。通常のアプリケーションでは不要です。"</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"ウィジェットサービスにバインド"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$3$2$1"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">"、 "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"地方"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"郵便番号"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"州"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"郵便番号"</string>
+ <string name="autofill_county" msgid="237073771020362891">"郡"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"島"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"地区"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"県"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"都道府県"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"行政区"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"地域"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"首長国"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"ブラウザの履歴とブックマークを読み取る"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"ブラウザでアクセスしたすべてのURLおよびブラウザのすべてのブックマークの読み取りをアプリケーションに許可します。"</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"ブラウザの履歴とブックマークを書き込む"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"携帯電話に保存されているブラウザの履歴やブックマークの修正をアプリケーショに許可します。これにより悪意のあるアプリケーションが、ブラウザのデータを消去または変更する恐れがあります。"</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"アラームの設定"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"インストール済みアラームアプリケーションのアラーム設定をアプリケーションに許可します。この機能が実装されていないアラームアプリケーションもあります。"</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"ブラウザの位置情報へのアクセス権を変更"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"ブラウザの位置情報に対するアクセス権の変更をアプリケーションに許可します。この設定では、悪意のあるアプリケーションが任意のウェブサイトに位置情報を送信する可能性があります。"</string>
<string name="save_password_message" msgid="767344687139195790">"このパスワードをブラウザで保存しますか?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Wi-Fiオープンネットワークが利用できます"</item>
<item quantity="other" msgid="7915895323644292768">"Wi-Fiオープンネットワークが利用できます"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"文字を挿入"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"不明なアプリケーション"</string>
<string name="sms_control_title" msgid="7296612781128917719">"SMSメッセージの送信中"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"メディアデバイスとして接続"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"カメラとして接続"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"インストーラとして接続"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"他のUSBオプションをタップしてください"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"USBストレージのフォーマット"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"SDカードをフォーマット"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index b47d090..0c4c4b8 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"애플리케이션이 다른 애플리케이션과 상호작용할 때에도 사용자가 누르는 키(예: 비밀번호 입력)를 볼 수 있도록 합니다. 일반 애플리케이션에는 절대로 필요하지 않습니다."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"입력 방법 연결"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"권한을 가진 프로그램이 입력 방법에 대한 최상위 인터페이스를 사용하도록 합니다. 일반 애플리케이션에는 절대로 필요하지 않습니다."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"배경화면 연결"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"권한을 가진 프로그램이 배경화면에 대한 최상위 인터페이스를 사용하도록 합니다. 일반 애플리케이션에는 절대로 필요하지 않습니다."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"위젯 서비스와 연결"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$3$2$1"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"도"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"우편번호"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"시/도"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"우편번호"</string>
+ <string name="autofill_county" msgid="237073771020362891">"구/군"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"섬"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"구"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"지역"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"현"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"군"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"구역"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"에미리트"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"브라우저의 기록 및 북마크 읽기"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"애플리케이션이 브라우저로 방문한 모든 URL과 브라우저의 모든 북마크를 읽도록 허용합니다."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"브라우저의 기록 및 북마크 쓰기"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"애플리케이션이 휴대전화에 저장된 브라우저 기록 또는 북마크를 수정할 수 있도록 허용합니다. 이 경우 악성 애플리케이션이 브라우저의 데이터를 지우거나 수정할 수 있습니다."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"알람 시계에 알람 설정"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"실치된 알람 시계 애플리케이션에 알람을 설정하도록 허용합니다. 일부 알람 시계 애플리케이션은 이 기능을 구현하지 않을 수 있습니다."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"브라우저 위치 정보 수정 권한"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"애플리케이션이 브라우저의 위치 정보 권한을 수정할 수 있도록 합니다. 악성 애플리케이션이 이를 사용하여 임의의 웹사이트에 위치 정보를 보낼 수도 있습니다."</string>
<string name="save_password_message" msgid="767344687139195790">"브라우저에 이 비밀번호를 저장하시겠습니까?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"개방형 Wi-Fi 네트워크 사용 가능"</item>
<item quantity="other" msgid="7915895323644292768">"개방형 Wi-Fi 네트워크 사용 가능"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"문자 삽입"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"알 수 없는 애플리케이션"</string>
<string name="sms_control_title" msgid="7296612781128917719">"SMS 메시지를 보내는 중"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"미디어 기기로 연결됨"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"카메라로 연결됨"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"설치 프로그램으로 연결됨"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"다른 USB 옵션을 보려면 터치하세요."</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"USB 저장소 포맷"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"SD 카드 포맷"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 지문:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 지문:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"전체 보기..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"활동 선택"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"공유 대상..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 44d8dc6..1e18e3c 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Leidžia programoms žiūrėti jūsų paspaustus klavišus sąveikaujant su kita programa (pvz., įvedant slaptažodį). Neturėtų reikėti įprastoms programoms."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"susaistyti įvesties būdą"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Leidžia savininkui susisaistyti su įvesties būdo aukščiausio lygio sąsaja. Neturėtų reikėti įprastoms programoms."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"susaistyti su darbalaukio fonu"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Leidžia savininkui susisaistyti su aukščiausio lygio darbalaukio fono sąsaja. Neturėtų reikėti įprastose programose."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"susaistyti su valdiklio paslauga"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provincija"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Pašto kodas"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Valstija"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Pašto kodas"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Apskritis"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Sala"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Rajonas"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departamentas"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektūra"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Parapija"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Sritis"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emyratas"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"skaityti naršyklės istoriją ir žymes"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Leidžia programai skaityti visus URL, kuriuose apsilankė naršyklė, ir visas naršyklės žymas."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"rašyti naršyklės istoriją ir žymes"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Leidžia programai keisti naršyklės istoriją ar žymes, išsaugotus jūsų telefone. Kenkėjiškos programos gali tai naudoti, kad ištrintų ar keistų naršyklės duomenis."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"nustatyti žadintuvo signalą"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Leidžiama programai nustatyti signalą įdiegtoje žadintuvo programoje. Kai kuriose žadintuvo programose šios funkcijos gali nebūti."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Keisti naršyklės geografinės vietovės leidimus"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Leidžia programai keisti geografinių naršyklės vietų leidimus. Kenkėjiškos programos tai gali naudoti siunčiant vietos informaciją atsitiktinėms svetainėms."</string>
<string name="save_password_message" msgid="767344687139195790">"Ar norite, kad naršyklė atsimintų šį slaptažodį?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Atidaryti galimą „Wi-Fi“ tinklą"</item>
<item quantity="other" msgid="7915895323644292768">"Atidaryti galimus „Wi-Fi“ tinklus"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Įterpti simbolį"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Nežinoma programa"</string>
<string name="sms_control_title" msgid="7296612781128917719">"SMS pranešimų siuntimas"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Prij. kaip medijos įrenginys"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Prij. kaip fotoap."</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Prij. kaip diegimo programa"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Jei norite matyti kitas USB parinktis, palieskite"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Format. USB atmint."</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatuoti SD kortelę"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 kontrolinis kodas"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 kontrolinis kodas"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Žr. viską..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Pasirinkti veiklą"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Bendrinti su..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index bc8b64c..43d640b 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Ļauj lietojumprogrammām sekot līdzi nospiestajiem taustiņiem, mijiedarbojoties ar citu lietojumprogrammu (piemēram, ievadot paroli). Parastajām lietojumprogrammām nekad nav nepieciešama."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"saistīt ar ievades metodi"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Ļauj īpašniekam saistīt ar ievades metodes augšējā līmeņa saskarni. Parastajām lietojumprogrammām nekad nav nepieciešama."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"saistīt ar tapeti"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Ļauj īpašniekam saistīties ar tapetes augšējā līmeņa saskarni. Parastajās lietojumprogrammās nekad nav nepieciešama."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"saistīt ar logrīka pakalpojumu"</string>
@@ -720,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Ļauj lietojumprogrammai pārveidot tālrunī saglabāto pārlūkprogrammas vēsturi un grāmatzīmes. Ļaunprātīgas lietojumprogrammas var to izmantot, lai dzēstu vai pārveidotu pārlūkprogrammas datus."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"iestatīt trauksmi modinātājpulkstenī"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Ļauj lietojumprogrammai iestatīt trauksmi instalētajā modinātājpulksteņa lietojumprogrammā. Dažās modinātājpulksteņu lietojumprogrammās šī funkcija var nebūt īstenojama."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Pārveidot pārlūkprogrammas ģeogrāfiskās atrašanās vietas atļaujas"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Ļauj lietojumprogrammai pārveidot pārlūkprogrammas ģeogrāfiskās atrašanās vietas atļaujas. Ļaunprātīgas lietojumprogrammas var to izmantot, lai atļautu atrašanās vietas informācijas sūtīšanu uz citām vietnēm."</string>
<string name="save_password_message" msgid="767344687139195790">"Vai vēlaties, lai pārlūkprogrammā tiktu saglabāta šī parole?"</string>
@@ -911,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Ir pieejams atvērts Wi-Fi tīkls"</item>
<item quantity="other" msgid="7915895323644292768">"Ir pieejami atvērti Wi-Fi tīkli."</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Ievietojiet rakstzīmi"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Nezināma lietojumprogramma"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Īsziņu sūtīšana"</string>
@@ -959,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Pievienots kā multivides ierīce"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Pievienots kā kamera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Pievienots kā instalēšanas programma"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Pieskarieties, lai skatītu citas USB opcijas."</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"USB kr. formatēšana"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"SD kartes formatēšana"</string>
@@ -1106,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 identifikators"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 identifikators:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Skatīt visas"</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Darbību atlasīšana"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Kopīgot ar..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index 2cf00e0..3921be9 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -46,8 +46,7 @@
<string name="badPuk" msgid="5702522162746042460">"Kod PUK yang anda taipkan tidak betul."</string>
<string name="mismatchPin" msgid="3695902225843339274">"PIN yang anda masukkan tidak sepadan."</string>
<string name="invalidPin" msgid="3850018445187475377">"Taipkan PIN yang mengandungi 4 hingga 8 nombor."</string>
- <!-- no translation found for invalidPuk (8761456210898036513) -->
- <skip />
+ <string name="invalidPuk" msgid="8761456210898036513">"Taipkan PUK yang mempunyai 8 nombor atau lebih panjang."</string>
<string name="needPuk" msgid="919668385956251611">"Kad SIM anda dikunci PUK. Taipkan kod PUK untuk membuka kuncinya."</string>
<string name="needPuk2" msgid="4526033371987193070">"Taipkan PUK2 untuk menyahsekat kad SIM."</string>
<string name="ClipMmi" msgid="6952821216480289285">"ID Pemanggil Masuk"</string>
@@ -153,7 +152,7 @@
<string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"Mod pesawat"</string>
<string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Mod Pesawat DIHIDUPKAN"</string>
<string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Mod Pesawat DIMATIKAN"</string>
- <!-- outdated translation 5833510281787786290 --> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"100+"</string>
+ <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string>
<string name="safeMode" msgid="2788228061547930246">"Mod selamat"</string>
<string name="android_system_label" msgid="6577375335728551336">"Sistem Android"</string>
<string name="permgrouplab_costMoney" msgid="5429808217861460401">"Perkhidmatan yang anda perlu bayar"</string>
@@ -192,10 +191,8 @@
<string name="permdesc_receiveSms" msgid="6298292335965966117">"Membolehkan aplikasi untuk menerima dan memproses mesej SMS. aplikasi berbahaya boleh memantau mesej atau memadamkannya tanpa menunjukkan kepada anda."</string>
<string name="permlab_receiveMms" msgid="8894700916188083287">"terima MMS"</string>
<string name="permdesc_receiveMms" msgid="4563346832000174373">"Membenarkan aplikasi menerima dan memproses mesej MMS. Aplikasi berniat jahat mungkin memantau mesej anda atau memadamkannya tanpa menunjukkan kepada anda."</string>
- <!-- no translation found for permlab_receiveEmergencyBroadcast (1803477660846288089) -->
- <skip />
- <!-- no translation found for permdesc_receiveEmergencyBroadcast (7118393393716546131) -->
- <skip />
+ <string name="permlab_receiveEmergencyBroadcast" msgid="1803477660846288089">"terima siaran kecemasan"</string>
+ <string name="permdesc_receiveEmergencyBroadcast" msgid="7118393393716546131">"Membenarkan aplikasi menerima dan memproses mesej siaran kecemasan. Kebenaran ini hanya tersedia kepada aplikasi sistem."</string>
<string name="permlab_sendSms" msgid="5600830612147671529">"hantar mesej SMS"</string>
<string name="permdesc_sendSms" msgid="1946540351763502120">"Membolehkan aplikasi menghantar mesej SMS. Aplikasi berniat jahat boleh merugikan wang anda dengan menghantar mesej tanpa pengesahan anda."</string>
<string name="permlab_readSms" msgid="4085333708122372256">"baca SMS atau MMS"</string>
@@ -226,10 +223,8 @@
<string name="permdesc_forceBack" msgid="6534109744159919013">"Membenarkan aplikasi memaksa sebarang aktiviti dalam latar depan untuk ditutup dan pergi ke belakang. Seharusnya tidak diperlukan untuk aplikasi nomal."</string>
<string name="permlab_dump" msgid="1681799862438954752">"mendapatkan semula keadaan dalaman sistem"</string>
<string name="permdesc_dump" msgid="2198776174276275220">"Membenarkan aplikasi mendapatkan semula keadaan dalaman sistem. Aplikasi berniat jahat boleh mendapatkan semula pelbagai maklumat sulit dan dilindungi yang ia tidak seharusnya memerlukannya."</string>
- <!-- no translation found for permlab_retrieve_window_content (8022588608994589938) -->
- <skip />
- <!-- no translation found for permdesc_retrieve_window_content (3390962289797156152) -->
- <skip />
+ <string name="permlab_retrieve_window_content" msgid="8022588608994589938">"dapatkan semula kandungan skrin"</string>
+ <string name="permdesc_retrieve_window_content" msgid="3390962289797156152">"Membenarkan aplikasi untuk mendapatkan kembali kandungan tetingkap aktif. Aplikasi berniat jahat boleh mendapatkan kembali kandungan keseluruhan tetingkap dan memeriksa semua teksnya kecuali kata laluan."</string>
<string name="permlab_shutdown" msgid="7185747824038909016">"penutupan separa"</string>
<string name="permdesc_shutdown" msgid="7046500838746291775">"Meletakkan pengurus aktiviti dalam keadaan tutup. Tidak melaksanakan penutupan lengkap."</string>
<string name="permlab_stopAppSwitches" msgid="4138608610717425573">"halang pertukaran apl"</string>
@@ -250,10 +245,8 @@
<string name="permdesc_batteryStats" msgid="5847319823772230560">"Membenarkan pengubahsuaian statistik bateri yang dikumpulkan. Bukan untuk kegunaan biasa aplikasi."</string>
<string name="permlab_backup" msgid="470013022865453920">"sandaran dan pemulihan sistem kawalan"</string>
<string name="permdesc_backup" msgid="4837493065154256525">"Membenarkan aplikasi mengawal mekanisme sandaran dan pemulihan sistem. Bukan untuk kegunaan aplikasi biasa."</string>
- <!-- no translation found for permlab_confirm_full_backup (5557071325804469102) -->
- <skip />
- <!-- no translation found for permdesc_confirm_full_backup (9005017754175897954) -->
- <skip />
+ <string name="permlab_confirm_full_backup" msgid="5557071325804469102">"sahkan penyandaran penuh atau pemulihan operasi"</string>
+ <string name="permdesc_confirm_full_backup" msgid="9005017754175897954">"Membenarkan aplikasi melancarkan UI pengesahan sandaran penuh. Bukan untuk digunakan oleh mana-mana aplikasi."</string>
<string name="permlab_internalSystemWindow" msgid="2148563628140193231">"memapaparkan tetingkap yang tiada kebenaran"</string>
<string name="permdesc_internalSystemWindow" msgid="5895082268284998469">"Membenarkan pewujudan tetingkap yang dimaksudkan untuk digunakan oleh antara muka pengguna sistem dalaman. Bukan untuk kegunaan oleh aplikasi biasa."</string>
<string name="permlab_systemAlertWindow" msgid="3372321942941168324">"paparkan amaran peringkat sistem"</string>
@@ -269,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Membenarkan aplikasi melihat kekunci yang anda tekan walaupun semasa berinteraksi dengan aplikasi lain (seperti memasukkan kata laluan). Seharusnya tidak sekali-kali diperlukan untuk aplikasi biasa."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"terikat kepada kaedah input"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Membenarkan pemegang terikat dengan antara muka peringkat tertinggi bagi kaedah input itu. Tidak sekali-kali diperlukan untuk aplikasi biasa."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"terikat pada kertas dinding"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Membenarkan pemegang terikat dengan antara muka peringkat tertinggi bagi kertas dinding. Tidak sekali-kali diperlukan untuk aplikasi biasa."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"terikat kepada perkhidmatan widget"</string>
@@ -277,10 +274,8 @@
<string name="permdesc_bindDeviceAdmin" msgid="8714424333082216979">"Membenarkan pemegang menghantar tujuan kepada pentadbir peranti. Tidak sekali-kali diperlukan untuk aplikasi biasa."</string>
<string name="permlab_setOrientation" msgid="3365947717163866844">"tukar orientasi skrin"</string>
<string name="permdesc_setOrientation" msgid="6335814461615851863">"Membolehkan aplikasi untuk menukar putaran skrin pada bila-bila masa. Tidak seharusnya diperlukan untuk aplikasi biasa."</string>
- <!-- no translation found for permlab_setPointerSpeed (9175371613322562934) -->
- <skip />
- <!-- no translation found for permdesc_setPointerSpeed (137436038503379864) -->
- <skip />
+ <string name="permlab_setPointerSpeed" msgid="9175371613322562934">"tukar kelajuan penuding"</string>
+ <string name="permdesc_setPointerSpeed" msgid="137436038503379864">"Membenarkan aplikasi menukar kelajuan penuding tetikus atau pad jejak pada bila-bila masa sahaja. Seharusnya tidak diperlukan untuk aplikasi biasa."</string>
<string name="permlab_signalPersistentProcesses" msgid="4255467255488653854">"hantar isyarat Linux kepada aplikasi"</string>
<string name="permdesc_signalPersistentProcesses" msgid="3565530463215015289">"Membenarkan aplikasi meminta isyarat yang dibekalkan dihantar kepada semua proses gigih."</string>
<string name="permlab_persistentActivity" msgid="8659652042401085862">"buatkan aplikasi sentiasa berjalan"</string>
@@ -328,14 +323,10 @@
<string name="permlab_writeContacts" msgid="644616215860933284">"tulis data kenalan"</string>
<string name="permdesc_writeContacts" product="tablet" msgid="7782689510038568495">"Membenarkan aplikasi mengubah suai data (alamat) kenalan yang disimpan pada tablet anda. Aplikasi yang berniat jahat boleh menggunakannya untuk memadamkan atau mengubah suai data kenalan anda."</string>
<string name="permdesc_writeContacts" product="default" msgid="3924383579108183601">"Membenarkan aplikasi mengubah suai data (alamat) kenalan yang disimpan pada telefon anda. Aplikasi yang berniat jahat boleh menggunakannya untuk memadamkan atau mengubah suai data kenalan anda."</string>
- <!-- no translation found for permlab_readProfile (2211941946684590103) -->
- <skip />
- <!-- no translation found for permdesc_readProfile (4732942280141331352) -->
- <skip />
- <!-- no translation found for permlab_writeProfile (6561668046361989220) -->
- <skip />
- <!-- no translation found for permdesc_writeProfile (8040643023682531996) -->
- <skip />
+ <string name="permlab_readProfile" msgid="2211941946684590103">"baca data profil"</string>
+ <string name="permdesc_readProfile" product="default" msgid="4732942280141331352">"Membenarkan aplikasi membaca semua maklumat profil peribadi anda. Aplikasi berniat jahat boleh menggunakannya untuk mengenal pasti anda dan menghantar maklumat peribadi anda kepada orang lain."</string>
+ <string name="permlab_writeProfile" msgid="6561668046361989220">"menulis data profil"</string>
+ <string name="permdesc_writeProfile" product="default" msgid="8040643023682531996">"Membenarkan aplikasi mengubah suai maklumat profil peribadi anda. Aplikasi berniat jahat boleh menggunakan ini untuk memadamkan atau mengubah suai data profil anda."</string>
<string name="permlab_readCalendar" msgid="6898987798303840534">"baca acara kalendar"</string>
<string name="permdesc_readCalendar" product="tablet" msgid="5905870265734599678">"Membenarkan aplikasi membaca semua acara kalendar yang disimpan pada tablet anda. Aplikasi berniat jahat boleh menggunakannya untuk menghantar acara kalendar anda kepada orang lain."</string>
<string name="permdesc_readCalendar" product="default" msgid="5533029139652095734">"Membenarkan aplikasi membaca semua acara kalendar yang disimpan pada telefon anda. Aplikasi berniat jahat boleh menggunakannya untuk menghantar acara kalendar anda kepada orang lain."</string>
@@ -472,10 +463,8 @@
<string name="permdesc_bluetooth" product="default" msgid="762515380679392945">"Membenarkan aplikasi melihat konfigurasi telefon Bluetooth setempat dan membuat dan menerima sambungan dengan peranti yang dipasangkan."</string>
<string name="permlab_nfc" msgid="4423351274757876953">"mengawal Komunikasi Medan Dekat"</string>
<string name="permdesc_nfc" msgid="9171401851954407226">"Membenarkan aplikasi berkomunikasi dengan teg, kad dan pembaca Komunikasi Medan Dekat (NFC)."</string>
- <!-- no translation found for permlab_vpn (8345800584532175312) -->
- <skip />
- <!-- no translation found for permdesc_vpn (7093963230333602420) -->
- <skip />
+ <string name="permlab_vpn" msgid="8345800584532175312">"memintas dan mengubah suai semua trafik rangkaian"</string>
+ <string name="permdesc_vpn" msgid="7093963230333602420">"Membenarkan aplikasi memintas dan memeriksa semua trafik rangkaian untuk mewujudkan sambungan VPN. Aplikasi berniat jahat boleh memantau, menghalakan semula atau mengubah suai bingkisan rangkaian tanpa pengetahuan anda."</string>
<string name="permlab_disableKeyguard" msgid="4977406164311535092">"lumpuhkan kunci kekunci"</string>
<string name="permdesc_disableKeyguard" msgid="3189763479326302017">"Membenarkan aplikasi melumpuhkan kunci kekunci anda dan sebarang keselamatan kata laluan yang berkaitan. Contoh yang berkaitan adalah telefon melumpuhkan kunci kekunci apabila menerima panggilan telefon masuk kemudian mendayakan semula kunci kekunci apabila panggilan selesai."</string>
<string name="permlab_readSyncSettings" msgid="6201810008230503052">"membaca tetapan penyegerakan"</string>
@@ -502,14 +491,10 @@
<string name="permdesc_cache_filesystem" msgid="1624734528435659906">"Membenarkan aplikasi membaca dan menulis cache sistem fail."</string>
<string name="permlab_use_sip" msgid="5986952362795870502">"membuat/menerima panggilan Internet"</string>
<string name="permdesc_use_sip" msgid="6320376185606661843">"Membenarkan aplikasi menggunakan perkhidmatan SIP untuk membuat/menerima panggilan Internet."</string>
- <!-- no translation found for permlab_readNetworkUsageHistory (7862593283611493232) -->
- <skip />
- <!-- no translation found for permdesc_readNetworkUsageHistory (6040738474779135653) -->
- <skip />
- <!-- no translation found for permlab_manageNetworkPolicy (2562053592339859990) -->
- <skip />
- <!-- no translation found for permdesc_manageNetworkPolicy (3723795285132803958) -->
- <skip />
+ <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"baca sejarah penggunaan rangkaian"</string>
+ <string name="permdesc_readNetworkUsageHistory" msgid="6040738474779135653">"Membenarkan aplikasi membaca sejarah penggunaan rangkaian untuk rangkaian dan aplikasi khusus."</string>
+ <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"urus dasar rangkaian"</string>
+ <string name="permdesc_manageNetworkPolicy" msgid="3723795285132803958">"Membenarkan aplikasi mengurus dasar rangkaian dan menentukan peraturan khusus aplikasi."</string>
<!-- no translation found for permlab_modifyNetworkAccounting (5088217309088729650) -->
<skip />
<!-- no translation found for permdesc_modifyNetworkAccounting (8702285686629184404) -->
@@ -532,10 +517,8 @@
<string name="policydesc_expirePassword" msgid="4844430354224822074">"Mengawal kekerapan penukaran kata laluan kunci skrin"</string>
<string name="policylab_encryptedStorage" msgid="8901326199909132915">"Tetapkan penyulitan storan"</string>
<string name="policydesc_encryptedStorage" msgid="2504984732631479399">"Memerlukan data aplikasi yang disimpan itu disulitkan"</string>
- <!-- no translation found for policylab_disableCamera (6395301023152297826) -->
- <skip />
- <!-- no translation found for policydesc_disableCamera (5680054212889413366) -->
- <skip />
+ <string name="policylab_disableCamera" msgid="6395301023152297826">"Lumpuhkan kamera"</string>
+ <string name="policydesc_disableCamera" msgid="5680054212889413366">"Menghalang penggunaan semua kamera peranti"</string>
<string-array name="phoneTypes">
<item msgid="8901098336658710359">"Laman Utama"</item>
<item msgid="869923650527136615">"Mudah alih"</item>
@@ -650,12 +633,9 @@
<string name="sipAddressTypeWork" msgid="6920725730797099047">"Kerja"</string>
<string name="sipAddressTypeOther" msgid="4408436162950119849">"Lain-lain"</string>
<string name="keyguard_password_enter_pin_code" msgid="3731488827218876115">"Masukkan kod PIN"</string>
- <!-- no translation found for keyguard_password_enter_puk_code (5965173481572346878) -->
- <skip />
- <!-- no translation found for keyguard_password_enter_puk_prompt (1341112146710087048) -->
- <skip />
- <!-- no translation found for keyguard_password_enter_pin_prompt (2987350144349051286) -->
- <skip />
+ <string name="keyguard_password_enter_puk_code" msgid="5965173481572346878">"Masukkan PUK dan kod PIN baru"</string>
+ <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"Kod PUK"</string>
+ <string name="keyguard_password_enter_pin_prompt" msgid="2987350144349051286">"Kod PIN Baru"</string>
<string name="keyguard_password_entry_touch_hint" msgid="7906561917570259833"><font size="17">"Sentuh untuk memasukkan kata laluan"</font></string>
<string name="keyguard_password_enter_password_code" msgid="9138158344813213754">"Masukkan kata laluan untuk membuka kunci"</string>
<string name="keyguard_password_enter_pin_password_code" msgid="638347075625491514">"Masukkan PIN untuk membuka kunci"</string>
@@ -680,10 +660,8 @@
<string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Tiada kad SIM dalam tablet."</string>
<string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Kad SIM tiada dalam telefon."</string>
<string name="lockscreen_missing_sim_instructions" msgid="8874620818937719067">"Sila masukkan kad SIM."</string>
- <!-- no translation found for lockscreen_missing_sim_instructions_long (7138450788301444298) -->
- <skip />
- <!-- no translation found for lockscreen_permanent_disabled_sim_instructions (1631853574702335453) -->
- <skip />
+ <string name="lockscreen_missing_sim_instructions_long" msgid="7138450788301444298">"Kad SIM tiada atau tidak boleh dibaca. Sila masukkan kad SIM."</string>
+ <string name="lockscreen_permanent_disabled_sim_instructions" msgid="1631853574702335453">"Kad SIM anda dilumpuhkan secara kekal."\n" Sila hubungi pembekal perkhidmatan wayarles anda untuk mendapatkan kad SIM lain."</string>
<string name="emergency_calls_only" msgid="6733978304386365407">"Panggilan kecemasan sahaja"</string>
<string name="lockscreen_network_locked_message" msgid="143389224986028501">"Rangkaian dikunci"</string>
<string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"Kad SIM dikunci dengan PUK."</string>
@@ -729,30 +707,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Wilayah"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Poskod"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Negeri"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Poskod"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Wilayah"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Pulau"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Daerah"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Jabatan"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Wilayah"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Kariah"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Kawasan"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emiriah"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"baca sejarah dan penanda halaman Penyemak imbas"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Membenarkan aplikasi membaca semua URL yang telah dilawati oleh Penyemak Imbas dan semua penanda halaman Penyemak Imbas."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"tulis sejarah dan penanda halaman Penyemak Imbas"</string>
@@ -760,6 +726,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Membenarkan aplikasi mengubah suai sejarah atau penanda halaman Penyemak Imbas yang disimpan pada telefon anda. Aplikasi berniat jahat boleh menggunakannya untuk memadamkan atau mengubah data Penyemak Imbas anda."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"menetapkan penggera pada jam penggera"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Membenarkan aplikasi menetapkan penggera dalam aplikasi jam penggera yang dipasang. Sesetengah aplikasi jam penggera mungkin tidak melaksanakan ciri ini."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Ubah suai kebenaran geolokasi Penyemak Imbas"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Membenarkan aplikasi mengubah suai kebenaran geolokasi Penyemak Imbas. Aplikasi berniat jahat boleh menggunakannya untuk membenarkan penghantaran maklumat lokasi ke sembarangan tapak web."</string>
<string name="save_password_message" msgid="767344687139195790">"Adakah anda mahu penyemak imbas mengingati kata laluan ini?"</string>
@@ -951,6 +921,22 @@
<item quantity="one" msgid="1634101450343277345">"Rangkaian Wi-Fi terbuka tersedia"</item>
<item quantity="other" msgid="7915895323644292768">"Rangkaian Wi-Fi terbuka tersedia"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Masukkan aksara"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Aplikasi tidak dikenali"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Menghantar mesej SMS"</string>
@@ -999,6 +985,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Disambungkan sebagai peranti media"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Disambungkan sebagai kamera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Disambungkan sebagai pemasang"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Sentuh untuk mendapatkan pilihan USB yang lain"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Format storan USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Format kad SD"</string>
@@ -1065,10 +1053,8 @@
<string name="chooser_wallpaper" msgid="7873476199295190279">"Tukar kertas dinding"</string>
<string name="vpn_title" msgid="8219003246858087489">"VPN diaktifkan."</string>
<string name="vpn_title_long" msgid="6400714798049252294">"VPN diaktifkan oleh <xliff:g id="APP">%s</xliff:g>"</string>
- <!-- no translation found for vpn_text (1610714069627824309) -->
- <skip />
- <!-- no translation found for vpn_text_long (4907843483284977618) -->
- <skip />
+ <string name="vpn_text" msgid="1610714069627824309">"Ketik untuk mengurus rangkaian."</string>
+ <string name="vpn_text_long" msgid="4907843483284977618">"Bersambung kepada <xliff:g id="SESSION">%s</xliff:g>. Ketik untuk mengurus rangkaian."</string>
<string name="upload_file" msgid="2897957172366730416">"Pilih fail"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Tiada fail dipilih"</string>
<string name="reset" msgid="2448168080964209908">"Tetapkan semula"</string>
@@ -1120,32 +1106,19 @@
<string name="choose_account_label" msgid="4191313562041125787">"Pilih akaun"</string>
<string name="number_picker_increment_button" msgid="4830170763103463443">"Kenaikan"</string>
<string name="number_picker_decrement_button" msgid="2576606679160067262">"Penyusutan"</string>
- <!-- no translation found for action_bar_home_description (5293600496601490216) -->
- <skip />
- <!-- no translation found for action_bar_up_description (2237496562952152589) -->
- <skip />
- <!-- no translation found for action_menu_overflow_description (2295659037509008453) -->
- <skip />
- <!-- no translation found for storage_internal (7556050805474115618) -->
- <skip />
- <!-- no translation found for storage_sd_card (8921771478629812343) -->
- <skip />
- <!-- no translation found for storage_usb (3017954059538517278) -->
- <skip />
- <!-- no translation found for extract_edit_menu_button (302060189057163906) -->
- <skip />
- <!-- no translation found for data_usage_warning_title (1955638862122232342) -->
- <skip />
- <!-- no translation found for data_usage_warning_body (3354394590936526648) -->
- <skip />
- <!-- no translation found for data_usage_3g_limit_title (7093334419518706686) -->
- <skip />
- <!-- no translation found for data_usage_4g_limit_title (7636489436819470761) -->
- <skip />
- <!-- no translation found for data_usage_mobile_limit_title (7869402519391631884) -->
- <skip />
- <!-- no translation found for data_usage_limit_body (2182247539226163759) -->
- <skip />
+ <string name="action_bar_home_description" msgid="5293600496601490216">"Navigasi laman utama"</string>
+ <string name="action_bar_up_description" msgid="2237496562952152589">"Navigasi ke atas"</string>
+ <string name="action_menu_overflow_description" msgid="2295659037509008453">"Lagi pilihan"</string>
+ <string name="storage_internal" msgid="7556050805474115618">"Storan Dalaman"</string>
+ <string name="storage_sd_card" msgid="8921771478629812343">"Kad SD"</string>
+ <string name="storage_usb" msgid="3017954059538517278">"Storan USB"</string>
+ <string name="extract_edit_menu_button" msgid="302060189057163906">"Edit..."</string>
+ <string name="data_usage_warning_title" msgid="1955638862122232342">"Amaran penggunaan data"</string>
+ <string name="data_usage_warning_body" msgid="3354394590936526648">"penggunaan melebihi <xliff:g id="SIZE">%s</xliff:g>"</string>
+ <string name="data_usage_3g_limit_title" msgid="7093334419518706686">"Data 2G-3G dilumpuhkan"</string>
+ <string name="data_usage_4g_limit_title" msgid="7636489436819470761">"Data 4G dilumpuhkan"</string>
+ <string name="data_usage_mobile_limit_title" msgid="7869402519391631884">"Data mudah alih dilumpuhkan"</string>
+ <string name="data_usage_limit_body" msgid="2182247539226163759">"ketik untuk mendayakan"</string>
<string name="ssl_certificate" msgid="6510040486049237639">"Sijil keselamatan"</string>
<string name="ssl_certificate_is_valid" msgid="6825263250774569373">"Sijil ini sah."</string>
<string name="issued_to" msgid="454239480274921032">"Dikeluarkan kepada:"</string>
@@ -1156,17 +1129,15 @@
<string name="validity_period" msgid="8818886137545983110">"Kesahan:"</string>
<string name="issued_on" msgid="5895017404361397232">"Dikeluarkan pada:"</string>
<string name="expires_on" msgid="3676242949915959821">"Tamat tempoh pada:"</string>
- <!-- no translation found for serial_number (758814067660862493) -->
- <skip />
- <!-- no translation found for fingerprints (4516019619850763049) -->
- <skip />
- <!-- no translation found for sha256_fingerprint (4391271286477279263) -->
- <skip />
- <!-- no translation found for sha1_fingerprint (7930330235269404581) -->
- <skip />
+ <string name="serial_number" msgid="758814067660862493">"Nombor siri:"</string>
+ <string name="fingerprints" msgid="4516019619850763049">"Cap jari:"</string>
+ <string name="sha256_fingerprint" msgid="4391271286477279263">"Cap jari SHA-256:"</string>
+ <string name="sha1_fingerprint" msgid="7930330235269404581">"Cap jari SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Lihat semua..."</string>
<!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 67429b5..7db3f31 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Lar applikasjonen overvåke tastetrykk selv når interaksjonen er med et annet program (som å skrive inn et passord). Vanlige applikasjoner bør aldri trenge dette."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"binde til en inndatametode"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Lar applikasjonen binde til toppnivågrensesnittet for en inndatametode. Vanlige applikasjoner bør aldri trenge dette."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"bind til bakgrunnsbilde"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Lar innehaveren binde det øverste nivået av grensesnittet til en bakgrunnsbilder. Skal ikke være nødvendig for vanlige programmer."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"bind til modultjenste"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provins"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Postnummer"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Delstat"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Postnummer"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Fylke"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Øy"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Distrikt"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departement"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektur"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Sogn"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Område"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"lese nettleserens logg og bokmerker"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Lar applikasjonen lese alle adresser nettleseren har besøkt, og alle nettleserens bokmerker."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"skrive til nettleserens logg og bokmerker"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Lar applikasjonen endre nettleserens logg og bokmerker lagret på telefonen. Ondsinnede applikasjoner kan bruke dette til å fjerne eller redigere nettleserens data."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"angi alarm i alarmklokke"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Lar programmet angi en alarm i et installert alarmklokkeprogram. Det kan hende at enkelte alarmklokkeprogrammer ikke implementerer denne funksjonen."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Endre nettleserens tillatelser for geografisk posisjonering"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Tillater programmet å endre nettleserens tillatelser for geografisk posisjonering. Skadelige programmer kan bruke denne funksjonen til å sende posisjonsopplysninger til vilkårlige nettsteder."</string>
<string name="save_password_message" msgid="767344687139195790">"Ønsker du at nettleseren skal huske dette passordet?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Åpent trådløsnett i nærheten"</item>
<item quantity="other" msgid="7915895323644292768">"Åpne trådløsnett i nærheten"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Sett inn tegn"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Ukjent applikasjon"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Sender SMS-meldinger"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Tilkoblet som medieenhet"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Tilkoblet som kamera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Tilkoblet som installasjonsprogram"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Berør for andre USB-alternativer"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formaterer USB-lagring"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatere minnekort"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index fe21bc8..52873e1 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Hiermee kan een app uw toetsaanslagen registreren, zelfs tijdens de interactie met een andere app (zoals de invoer van een wachtwoord). Nooit vereist voor normale apps."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"verbinden aan een invoermethode"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Hiermee staat u de houder toe zich te verbinden met de hoofdinterface van een invoermethode. Nooit vereist voor normale apps."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"verbinden met een achtergrond"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Hiermee staat u de houder toe zich te verbinden met de hoofdinterface van een achtergrond. Nooit vereist voor normale apps."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"verbinden met een widgetservice"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provincie"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Postcode"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Staat"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Postcode"</string>
+ <string name="autofill_county" msgid="237073771020362891">"County"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Eiland"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"District"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departement"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefectuur"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Gemeente"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Gebied"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emiraat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"browsergeschiedenis en bladwijzers lezen"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Hiermee kan een app de URL\'s lezen die u via de browser heeft bezocht, evenals alle bladwijzers van de browser."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"browsergeschiedenis en bladwijzers schrijven"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Hiermee kan een app de op uw telefoon opgeslagen browsergeschiedenis of bladwijzers wijzigen. Schadelijke apps kunnen hiermee uw browsergegevens verwijderen of wijzigen."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"alarm instellen in wekker"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Hiermee kan de app een alarm instellen in een geïnstalleerde wekker-app. Deze functie wordt door sommige wekker-apps niet geïmplementeerd."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Geolocatierechten voor browser aanpassen"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Staat een app toe de geolocatierechten van de browser aan te passen. Schadelijke apps kunnen dit gebruiken om locatiegegevens te verzenden naar willekeurige websites."</string>
<string name="save_password_message" msgid="767344687139195790">"Wilt u dat de browser dit wachtwoord onthoudt?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Open Wi-Fi-netwerk beschikbaar"</item>
<item quantity="other" msgid="7915895323644292768">"Open Wi-Fi-netwerken beschikbaar"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Teken invoegen"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Onbekende app"</string>
<string name="sms_control_title" msgid="7296612781128917719">"SMS-berichten verzenden"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Gekoppeld als media-apparaat"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Gekoppeld als camera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Gekoppeld als installatieprogramma"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Raak aan voor andere USB-opties"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"USB-opslag formatt."</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"SD-kaart formatteren"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256-vingerafdruk"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1-vingerafdruk:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Alle bekijken..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Activiteit selecteren"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Delen met..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 60c9bdb..eedf51a 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Pozwala aplikacjom na śledzenie naciskanych klawiszy, nawet podczas pracy z innym programem (na przykład podczas wpisywania hasła). Nigdy nie powinno być potrzebne normalnym aplikacjom."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"powiązanie ze sposobem wprowadzania tekstu"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Pozwala na powiązanie wybranego sposobu wprowadzania tekstu z interfejsem najwyższego poziomu. To uprawnienie nie powinno być nigdy wymagane przez zwykłe aplikacje."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"powiązanie z tapetą"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Umożliwia posiadaczowi powiązać interfejs najwyższego poziomu dla tapety. Nie powinno być nigdy potrzebne w przypadku zwykłych aplikacji."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"powiązanie z usługą widżetów"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Województwo"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Kod pocztowy"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Stan"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Kod pocztowy"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Powiat"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Wyspa"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Dystrykt"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departament"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektura"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Gmina"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Obszar"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"odczyt historii i zakładek przeglądarki"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Umożliwia aplikacji odczyt wszystkich adresów URL odwiedzonych przez przeglądarkę, a także wszystkich zakładek przeglądarki."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"zapis historii i zakładek przeglądarki"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Umożliwia aplikacji modyfikowanie historii lub zakładek przeglądarki zapisanych w telefonie. Złośliwe aplikacje mogą używać tej opcji do usuwania lub modyfikowania danych przeglądarki."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"ustaw alarm w budziku"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Umożliwia aplikacji ustawienie alarmu w zainstalowanej aplikacji budzika. W niektórych aplikacjach budzika funkcja ta może nie być zaimplementowana."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modyfikowanie uprawnień przeglądarki dotyczących lokalizacji geograficznej"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Zezwala aplikacji na modyfikowanie uprawnień przeglądarki dotyczących lokalizacji geograficznej. Złośliwe aplikacje mogą używać tej opcji do wysyłania informacji o lokalizacji do dowolnych witryn internetowych."</string>
<string name="save_password_message" msgid="767344687139195790">"Czy chcesz, aby zapamiętać to hasło w przeglądarce?"</string>
@@ -750,11 +746,11 @@
<string name="beforeOneMonthDurationPast" msgid="909134546836499826">"Ponad 1 miesiąc temu"</string>
<plurals name="num_seconds_ago">
<item quantity="one" msgid="4869870056547896011">"sekundę temu"</item>
- <item quantity="other" msgid="3903706804349556379">"<xliff:g id="COUNT">%d</xliff:g> sekund temu"</item>
+ <item quantity="other" msgid="3903706804349556379">"<xliff:g id="COUNT">%d</xliff:g> sek. temu"</item>
</plurals>
<plurals name="num_minutes_ago">
<item quantity="one" msgid="3306787433088810191">"1 minutę temu"</item>
- <item quantity="other" msgid="2176942008915455116">"<xliff:g id="COUNT">%d</xliff:g> minut temu"</item>
+ <item quantity="other" msgid="2176942008915455116">"<xliff:g id="COUNT">%d</xliff:g> min. temu"</item>
</plurals>
<plurals name="num_hours_ago">
<item quantity="one" msgid="9150797944610821849">"godzinę temu"</item>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Otwórz dostępne sieci Wi-Fi"</item>
<item quantity="other" msgid="7915895323644292768">"Otwórz dostępne sieci Wi-Fi"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Wstaw znak"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Nieznana aplikacja"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Wysyłanie wiadomości SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Podłączono jako urządzenie multimedialne."</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Podłączono jako aparat."</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Podłączono jako nośnik instalacyjny."</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Dotknij, aby wyświetlić inne opcje USB."</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatuj nośnik USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatuj kartę SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Odcisk cyfrowy SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Odcisk cyfrowy SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Pokaż wszystkie"</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Wybierz czynność"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Udostępnij..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 6af09f3..c89577d 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Permite às aplicações verificar as teclas que o utilizador prime, mesmo ao interagir com outras aplicações (como, por exemplo, ao introduzir uma palavra-passe). Nunca deve ser necessário para aplicações normais."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"vincular a um método de entrada"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Permite ao titular vincular a interface de nível superior a um método de entrada de som. Nunca deve ser necessário para aplicações normais."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"vincular a uma imagem de fundo"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Permite ao titular vincular a interface de nível superior de uma imagem de fundo. Nunca deverá ser necessário para aplicações normais."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"vincular a um serviço de widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Província"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Código postal"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Estado"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Código postal"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Concelho"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Ilha"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Distrito"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departamento"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Município"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Freguesia"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Área"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirado"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"ler histórico e marcadores do browser"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Permite que a aplicação leia todos os URLs visitados pelo browser e todos os marcadores do browser."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"gravar histórico e marcadores do browser"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Permite que uma aplicação modifique o histórico e os marcadores do browser armazenados no telefone. As aplicações maliciosas podem utilizar esta permissão para apagar ou modificar os dados do browser."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"definir alarme no despertador"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Permite que a aplicação defina um alarme numa aplicação de despertador instalada. Algumas aplicações de despertador podem não integrar esta funcionalidade."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modificar permissões de localização geográfica do Navegador"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Permite a uma aplicação modificar as permissões de localização geográfica do Navegador. As aplicações mal intencionadas podem utilizar isto para enviar informações de localização para Web sites arbitrários."</string>
<string name="save_password_message" msgid="767344687139195790">"Quer que o browser memorize esta palavra-passe?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Rede Wi-Fi aberta disponível"</item>
<item quantity="other" msgid="7915895323644292768">"Abrir redes Wi-Fi disponíveis"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Introduzir carácter"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Aplicação desconhecida"</string>
<string name="sms_control_title" msgid="7296612781128917719">"A enviar mensagens SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Ligado como um aparelho multimédia"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Ligado como uma câmara"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Ligado como um instalador"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Toque para outras opções USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatar armaz. USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatar cartão SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Impressão digital SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Impressão digital SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Ver tudo..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Selecionar atividade"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Partilhar com..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index d762274..1a7e0a8 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Permite que os aplicativos vejam as teclas que você pressiona, mesmo quando estiver interagindo com outro aplicativo (como ao digitar uma senha). Aplicativos normais não devem precisar disso em momento algum."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"vincular a um método de entrada"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Permite que o detentor se sujeite à interface de nível superior de um método de entrada. Aplicativos normais não devem precisar disso em momento algum."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"sujeitar-se a um plano de fundo"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Permite que o detentor se sujeite à interface de nível superior de um plano de fundo. Aplicativos normais não devem precisar disso em momento algum."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"sujeitar-se a um serviço de widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Distrito"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Código Postal"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Estado"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"CEP"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Condado"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Ilha"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Distrito"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departamento"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Município"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Paróquia"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Área"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirado"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"ler histórico e favoritos do Navegador"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Permite que o aplicativo leia todos os URLs visitados pelo Navegador e todos os favoritos do Navegador."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"gravar histórico e favoritos do Navegador"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Permite que um aplicativo modifique o histórico ou os favoritos do Navegador armazenados no seu telefone. Aplicativos maliciosos podem usar isso para apagar ou modificar os dados do seu Navegador."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"definir alarme no despertador"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Permite que o aplicativo defina um alarme em um aplicativo de despertador instalado. Talvez alguns aplicativos de despertador não implementem esse recurso."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modifique as permissões de geolocalização do seu navegador"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Permite que um aplicativo modifique as permissões de geolocalização do navegador. Aplicativos maliciosos podem usar isso para permitir o envio de informações de localização a sites arbitrários."</string>
<string name="save_password_message" msgid="767344687139195790">"Deseja que o navegador lembre desta senha?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Rede Wi-Fi aberta disponível"</item>
<item quantity="other" msgid="7915895323644292768">"Redes Wi-Fi abertas disponíveis"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Inserir caractere"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Aplicativo desconhecido"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Enviando mensagens SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como um dispositivo de mídia"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Conectadas como uma câmera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Conectados como um instalador"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Toque para obter outras opções USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatar armaz. USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatar cartão SD"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-rm/strings.xml b/core/res/res/values-rm/strings.xml
index 5fd5d45..4f0e385 100644
--- a/core/res/res/values-rm/strings.xml
+++ b/core/res/res/values-rm/strings.xml
@@ -275,6 +275,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"\"Permetta ad ina applicaziun dad identifitgar las tastas che Vus smatgais, era durant l\'utilisaziun dad in auter program (durant l\'endataziun dad in pled-clav, per exempel). Applicaziuns normalas na duessan betg avair access a questa funcziun.\""</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"associar cun ina metoda d\'endataziun"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Permetta da sa fixar al nivel d\'interfatscha pli aut dad ina metoda d\'endataziun. Betg previs per applicaziuns normalas."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"sa fixar vid in fund davos"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Permetta da sa fixar al nivel d\'interfatscha pli aut dad ina metoda d\'endataziun. Betg previs per applicaziuns normalas."</string>
<!-- no translation found for permlab_bindRemoteViews (5697987759897367099) -->
@@ -814,6 +818,10 @@
<skip />
<!-- no translation found for permdesc_setAlarm (5966966598149875082) -->
<skip />
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modifitgar las autorisaziuns da geolocalisaziun dal navigatur"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Permetta ad ina applicaziun da modifitgar las permissiuns da geolocalisaziun dal navigatur. Applicaziuns donnegiusas pon utilisar questa funcziun per trametter datas da posiziun a websites arbitraras."</string>
<string name="save_password_message" msgid="767344687139195790">"Vulais Vus ch\'il navigatur memorisescha quest pled-clav?"</string>
@@ -1010,6 +1018,22 @@
<item quantity="one" msgid="1634101450343277345">"Rait WLAN averta disponibla"</item>
<item quantity="other" msgid="7915895323644292768">"Raits WLAN avertas disponiblas"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Inserir in caracter"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Applicaziun nunenconuschenta"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Trametter messadis SMS"</string>
@@ -1063,6 +1087,8 @@
<skip />
<!-- no translation found for usb_cd_installer_notification_title (6774712827892090754) -->
<skip />
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<!-- no translation found for usb_notification_message (4447869605109736382) -->
<skip />
<!-- outdated translation 8663247929551095854 --> <string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatar la carta SD"</string>
@@ -1279,4 +1305,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index ad3d64d..61a0d7b 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Permite unei aplicaţii să monitorizeze tastele pe care le apăsaţi când interacţionaţi cu o altă aplicaţie (cum ar fi introducerea unei parole). Nu ar trebui să fie niciodată necesară pentru aplicaţiile obişnuite."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"conectare la o metodă de intrare"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Permite deţinătorului să se conecteze la interfaţa de nivel superior a unei metode de intrare. Nu ar trebui să fie niciodată necesară pentru aplicaţiile obişnuite."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"conectare la o imagine de fundal"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Permite proprietarului să se conecteze la interfaţa de nivel superior a unei imagini de fundal. Nu ar trebui să fie niciodată necesară pentru aplicaţiile obişnuite."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"conectare la un serviciu widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provincie"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Cod poştal"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Stat"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Cod ZIP"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Judeţ"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Insulă"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"District"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departament"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefectură"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Cartier"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Zonă"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"citire istoric şi marcaje în browser"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Permite aplicaţiei să citească toate adresele URL vizitate din browser şi toate marcajele din acesta."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"citire istoric şi marcaje în browser"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Permite unei aplicaţii să modifice istoricul şi marcajele din browser, stocate pe telefonul dvs. Aplicaţiile rău-intenţionate ar putea să utilizeze această permisiune pentru a şterge sau a modifica datele din browser."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"setare alarmă pentru ceasul cu alarmă"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Permite aplicaţiei să seteze o alarmă într-o aplicaţie de ceas de alarmă instalată. Este posibil ca unele aplicaţii de ceas de alarmă să nu implementeze această funcţie."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Modificare permisiuni pentru locaţia geografică a browserului"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Permite unei aplicaţii să modifice permisiunile privind locaţia geografică a browserului. Aplicaţiile rău-intenţionate ar putea să utilizeze această permisiune pentru a permite trimiterea informaţiilor privind locaţia către site-uri Web arbitrare."</string>
<string name="save_password_message" msgid="767344687139195790">"Doriţi ca browserul să reţină această parolă?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Reţea Wi-Fi deschisă disponibilă"</item>
<item quantity="other" msgid="7915895323644292768">"Reţele Wi-Fi deschise disponibile"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Introduceţi caracterul"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Aplicaţie necunoscută"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Se trimit mesaje SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectat ca dispozitiv media"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Conectat ca aparat foto"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Conectat ca program de instalare"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Atingeţi pentru alte opţiuni USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formataţi stoc. USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formataţi cardul SD"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 0bc2f44..d2907ae 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Позволяет приложению распознавать нажатые пользователем клавиши даже при работе с другим приложением (например, при вводе пароля). Не требуется для обычных приложений."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"связывать с методом ввода"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Позволяет выполнять привязку к интерфейсу ввода верхнего уровня. Не требуется для обычных приложений."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"связать с фоновым рисунком"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Разрешает выполнять привязку к интерфейсу фонового рисунка верхнего уровня. Не требуется для обычных приложений."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"привязка к службе виджетов"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Провинция"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Почтовый индекс"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Штат"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Почтовый индекс"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Округ"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Остров"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Район"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Департамент"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Префектура"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Округ"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Область"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Эмират"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"считывать историю и закладки браузера"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Разрешает приложению считывать все URL, посещенные браузером, и все его закладки."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"записывать историю и закладки браузера"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Разрешает приложению изменять историю и закладки браузера, сохраненные в вашем телефоне. Вредоносное ПО может пользоваться этим, чтобы стирать или изменять данные вашего браузера."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"настраивать сигнал будильника"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Позволяет настраивать сигнал установленного приложения будильника. Для некоторых приложений будильника эта функция может быть недоступна."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Изменить разрешения браузера для доступа к географическому местоположению"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Позволяет программе изменять разрешения браузера для доступа к географическому положению. Вредоносные программы могут пользоваться этим для отправки информации о местоположении на некоторые сайты."</string>
<string name="save_password_message" msgid="767344687139195790">"Вы хотите, чтобы браузер запомнил этот пароль?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Найдена доступная сеть Wi-Fi"</item>
<item quantity="other" msgid="7915895323644292768">"Найдены доступные сети Wi-Fi"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Введите символ"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Неизвестное приложение"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Отправка SMS-сообщений"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Подключен как устройство хранения данных"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Подключен как камера"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Подключен как установщик"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Нажмите, чтобы увидеть другие параметры USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Форматирование"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Очистить SD-карту"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index d836312..4af1a79 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Umožňuje aplikáciám sledovať, ktoré klávesy používate, a to aj pri práci s inými aplikáciami (napríklad pri zadávaní hesla). Bežné aplikácie by toto nastavenie nemali vôbec využívať."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"väzba na metódu vstupu"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Umožňuje držiteľovi viazať sa na najvyššiu úroveň rozhrania metódy vstupu. Bežné aplikácie by toto nastavenie nemali vôbec využívať."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"väzba na tapetu"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Umožňuje držiteľovi viazať sa na najvyššiu úroveň rozhrania tapety. Bežné aplikácie by toto nastavenie vôbec nemali využívať."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"viazať sa k službe miniaplikácie"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provincia"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"PSČ"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Štát"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"PSČ"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Kraj"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Ostrov"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Okres"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Oddelenie"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektúra"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Farnosť"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Oblasť"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirát"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"Čítanie histórie a záložiek prehliadača"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Umožňuje aplikácii čítať všetky adresy URL navštívené prehliadačom a záložky prehliadača."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"Zapisovať históriu a záložky prehliadača"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Umožňuje aplikácii zmeniť históriu prehliadača alebo záložky uložené v telefóne. Škodlivé aplikácie môžu pomocou tohto nastavenia vymazať alebo pozmeniť údaje prehliadača."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"nastaviť budík"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Umožní aplikácii nastaviť budík v nainštalovanej aplikácii budíka. Niektoré aplikácie budíka nemusia túto funkciu obsahovať."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Zmeniť oprávnenia prehliadača poskytovať informácie o zemepisnej polohe"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Umožňuje aplikácii zmeniť oprávnenie prehliadača poskytovať informácie o zemepisnej polohe. Škodlivé aplikácie môžu toto nastavenie použiť na odosielanie informácií o umiestnení na ľubovoľné webové stránky."</string>
<string name="save_password_message" msgid="767344687139195790">"Chcete, aby si prehliadač zapamätal toto heslo?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"K dispozícii je verejná sieť Wi-Fi"</item>
<item quantity="other" msgid="7915895323644292768">"K dispozícii sú verejné siete Wi-Fi"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Vkladanie znakov"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Neznáma aplikácia"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Odosielanie správ SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Pripojené ako mediálne zariadenie"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Pripojené ako fotoaparát"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Pripojené ako inštalátor"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Dotykom zobrazíte ďalšiu možnosť USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formát. ukl. priestor USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formátovať kartu SD"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 9c43047..9b45470 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Programu dovoljuje spremljanje tipk, ki jih pritisnete med interakcijo z drugim programom (na primer vnos gesla). Navadni programi tega nikoli ne potrebujejo."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"povezovanje z načinom vnosa"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Dovoljuje lastniku, da se poveže z vmesnikom načina vnosa najvišje ravni. Tega nikoli ni treba uporabiti za navadne programe."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"povezovanje z ozadjem"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Dovoljuje, da se lastnik poveže z vmesnikom ozadja najvišje ravni. Tega nikoli ni treba uporabiti za navadne programe."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"poveži s storitvijo pripomočka"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provinca"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Poštna številka"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Zvezna država"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Poštna številka"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Okrožje"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Otok"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Okraj"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Departma"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektura"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Župnija"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Območje"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"branje zgodovine in zaznamkov brskalnika"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Programu dovoljuje branje vseh URL-jev, ki jih je brskalnik obiskal, in vseh brskalnikovih zaznamkov."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"pisanje zgodovine in zaznamkov brskalnika"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Programu dovoljuje spreminjanje zgodovine brskalnika ali zaznamkov, shranjenih v telefonu. Zlonamerni programi lahko to uporabijo za brisanje ali spreminjanje podatkov brskalnika."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"nastavitev alarma budilke"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Programu omogoča nastavitev alarma v nameščeni budilki. Nekatere budilke morda ne bodo uporabile te funkcije."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Spreminjanje dovoljenj za geolokacijo brskalnika"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Programu dovoljuje spreminjanje dovoljenja brskalnika za geografske lokacije. Zlonamerni programi lahko s tem dovoljenjem dovolijo pošiljanje podatkov o lokaciji poljubnim spletnim mestom."</string>
<string name="save_password_message" msgid="767344687139195790">"Ali želite, da si brskalnik zapomni to geslo?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Odpiranje razpoložljivega brezžičnega omrežja"</item>
<item quantity="other" msgid="7915895323644292768">"Odpiranje razpoložljivih brezžičnih omrežij"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Vstavljanje znaka"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Neznan program"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Pošiljanje sporočil SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Povezan kot predstavnostna naprava"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Povezan kot fotoaparat"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Povezan kot namestitveni program"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Dotaknite se, če želite izbrati druge možnosti za USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatiranje pomnilnika USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatiraj kartico SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Prstni odtis SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Prstni odtis SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Prikaži vse ..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Izberite dejavnost"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Skupna raba z ..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index ec6470e..4d25343 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Омогућава да апликације виде које тастере притискате чак и док радите у некој другој апликацији (нпр. када уносите лозинку). Нормалне апликације никада не би требало да је користе."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"обавезивање на методу уноса"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Омогућава власнику да се обавеже на интерфејс методе уноса највишег нивоа. Обичне апликације никада не би требало да је користе."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"обавезивање на позадину"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Омогућава власнику да се обавеже на интерфејс позадине највишег нивоа. Обичне апликације никада не би требало да је користе."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"обавезивање на услугу виџета"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Покрајина"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Поштански број"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Држава"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Поштански број"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Округ"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Острво"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Дистрикт"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Одељење"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Префектура"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Парохија"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Област"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Емират"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"читање историје и обележивача у прегледачу"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Омогућава да апликација чита све URL адресе које су посећене у прегледачу, као и све обележиваче у њему."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"уписивање историје и обележивача из прегледача"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Омогућава да апликација измени историју и обележиваче у прегледачу сачуване на телефону. Злонамерне апликације могу то да злоупотребе и да избришу или измене податке у прегледачу."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"подешавање аларма у будилнику"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Дозвољава да апликација подеси аларм у инсталираној апликацији будилника. Неке апликације будилника можда не примењују ову функцију."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Измена дозвола за географске локације прегледача"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Омогућава да апликација измени дозволе за утврђивање географске локације у прегледачу. Злонамерне апликације то могу да злоупотребе и искористе за слање информација о локацији насумичним веб сајтовима."</string>
<string name="save_password_message" msgid="767344687139195790">"Желите ли да прегледач запамти ову лозинку?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Доступна је отворена Wi-Fi мрежа"</item>
<item quantity="other" msgid="7915895323644292768">"Доступне су отворене Wi-Fi мреже"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Уметање знака"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Непозната апликација"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Слање SMS порука"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Повезан као медијски уређај"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Повезан као камера"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Повезан као инсталациони програм"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Додирните за друге USB опције"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Форматирање USB меморије"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Форматирање SD картице"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index d7bc859..3de0006 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Tillåter att program övervakar knapparna som du trycker på, till och med när du använder andra program (till exempel när du anger ett lösenord). Ska inte behövas för vanliga program."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"binda till en metod för indata"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Innehavaren tillåts att binda till den översta nivåns gränssnitt för en inmatningsmetod. Ska inte behövas för vanliga program."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"binda till en bakgrund"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Innehavaren tillåts att binda till den översta nivåns gränssnitt för en bakgrund. Ska inte behövas för vanliga appar."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"bind till en widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Provins"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Postnummer"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Delstat"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Postnummer"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Kommun"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Ö"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Distrikt"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Department"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefektur"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Församling"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Område"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirat"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"läsa webbläsarhistorik och bokmärken"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Tillåter att program läser alla webbadresser som webbläsaren har öppnat och alla webbläsarens bokmärken."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"skriva webbläsarhistorik och bokmärken"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Tillåter att ett program ändrar webbläsarhistoriken och bokmärkena i din telefon. Skadliga program kan använda detta för att ta bort eller ändra data i webbläsaren."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"ställa in alarm i alarmklocka"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Tillåter att programmet ställer in ett alarm i ett installerat alarmprogram. Vissa alarmprogram har inte den här funktionen."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Ändra geografisk plats för webbläsaren"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Tillåter att ett program ändrar webbläsarens behörigheter för geografisk plats. Skadliga program kan använda detta för att tillåta att platsinformation skickas till godtyckliga webbplatser."</string>
<string name="save_password_message" msgid="767344687139195790">"Vill du att webbläsaren ska komma ihåg lösenordet?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Öppna Wi-Fi-nätverk är tillgängliga"</item>
<item quantity="other" msgid="7915895323644292768">"Öppna Wi-Fi-nätverk är tillgängliga"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Infoga tecken"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Okänd app"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Skickar SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Ansluten som en mediaenhet"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Ansluten som en kamera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Ansluten som installationsprogram"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Tryck för andra USB-alternativ"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Formatera USB-enhet"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Formatera SD-kort"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256-fingeravtryck"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1-fingeravtryck:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Visa alla..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Välj aktivitet"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Dela med..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 6d7de63..d2c62bf 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -385,6 +385,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Huruhusu programu kutazama vitufe unavyobofya hata wakati unaingiliana na programu nyingine ya kompyuta (kama vile kuingiza nenosiri). Haipaswi kuhitajika kwa programu za kawaida."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"funganisha kwa mbinu ya uingizaji"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Huruhusu kishikiliaji kufunga kiolesura cha kiwango cha juu cha mbinu ya uingizaji. Haipaswi kuhitajika kwa programu za kawaida za kompyuta."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"funga kwa pazia"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Huruhusu kishikiliaji kufunga kiolesura cha kiwango cha juu cha pazia. Haipaswi kuhitajika kwa programu za kawaida za kompyuta."</string>
<!-- no translation found for permlab_bindRemoteViews (5697987759897367099) -->
@@ -962,6 +966,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Huruhusu programu kurekebisha historia au alamisho za Kivinjari zilizohifadhiwa kwenye simu yako. Programu mbaya za kompyuta zinaweza kutumia hii ili kufuta au kurekebisha data ya Kivinjari chako."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"weka kengele kwenye saa ya kengele"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Huruhusu programu kuweka kengele kwenye programu iliyosakinishwa ya saa ya kengele. Baadhi ya programu zasaa ya kengele hazingeweza kurekebisha kipengele hiki."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Rekebisha vibali vya Kivinjari cha eneo la jiografia"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Huruhusu programu kwa kurekebisha vibali vya Kivinjari cha eneo la jeo. Programu hasidi zinaweza kutumia hii kwa kuruhusu utumaji wa habari ya eneo kwa tovuti mbadala."</string>
<!-- no translation found for save_password_message (767344687139195790) -->
@@ -1216,6 +1224,22 @@
<item quantity="one" msgid="1634101450343277345">"Fungua mtandao wa Wi-Fi unaopatikana"</item>
<item quantity="other" msgid="7915895323644292768">"Fungua mitandao ya Wi-Fi inayopatikana"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Ingiza kibambo"</string>
<!-- no translation found for sms_control_default_app_name (7630529934366549163) -->
<skip />
@@ -1277,6 +1301,8 @@
<skip />
<!-- no translation found for usb_cd_installer_notification_title (6774712827892090754) -->
<skip />
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<!-- no translation found for usb_notification_message (4447869605109736382) -->
<skip />
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Fomati hifadhi ya USB"</string>
@@ -1465,4 +1491,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index a75929f..0e1e8c1 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"อนุญาตให้แอปพลิเคชันดูปุ่มที่คุณกดแม้ในระหว่างที่ทำงานร่วมกับแอปพลิเคชันอื่น (เช่น ป้อนรหัสผ่าน) ไม่ควรต้องใช้สำหรับแอปพลิเคชันทั่วไป"</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"เชื่อมโยงกับวิธีป้อนข้อมูล"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"อนุญาตให้ผู้ถือเชื่อมโยงกับอินเทอร์เฟซระดับสูงสุดของวิธีป้อนข้อมูล ไม่ควรต้องใช้สำหรับแอปพลิเคชันทั่วไป"</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"เชื่อมโยงกับวอลเปเปอร์"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"อนุญาตให้ผู้ถือเชื่อมโยงกับอินเทอร์เฟซระดับสูงสุดของวอลเปเปอร์ ไม่ควรต้องใช้สำหรับแอปพลิเคชันทั่วไป"</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"เชื่อมโยงกับบริการวิดเจ็ต"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"จังหวัด"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"รหัสไปรษณีย์"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"รัฐ"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"รหัสไปรษณีย์"</string>
+ <string name="autofill_county" msgid="237073771020362891">"อำเภอ"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"เกาะ"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"เขต"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"แผนก"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"เขตปกครอง"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"เขตการปกครองท้องถิ่น"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"พื้นที่"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"เอมิเรต"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"อ่านประวัติและบุ๊กมาร์กของเบราว์เซอร์"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"อนุญาตให้แอปพลิเคชันอ่าน URL ทั้งหมดที่เบราว์เซอร์เคยเข้าชมและบุ๊กมาร์กของเบราว์เซอร์ทั้งหมด"</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"เขียนประวัติและบุ๊กมาร์กของเบราว์เซอร์"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"อนุญาตให้แอปพลิเคชันแก้ไขประวัติหรือบุ๊กมาร์กของเบราว์เซอร์ที่จัดเก็บบนโทรศัพท์ของคุณ แอปพลิเคชันที่เป็นอันตรายอาจใช้วิธีนี้ลบหรือแก้ไขข้อมูลเบราว์เซอร์ของคุณได้"</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"ตั้งเวลาปลุกในนาฬิกาปลุก"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"อนุญาตให้แอปพลิเคชันนี้ตั้งเวลาปลุกในแอปพลิเคชันนาฬิกาปลุกที่ติดตั้งไว้ แอปพลิเคชันนาฬิกาปลุกบางประเภทอาจไม่ใช้คุณลักษณะนี้"</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"แก้ไขการอนุญาตเกี่ยวกับการระบุตำแหน่งทางภูมิศาสตร์ของเบราว์เซอร์"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"อนุญาตให้แอปพลิเคชันแก้ไขการอนุญาตเกี่ยวกับการระบุตำแหน่งทางภูมิศาสตร์ของเบราว์เซอร์ แอปพลิเคชันที่เป็นอันตรายอาจใช้วิธีนี้อนุญาตให้ส่งข้อมูลตำแหน่งไปที่เว็บไซต์อื่นได้โดยพลการ"</string>
<string name="save_password_message" msgid="767344687139195790">"คุณต้องการให้เบราว์เซอร์จำรหัสผ่านนี้หรือไม่"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"เปิดเครือข่าย Wi-Fi ที่ใช้งานได้"</item>
<item quantity="other" msgid="7915895323644292768">"เปิดเครือข่าย Wi-Fi ที่ใช้งานได้"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"ใส่อักขระ"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"ไม่ทราบแอปพลิเคชัน"</string>
<string name="sms_control_title" msgid="7296612781128917719">"กำลังส่งข้อความ SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"เชื่อมต่อเป็นอุปกรณ์สื่อ"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"เชื่อมต่อเป็นกล้องถ่ายรูป"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"เชื่อมต่อเป็นตัวติดตั้ง"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"แตะสำหรับตัวเลือก USB อื่นๆ"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"ฟอร์แมตที่เก็บข้อมูล USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"ฟอร์แมตการ์ด SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"ลายนิ้วมือ SHA-256"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"ลายนิ้วมือ SHA-1"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"ดูทั้งหมด..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"เลือกกิจกรรม"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"แบ่งปันกับ..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 55209f4..12c14c3 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Pinapayagan ang mga application na panoorin ang mga pinipindot mong key maging kapag nakikipag-ugnay sa isa pang application (gaya ng pagpasok ng password). Hindi dapat na kailanganin kailanman para sa mga normal na application."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"sumailalim sa isang pamamaraan ng pag-input"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Pinapayagan ang holder na sumailalim sa nangungunang antas na interface ng pamamaraan ng pag-input. Hindi dapat kailanmang kailanganin para sa mga normal na application."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"sumailalim sa wallpaper"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Pinapayagan ang holder na sumailalim sa interface na nasa nangungunang antas ng wallpaper. Hindi kailanman dapat na kailanganin para sa mga normal na application."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"itali sa serbisyo ng widget"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Lalawigan"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Postal code"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Estado"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"ZIP code"</string>
+ <string name="autofill_county" msgid="237073771020362891">"County"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Pulo"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Distrito"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Kagawaran"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Prefecture"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Parokya"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Lugar"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirate"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"basahin ang kasaysayan at mga bookmark ng Browser"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Pinapayagan ang application na basahin ang lahat ng URL na binisita ng Browser, at lahat ng bookmark ng Browser."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"isulat ang kasaysayan ng Browser at mga bookmark"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Pinapayagan ang isang application na baguhin ang kasaysayan o mga bookmark ng Browser na nakaimbak sa iyong telepono. Magagamit ito ng mga nakakahamak na application upang burahin o baguhin ang iyong data ng Browser."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"itakda ang alarm sa alarm clock"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Pinapayagan ang application na magtakda ng alarm sa isang naka-install na application ng alarm clock. Maaaring hindi ipatupad ng ilang application ng alarm clock ang tampok na ito."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Baguhin ang mga pahintulot ng Browser geolocation"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Pinapayagan ang isang application na baguhin ang mga pahintulot sa geolocation ng Browser. Magagamit ito ng mga nakakahamak na application upang payagan ang pagpapadala ng impormasyon ng lokasyon sa mga hindi saklaw na web site."</string>
<string name="save_password_message" msgid="767344687139195790">"Gusto mo bang tandaan ng browser ang password na ito?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Available ang bukas na Wi-Fi network"</item>
<item quantity="other" msgid="7915895323644292768">"Buksan ang mga available na Wi-Fi network"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Magpasok ng character"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Hindi kilalang application"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Nagpapadala ng mga SMS na mensahe"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Nakakonekta bilang isang media device"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Nakakonekta bilang isang camera"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Nakakonekta bilang isang installer"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"I-touch para sa mga ibang pagpipilian sa USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"I-format USB storage"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"I-format ang SD card"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 na fingerprint:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 na fingerprint:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Tingnan lahat..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Pumili ng aktibidad"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Ibahagi sa..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index b4a6922..ca29d65 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Uygulamaların, başka bir uygulama ile etkileşim halindeyken (örneğin bir şifre girerken) bile bastığınız tuşları izlemesine izin verir. Normal uygulamalarda hiçbir zaman gerek duyulmamalıdır."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"bir giriş yöntemine bağla"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Tutucunun bir giriş yönteminin en üst düzey arayüzüne bağlanmasına izin verir. Normal uygulamalarda hiçbir zaman gerek duyulmamalıdır."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"bir duvar kağıdına tabi kıl"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Hesap sahibine bir duvar kağıdının en üst düzey arayüzüne bağlanma izni verir. Normal uygulamalarda hiçbir zaman gerek duyulmamalıdır."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"bir widget hizmetine bağla"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Vilayet"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Posta kodu"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Eyalet"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Posta kodu"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Belde"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Ada"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"İlçe"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Bölüm"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"İdari Bölge"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Mahalle"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Alan"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Emirlik"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"Tarayıcı geçmişini ve favorileri oku"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Uygulamaya Tarayıcının ziyaret etmiş olduğu tüm URL\'leri ve Tarayıcının tüm favorilerini okuma izni verir."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"Tarayıcı geçmişini ve favorileri yaz"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Uygulamaya telefonunuzda depolanan Tarayıcı geçmişini veya favorileri değiştirme izni verir. Kötü amaçlı uygulamalar bunu Tarayıcı verilerinizi silmek veya değiştirmek için kullanabilir."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"çalar saatte alarm ayarla"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Uygulamanın yüklü bir çalar saat uygulamasında bir alarm ayarlamasına izin verir. Bazı çalar saat uygulamaları bu özelliği kullanmayabilir."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Tarayıcı\'nın coğrafi konum izinlerini değiştir"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Bir uygulamanın, Tarayıcı\'nın coğrafi konum izinlerini değiştirmesine izin verir. Kötü amaçlı uygulamalar, bu özelliği konum bilgilerini rastgele web sitelerine göndermek için kullanabilir."</string>
<string name="save_password_message" msgid="767344687139195790">"Tarayıcının bu şifreyi anımsamasını istiyor musunuz?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Kullanılabilir kablosuz ağı aç"</item>
<item quantity="other" msgid="7915895323644292768">"Kullanılabilir kablosuz ağları aç"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Karakter ekle"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Bilinmeyen uygulama"</string>
<string name="sms_control_title" msgid="7296612781128917719">"SMS mesajları gönderiliyor"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Medya cihazı olarak bağlandı"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Kamera olarak bağlandı"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Yükleyici olarak bağlandı"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Diğer USB seçenekleri için dokunun"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"USB\'yi biçimlendir"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"SD kartı biçimlendir"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index e813b92..5a4a34c 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Дозволяє програмі переглядати клавіші, які ви натискаєте, навіть під час роботи з іншою програмою (наприклад, під час вводу пароля). Ніколи не потрібний для звичайних програм."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"прив\'яз. до методу введ."</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Дозволяє власнику прив\'язувати до інтерфейсу верхнього рівня методу введення. Ніколи не потрібний для звичайних програм."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"прив\'зати до фон. мал."</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Дозволяє власнику прив\'язувати до інтерфейсу верхнього рівня фон. малюнка. Ніколи не потрібний для звичайних програм."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"прив\'язувати до служби віджетів"</string>
@@ -720,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Дозволяє програмі змінювати історію чи закладки переглядача, збережені у вашому тел. Шкідливі програми можуть викор. це, щоб видаляти чи змінювати дані переглядача."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"налашт. сигнал у будильн."</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Дозволяє програмі налаштовувати сигнал у встановленій програмі будильника. У деяких програмах будильника ця функція може не застосовуватися."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Змін. дозволи геогр. місцезн. перегладача"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Дозволяє програмі змін. дозволи географ. місцезн. переглядача. Шкідливі програми можуть використ. це, щоб дозволяти надсилати інф-ю про місцезн. випадковим веб-сайтам."</string>
<string name="save_password_message" msgid="767344687139195790">"Хочете, щоб переглядач запам\'ятав цей пароль?"</string>
@@ -911,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Відкрита Wi-Fi мережа доступна"</item>
<item quantity="other" msgid="7915895323644292768">"Відкриті Wi-Fi мережі доступні"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Вставл-ня символу"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Невідома програма"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Надсил. SMS повідомлень"</string>
@@ -959,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Під’єднано як носій"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Під’єднано як камеру"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Під’єднано як програму встановлення"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Торкніться, щоб побачити інші параметри USB"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Форматув. носій USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Формат. карти SD"</string>
@@ -1106,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Відбиток SHA-256"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Відбиток SHA-1"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Показати всі..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Вибрати дію"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Надіслати..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index dd2c19d..a754a5c 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Cho phép ứng dụng xem các phím bạn nhấn ngay cả khi tương tác với ứng dụng khác (chẳng hạn như nhập mật khẩu). Không cần thiết cho các ứng dụng thông thường."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"liên kết với phương thức nhập"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Cho phép chủ nhân ràng buộc với giao diện cấp cao nhất của phương thức nhập. Không cần thiết cho các ứng dụng thông thường."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"liên kết với hình nền"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Cho phép chủ nhân ràng buộc với giao diện cấp cao nhất của hình nền. Không cần thiết cho các ứng dụng thông thường."</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"liên kết với dịch vụ tiện ích con"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"Tỉnh"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"Mã bưu chính"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"Tiểu bang"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"Mã ZIP"</string>
+ <string name="autofill_county" msgid="237073771020362891">"Hạt"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"Đảo"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"Quận"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"Khu hành chính"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"Quận"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"Giáo xứ"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"Khu vực"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"Tiểu vương quốc Ả rập"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"đọc lịch sử và dấu trang của Trình duyệt"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"Cho phép ứng dụng đọc tất cả các URL mà Trình duyệt đã truy cập và tất cả các dấu trang của Trình duyệt."</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"xem lịch sử và dấu trang của Trình duyệt"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Cho phép ứng dụng sửa đổi lịch sử hoặc dấu trang của Trình duyệt được lưu trữ trên điện thoại của bạn. Các ứng dụng độc hại có thể sử dụng quyền này để xoá hoặc sửa đổi dữ liệu Trình duyệt của bạn."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"đặt báo thức trong đồng hồ báo thức"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Cho phép ứng dụng đặt báo thức trong ứng dụng đồng hồ báo thức được cài đặt. Một số ứng dụng đồng hồ báo thức có thể không sử dụng tính năng này."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Sửa đổi quyền về vị trí địa lý của Trình duyệt"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Cho phép ứng dụng sửa đổi các quyền về vị trí địa lý của Trình duyệt. Các ứng dụng độc hại có thể sử dụng quyền này để cho phép gửi thông tin vị trí đến trang web bất kỳ."</string>
<string name="save_password_message" msgid="767344687139195790">"Bạn có muốn trình duyệt nhớ mật khẩu này không?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"Mở mạng Wi-Fi khả dụng"</item>
<item quantity="other" msgid="7915895323644292768">"Mở mạng Wi-Fi khả dụng"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Chèn ký tự"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"Ứng dụng không xác định"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Đang gửi tin nhắn SMS"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"Đã kết nối là thiết bị truyền thông"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"Đã kết nối như máy ảnh"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Được kết nối như trình cài đặt"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"Chạm để có các tùy chọn USB khác"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Định dạng b.nhớ USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Định dạng thẻ SD"</string>
@@ -1118,8 +1132,8 @@
<string name="sha256_fingerprint" msgid="4391271286477279263">"Tệp tham chiếu SHA-256:"</string>
<string name="sha1_fingerprint" msgid="7930330235269404581">"Tệp tham chiếu SHA-1:"</string>
<string name="activity_chooser_view_see_all" msgid="180268188117163072">"Xem tất cả..."</string>
- <!-- no translation found for activity_chooser_view_dialog_title_default (3325054276356556835) -->
- <skip />
- <!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
+ <string name="activity_chooser_view_dialog_title_default" msgid="3325054276356556835">"Chọn hoạt động"</string>
+ <string name="share_action_provider_share_with" msgid="1791316789651185229">"Chia sẻ với..."</string>
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
<skip />
</resources>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 0fb0106..6daa793 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"允许应用程序查看您按的键,即使在与其他应用程序交互(例如输入密码)时也不例外。普通应用程序从不需要使用此权限。"</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"绑定至输入法"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"允许手机用户绑定至输入法的顶级界面。普通应用程序从不需要使用此权限。"</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"绑定到壁纸"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"允许手机用户绑定到壁纸的顶级界面。应该从不需要将此权限授予普通应用程序。"</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"绑定到窗口小部件服务"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"省/直辖市/自治区"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"邮政编码"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"州"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"邮政编码"</string>
+ <string name="autofill_county" msgid="237073771020362891">"郡"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"岛"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"地区"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"省"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"县/府/都/道"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"行政区"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"区域"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"酋长国"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"读取浏览器的历史记录和书签"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"允许应用程序读取用浏览器访问过的所有网址,以及浏览器的所有书签。"</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"写入浏览器的历史记录和书签"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"允许应用程序修改存储在手机中的浏览器历史记录或书签。恶意应用程序可借此清除或修改浏览器数据。"</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"在闹钟中设置警报"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"允许应用程序在安装的闹钟应用程序中设置警报。某些闹钟应用程序没有实现此功能。"</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"修改浏览器的地理位置权限"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"允许应用程序修改浏览器的地理位置权限。恶意应用程序会利用这一点将位置信息发送到任意网站。"</string>
<string name="save_password_message" msgid="767344687139195790">"是否希望浏览器记住此密码?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"打开可用的 Wi-Fi 网络"</item>
<item quantity="other" msgid="7915895323644292768">"打开可用的 Wi-Fi 网络"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"插入字符"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"未知的应用程序"</string>
<string name="sms_control_title" msgid="7296612781128917719">"正在发送短信"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"作为媒体设备连接"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"作为相机连接"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"作为安装程序连接"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"触摸可显示其他 USB 选项"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"格式化 USB 存储设备"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"格式化 SD 卡"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index bf33dbf..411b24f 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -262,6 +262,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"允許應用程式在使用者操作其他程式時 (例如:輸入密碼),仍可監看輸入的按鍵。一般應用程式應不需要此功能。"</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"連結至輸入法"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"允許擁有人連結至輸入法的最頂層介面。一般應用程式不需使用此選項。"</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"連結至桌布"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"允許擁有人連結至桌布的最頂層介面,一般應用程式不需使用此選項。"</string>
<string name="permlab_bindRemoteViews" msgid="5697987759897367099">"繫結至小工具服務"</string>
@@ -701,30 +705,18 @@
<string name="autofill_address_summary_name_format" msgid="3268041054899214945">"$1$2$3"</string>
<string name="autofill_address_summary_separator" msgid="7483307893170324129">", "</string>
<string name="autofill_address_summary_format" msgid="4874459455786827344">"$1$2$3"</string>
- <!-- no translation found for autofill_province (2231806553863422300) -->
- <skip />
- <!-- no translation found for autofill_postal_code (4696430407689377108) -->
- <skip />
- <!-- no translation found for autofill_state (6988894195520044613) -->
- <skip />
- <!-- no translation found for autofill_zip_code (8697544592627322946) -->
- <skip />
- <!-- no translation found for autofill_county (237073771020362891) -->
- <skip />
- <!-- no translation found for autofill_island (4020100875984667025) -->
- <skip />
- <!-- no translation found for autofill_district (8400735073392267672) -->
- <skip />
- <!-- no translation found for autofill_department (5343279462564453309) -->
- <skip />
- <!-- no translation found for autofill_prefecture (2028499485065800419) -->
- <skip />
- <!-- no translation found for autofill_parish (8202206105468820057) -->
- <skip />
- <!-- no translation found for autofill_area (3547409050889952423) -->
- <skip />
- <!-- no translation found for autofill_emirate (2893880978835698818) -->
- <skip />
+ <string name="autofill_province" msgid="2231806553863422300">"省"</string>
+ <string name="autofill_postal_code" msgid="4696430407689377108">"郵遞區號"</string>
+ <string name="autofill_state" msgid="6988894195520044613">"州/省"</string>
+ <string name="autofill_zip_code" msgid="8697544592627322946">"郵遞區號"</string>
+ <string name="autofill_county" msgid="237073771020362891">"縣/市"</string>
+ <string name="autofill_island" msgid="4020100875984667025">"島"</string>
+ <string name="autofill_district" msgid="8400735073392267672">"行政區"</string>
+ <string name="autofill_department" msgid="5343279462564453309">"省"</string>
+ <string name="autofill_prefecture" msgid="2028499485065800419">"縣"</string>
+ <string name="autofill_parish" msgid="8202206105468820057">"教區"</string>
+ <string name="autofill_area" msgid="3547409050889952423">"區"</string>
+ <string name="autofill_emirate" msgid="2893880978835698818">"大公國"</string>
<string name="permlab_readHistoryBookmarks" msgid="1284843728203412135">"讀取瀏覽器的記錄與書籤"</string>
<string name="permdesc_readHistoryBookmarks" msgid="4981489815467617191">"允許應用程式讀取瀏覽器曾經造訪過的所有網址,以及瀏覽器的所有書籤。"</string>
<string name="permlab_writeHistoryBookmarks" msgid="9009434109836280374">"寫入瀏覽器的記錄與書籤"</string>
@@ -732,6 +724,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"允許應用程式修改儲存在電話上的瀏覽記錄或書籤。請注意:惡意應用程式可能會使用此選項來清除或修改您瀏覽器的資料。"</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"在鬧鐘應用程式中設定鬧鈴"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"允許應用程式在安裝的鬧鐘應用程式中設定鬧鐘,某些鬧鐘應用程式可能無法執行這項功能。"</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"修改瀏覽器地理資訊的權限"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"允許應用程式修改瀏覽器的地理位置權限,惡意應用程式可能會透過此方式允許將您的位置資訊任意傳送給某些網站。"</string>
<string name="save_password_message" msgid="767344687139195790">"是否記住此密碼?"</string>
@@ -923,6 +919,22 @@
<item quantity="one" msgid="1634101450343277345">"開啟可用 Wi-Fi 網路"</item>
<item quantity="other" msgid="7915895323644292768">"開啟可用 Wi-Fi 網路"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"插入字元"</string>
<string name="sms_control_default_app_name" msgid="7630529934366549163">"未知的應用程式"</string>
<string name="sms_control_title" msgid="7296612781128917719">"傳送 SMS 簡訊"</string>
@@ -971,6 +983,8 @@
<string name="usb_mtp_notification_title" msgid="3699913097391550394">"已視為媒體裝置連線"</string>
<string name="usb_ptp_notification_title" msgid="1960817192216064833">"已視為相機連線"</string>
<string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"已視為安裝程式連線"</string>
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<string name="usb_notification_message" msgid="4447869605109736382">"輕觸即可顯示其他 USB 選項"</string>
<string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"格式化 USB 儲存空間"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"將 SD 卡格式化"</string>
@@ -1122,4 +1136,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 0e05ad5..f224e63 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -191,8 +191,8 @@
<!-- no translation found for contentServiceSyncNotificationTitle (397743349191901458) -->
<skip />
<string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"Kunokususa <xliff:g id="CONTENT_TYPE">%s</xliff:g> okuningi kakhulu."</string>
- <string name="low_memory" product="tablet" msgid="2292820184396262278">"Isilondolozi sethebhulethi sigcwele! Susa amanye amafayela ukukhulula isikhala."</string>
- <!-- outdated translation 2292820184396262278 --> <string name="low_memory" product="default" msgid="6632412458436461203">"Isilondolozi sethebhulethi sigcwele! Susa amanye amafayela ukukhulula isikhala."</string>
+ <string name="low_memory" product="tablet" msgid="2292820184396262278">"Isitoreji sethebhulethi sigcwele! Susa amanye amafayela ukukhulula isikhala."</string>
+ <!-- outdated translation 2292820184396262278 --> <string name="low_memory" product="default" msgid="6632412458436461203">"Isitoreji sethebhulethi sigcwele! Susa amanye amafayela ukukhulula isikhala."</string>
<!-- no translation found for me (6545696007631404292) -->
<skip />
<string name="power_dialog" product="tablet" msgid="8545351420865202853">"Okukhethwa kukho kwethebhulethi"</string>
@@ -265,8 +265,8 @@
<!-- no translation found for permgrouplab_developmentTools (3446164584710596513) -->
<skip />
<string name="permgroupdesc_developmentTools" msgid="9056431193893809814">"Izici zidingeka kuphela konjiniyela bohlelo lokusebenza."</string>
- <string name="permgrouplab_storage" msgid="1971118770546336966">"Ukugcina"</string>
- <string name="permgroupdesc_storage" product="nosdcard" msgid="7442318502446874999">"Finyelela kukugcina nge-USB."</string>
+ <string name="permgrouplab_storage" msgid="1971118770546336966">"Isitoreji"</string>
+ <string name="permgroupdesc_storage" product="nosdcard" msgid="7442318502446874999">"Finyelela kwisitoreji se-USB."</string>
<string name="permgroupdesc_storage" product="default" msgid="9203302214915355774">"Finyelela ikhadi le-SD."</string>
<!-- no translation found for permlab_statusBar (7417192629601890791) -->
<skip />
@@ -322,7 +322,7 @@
<string name="permlab_enableCarMode" msgid="5684504058192921098">"vumela imodi yemoto"</string>
<string name="permdesc_enableCarMode" msgid="5673461159384850628">"Ivumela uhlelo lokusebenza ukuvumela imodi yemoto."</string>
<string name="permlab_killBackgroundProcesses" msgid="8373714752793061963">"bulala izinqubo zasemuva"</string>
- <string name="permdesc_killBackgroundProcesses" msgid="2908829602869383753">"Ivumela uhlelo lokusebenza ukubulala izinqubo zasemuva zezinye izinhlelo zokusebenza, ngisho noma inkumbulo iphansi kakhulu."</string>
+ <string name="permdesc_killBackgroundProcesses" msgid="2908829602869383753">"Ivumela uhlelo lokusebenza ukubulala izinqubo zasemuva zezinye izinhlelo zokusebenza, ngisho noma imemori iphansi kakhulu."</string>
<string name="permlab_forceStopPackages" msgid="1447830113260156236">"phoqelela ukumisa ezinye izinhlelo zokusebenza"</string>
<string name="permdesc_forceStopPackages" msgid="7263036616161367402">"Ivumela uhlelo lokusebenza ukumisa ngokuphoqelela ezinye izinhlelo zokusebenza."</string>
<!-- no translation found for permlab_forceBack (1804196839880393631) -->
@@ -385,6 +385,10 @@
<string name="permdesc_readInputState" msgid="5132879321450325445">"Ivumela izinhlelo zokusebenza ukufunda izinkinobho ozicindezela ngisho noma uxhumana nolunye uhlelo lokusebenza (njengokufaka iphasiwedi). Akusoze kwadingeka ezinhlelweni zokusebenza ezivamile."</string>
<string name="permlab_bindInputMethod" msgid="3360064620230515776">"hlanganisa indlela yokufakwayo"</string>
<string name="permdesc_bindInputMethod" msgid="3734838321027317228">"Ivumela isimeli ukuhlanganisa uxhumano nomsebenzisi wezinga eliphezulu lendlela yokufaka. Ayisoze yadingeka kwizinhlelo ezivamile."</string>
+ <!-- no translation found for permlab_bindTextService (7358378401915287938) -->
+ <skip />
+ <!-- no translation found for permdesc_bindTextService (172508880651909350) -->
+ <skip />
<string name="permlab_bindWallpaper" msgid="8716400279937856462">"hlanganisa kwiphephadonga"</string>
<string name="permdesc_bindWallpaper" msgid="5287754520361915347">"Ivumela umbambi ukuhlanganisa uxhumano nomsebenzisi kwezinga eliphezulu lwephephadonga. Akusoze kwadingeka kwezinhlelo zokusebenza ezivamile."</string>
<!-- no translation found for permlab_bindRemoteViews (5697987759897367099) -->
@@ -422,8 +426,8 @@
<string name="permdesc_installPackages" msgid="526669220850066132">"Ivumela uhlelo lokusebenza ukufaka amaphakheji amasha noma abuyekeziwe. Izinhlelo ezinonya zingasebenzisa lokhu ukufaka izinhelo zokusebenza ezintsha ngezimvume zomthetho onamandla."</string>
<!-- no translation found for permlab_clearAppCache (4747698311163766540) -->
<skip />
- <string name="permdesc_clearAppCache" product="tablet" msgid="3097119797652477973">"Ivumela uhlelo lokusebenza ukukhulula ukugcina kwethebhulethii ngokususa amafayela kwisiqondiso sesilondolozi sesikhashana sohlelo lokusebenza. Ukufinyelele ngokuvamile kuvinjelwe enqubweni yohlelo."</string>
- <string name="permdesc_clearAppCache" product="default" msgid="7740465694193671402">"Ivumela uhlelo lokusebenza ukukhulula ukugcina kwefoni ngokususa amafayela kwisiqondiso sesilondolozi sesikhashana sohlelo lokusebenza. Ukufinyelele ngokuvamile kuvinjelwe enqubweni yohlelo."</string>
+ <string name="permdesc_clearAppCache" product="tablet" msgid="3097119797652477973">"Ivumela uhlelo lokusebenza ukukhulula isitoreji sethebhulethi ngokususa amafayela kwisiqondiso sesilondolozi sesikhashana sohlelo lokusebenza. Ukufinyelele ngokuvamile kuvinjelwe enqubweni yesistimu."</string>
+ <string name="permdesc_clearAppCache" product="default" msgid="7740465694193671402">"Ivumela uhlelo lokusebenza ukukhulula isitoreji sefoni ngokususa amafayela kwisiqondiso sesilondolozi sesikhashana sohlelo lokusebenza. Ukufinyelele ngokuvamile kuvinjelwe enqutshweni yesitimu."</string>
<string name="permlab_movePackage" msgid="728454979946503926">"Hambisa izinsiza zohlelo lokusebenza"</string>
<string name="permdesc_movePackage" msgid="6323049291923925277">"Ivumela uhlelo lokusebenza ukukhipha izinsiza zohlelo lokusebenza kwimidiya yangaphakathi iziyisa kweyangaphandle nangokuguquka."</string>
<string name="permlab_readLogs" msgid="6615778543198967614">"funda idatha yefayela lokungena ebucayi"</string>
@@ -454,7 +458,7 @@
<!-- no translation found for permlab_broadcastSticky (7919126372606881614) -->
<skip />
<string name="permdesc_broadcastSticky" product="tablet" msgid="6322249605930062595">"Ivumela uhlelo lokusebenza ukuthumela imisakazo enamathelayo, esala emva kokuba ukusakaza kuphelile. Izinhlelo zokusebenza ezinonya zingenza ithebhulethii ingasheshi futhi ingahlaliseki ngokuyibangela ukuba isebenzise inkumbulo eningi kakhulu."</string>
- <string name="permdesc_broadcastSticky" product="default" msgid="1920045289234052219">"Ivumela uhlelo lokusebenza ukuthumela imisakazo enamathelayo, esala emva kokuba ukusakaza kuphelile. Izinhlelo zokusebenza ezinonya zingenza ifoni ingasheshi futhi ingahlaliseki ngokuyibangela ukuba isebenzise inkumbulo eningi kakhulu."</string>
+ <string name="permdesc_broadcastSticky" product="default" msgid="1920045289234052219">"Ivumela uhlelo lokusebenza ukuthumela imisakazo engazwakali kahle, esala emuva kokuthi ukusakaza kuphelile. Izinhlelo zokusebenza ezinonya zingenza ifoni ingasheshi futhi ingasebenzi kahle ngokuyibangela ukuthi isebenzise imemori eningi kakhulu."</string>
<!-- no translation found for permlab_readContacts (6219652189510218240) -->
<skip />
<string name="permdesc_readContacts" product="tablet" msgid="7596158687301157686">"Ivumela uhlelo lokusebenza ukufunda yonke idatha yothintana naye (ikheli) egcinwe kwithebhulethi yakho. Izinhlelo zokusebenza ezinonya zingase zisebenzise lokhu ukuthumela idatha yakho kwabanye abantu."</string>
@@ -516,19 +520,19 @@
<string name="permdesc_reboot" product="default" msgid="7914933292815491782">"Ivumela uhlelo lokusebenza ukuphoqelela ifoni ukuqalisa phansi."</string>
<!-- no translation found for permlab_mount_unmount_filesystems (1761023272170956541) -->
<skip />
- <string name="permdesc_mount_unmount_filesystems" msgid="6253263792535859767">"Ivumela izinhlelo ukukhweza nokukwehlisa izinhlelo zefayela zokugcina okukhiphekayo."</string>
- <string name="permlab_mount_format_filesystems" msgid="5523285143576718981">"fometha ukugcina kwangaphandle"</string>
- <string name="permdesc_mount_format_filesystems" msgid="574060044906047386">"Ivumela uhlelo lokusebenza ukufometha ukugcina okukhiphekayo."</string>
- <string name="permlab_asec_access" msgid="3411338632002193846">"thola ukwaziswa ekugcineni kwangaphakathi"</string>
- <string name="permdesc_asec_access" msgid="8820326551687285439">"Ivumela uhlelo lokusebenza ukuthola ukwaziswa ekugcineni kwangaphakathi."</string>
- <string name="permlab_asec_create" msgid="6414757234789336327">"dala ukugcina kwangaphakathi"</string>
- <string name="permdesc_asec_create" msgid="2621346764995731250">"Ivumela uhlelo lokusebenza ukwenza ukugcina kwangaphakathi."</string>
- <string name="permlab_asec_destroy" msgid="526928328301618022">"yonakalisa ukugcina kwanaphakathi"</string>
- <string name="permdesc_asec_destroy" msgid="2746706889208066256">"Ivumela uhlelo lokusebenza ukonakalisa ukugcina kwangaphakathi."</string>
- <string name="permlab_asec_mount_unmount" msgid="2456287623689029744">"khweza / yehlisa ukugcina kwangaphakathi"</string>
- <string name="permdesc_asec_mount_unmount" msgid="5934375590189368200">"Ivumela uhlelo lokusebenza ukukhuphula / ukwehlisa ukugcina kwangaphakathi."</string>
- <string name="permlab_asec_rename" msgid="7496633954080472417">"qamba kabusha ukugcina kwangaphakathi"</string>
- <string name="permdesc_asec_rename" msgid="2152829985238876790">"Ivumela uhlelo lokusebenza ukuqamba kabusha ukugcina kwangaphakathi."</string>
+ <string name="permdesc_mount_unmount_filesystems" msgid="6253263792535859767">"Ivumela izinhlelo ukukhweza nokukwehlisa amasistimu wefayela lesitoreji esikhiphekayo."</string>
+ <string name="permlab_mount_format_filesystems" msgid="5523285143576718981">"fometha isitoreji sangaphandle"</string>
+ <string name="permdesc_mount_format_filesystems" msgid="574060044906047386">"Ivumela uhlelo lokusebenza ukufometha isitoreji esikhiphekayo."</string>
+ <string name="permlab_asec_access" msgid="3411338632002193846">"thola ulwazi ngesitoreji sangaphakathi"</string>
+ <string name="permdesc_asec_access" msgid="8820326551687285439">"Ivumela uhlelo lokusebenza ukuthola ulwazi ngesitoreji sangaphakathi."</string>
+ <string name="permlab_asec_create" msgid="6414757234789336327">"dala isitoreji sangaphakathi"</string>
+ <string name="permdesc_asec_create" msgid="2621346764995731250">"Ivumela uhlelo lokusebenza ukudala isitoreji sangaphakathi."</string>
+ <string name="permlab_asec_destroy" msgid="526928328301618022">"yonakalisa isitoreji sangaphakathi"</string>
+ <string name="permdesc_asec_destroy" msgid="2746706889208066256">"Ivumela uhlelo lokusebenza ukonakalisa isitoreji sangaphakathi."</string>
+ <string name="permlab_asec_mount_unmount" msgid="2456287623689029744">"khweza / yehlisa isitoreji sangaphakathi"</string>
+ <string name="permdesc_asec_mount_unmount" msgid="5934375590189368200">"Ivumela uhlelo lokusebenza ukukhweza / ukwehlisa isitoreji sangaphakathi."</string>
+ <string name="permlab_asec_rename" msgid="7496633954080472417">"yetha kabusha isitoreji sangaphakathi"</string>
+ <string name="permdesc_asec_rename" msgid="2152829985238876790">"Ivumela uhlelo lokusebenza ukwetha kabusha isitoreji sangaphakathi."</string>
<!-- no translation found for permlab_vibrate (7768356019980849603) -->
<skip />
<string name="permdesc_vibrate" msgid="2886677177257789187">"Ivumela uhlelo lokusebenza ukulawula isidlidlizi."</string>
@@ -550,8 +554,8 @@
<!-- no translation found for permlab_callPrivileged (4198349211108497879) -->
<skip />
<string name="permdesc_callPrivileged" msgid="244405067160028452">"Ivumela uhlelo lokusebenza ukushayela noma iyiphi inombolo yocingo, kuhlanganise izinombolo eziphuthumayo, ngaphandle kokungenela kwakho. Izinhlelo zokusebenza ezinonya zingase zenze izincingo ezingadingeki nezingekho ezimthethweni kwizinsizakalo eziphuthumayo."</string>
- <string name="permlab_performCdmaProvisioning" product="tablet" msgid="4842576994144604821">"ngokuqondile qalisa ukuhlela ithebhulethi nge-CDMA"</string>
- <string name="permlab_performCdmaProvisioning" product="default" msgid="5604848095315421425">"ngokuqondile qalisa ukuhlela ifoni nge-CDMA"</string>
+ <string name="permlab_performCdmaProvisioning" product="tablet" msgid="4842576994144604821">"ngokuqondile qalisa ukumisa ithebhulethi nge-CDMA"</string>
+ <string name="permlab_performCdmaProvisioning" product="default" msgid="5604848095315421425">"ngokuqondile qalisa ukumisa ifoni nge-CDMA"</string>
<string name="permdesc_performCdmaProvisioning" msgid="6457447676108355905">"Ivumela uhlelo lokusebenza ukuqalisa amalungiselelo e-CDMA. Izinhlelo ezinonya ngokungadingekile zingaqalisa amalungiselelo e-CDMA."</string>
<!-- no translation found for permlab_locationUpdates (7785408253364335740) -->
<skip />
@@ -667,12 +671,12 @@
<string name="permdesc_readDictionary" msgid="1082972603576360690">"Ivumela uhlelo lokusebenza ukufunda noma yimaphi amagama ayimfihlo, amagama nemisho leyo umsebenzisi ayigcine kwisichazamazwi somsebenzisi."</string>
<string name="permlab_writeDictionary" msgid="6703109511836343341">"bhala kwisichazamazwi esicacisiwe somsebenzisi"</string>
<string name="permdesc_writeDictionary" msgid="2241256206524082880">"Ivumela uhlelo lokusebenza ukubhala amagama amasha kwisichazamazwi somsebenzisi."</string>
- <string name="permlab_sdcardWrite" product="nosdcard" msgid="85430876310764752">"guqula/susa okuqukethwe kokugcina nge-USB"</string>
+ <string name="permlab_sdcardWrite" product="nosdcard" msgid="85430876310764752">"guqula/susa okuqukethwe isitoreji se-USB"</string>
<string name="permlab_sdcardWrite" product="default" msgid="8079403759001777291">"guqula/susa okuqukethwe kwekhadi le-SD"</string>
- <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6594393334785738252">"Ivumela uhlelo lokusebenza ukubhala ekugcineni nge-USB."</string>
+ <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6594393334785738252">"Ivumela uhlelo lokusebenza ukubhala kwisitoreji se-USB."</string>
<string name="permdesc_sdcardWrite" product="default" msgid="6643963204976471878">"Ivumela uhlelo lokusebenza ukubhala ekhadini le-SD."</string>
- <string name="permlab_mediaStorageWrite" product="default" msgid="6859839199706879015">"guqula/susa okuqukethwe kokugcina imidiya yangaphakathi"</string>
- <string name="permdesc_mediaStorageWrite" product="default" msgid="8232008512478316233">"Ivumela uhlelo lokusebenza ukuguqula okuqukethwe kokugcina kwemidiya yangaphakathi."</string>
+ <string name="permlab_mediaStorageWrite" product="default" msgid="6859839199706879015">"guqula/susa okuqukethwe kwisitoreji semidiya yangaphakathi"</string>
+ <string name="permdesc_mediaStorageWrite" product="default" msgid="8232008512478316233">"Ivumela uhlelo lokusebenza ukuguqula okuqukethwe kwisitoreji semidiya yangaphakathi."</string>
<string name="permlab_cache_filesystem" msgid="5656487264819669824">"finyelela kunqolobane yesistimu yefayela"</string>
<string name="permdesc_cache_filesystem" msgid="1624734528435659906">"Ivumela uhlelo lokusebenza ukufunda nokubhala uhlelo lwesistimu lwenqolobane."</string>
<string name="permlab_use_sip" msgid="5986952362795870502">"yena/thola amakholi e-Inthanethi"</string>
@@ -705,7 +709,7 @@
<string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Misa iphrokzi jikelele yedivaysi ukusebenzisa ngenkathi inqumbomgomo ivunyelwa. Idivaysi yokuqala kuphela yokuphatha emisa ummeleli jikelele esebenzayo."</string>
<!-- outdated translation 2314569545488269564 --> <string name="policylab_expirePassword" msgid="885279151847254056">"Hlela ukuphelelwa isikhathi kwephasiwedi."</string>
<!-- outdated translation 7276906351852798814 --> <string name="policydesc_expirePassword" msgid="4844430354224822074">"Lawula ukuthi iphasiwedi yokuvala isikrini kumele ishintshwe nini"</string>
- <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Setha umbhalo wemfihlo wokugcina"</string>
+ <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Setha umbhalo wemfihlo yesitoreji"</string>
<string name="policydesc_encryptedStorage" msgid="2504984732631479399">"Idinga ukuba idatha yohlelo lokusebenza olugciniwe ibhalwe ngokufihlekileyo"</string>
<!-- no translation found for policylab_disableCamera (6395301023152297826) -->
<skip />
@@ -962,6 +966,10 @@
<string name="permdesc_writeHistoryBookmarks" product="default" msgid="945571990357114950">"Ivumela izinhlelo zokusebenza ukuguqula umlando Wesiphequluli noma amabhukimakhi agcinwe efonini yakho. Izinhlelo zokusebenza ezinonya zingase zisebenzise lokhu ukwesula noma ukuguqula idatha yakho Yesiphequluli."</string>
<string name="permlab_setAlarm" msgid="5924401328803615165">"misa i-alamu ewashini le-alamu"</string>
<string name="permdesc_setAlarm" msgid="5966966598149875082">"Ivumela uhlelo lokusebenza ukumisa i-alamu kuhlelo lokusebenza lewashi le-alawmu elifakiwe. Ezinye izinhlelo zokusebenza zewashi le-alamu zingase zingasebenzisi lesi sici."</string>
+ <!-- no translation found for permlab_readWriteOwnVoicemail (8861946090046059697) -->
+ <skip />
+ <!-- no translation found for permdesc_readWriteOwnVoicemail (7343490168272921274) -->
+ <skip />
<string name="permlab_writeGeolocationPermissions" msgid="4715212655598275532">"Gugula izimvume zendawo Yesiphequluli"</string>
<string name="permdesc_writeGeolocationPermissions" msgid="4011908282980861679">"Ivumela uhlelo lokusebenza ukuguqula izimvume zendawo Yesiphequluli. Izinhlelo ezinonya zingase zisebenzise lokhu ukuvumela ukuthumela ukwaziswa kwendawo kwamanye amasayithi ewebhu."</string>
<!-- no translation found for save_password_message (767344687139195790) -->
@@ -1118,8 +1126,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Izenzo zombhalo"</string>
<!-- no translation found for low_internal_storage_view_title (1399732408701697546) -->
<skip />
- <string name="low_internal_storage_view_text" product="tablet" msgid="4231085657068852042">"Isikhala sokugcina sethebhulethi siya ngokuphela."</string>
- <!-- outdated translation 4231085657068852042 --> <string name="low_internal_storage_view_text" product="default" msgid="635106544616378836">"Isikhala sokugcina sethebhulethi siya ngokuphela."</string>
+ <string name="low_internal_storage_view_text" product="tablet" msgid="4231085657068852042">"Isitoreji sethebhulethi siya ngokuphela."</string>
+ <!-- outdated translation 4231085657068852042 --> <string name="low_internal_storage_view_text" product="default" msgid="635106544616378836">"Isitoreji sethebhulethi siya ngokuphela."</string>
<!-- no translation found for ok (5970060430562524910) -->
<skip />
<!-- no translation found for cancel (6442560571259935130) -->
@@ -1216,6 +1224,22 @@
<item quantity="one" msgid="1634101450343277345">"Vula inethiwekhi ye-Wi-Fi etholakalayo"</item>
<item quantity="other" msgid="7915895323644292768">"Vula amanethiwekhi we-Wi-Fi atholakalayo"</item>
</plurals>
+ <!-- no translation found for wifi_watchdog_network_disabled (6398650124751302012) -->
+ <skip />
+ <!-- no translation found for wifi_watchdog_network_disabled_detailed (4659127251774069612) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_dialog_title (97611782659324517) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_turnon_message (2804722042556269129) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_failed_message (6467545523417622335) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pbc_go_negotiation_request_message (3170321684621420428) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_go_negotiation_request_message (5177412094633377308) -->
+ <skip />
+ <!-- no translation found for wifi_p2p_pin_display_message (2834049169114922902) -->
+ <skip />
<string name="select_character" msgid="3365550120617701745">"Faka uhlamvu"</string>
<!-- no translation found for sms_control_default_app_name (7630529934366549163) -->
<skip />
@@ -1248,27 +1272,27 @@
<skip />
<string name="perms_hide" msgid="7283915391320676226"><b>"Fihla "</b></string>
<string name="perms_show_all" msgid="2671791163933091180"><b>"Bonisa konke"</b></string>
- <string name="usb_storage_activity_title" msgid="2399289999608900443">"Ukugcina Okukhulu nge-USB"</string>
+ <string name="usb_storage_activity_title" msgid="2399289999608900443">"Isitoreji Sokukhulu se-USB"</string>
<!-- no translation found for usb_storage_title (5901459041398751495) -->
<skip />
- <string name="usb_storage_message" product="nosdcard" msgid="6631094834151575841">"Uxhumeke kwikhompyutha yakho nge-USB. Thinta inkinobho engenzansi uma ufuna ukukopisha amafayela phakathi kwekhompyutha yakho nokugcina nge-Android USB yakho."</string>
+ <string name="usb_storage_message" product="nosdcard" msgid="6631094834151575841">"Uxhumeke kwikhompyutha yakho nge-USB. Thinta inkinobho engenzansi uma ufuna ukukopisha amafayela phakathi kwekhompyutha yakho nesitoreji se-Android USB yakho."</string>
<string name="usb_storage_message" product="default" msgid="4510858346516069238">"Uxhume kwikhompyutha yakho nge-USB. Thinta inkinobho engenzansi uma ufuna ukukopisha amafayela phakathi kwekhompyutha yakho nekhadi lakho le-SD."</string>
- <string name="usb_storage_button_mount" msgid="1052259930369508235">"Vula ukuginca nge-USB"</string>
- <string name="usb_storage_error_message" product="nosdcard" msgid="3276413764430468454">"Kunenkinga yokusebenzisa ikhadi lakho le-SD lokugcina nge-USB."</string>
- <string name="usb_storage_error_message" product="default" msgid="120810397713773275">"Kunenkinga yokusebenzisa ikhadi lakho le-SD lokugcina nge-USB."</string>
+ <string name="usb_storage_button_mount" msgid="1052259930369508235">"Vula isitoreji se-USB"</string>
+ <string name="usb_storage_error_message" product="nosdcard" msgid="3276413764430468454">"Kunenkinga yokusebenzisa ikhadi lakho le-SD njengesitoreji se-USB."</string>
+ <string name="usb_storage_error_message" product="default" msgid="120810397713773275">"Kunenkinga yokusebenzisa ikhadi lakho le-SD njengesitoreji se-USB."</string>
<!-- no translation found for usb_storage_notification_title (8175892554757216525) -->
<skip />
<!-- no translation found for usb_storage_notification_message (7380082404288219341) -->
<skip />
- <string name="usb_storage_stop_notification_title" msgid="2336058396663516017">"Vala ukugcina nge-USB"</string>
- <string name="usb_storage_stop_notification_message" msgid="2591813490269841539">"Khetha ukuvala ukugcina nge-USB."</string>
- <string name="usb_storage_stop_title" msgid="660129851708775853">"Ukugcina nge-USB kuyasebenza"</string>
- <string name="usb_storage_stop_message" product="nosdcard" msgid="1368842269463745067">"Ngaphambi kokuvala ukugcina nge-USB, qiniseka ukuthi wehlise (\"ukhiphe\") ukugcina nge-USB ye-Android yakho kwikhompyutha yakho."</string>
- <string name="usb_storage_stop_message" product="default" msgid="3613713396426604104">"Ngaphambi kokuvala ukugcina nge-USB, qiniseka ukuthi wehlise (\"ukhiphe\" ikhadi lakho le-Android SD kwikhompyutha yakho."</string>
- <string name="usb_storage_stop_button_mount" msgid="7060218034900696029">"Vala ukugcina nge-USB"</string>
- <string name="usb_storage_stop_error_message" msgid="143881914840412108">"Kube nenkinga yokuvala ukugcina nge-USB. Hlola ukuqiniseka ukuthi wehlise isikhungo se-USB, bese uzama futhi."</string>
- <string name="dlg_confirm_kill_storage_users_title" msgid="963039033470478697">"Vula ukugcina nge-USB"</string>
- <string name="dlg_confirm_kill_storage_users_text" msgid="3202838234780505886">"Uma uvula ukugcina nge-USB, ezinye izinhlelo zokusebenza ozisebenzisayo zizoma futhi zingase zingatholakali kuze kube yilapho uvala ukugcina nge-USB."</string>
+ <string name="usb_storage_stop_notification_title" msgid="2336058396663516017">"Vala isitoreji se-USB"</string>
+ <string name="usb_storage_stop_notification_message" msgid="2591813490269841539">"Khetha ukuvala isitoreji se-USB."</string>
+ <string name="usb_storage_stop_title" msgid="660129851708775853">"Isitoreji se-USB siyasebenza"</string>
+ <string name="usb_storage_stop_message" product="nosdcard" msgid="1368842269463745067">"Ngaphambi kokuvala kwisitoreji se-USB, qiniseka ukuthi wehlise (\"ukhiphe\") isitoreji se-USB se-Android yakho kwikhompyutha yakho."</string>
+ <string name="usb_storage_stop_message" product="default" msgid="3613713396426604104">"Ngaphambi kokuvala isitoreji se-USB, qiniseka ukuthi wehlise (\"ukhiphe\" ikhadi lakho le-Android SD kwikhompyutha yakho."</string>
+ <string name="usb_storage_stop_button_mount" msgid="7060218034900696029">"Vala isitoreji se-USB"</string>
+ <string name="usb_storage_stop_error_message" msgid="143881914840412108">"Kube nenkinga yokuvala isitoreji se-USB. Hlola ukuqiniseka ukuthi wehlise isikhungo se-USB, bese uzama futhi."</string>
+ <string name="dlg_confirm_kill_storage_users_title" msgid="963039033470478697">"Vula isitoreji se-USB"</string>
+ <string name="dlg_confirm_kill_storage_users_text" msgid="3202838234780505886">"Uma uvula isitoreji se-USB, ezinye izinhlelo zokusebenza ozisebenzisayo zizoma futhi zingase zingatholakali kuze kube yilapho uvala isitoreji se-USB."</string>
<string name="dlg_error_title" msgid="8048999973837339174">"Umsebenzi we-USB wehlulekile"</string>
<string name="dlg_ok" msgid="7376953167039865701">"KULUNGILE"</string>
<!-- no translation found for usb_mtp_notification_title (3699913097391550394) -->
@@ -1277,11 +1301,13 @@
<skip />
<!-- no translation found for usb_cd_installer_notification_title (6774712827892090754) -->
<skip />
+ <!-- no translation found for usb_accessory_notification_title (7848236974087653666) -->
+ <skip />
<!-- no translation found for usb_notification_message (4447869605109736382) -->
<skip />
- <string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Fometha ukugcina nge-USB"</string>
+ <string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Fometha isitoreji se-USB"</string>
<string name="extmedia_format_title" product="default" msgid="8663247929551095854">"Fometha ikhadi le=SD"</string>
- <string name="extmedia_format_message" product="nosdcard" msgid="8296908079722897772">"Fometha ukugcina nge-USB, usule wonke amafayela agcinwe lapho? Isinyathelo asikwazi ukuguqulwa?"</string>
+ <string name="extmedia_format_message" product="nosdcard" msgid="8296908079722897772">"Fometha isitoreji se-USB, usule wonke amafayela agcinwe lapho? Isinyathelo asikwazi ukuguqulwa?"</string>
<string name="extmedia_format_message" product="default" msgid="3621369962433523619">"Uqinisekile ukuthi ufuna ukufometha ikhadi le-SD? Yonke idatha esekhadini lakho izolahleka."</string>
<string name="extmedia_format_button_format" msgid="4131064560127478695">"Ifomethi"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Ukulungisa iphutha le-USB kuxhunyiwe"</string>
@@ -1292,28 +1318,28 @@
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="candidates_style" msgid="4333913089637062257"><u>"abahlanganyeli"</u></string>
- <string name="ext_media_checking_notification_title" product="nosdcard" msgid="3449816005351468560">"Ilungiselela ukugcina nge-USB"</string>
+ <string name="ext_media_checking_notification_title" product="nosdcard" msgid="3449816005351468560">"Ilungiselela isitoreji se-USB"</string>
<string name="ext_media_checking_notification_title" product="default" msgid="5457603418970994050">"Ilungisa ikhadi le-SD"</string>
<string name="ext_media_checking_notification_message" msgid="8287319882926737053">"Ihlola amaphutha"</string>
- <string name="ext_media_nofs_notification_title" product="nosdcard" msgid="7788040745686229307">"Ukugcina nge-USB okungenalutho"</string>
+ <string name="ext_media_nofs_notification_title" product="nosdcard" msgid="7788040745686229307">"Isitoreji se-USB esingenalutho"</string>
<string name="ext_media_nofs_notification_title" product="default" msgid="780477838241212997">"Ikhadi le-SD elingenalutho"</string>
- <string name="ext_media_nofs_notification_message" product="nosdcard" msgid="8623130522556087311">"Ukugcina nge-USB akunalutho noma kunohlelo lwefayela olungasekelwa."</string>
+ <string name="ext_media_nofs_notification_message" product="nosdcard" msgid="8623130522556087311"></string>
<string name="ext_media_nofs_notification_message" product="default" msgid="3817704088027829380">"Ikhadi le-SD alinalutho noma lunohlelo lwesistimu olungasekelwa."</string>
- <string name="ext_media_unmountable_notification_title" product="nosdcard" msgid="2090046769532713563">"Ukugcina nge-USB okonakele"</string>
+ <string name="ext_media_unmountable_notification_title" product="nosdcard" msgid="2090046769532713563">"Isitoreji se-USB esonakele"</string>
<string name="ext_media_unmountable_notification_title" product="default" msgid="6410723906019100189">"Ikhadi le-SD elonakele"</string>
- <string name="ext_media_unmountable_notification_message" product="nosdcard" msgid="529021299294450667">"Ukugcina nge-USB konakele. Kungase kudingeke ukufa ulifomethe futhi."</string>
+ <string name="ext_media_unmountable_notification_message" product="nosdcard" msgid="529021299294450667">"Isitoreji se-USB konakele. Kungase kudingeke ulifomethe kabusha."</string>
<string name="ext_media_unmountable_notification_message" product="default" msgid="6902531775948238989">"Ikhadi le-SD lonakele. Kungase kudingeke ukuba uyifomethe futhi."</string>
- <string name="ext_media_badremoval_notification_title" product="nosdcard" msgid="1661683031330951073">"Ukugcina nge-USB kukhishwe ngokungalindelekile"</string>
+ <string name="ext_media_badremoval_notification_title" product="nosdcard" msgid="1661683031330951073">"Isitoreji se-USB sikhishwe ngokungalindelekile"</string>
<string name="ext_media_badremoval_notification_title" product="default" msgid="6872152882604407837">"Ikhadi le-SD likhishwe ngokungalindelekile"</string>
- <string name="ext_media_badremoval_notification_message" product="nosdcard" msgid="4329848819865594241">"Yehlisa ikhadi le-SD ngaphambi kokukhipha ukugwema ukulahleka kwedatha."</string>
+ <string name="ext_media_badremoval_notification_message" product="nosdcard" msgid="4329848819865594241">"Yehlisa ikhadi le-SD ngaphambi kokukhipha isitoreji se-USB ukugwema ukulahleka kwedatha."</string>
<string name="ext_media_badremoval_notification_message" product="default" msgid="7260183293747448241">"Yehlisa ikhadi le-SD ngaphambi kokukhipha ukugwema ukulahleka kwedatha."</string>
- <string name="ext_media_safe_unmount_notification_title" product="nosdcard" msgid="3967973893270360230">"Kuvikelekile ukukhipha ukugcina nge-USB"</string>
+ <string name="ext_media_safe_unmount_notification_title" product="nosdcard" msgid="3967973893270360230">"Sekuphephile ukukhipha isitoreji se-USB"</string>
<string name="ext_media_safe_unmount_notification_title" product="default" msgid="6729801130790616200">"Kuphephile ukukhipha ikhadi le-SD"</string>
- <string name="ext_media_safe_unmount_notification_message" product="nosdcard" msgid="6142195361606493530">"Ungakhipha ngokuvikelekile ukugcina nge-USB."</string>
+ <string name="ext_media_safe_unmount_notification_message" product="nosdcard" msgid="6142195361606493530">"Ungakhipha ngokuvikelekile isitoreji se-USB."</string>
<string name="ext_media_safe_unmount_notification_message" product="default" msgid="568841278138377604">"Ungakhipha ngokuphephile ikhadi le-SD."</string>
- <string name="ext_media_nomedia_notification_title" product="nosdcard" msgid="4486377230140227651">"Ukugcina nge-USB kukhishiwe"</string>
+ <string name="ext_media_nomedia_notification_title" product="nosdcard" msgid="4486377230140227651">"Isitoreji se-USB sikhishiwe"</string>
<string name="ext_media_nomedia_notification_title" product="default" msgid="8902518030404381318">"Ikhadi le-SD elikhishiwe"</string>
- <string name="ext_media_nomedia_notification_message" product="nosdcard" msgid="6921126162580574143">"Ukugcina nge-USB kukhishiwe. Faka imidiya entsha."</string>
+ <string name="ext_media_nomedia_notification_message" product="nosdcard" msgid="6921126162580574143">"Isitoreji se-USB sikhishiwe. Faka imidiya entsha."</string>
<string name="ext_media_nomedia_notification_message" product="default" msgid="3870120652983659641">"Ikhadi le-SD likhishiwe. Faka elisha."</string>
<string name="activity_list_empty" msgid="4168820609403385789">"Ayikho imisebenzi efanayo etholakele"</string>
<string name="permlab_pkgUsageStats" msgid="8787352074326748892">"buyekeza izibalo zokusebenzisa ingxenye"</string>
@@ -1321,7 +1347,7 @@
<string name="permlab_copyProtectedData" msgid="1660908117394854464">"Ivumela uhlelo lokusebenza ukucelela insizakalo yesiqukathi esimisiwe ukukopisha kokuqukethwe. Ayisebenziswa izinhlelo zokusebenza ezivamile."</string>
<string name="permdesc_copyProtectedData" msgid="537780957633976401">"Ivumela ukucelela insizakalo yesiqukathi esimisiwe ukukopisha kokuqukethwe. Ayisebenziselwa izinhlelo zokusebenza ezivamile."</string>
<string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Thepha kabili ukuthola ukulawula ukusondeza"</string>
- <string name="gadget_host_error_inflating" msgid="2613287218853846830">"Iphutha lesinqunjwana"</string>
+ <string name="gadget_host_error_inflating" msgid="2613287218853846830">"Iphutha lewijethi"</string>
<string name="ime_action_go" msgid="8320845651737369027">"Iya"</string>
<string name="ime_action_search" msgid="658110271822807811">"Sesha"</string>
<string name="ime_action_send" msgid="2316166556349314424">"Thumela"</string>
@@ -1341,7 +1367,7 @@
<string name="input_method_binding_label" msgid="1283557179944992649">"Indlela yokufakwayo"</string>
<string name="sync_binding_label" msgid="3687969138375092423">"Vumelanisaa"</string>
<string name="accessibility_binding_label" msgid="4148120742096474641">"Ukufinyeleleka"</string>
- <string name="wallpaper_binding_label" msgid="1240087844304687662">"Iphepha donga"</string>
+ <string name="wallpaper_binding_label" msgid="1240087844304687662">"Iphephadonga"</string>
<string name="chooser_wallpaper" msgid="7873476199295190279">"Shintsha iphephadonga"</string>
<!-- no translation found for vpn_title (8219003246858087489) -->
<skip />
@@ -1373,17 +1399,17 @@
<item quantity="other" msgid="4641872797067609177">"<xliff:g id="INDEX">%d</xliff:g> ku-<xliff:g id="TOTAL">%d</xliff:g>"</item>
</plurals>
<string name="action_mode_done" msgid="7217581640461922289">"Kwenziwe"</string>
- <string name="progress_unmounting" product="nosdcard" msgid="535863554318797377">"Yehlisa ukugcina nge-USB..."</string>
+ <string name="progress_unmounting" product="nosdcard" msgid="535863554318797377">"Yehlisa isitoreji se-USB..."</string>
<string name="progress_unmounting" product="default" msgid="5556813978958789471">"Yehlisa ikhadi le-SD..."</string>
- <string name="progress_erasing" product="nosdcard" msgid="4183664626203056915">"Isula ukugcina nge-USB."</string>
+ <string name="progress_erasing" product="nosdcard" msgid="4183664626203056915">"Isula isitoreji se-USB."</string>
<string name="progress_erasing" product="default" msgid="2115214724367534095">"Isula ikhadi le-SD..."</string>
- <string name="format_error" product="nosdcard" msgid="4320339096529911637">"Yehlulekile ukusula ukugcina nge-USB"</string>
+ <string name="format_error" product="nosdcard" msgid="4320339096529911637">"Yehlulekile ukusula isitoreji se-USB"</string>
<string name="format_error" product="default" msgid="1343380371925238343">"Yehlulekile ukususa ikhadi le-SD."</string>
<string name="media_bad_removal" msgid="7960864061016603281">"Ikhadi le-SD likhishwe ngaphambi kokuba lehliswe."</string>
- <string name="media_checking" product="nosdcard" msgid="418188720009569693">"Ukugcina nge-USB okwamanje kusahlolwa."</string>
+ <string name="media_checking" product="nosdcard" msgid="418188720009569693">"Isitoreji se-USB sisahlolwa."</string>
<string name="media_checking" product="default" msgid="7334762503904827481">"Ikhadi le-SD okwamanje liyahlolwa."</string>
<string name="media_removed" msgid="7001526905057952097">"Ikhadi le-SD likhishiwe."</string>
- <string name="media_shared" product="nosdcard" msgid="5830814349250834225">"Ukugcina nge-USB okwamanje kusetshenziswa ikhompyutha."</string>
+ <string name="media_shared" product="nosdcard" msgid="5830814349250834225">"Isitoreji se-USB sisasetshenziswa yikhompyutha."</string>
<string name="media_shared" product="default" msgid="5706130568133540435">"Ikhadi le-SD okwamanje lisetshenziswa ikhompyutha."</string>
<string name="media_unknown_state" msgid="729192782197290385">"Imidiya yangaphakathi kwisimo esingaziwa."</string>
<string name="share" msgid="1778686618230011964">"Yabelana"</string>
@@ -1465,4 +1491,6 @@
<skip />
<!-- no translation found for share_action_provider_share_with (1791316789651185229) -->
<skip />
+ <!-- no translation found for status_bar_device_locked (3092703448690669768) -->
+ <skip />
</resources>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 88ab983..f6bf76b 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -711,9 +711,6 @@
<!-- Variation of textEditSidePasteWindowLayout displayed when the clipboard is empty. -->
<attr name="textEditSideNoPasteWindowLayout" format="reference" />
- <!-- Layout of a the view that is used to create the text suggestions popup window in an
- EditText. This window will be displayed below the text line. -->
- <attr name="textEditSuggestionsWindowLayout" format="reference" />
<!-- Layout of the TextView item that will populate the suggestion popup window. -->
<attr name="textEditSuggestionItemLayout" format="reference" />
@@ -3079,9 +3076,6 @@
<!-- Variation of textEditSidePasteWindowLayout displayed when the clipboard is empty. -->
<attr name="textEditSideNoPasteWindowLayout" />
- <!-- Layout of a the view that is used to create the text suggestions popup window in an
- EditText. This window will be displayed below the text line. -->
- <attr name="textEditSuggestionsWindowLayout" />
<!-- Layout of the TextView item that will populate the suggestion popup window. -->
<attr name="textEditSuggestionItemLayout" />
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 0ed8076..b3e50ea 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -35,7 +35,7 @@
<!-- Height of the system bar -->
<dimen name="system_bar_height">48dip</dimen>
<!-- Height of notification icons in the status bar -->
- <dimen name="status_bar_icon_size">25dip</dimen>
+ <dimen name="status_bar_icon_size">24dip</dimen>
<!-- Size of the giant number (unread count) in the notifications -->
<dimen name="status_bar_content_number_size">48sp</dimen>
<!-- Height of notification icons in the system bar -->
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index b2b7025..49c9447 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -1715,7 +1715,6 @@
<public type="attr" name="switchPreferenceStyle" />
<public type="attr" name="textSuggestionsWindowStyle" />
- <public type="attr" name="textEditSuggestionsWindowLayout" />
<public type="attr" name="textEditSuggestionItemLayout" />
<public type="attr" name="suggestionsEnabled" />
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index e1a31f4..d698341 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3034,6 +3034,15 @@
<!-- Notification body when data usage has exceeded limit threshold, and has been disabled. [CHAR LIMIT=32] -->
<string name="data_usage_limit_body">tap to enable</string>
+ <!-- Notification title when 2G-3G data usage has exceeded limit threshold. [CHAR LIMIT=32] -->
+ <string name="data_usage_3g_limit_snoozed_title">2G-3G data limit exceeded</string>
+ <!-- Notification title when 4G data usage has exceeded limit threshold. [CHAR LIMIT=32] -->
+ <string name="data_usage_4g_limit_snoozed_title">4G data limit exceeded</string>
+ <!-- Notification title when mobile data usage has exceeded limit threshold. [CHAR LIMIT=32] -->
+ <string name="data_usage_mobile_limit_snoozed_title">Mobile data limit exceeded</string>
+ <!-- Notification body when data usage has exceeded limit threshold. [CHAR LIMIT=32] -->
+ <string name="data_usage_limit_snoozed_body"><xliff:g id="size" example="3.8GB">%s</xliff:g> over specified limit</string>
+
<!-- SSL Certificate dialogs -->
<!-- Title for an SSL Certificate dialog -->
<string name="ssl_certificate">Security certificate</string>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 9b6c442..5aa47b7 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -423,7 +423,6 @@
<item name="android:textEditNoPasteWindowLayout">?android:attr/textEditNoPasteWindowLayout</item>
<item name="android:textEditSidePasteWindowLayout">?android:attr/textEditSidePasteWindowLayout</item>
<item name="android:textEditSideNoPasteWindowLayout">?android:attr/textEditSideNoPasteWindowLayout</item>
- <item name="android:textEditSuggestionsWindowLayout">?android:attr/textEditSuggestionsWindowLayout</item>
<item name="android:textEditSuggestionItemLayout">?android:attr/textEditSuggestionItemLayout</item>
<item name="android:textCursorDrawable">?android:attr/textCursorDrawable</item>
</style>
@@ -624,6 +623,7 @@
<item name="android:completionThreshold">2</item>
<item name="android:dropDownSelector">@android:drawable/list_selector_background</item>
<item name="android:popupBackground">@android:drawable/spinner_dropdown_background</item>
+ <item name="textCursorDrawable">@android:drawable/text_cursor_holo_light</item>
</style>
<style name="Widget.TabWidget">
@@ -712,16 +712,6 @@
<item name="android:quickContactWindowSize">modeLarge</item>
</style>
- <style name="Widget.ActivityChooserViewButton">
- <item name="android:layout_width">wrap_content</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:layout_gravity">center</item>
- <item name="android:background">?android:attr/selectableItemBackground</item>
- <item name="android:adjustViewBounds">true</item>
- <item name="android:scaleType">fitCenter</item>
- <item name="android:padding">@android:dimen/action_bar_icon_vertical_padding</item>
- </style>
-
<!-- Text Appearances -->
<eat-comment />
@@ -1075,14 +1065,10 @@
</style>
<!-- Style for the popup window that contains text suggestions. -->
- <style name="Widget.TextSuggestions">
- <item name="android:popupAnimationStyle">@android:style/Animation.TextSuggestions</item>
- </style>
-
- <!-- Animation effects when showing/hiding the text suggestions popup window. -->
- <style name="Animation.TextSuggestions">
- <item name="windowEnterAnimation">@android:anim/fade_in</item>
- <item name="windowExitAnimation">@android:anim/fade_out</item>
+ <style name="Widget.TextSuggestionsPopupWindow">
+ <item name="android:dropDownSelector">@android:drawable/list_selector_background</item>
+ <item name="android:popupBackground">@android:drawable/text_edit_suggestions_window</item>
+ <item name="android:dropDownWidth">wrap_content</item>
</style>
<style name="Widget.ActionBar">
@@ -1552,7 +1538,7 @@
<style name="Widget.Holo.TextSelectHandle" parent="Widget.TextSelectHandle">
</style>
- <style name="Widget.Holo.TextSuggestions" parent="Widget.TextSuggestions">
+ <style name="Widget.Holo.TextSuggestionsPopupWindow" parent="Widget.TextSuggestionsPopupWindow">
</style>
<style name="Widget.Holo.AbsListView" parent="Widget.AbsListView">
@@ -1983,6 +1969,9 @@
<style name="Widget.Holo.Light.TextSelectHandle" parent="Widget.TextSelectHandle">
</style>
+ <style name="Widget.Holo.Light.TextSuggestionsPopupWindow" parent="Widget.TextSuggestionsPopupWindow">
+ </style>
+
<style name="Widget.Holo.Light.AbsListView" parent="Widget.AbsListView">
</style>
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 93ccfe3..8d66b93 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -189,8 +189,7 @@
<item name="textEditNoPasteWindowLayout">@android:layout/text_edit_no_paste_window</item>
<item name="textEditSidePasteWindowLayout">@android:layout/text_edit_side_paste_window</item>
<item name="textEditSideNoPasteWindowLayout">@android:layout/text_edit_side_no_paste_window</item>
- <item name="textSuggestionsWindowStyle">@android:style/Widget.TextSuggestions</item>
- <item name="textEditSuggestionsWindowLayout">@android:layout/text_edit_suggestions_window</item>
+ <item name="textSuggestionsWindowStyle">@android:style/Widget.TextSuggestionsPopupWindow</item>
<item name="textEditSuggestionItemLayout">@android:layout/text_edit_suggestion_item</item>
<item name="textCursorDrawable">@null</item>
@@ -954,7 +953,7 @@
<item name="textSelectHandleRight">@android:drawable/text_select_handle_right</item>
<item name="textSelectHandle">@android:drawable/text_select_handle_middle</item>
<item name="textSelectHandleWindowStyle">@android:style/Widget.Holo.TextSelectHandle</item>
- <item name="textSuggestionsWindowStyle">@android:style/Widget.Holo.TextSuggestions</item>
+ <item name="textSuggestionsWindowStyle">@android:style/Widget.Holo.TextSuggestionsPopupWindow</item>
<item name="textCursorDrawable">@android:drawable/text_cursor_holo_dark</item>
<!-- Widget styles -->
@@ -1250,7 +1249,7 @@
<item name="textSelectHandleRight">@android:drawable/text_select_handle_right</item>
<item name="textSelectHandle">@android:drawable/text_select_handle_middle</item>
<item name="textSelectHandleWindowStyle">@android:style/Widget.Holo.TextSelectHandle</item>
- <item name="textSuggestionsWindowStyle">@android:style/Widget.Holo.TextSuggestions</item>
+ <item name="textSuggestionsWindowStyle">@android:style/Widget.Holo.Light.TextSuggestionsPopupWindow</item>
<item name="textCursorDrawable">@android:drawable/text_cursor_holo_light</item>
<!-- Widget styles -->