Merge "Adapting translation length for a string in a dialog" into lmp-dev
diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java
index 5ba7d50..cc0d51c 100644
--- a/cmds/am/src/com/android/commands/am/Am.java
+++ b/cmds/am/src/com/android/commands/am/Am.java
@@ -132,6 +132,7 @@
" am to-uri [INTENT]\n" +
" am to-intent-uri [INTENT]\n" +
" am switch-user <USER_ID>\n" +
+ " am start-user <USER_ID>\n" +
" am stop-user <USER_ID>\n" +
" am stack start <DISPLAY_ID> <INTENT>\n" +
" am stack movetask <TASK_ID> <STACK_ID> [true|false]\n" +
@@ -233,8 +234,11 @@
"am switch-user: switch to put USER_ID in the foreground, starting\n" +
" execution of that user if it is currently stopped.\n" +
"\n" +
+ "am start-user: start USER_ID in background if it is currently stopped,\n" +
+ " use switch-user if you want to start the user in foreground.\n" +
+ "\n" +
"am stop-user: stop execution of USER_ID, not allowing it to run any\n" +
- " code until a later explicit switch to it.\n" +
+ " code until a later explicit start or switch to it.\n" +
"\n" +
"am stack start: start a new activity on <DISPLAY_ID> using <INTENT>.\n" +
"\n" +
@@ -340,6 +344,8 @@
runToUri(true);
} else if (op.equals("switch-user")) {
runSwitchUser();
+ } else if (op.equals("start-user")) {
+ runStartUserInBackground();
} else if (op.equals("stop-user")) {
runStopUser();
} else if (op.equals("stack")) {
@@ -1133,6 +1139,16 @@
mAm.switchUser(Integer.parseInt(user));
}
+ private void runStartUserInBackground() throws Exception {
+ String user = nextArgRequired();
+ boolean success = mAm.startUserInBackground(Integer.parseInt(user));
+ if (success) {
+ System.out.println("Success: user started");
+ } else {
+ System.err.println("Error: could not start user");
+ }
+ }
+
private void runStopUser() throws Exception {
String user = nextArgRequired();
int res = mAm.stopUser(Integer.parseInt(user), null);
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index 3d14c58..cd6088f 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -579,7 +579,7 @@
public TaskDescription(TaskDescription td) {
mLabel = td.mLabel;
mIcon = td.mIcon;
- setPrimaryColor(td.mColorPrimary);
+ mColorPrimary = td.mColorPrimary;
mIconFilename = td.mIconFilename;
}
@@ -600,7 +600,11 @@
* @hide
*/
public void setPrimaryColor(int primaryColor) {
- mColorPrimary = 0xFF000000 | primaryColor;
+ // Ensure that the given color is valid
+ if ((primaryColor != 0) && (Color.alpha(primaryColor) != 255)) {
+ throw new RuntimeException("A TaskDescription's primary color should be opaque");
+ }
+ mColorPrimary = primaryColor;
}
/**
diff --git a/core/java/android/app/ApplicationErrorReport.java b/core/java/android/app/ApplicationErrorReport.java
index be4e80e..841bd16 100644
--- a/core/java/android/app/ApplicationErrorReport.java
+++ b/core/java/android/app/ApplicationErrorReport.java
@@ -388,7 +388,7 @@
dest.writeInt(throwLineNumber);
dest.writeString(stackTrace);
int total = dest.dataPosition()-start;
- if (total > 100*1024) {
+ if (total > 10*1024) {
Slog.d("Error", "ERR: exClass=" + exceptionClassName);
Slog.d("Error", "ERR: exMsg=" + exceptionMessage);
Slog.d("Error", "ERR: file=" + throwFileName);
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 31b39ebb2..4b3aefe 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -798,8 +798,8 @@
public static final String EXTRA_TEMPLATE = "android.template";
/**
- * {@link #extras} key: An array of people that this notification relates to, specified
- * by contacts provider contact URI.
+ * {@link #extras} key: A String array containing the people that this notification relates to,
+ * each of which was supplied to {@link Builder#addPerson(String)}.
*/
public static final String EXTRA_PEOPLE = "android.people";
@@ -2393,10 +2393,27 @@
/**
* Add a person that is relevant to this notification.
*
+ * <P>
+ * Depending on user preferences, this annotation may allow the notification to pass
+ * through interruption filters, and to appear more prominently in the user interface.
+ * </P>
+ *
+ * <P>
+ * The person should be specified by the {@code String} representation of a
+ * {@link android.provider.ContactsContract.Contacts#CONTENT_LOOKUP_URI}.
+ * </P>
+ *
+ * <P>The system will also attempt to resolve {@code mailto:} and {@code tel:} schema
+ * URIs. The path part of these URIs must exist in the contacts database, in the
+ * appropriate column, or the reference will be discarded as invalid. Telephone schema
+ * URIs will be resolved by {@link android.provider.ContactsContract.PhoneLookup}.
+ * </P>
+ *
+ * @param uri A URI for the person.
* @see Notification#EXTRA_PEOPLE
*/
- public Builder addPerson(String handle) {
- mPeople.add(handle);
+ public Builder addPerson(String uri) {
+ mPeople.add(uri);
return this;
}
diff --git a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
index 618195a..03540e1 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
@@ -1350,6 +1350,14 @@
m.set(CaptureRequest.LENS_FOCAL_LENGTH,
c.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS)[0]);
+ /*
+ * jpeg.*
+ */
+
+ // jpeg.thumbnailSize - set smallest non-zero size if possible
+ Size[] sizes = c.get(CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES);
+ m.set(CaptureRequest.JPEG_THUMBNAIL_SIZE, (sizes.length > 1) ? sizes[1] : sizes[0]);
+
// TODO: map other request template values
return m;
}
diff --git a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
index fd95901..35deb71 100644
--- a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
+++ b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
@@ -16,11 +16,13 @@
package android.hardware.camera2.legacy;
+import android.graphics.ImageFormat;
import android.graphics.SurfaceTexture;
import android.hardware.Camera;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.impl.CameraDeviceImpl;
+import android.hardware.camera2.params.StreamConfigurationMap;
import android.hardware.camera2.utils.LongParcelable;
import android.hardware.camera2.utils.SizeAreaComparator;
import android.hardware.camera2.impl.CameraMetadataNative;
@@ -36,6 +38,7 @@
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -208,18 +211,23 @@
int totalSize = data.length + LegacyCameraDevice.nativeGetJpegFooterSize();
totalSize = (totalSize + 3) & ~0x3; // round up to nearest octonibble
+ LegacyCameraDevice.setNextTimestamp(s, timestamp);
if (USE_BLOB_FORMAT_OVERRIDE) {
// Override to RGBA_8888 format.
LegacyCameraDevice.setSurfaceFormat(s,
LegacyMetadataMapper.HAL_PIXEL_FORMAT_RGBA_8888);
- // divide by 4 if using RGBA format (width is in pixels, not bytes).
- totalSize >>= 2;
+
+ int dimen = (int) Math.ceil(Math.sqrt(totalSize));
+ dimen = (dimen + 0xf) & ~0xf; // round up to nearest multiple of 16
+ LegacyCameraDevice.setSurfaceDimens(s, dimen, dimen);
+ LegacyCameraDevice.produceFrame(s, data, dimen, dimen,
+ CameraMetadataNative.NATIVE_JPEG_FORMAT);
+ } else {
+ LegacyCameraDevice.setSurfaceDimens(s, totalSize, /*height*/1);
+ LegacyCameraDevice.produceFrame(s, data, totalSize, /*height*/1,
+ CameraMetadataNative.NATIVE_JPEG_FORMAT);
}
- LegacyCameraDevice.setSurfaceDimens(s, totalSize, /*height*/1);
- LegacyCameraDevice.setNextTimestamp(s, timestamp);
- LegacyCameraDevice.produceFrame(s, data, totalSize, /*height*/1,
- CameraMetadataNative.NATIVE_JPEG_FORMAT);
}
} catch (LegacyExceptionUtils.BufferQueueAbandonedException e) {
Log.w(TAG, "Surface abandoned, dropping frame. ", e);
diff --git a/core/java/android/os/Binder.java b/core/java/android/os/Binder.java
index f5fc0d7..bbf6ed8 100644
--- a/core/java/android/os/Binder.java
+++ b/core/java/android/os/Binder.java
@@ -430,16 +430,18 @@
} catch (RemoteException e) {
if ((flags & FLAG_ONEWAY) != 0) {
Log.w(TAG, "Binder call failed.", e);
+ } else {
+ reply.setDataPosition(0);
+ reply.writeException(e);
}
- reply.setDataPosition(0);
- reply.writeException(e);
res = true;
} catch (RuntimeException e) {
if ((flags & FLAG_ONEWAY) != 0) {
Log.w(TAG, "Caught a RuntimeException from the binder stub implementation.", e);
+ } else {
+ reply.setDataPosition(0);
+ reply.writeException(e);
}
- reply.setDataPosition(0);
- reply.writeException(e);
res = true;
} catch (OutOfMemoryError e) {
// Unconditionally log this, since this is generally unrecoverable.
@@ -452,6 +454,14 @@
checkParcel(this, code, reply, "Unreasonably large binder reply buffer");
reply.recycle();
data.recycle();
+
+ // Just in case -- we are done with the IPC, so there should be no more strict
+ // mode violations that have gathered for this thread. Either they have been
+ // parceled and are now in transport off to the caller, or we are returning back
+ // to the main transaction loop to wait for another incoming transaction. Either
+ // way, strict mode begone!
+ StrictMode.clearGatheredViolations();
+
return res;
}
}
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index 1e0dc53..5f95b04 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -20,6 +20,7 @@
import android.util.Slog;
import com.android.internal.telephony.TelephonyProperties;
+import dalvik.system.VMRuntime;
/**
* Information about the current build, extracted from system properties.
@@ -51,7 +52,7 @@
* @deprecated Use {@link #SUPPORTED_ABIS} instead.
*/
@Deprecated
- public static final String CPU_ABI = getString("ro.product.cpu.abi");
+ public static final String CPU_ABI;
/**
* The name of the second instruction set (CPU type + ABI convention) of native code.
@@ -59,7 +60,7 @@
* @deprecated Use {@link #SUPPORTED_ABIS} instead.
*/
@Deprecated
- public static final String CPU_ABI2 = getString("ro.product.cpu.abi2");
+ public static final String CPU_ABI2;
/** The manufacturer of the product/hardware. */
public static final String MANUFACTURER = getString("ro.product.manufacturer");
@@ -117,6 +118,27 @@
getStringList("ro.product.cpu.abilist64", ",");
+ static {
+ /*
+ * Adjusts CPU_ABI and CPU_ABI2 depending on whether or not a given process is 64 bit.
+ * 32 bit processes will always see 32 bit ABIs in these fields for backward
+ * compatibility.
+ */
+ final String[] abiList;
+ if (VMRuntime.getRuntime().is64Bit()) {
+ abiList = SUPPORTED_64_BIT_ABIS;
+ } else {
+ abiList = SUPPORTED_32_BIT_ABIS;
+ }
+
+ CPU_ABI = abiList[0];
+ if (abiList.length > 1) {
+ CPU_ABI2 = abiList[1];
+ } else {
+ CPU_ABI2 = "";
+ }
+ }
+
/** Various version strings. */
public static class VERSION {
/**
diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java
index 4e9d1f0..0e561bd 100644
--- a/core/java/android/os/StrictMode.java
+++ b/core/java/android/os/StrictMode.java
@@ -1693,7 +1693,7 @@
int start = p.dataPosition();
violations.get(i).writeToParcel(p, 0 /* unused flags? */);
int size = p.dataPosition()-start;
- if (size > 100*1024) {
+ if (size > 10*1024) {
Slog.d(TAG, "Wrote violation #" + i + " of " + violations.size() + ": "
+ (p.dataPosition()-start) + " bytes");
}
@@ -1725,6 +1725,11 @@
for (int i = 0; i < numViolations; ++i) {
if (LOG_V) Log.d(TAG, "strict mode violation stacks read from binder call. i=" + i);
ViolationInfo info = new ViolationInfo(p, !currentlyGathering);
+ if (info.crashInfo.stackTrace.length() > 5000) {
+ RuntimeException here = new RuntimeException("here");
+ here.fillInStackTrace();
+ Slog.w(TAG, "Stack is getting large: " + info.crashInfo.stackTrace, here);
+ }
info.crashInfo.stackTrace += "# via Binder call with stack:\n" + ourStack;
BlockGuard.Policy policy = BlockGuard.getThreadPolicy();
if (policy instanceof AndroidBlockGuardPolicy) {
@@ -2194,7 +2199,7 @@
dest.writeString(broadcastIntentAction);
dest.writeStringArray(tags);
int total = dest.dataPosition()-start;
- if (total > 100*1024) {
+ if (total > 10*1024) {
Slog.d(TAG, "VIO: policy=" + policy + " dur=" + durationMillis
+ " numLoop=" + violationNumThisLoop
+ " anim=" + numAnimationsRunning
diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java
index 35fff74..5d6acd8 100644
--- a/core/java/android/service/notification/NotificationListenerService.java
+++ b/core/java/android/service/notification/NotificationListenerService.java
@@ -760,6 +760,9 @@
/**
* Returns whether the notification matches the user's interruption
* filter.
+ *
+ * @return {@code true} if the notification is allowed by the filter, or
+ * {@code false} if it is blocked.
*/
public boolean matchesInterruptionFilter() {
return mMatchesInterruptionFilter;
diff --git a/core/java/android/speech/RecognitionService.java b/core/java/android/speech/RecognitionService.java
index 32b2d8f..45eb0bf 100644
--- a/core/java/android/speech/RecognitionService.java
+++ b/core/java/android/speech/RecognitionService.java
@@ -91,9 +91,20 @@
}
};
- private void dispatchStartListening(Intent intent, IRecognitionListener listener) {
+ private void dispatchStartListening(Intent intent, final IRecognitionListener listener) {
if (mCurrentCallback == null) {
if (DBG) Log.d(TAG, "created new mCurrentCallback, listener = " + listener.asBinder());
+ try {
+ listener.asBinder().linkToDeath(new IBinder.DeathRecipient() {
+ @Override
+ public void binderDied() {
+ mHandler.sendMessage(mHandler.obtainMessage(MSG_CANCEL, listener));
+ }
+ }, 0);
+ } catch (RemoteException re) {
+ Log.e(TAG, "dead listener on startListening");
+ return;
+ }
mCurrentCallback = new Callback(listener);
RecognitionService.this.onStartListening(intent, mCurrentCallback);
} else {
diff --git a/core/java/android/speech/SpeechRecognizer.java b/core/java/android/speech/SpeechRecognizer.java
index 91c3799..88e2ede 100644
--- a/core/java/android/speech/SpeechRecognizer.java
+++ b/core/java/android/speech/SpeechRecognizer.java
@@ -396,6 +396,14 @@
* Destroys the {@code SpeechRecognizer} object.
*/
public void destroy() {
+ if (mService != null) {
+ try {
+ mService.cancel(mListener);
+ } catch (final RemoteException e) {
+ // Not important
+ }
+ }
+
if (mConnection != null) {
mContext.unbindService(mConnection);
}
diff --git a/core/java/android/view/AccessibilityManagerInternal.java b/core/java/android/view/AccessibilityManagerInternal.java
new file mode 100644
index 0000000..7bb2dc5
--- /dev/null
+++ b/core/java/android/view/AccessibilityManagerInternal.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2014 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.view;
+
+/**
+ * Accessibility manager local system service interface.
+ *
+ * @hide Only for use within the system server.
+ */
+public abstract class AccessibilityManagerInternal {
+
+ /**
+ * Queries if the accessibility manager service permits setting
+ * a non-default encryption password.
+ */
+ public abstract boolean isNonDefaultEncryptionPasswordAllowed();
+}
diff --git a/core/java/android/view/GhostView.java b/core/java/android/view/GhostView.java
index 50c927a..20baad0 100644
--- a/core/java/android/view/GhostView.java
+++ b/core/java/android/view/GhostView.java
@@ -324,19 +324,27 @@
final ArrayList<View> preorderedList = parent.buildOrderedChildList();
final boolean customOrder = preorderedList == null
&& parent.isChildrenDrawingOrderEnabled();
+
+ // This default value shouldn't be used because both view and comparedWith
+ // should be in the list. If there is an error, then just return an arbitrary
+ // view is on top.
+ boolean isOnTop = true;
for (int i = 0; i < childrenCount; i++) {
int childIndex = customOrder ? parent.getChildDrawingOrder(childrenCount, i) : i;
final View child = (preorderedList == null)
? parent.getChildAt(childIndex) : preorderedList.get(childIndex);
if (child == view) {
- return false;
+ isOnTop = false;
+ break;
} else if (child == comparedWith) {
- return true;
+ isOnTop = true;
+ break;
}
}
- // Shouldn't get here. Neither of the children is in the parent.
- // Just return an arbitrary one.
- return true;
+ if (preorderedList != null) {
+ preorderedList.clear();
+ }
+ return isOnTop;
}
}
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 83dfe85..b454681 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -6601,6 +6601,7 @@
* @see #fitSystemWindows(Rect)
* @see #setSystemUiVisibility(int)
*/
+ @ViewDebug.ExportedProperty
public boolean getFitsSystemWindows() {
return (mViewFlags & FITS_SYSTEM_WINDOWS) == FITS_SYSTEM_WINDOWS;
}
diff --git a/core/java/android/widget/FrameLayout.java b/core/java/android/widget/FrameLayout.java
index 235e79f..e317524 100644
--- a/core/java/android/widget/FrameLayout.java
+++ b/core/java/android/widget/FrameLayout.java
@@ -29,6 +29,7 @@
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.Gravity;
+import android.view.RemotableViewMethod;
import android.view.View;
import android.view.ViewDebug;
import android.view.ViewGroup;
@@ -201,6 +202,15 @@
}
}
+ @Override
+ @RemotableViewMethod
+ public void setVisibility(@Visibility int visibility) {
+ super.setVisibility(visibility);
+ if (mForeground != null) {
+ mForeground.setVisible(visibility == VISIBLE, false);
+ }
+ }
+
/**
* {@inheritDoc}
*/
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index 42fc613..c00d209 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -6732,7 +6732,6 @@
Message m = mHandler.obtainMessage(MSG_REPORT_POWER_CHANGE);
m.arg1 = onBattery ? 1 : 0;
mHandler.sendMessage(m);
- mOnBattery = mOnBatteryInternal = onBattery;
final long uptime = mSecUptime * 1000;
final long realtime = mSecRealtime * 1000;
@@ -6745,10 +6744,11 @@
boolean reset = false;
if (!mNoAutoReset && (oldStatus == BatteryManager.BATTERY_STATUS_FULL
|| level >= 90
- || getLowDischargeAmountSinceCharge() >= 60)
- || (getHighDischargeAmountSinceCharge() >= 60
- && mHistoryBuffer.dataSize() >= MAX_HISTORY_BUFFER)) {
+ || (mDischargeCurrentLevel < 20 && level >= 80)
+ || (getHighDischargeAmountSinceCharge() >= 200
+ && mHistoryBuffer.dataSize() >= MAX_HISTORY_BUFFER))) {
Slog.i(TAG, "Resetting battery stats: level=" + level + " status=" + oldStatus
+ + " dischargeLevel=" + mDischargeCurrentLevel
+ " lowAmount=" + getLowDischargeAmountSinceCharge()
+ " highAmount=" + getHighDischargeAmountSinceCharge());
// Before we write, collect a snapshot of the final aggregated
@@ -6785,6 +6785,7 @@
reset = true;
mNumDischargeStepDurations = 0;
}
+ mOnBattery = mOnBatteryInternal = onBattery;
mLastDischargeStepLevel = level;
mMinDischargeStepLevel = level;
mLastDischargeStepTime = -1;
@@ -6812,6 +6813,7 @@
mDischargeAmountScreenOff = 0;
updateTimeBasesLocked(true, !screenOn, uptime, realtime);
} else {
+ mOnBattery = mOnBatteryInternal = onBattery;
pullPendingStateUpdatesLocked();
mHistoryCur.batteryLevel = (byte)level;
mHistoryCur.states |= HistoryItem.STATE_BATTERY_PLUGGED_FLAG;
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index 16fa88e..2b7af4b 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -878,6 +878,30 @@
}
/**
+ * Gets whether the device is encrypted.
+ *
+ * @return Whether the device is encrypted.
+ */
+ public static boolean isDeviceEncrypted() {
+ IMountService mountService = IMountService.Stub.asInterface(
+ ServiceManager.getService("mount"));
+ try {
+ return mountService.getEncryptionState() != IMountService.ENCRYPTION_STATE_NONE
+ && mountService.getPasswordType() != StorageManager.CRYPT_TYPE_DEFAULT;
+ } catch (RemoteException re) {
+ Log.e(TAG, "Error getting encryption state", re);
+ }
+ return true;
+ }
+
+ /**
+ * Clears the encryption password.
+ */
+ public void clearEncryptionPassword() {
+ updateEncryptionPassword(StorageManager.CRYPT_TYPE_DEFAULT, null);
+ }
+
+ /**
* Retrieves the quality mode we're in.
* {@see DevicePolicyManager#getPasswordQuality(android.content.ComponentName)}
*
diff --git a/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp b/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp
index b90e493..8440a0e 100644
--- a/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp
+++ b/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp
@@ -193,12 +193,13 @@
if (err != NO_ERROR) return err;
sp<GraphicBuffer> buf(new GraphicBuffer(anb, /*keepOwnership*/false));
- uint32_t gBufWidth = buf->getWidth();
- uint32_t gBufHeight = buf->getHeight();
- if (gBufWidth != width || gBufHeight != height) {
+ uint32_t grallocBufWidth = buf->getWidth();
+ uint32_t grallocBufHeight = buf->getHeight();
+ uint32_t grallocBufStride = buf->getStride();
+ if (grallocBufWidth != width || grallocBufHeight != height) {
ALOGE("%s: Received gralloc buffer with bad dimensions %" PRIu32 "x%" PRIu32
- ", expecting dimensions %zu x %zu", __FUNCTION__, gBufWidth, gBufHeight,
- width, height);
+ ", expecting dimensions %zu x %zu", __FUNCTION__, grallocBufWidth,
+ grallocBufHeight, width, height);
return BAD_VALUE;
}
@@ -210,11 +211,12 @@
return err;
}
- uint64_t tmpSize = width * height;
+ uint64_t tmpSize = (pixelFmt == HAL_PIXEL_FORMAT_BLOB) ? grallocBufWidth :
+ 4 * grallocBufHeight * grallocBufWidth;
if (bufFmt != pixelFmt) {
if (bufFmt == HAL_PIXEL_FORMAT_RGBA_8888 && pixelFmt == HAL_PIXEL_FORMAT_BLOB) {
ALOGV("%s: Using BLOB to RGBA format override.", __FUNCTION__);
- tmpSize *= 4;
+ tmpSize = 4 * (grallocBufWidth + grallocBufStride * (grallocBufHeight - 1));
} else {
ALOGW("%s: Format mismatch in produceFrame: expecting format %#" PRIx32
", but received buffer with format %#" PRIx32, __FUNCTION__, pixelFmt, bufFmt);
@@ -311,17 +313,12 @@
int8_t* img = NULL;
struct camera3_jpeg_blob footer = {
jpeg_blob_id: CAMERA3_JPEG_BLOB_ID,
- jpeg_size: (uint32_t)width
+ jpeg_size: (uint32_t)bufferLength
};
size_t totalJpegSize = bufferLength + sizeof(footer);
totalJpegSize = (totalJpegSize + 3) & ~0x3; // round up to nearest octonibble
- if (height != 1) {
- ALOGE("%s: Invalid height set for JPEG buffer output, %zu", __FUNCTION__, height);
- return BAD_VALUE;
- }
-
if (totalJpegSize > totalSizeBytes) {
ALOGE("%s: Pixel buffer needs size %zu, cannot fit in gralloc buffer of size %zu",
__FUNCTION__, totalJpegSize, totalSizeBytes);
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp
index 4859ee6..8753660 100644
--- a/core/jni/android_util_AssetManager.cpp
+++ b/core/jni/android_util_AssetManager.cpp
@@ -1324,7 +1324,21 @@
config.density = 0;
// Skip through XML attributes until the end or the next possible match.
- while (ix < NX && curIdent > curXmlAttr) {
+ // We make two assumptions about the order of attributes:
+ // 1) Among attributes with the same package ID, the attributes are
+ // sorted by increasing resource ID.
+ // 2) Groups of attributes with the same package ID are in the same
+ // order.
+ // 3) The same sorting is applied to the input attributes as is
+ // to the attributes in the XML.
+ //
+ // ex: 02010000, 02010001, 010100f4, 010100f5
+ //
+ // The total order of attributes (including package ID) can not be linear
+ // as shared libraries get assigned dynamic package IDs at runtime, which
+ // may break the sort order established at build time.
+ while (ix < NX && (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(curXmlAttr) ||
+ curIdent > curXmlAttr)) {
ix++;
curXmlAttr = xmlParser->getAttributeNameResID(ix);
}
@@ -1339,7 +1353,9 @@
}
// Skip through the style values until the end or the next possible match.
- while (styleEnt < endStyleEnt && curIdent > styleEnt->map.name.ident) {
+ while (styleEnt < endStyleEnt &&
+ (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(styleEnt->map.name.ident) ||
+ curIdent > styleEnt->map.name.ident)) {
styleEnt++;
}
// Retrieve the current style attribute if it matches, and step to next.
@@ -1355,7 +1371,9 @@
}
// Skip through the default style values until the end or the next possible match.
- while (defStyleEnt < endDefStyleEnt && curIdent > defStyleEnt->map.name.ident) {
+ while (defStyleEnt < endDefStyleEnt &&
+ (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(defStyleEnt->map.name.ident) ||
+ curIdent > defStyleEnt->map.name.ident)) {
defStyleEnt++;
}
// Retrieve the current default style attribute if it matches, and step to next.
@@ -1517,7 +1535,8 @@
config.density = 0;
// Skip through XML attributes until the end or the next possible match.
- while (ix < NX && curIdent > curXmlAttr) {
+ while (ix < NX && (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(curXmlAttr) ||
+ curIdent > curXmlAttr)) {
ix++;
curXmlAttr = xmlParser->getAttributeNameResID(ix);
}
diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp
index 2dbd382..e400698 100644
--- a/core/jni/android_util_Binder.cpp
+++ b/core/jni/android_util_Binder.cpp
@@ -264,8 +264,7 @@
ALOGV("onTransact() on %p calling object %p in env %p vm %p\n", this, mObject, env, mVM);
IPCThreadState* thread_state = IPCThreadState::self();
- const int strict_policy_before = thread_state->getStrictModePolicy();
- thread_state->setLastTransactionBinderFlags(flags);
+ const int32_t strict_policy_before = thread_state->getStrictModePolicy();
//printf("Transact from %p to Java code sending: ", this);
//data.print();
@@ -284,15 +283,11 @@
env->DeleteLocalRef(excep);
}
- // Restore the Java binder thread's state if it changed while
- // processing a call (as it would if the Parcel's header had a
- // new policy mask and Parcel.enforceInterface() changed
- // it...)
- const int strict_policy_after = thread_state->getStrictModePolicy();
- if (strict_policy_after != strict_policy_before) {
- // Our thread-local...
- thread_state->setStrictModePolicy(strict_policy_before);
- // And the Java-level thread-local...
+ // Check if the strict mode state changed while processing the
+ // call. The Binder state will be restored by the underlying
+ // Binder system in IPCThreadState, however we need to take care
+ // of the parallel Java state as well.
+ if (thread_state->getStrictModePolicy() != strict_policy_before) {
set_dalvik_blockguard_policy(env, strict_policy_before);
}
diff --git a/core/res/res/color/primary_text_activated_material_dark.xml b/core/res/res/color/primary_text_activated_material_dark.xml
new file mode 100644
index 0000000..f1b742a
--- /dev/null
+++ b/core/res/res/color/primary_text_activated_material_dark.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_activated="true"
+ android:color="@color/primary_text_default_material_light"/>
+ <item android:color="@color/primary_text_default_material_dark"/>
+</selector>
diff --git a/core/res/res/color/primary_text_activated_material_light.xml b/core/res/res/color/primary_text_activated_material_light.xml
new file mode 100644
index 0000000..d92da63
--- /dev/null
+++ b/core/res/res/color/primary_text_activated_material_light.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_activated="true"
+ android:color="@color/primary_text_default_material_dark"/>
+ <item android:color="@color/primary_text_default_material_light"/>
+</selector>
diff --git a/core/res/res/color/secondary_text_activated_material_dark.xml b/core/res/res/color/secondary_text_activated_material_dark.xml
new file mode 100644
index 0000000..7a8428a
--- /dev/null
+++ b/core/res/res/color/secondary_text_activated_material_dark.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_activated="true"
+ android:color="@color/secondary_text_default_material_light"/>
+ <item android:color="@color/secondary_text_default_material_dark"/>
+</selector>
diff --git a/core/res/res/color/secondary_text_activated_material_light.xml b/core/res/res/color/secondary_text_activated_material_light.xml
new file mode 100644
index 0000000..36ff408
--- /dev/null
+++ b/core/res/res/color/secondary_text_activated_material_light.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_activated="true"
+ android:color="@color/secondary_text_default_material_dark"/>
+ <item android:color="@color/secondary_text_default_material_light"/>
+</selector>
diff --git a/core/res/res/layout/alert_dialog_material.xml b/core/res/res/layout/alert_dialog_material.xml
index 545d95e..c961828 100644
--- a/core/res/res/layout/alert_dialog_material.xml
+++ b/core/res/res/layout/alert_dialog_material.xml
@@ -56,7 +56,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
- android:minHeight="64dp">
+ android:minHeight="48dp">
<ScrollView android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -84,7 +84,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:minHeight="64dp">
+ android:minHeight="48dp">
<FrameLayout android:id="@+id/custom"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
diff --git a/core/res/res/layout/preference_header_item_material.xml b/core/res/res/layout/preference_header_item_material.xml
index 594189f..ffb18ae 100644
--- a/core/res/res/layout/preference_header_item_material.xml
+++ b/core/res/res/layout/preference_header_item_material.xml
@@ -45,7 +45,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textAppearance="?android:attr/textAppearanceListItem"
+ android:textColor="?android:attr/textColorPrimaryActivated"
android:ellipsize="marquee"
android:fadingEdge="horizontal" />
@@ -54,7 +55,8 @@
android:layout_height="wrap_content"
android:layout_below="@android:id/title"
android:layout_alignStart="@android:id/title"
- android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+ android:textColor="?android:attr/textColorSecondaryActivated"
android:ellipsize="end"
android:maxLines="2" />
diff --git a/core/res/res/layout/preference_list_content_material.xml b/core/res/res/layout/preference_list_content_material.xml
index 7856799..1bc527e 100644
--- a/core/res/res/layout/preference_list_content_material.xml
+++ b/core/res/res/layout/preference_list_content_material.xml
@@ -48,7 +48,8 @@
android:drawSelectorOnTop="false"
android:cacheColorHint="@color/transparent"
android:listPreferredItemHeight="48dp"
- android:scrollbarAlwaysDrawVerticalTrack="true" />
+ android:scrollbarAlwaysDrawVerticalTrack="true"
+ android:divider="@null" />
<FrameLayout android:id="@+id/list_footer"
android:layout_width="match_parent"
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index b3af119..82c29c4 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Teksaksies"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Bergingspasie word min"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Sommige stelselfunksies werk moontlik nie"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> loop tans"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Raak vir meer inligting of om die program te stop."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 7e43c14..8beace8 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"የፅሁፍ እርምጃዎች"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"የማከማቻ ቦታ እያለቀ ነው"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"አንዳንድ የስርዓት ተግባራት ላይሰሩ ይችላሉ"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> እያሄደ ነው"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"ተጨማሪ መረጃ ለማግኘት ወይም መተግበሪያውን ለማቆም ይንኩ።"</string>
<string name="ok" msgid="5970060430562524910">"እሺ"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index d40e16e..2ad8272 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"إجراءات النص"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"مساحة التخزين منخفضة"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"قد لا تعمل بعض وظائف النظام"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> قيد التشغيل"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"المس للحصول على مزيد من المعلومات أو لإيقاف التطبيق."</string>
<string name="ok" msgid="5970060430562524910">"موافق"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 243871b..2b04bac 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Действия с текста"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Мястото в хранилището е на изчерпване"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Възможно е някои функции на системата да не работят"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> се изпълнява"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Докоснете за още информация или за да спрете приложението."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index 9353b1b..fd21bad 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"পাঠ্য ক্রিয়াগুলি"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"সঞ্চয়স্থান পূর্ণ হতে চলেছে"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"কিছু কিছু সিস্টেম ক্রিয়াকলাপ কাজ নাও করতে পারে"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> চলছে"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"আরো তথ্যের জন্য বা অ্যাপ্লিকেশানটি বন্ধ করার জন্য স্পর্শ করুন৷"</string>
<string name="ok" msgid="5970060430562524910">"ঠিক আছে"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 0b4f015..78ab687d 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Accions de text"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"S\'està acabant l\'espai d\'emmagatzematge"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"És possible que algunes funcions del sistema no funcionin"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> s\'està executant"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Toca per obtenir més informació o bé per aturar l\'aplicació."</string>
<string name="ok" msgid="5970060430562524910">"D\'acord"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index c1bdeff..d09a86e 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Operace s textem"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"V úložišti je málo místa"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Některé systémové funkce nemusí fungovat"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> je spuštěna"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Klepnutím zobrazíte další informace nebo ukončíte aplikaci."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 5d4245e..9b88e38 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Teksthandlinger"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Der er snart ikke mere lagerplads"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Nogle systemfunktioner virker måske ikke"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> kører"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Tryk for at få flere oplysninger eller for at stoppe appen."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 8512166..e4a1c8c 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Textaktionen"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Der Speicherplatz wird knapp"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Einige Systemfunktionen funktionieren möglicherweise nicht."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> wird ausgeführt"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Für weitere Informationen oder zum Anhalten der App tippen"</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index ba58d2f..ebf80f6 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Ενέργειες κειμένου"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Ο χώρος αποθήκευσης εξαντλείται"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Ορισμένες λειτουργίες συστήματος ενδέχεται να μην λειτουργούν"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> εκτελείται"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Αγγίξτε για περισσότερες πληροφορίες ή για να διακόψετε την εκτέλεση της εφαρμογής."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index d1182ff..02406ab 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Text actions"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Storage space running out"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Some system functions may not work"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> is running"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Touch for more information or to stop the app."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index d1182ff..02406ab 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Text actions"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Storage space running out"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Some system functions may not work"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> is running"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Touch for more information or to stop the app."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index e658000..d1f7ced 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Acciones de texto"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Queda poco espacio de almacenamiento"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Es posible que algunas funciones del sistema no estén disponibles."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> se está ejecutando"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Toca para obtener más información o para detener la aplicación."</string>
<string name="ok" msgid="5970060430562524910">"Aceptar"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index be03997..1db7fe3 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Acciones de texto"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Queda poco espacio"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Es posible que algunas funciones del sistema no funcionen."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> se está ejecutando"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Toca para obtener más información o para detener la aplicación."</string>
<string name="ok" msgid="5970060430562524910">"Aceptar"</string>
diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml
index d8e67b5..e1a5c3e 100644
--- a/core/res/res/values-et-rEE/strings.xml
+++ b/core/res/res/values-et-rEE/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Tekstitoimingud"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Talletusruum saab täis"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Mõned süsteemifunktsioonid ei pruugi töötada"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> töötab"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Puudutage lisateabe saamiseks või rakenduse peatamiseks."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index 0d13354..86835fa 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Testu-ekintzak"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Memoria betetzen ari da"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Sistemaren funtzio batzuek ez dute agian funtzionatuko"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> abian da"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Informazio gehiago lortzeko edo aplikazioa gelditzeko, ukitu."</string>
<string name="ok" msgid="5970060430562524910">"Ados"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 80f0607..79b4815 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"عملکردهای متنی"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"فضای ذخیرهسازی رو به اتمام است"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"برخی از عملکردهای سیستم ممکن است کار نکنند"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> در حال اجرا است"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"برای کسب اطلاعات بیشتر یا توقف برنامه لمس کنید."</string>
<string name="ok" msgid="5970060430562524910">"تأیید"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 3e904bd..5daaa36 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Tekstitoiminnot"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Tallennustila loppumassa"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Kaikki järjestelmätoiminnot eivät välttämättä toimi"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> on käynnissä"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Hanki lisätietoja tai sulje sovellus koskettamalla."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"Muokkaa sovelluksessa %1$s"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Jaa sovelluksessa"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Jaa sovelluksessa %1$s"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Valitse aloitusruutusovellus"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Käytä aloitusruutuna: %1$s"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Käytä oletuksena tälle toiminnolle."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Käytä toista sovellusta"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Poista oletusasetus kohdassa Järjestelmäasetukset > Sovellukset > Ladattu."</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 8cc0fb4..616146d 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Actions sur le texte"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Espace de stockage bientôt saturé"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Il est possible que certaines fonctionnalités du système ne soient pas opérationnelles."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> en cours d\'exécution"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Appuyez ici pour en savoir plus ou arrêter l\'application."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index b017abe..5ecdebc 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Actions sur le texte"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Espace de stockage bientôt saturé"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Il est possible que certaines fonctionnalités du système ne soient pas opérationnelles."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> en cours d\'exécution"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Appuyez ici pour en savoir plus ou arrêter l\'application."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index d7107a1..70ec500 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Accións de texto"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Estase esgotando o espazo de almacenamento"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"É posible que algunhas funcións do sistema non funcionen"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> estase executando"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Toca aquí para obter máis información ou para deter a aplicación."</string>
<string name="ok" msgid="5970060430562524910">"Aceptar"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index e9ac818c..b1fc64e 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"लेख क्रियाएं"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"मेमोरी स्थान समाप्त हो रहा है"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"हो सकता है कुछ सिस्टम फ़ंक्शन कार्य न करें"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> चल रहा है"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"अधिक जानकारी के लिए या ऐप्स रोकने के लिए स्पर्श करें."</string>
<string name="ok" msgid="5970060430562524910">"ठीक है"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 173a26b0..f1e9837 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Radnje s tekstom"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Ponestaje prostora za pohranu"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Neke sistemske funkcije možda neće raditi"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> pokrenuta je"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Dodirnite za više informacija ili da biste zaustavili aplikaciju."</string>
<string name="ok" msgid="5970060430562524910">"U redu"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index afcd7af..1d401fb 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Műveletek szöveggel"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Kevés a szabad terület"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Előfordulhat, hogy néhány rendszerfunkció nem működik."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> jelenleg fut"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"További információért, illetve az alkalmazás leállításához érintse meg."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index 1c0bf8f..437a30f 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Տեքստի գործողությունները"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Պահոցային տարածքը սպառվում է"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Համակարգի որոշ գործառույթներ հնարավոր է չաշխատեն"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ն աշխատեցվում է"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Հպեք` լրացուցիչ տեղեկությունները կամ ծրագիրը դադարեցնելու համար:"</string>
<string name="ok" msgid="5970060430562524910">"Լավ"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 1ad6571..6ea295d 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Tindakan teks"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Ruang penyimpanan hampir habis"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Beberapa fungsi sistem mungkin tidak dapat bekerja"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> sedang berjalan"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Sentuh untuk informasi selengkapnya atau hentikan aplikasi."</string>
<string name="ok" msgid="5970060430562524910">"Oke"</string>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index 9a93952..68bac0c 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Textaaðgerðir"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Geymslurýmið er senn á þrotum"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Sumir kerfiseiginleikar kunna að vera óvirkir"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> er opið"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Snertu til að fá frekari upplýsingar eða loka forritinu."</string>
<string name="ok" msgid="5970060430562524910">"Í lagi"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 9f376db..234a784 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Azioni testo"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Spazio di archiviazione in esaurimento"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Alcune funzioni di sistema potrebbero non funzionare"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> è in esecuzione"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Tocca per ulteriori informazioni o per interrompere l\'app."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 2e3845e..4fa80aa 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"פעולות טקסט"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"שטח האחסון אוזל"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"ייתכן שפונקציות מערכת מסוימות לא יפעלו"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> פועל"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"גע לקבלת מידע נוסף או כדי לעצור את האפליקציה."</string>
<string name="ok" msgid="5970060430562524910">"אישור"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 328494f..c3c4f26 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"テキスト操作"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"空き容量わずか"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"一部のシステム機能が動作しない可能性があります"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g>を実行しています"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"タップすると詳細が表示されるか、アプリが停止します。"</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml
index 4405361..a214d9a 100644
--- a/core/res/res/values-ka-rGE/strings.xml
+++ b/core/res/res/values-ka-rGE/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"ქმედებები ტექსტზე"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"თავისუფალი ადგილი იწურება"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"სისტემის ზოგიერთმა ფუნქციამ შესაძლოა არ იმუშავოს"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> გაშვებულია"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"შეეხეთ მეტი ინფორმაციისათვის ან აპის შესაწყვეტად."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"რედაქტირება %1$s-ით"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"გაზიარება:"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s-თან გაზიარება"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"აირჩიეთ Home აპი"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"%1$s-ის გამოყენება ......Home-ად"</string>
<string name="alwaysUse" msgid="4583018368000610438">"ამ ქმედებისთვის ნაგულისხმევად გამოყენება."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"სხვა აპის გამოყენება"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"ნაგულისხმევი პარამეტრების წაშლა სისტემის პარამეტრებში > აპებში > ჩამოტვირთულებში."</string>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index 611447d..2eb56a7 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Мәтін әрекеттері"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Жадта орын азайып барады"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Жүйенің кейбір функциялары жұмыс істемеуі мүмкін"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> қосылған"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Басқа ақпаратты қарау үшін немесе қолданбаны тоқтату үшін түртіңіз."</string>
<string name="ok" msgid="5970060430562524910">"Жарайды"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s көмегімен өңдеу"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Бөлісу"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s қолданбасымен бөлісу"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"«Негізгі» қолданбасын таңдау"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"%1$s «Негізгі» ретінде пайдалану"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Бұл әрекет үшін бастапқы параметрін қолданыңыз."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Басқа қолданбаны пайдалану"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Әдепкі параметрден «Жүйелік параметрлер» > «Қолданбалар» > «Жүктелгендер» тармағында құсбелгіні алу."</string>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index 38bb157..8725ee3 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"សកម្មភាពអត្ថបទ"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"អស់ទំហំផ្ទុក"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"មុខងារប្រព័ន្ធមួយចំនួនអាចមិនដំណើរការ"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> កំពុងដំណើរការ"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"ប៉ះ ដើម្បីមើលព័ត៌មានបន្ថែម ឬបញ្ឈប់កម្មវិធី។"</string>
<string name="ok" msgid="5970060430562524910">"យល់ព្រម"</string>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index 0bb3477..bfabe66 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"ಪಠ್ಯದ ಕ್ರಮಗಳು"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"ಸಂಗ್ರಹಣೆ ಸ್ಥಳವು ತುಂಬಿದೆ"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"ಕೆಲವು ಸಿಸ್ಟಂ ಕಾರ್ಯವಿಧಾನಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಚಾಲನೆಯಲ್ಲಿದೆ"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ ನಿಲ್ಲಿಸಲು ಸ್ಪರ್ಶಿಸಿ."</string>
<string name="ok" msgid="5970060430562524910">"ಸರಿ"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index 1fea411..15461a3 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"텍스트 작업"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"저장 공간이 부족함"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"일부 시스템 기능이 작동하지 않을 수 있습니다."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g>이(가) 실행 중입니다."</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"자세한 정보를 보거나 앱을 중지하려면 터치하세요."</string>
<string name="ok" msgid="5970060430562524910">"확인"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s(으)로 수정"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"공유 대상"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s와(과) 공유"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"홈 앱 선택"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"%1$s을(를) 홈 앱으로 사용"</string>
<string name="alwaysUse" msgid="4583018368000610438">"이 작업에 대해 기본값으로 사용"</string>
<string name="use_a_different_app" msgid="8134926230585710243">"다른 앱 사용"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"시스템 설정 > 앱 > 다운로드로 이동하여 기본 설정을 지웁니다."</string>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index 2426969..700493a 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -1528,6 +1528,8 @@
<skip />
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Сактагычта орун калбай баратат"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Системанын кээ бир функциялары иштебеши мүмкүн"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> иштөөдө"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Кенен маалыматтар же колдонмону токтотуш үчүн тийиңиз."</string>
<!-- no translation found for ok (5970060430562524910) -->
@@ -1554,10 +1556,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s менен түзөтүү"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Төмөнкү менен бөлүшүү"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s менен бөлүшүү"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Башкы бет колдонмосун тандаңыз"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Башкы бет колдонмосу катары %1$s пайдалануу"</string>
<!-- no translation found for alwaysUse (4583018368000610438) -->
<skip />
<string name="use_a_different_app" msgid="8134926230585710243">"Башка колдонмону пайдалануу"</string>
diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml
index c7c82db..81a836f 100644
--- a/core/res/res/values-lo-rLA/strings.xml
+++ b/core/res/res/values-lo-rLA/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"ການເຮັດວຽກຂອງຂໍ້ຄວາມ"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"ພື້ນທີ່ຈັດເກັບຂໍ້ມູນກຳລັງຈະເຕັມ"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"ການເຮັດວຽກບາງຢ່າງຂອງລະບົບບາງອາດຈະໃຊ້ບໍ່ໄດ້"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ກຳລັງເຮັດວຽກຢູ່"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"ແຕະເພື່ອເບິ່ງຂໍ້ມູນເພີ່ມເຕີມ ຫຼືເພື່ອຢຸດການເຮັດວຽກຂອງແອັບຯນີ້."</string>
<string name="ok" msgid="5970060430562524910">"ຕົກລົງ"</string>
@@ -1202,7 +1204,7 @@
<string name="whichSendApplication" msgid="6902512414057341668">"ແບ່ງປັນກັບ"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"ແບ່ງປັນກັບ %1$s"</string>
<string name="whichHomeApplication" msgid="4307587691506919691">"ເລືອກແອັບຯໂຮມ"</string>
- <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"ໃຊ້ %1$s ເປັນໂຮມ"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"ໃຊ້ %1$s ເປັນໜ້າຫຼັກ"</string>
<string name="alwaysUse" msgid="4583018368000610438">"ໃຊ້ໂດຍຄ່າເລີ່ມຕົນສຳລັບການເຮັດວຽກນີ້."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"ນຳໃຊ້ແອັບຯອື່ນ"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"ລຶບລ້າງຄ່າເລີ່ມຕົ້ນ ໃນ ການຕັ້ງຄ່າລະບົບ > ແອັບຯ > ດາວໂຫລດແລ້ວ."</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index c71a7d6..da666ef 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Teksto veiksmai"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Mažėja laisvos saugyklos vietos"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Kai kurios sistemos funkcijos gali neveikti"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ vykdoma"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Palieskite, jei norite gauti daugiau informacijos arba sustabdyti programą."</string>
<string name="ok" msgid="5970060430562524910">"Gerai"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"Redaguoti naudojant %1$s"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Bendrinti naudojant"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Bendrinti naudojant %1$s"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Pasirinkti pagrindinę programą"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Naudoti „%1$s“ kaip pagrindinę programą"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Šiam veiksmui tai naudoti pagal numatytuosius nustatymus."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Naudoti kitą programą"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Numatytuosius nustatymus išvalykite nuėję į „Sistemos nustatymai“ > „Programos“ > „Atsisiųsta“."</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index bb9a0c9..7bd7671 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -760,13 +760,13 @@
<string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Dzēš tālruņa datus bez brīdinājuma, veicot rūpnīcas datu atiestatīšanu."</string>
<string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Iestatīt ierīces globālo starpniekserveri"</string>
<string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Iestatiet izmantojamo ierīces globālo starpniekserveri, kad ir iespējota politika. Spēkā esošo globālo starpniekserveri iestata tikai pirmās ierīces administrators."</string>
- <string name="policylab_expirePassword" msgid="885279151847254056">"Ekr. bloķ. paroles term. iest."</string>
+ <string name="policylab_expirePassword" msgid="885279151847254056">"Ekrāna bloķ., paroles termiņa iestat."</string>
<string name="policydesc_expirePassword" msgid="1729725226314691591">"Kontrolē, cik bieži ir jāmaina ekrāna bloķēšanas parole."</string>
<string name="policylab_encryptedStorage" msgid="8901326199909132915">"Skatīt atmiņas šifrējumu"</string>
<string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Pieprasa, lai saglabātie lietotnes dati tiktu šifrēti."</string>
<string name="policylab_disableCamera" msgid="6395301023152297826">"Atspējot kameras"</string>
<string name="policydesc_disableCamera" msgid="2306349042834754597">"Neļauj izmantot nevienu ierīces kameru."</string>
- <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Bloķēšanas f-jas atspējošana"</string>
+ <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Bloķēšanas funkcijas atspējošana"</string>
<string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Atspējot noteiktas funkcijas taustiņslēgā."</string>
<string-array name="phoneTypes">
<item msgid="8901098336658710359">"Mājas"</item>
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Teksta darbības"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Paliek maz brīvas vietas"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Dažas sistēmas funkcijas var nedarboties."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> darbojas"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Pieskarieties, lai iegūtu plašāku informāciju vai apturētu lietotnes darbību."</string>
<string name="ok" msgid="5970060430562524910">"Labi"</string>
diff --git a/core/res/res/values-mcc302-mnc610/config.xml b/core/res/res/values-mcc302-mnc610/config.xml
index 638aa92..81cec96 100644
--- a/core/res/res/values-mcc302-mnc610/config.xml
+++ b/core/res/res/values-mcc302-mnc610/config.xml
@@ -25,6 +25,6 @@
<!-- Configure mobile network MTU. Carrier specific value is set here.
-->
- <integer name="config_mobile_mtu">1358</integer>
+ <integer name="config_mobile_mtu">1428</integer>
</resources>
diff --git a/core/res/res/values-mcc310-mnc150/config.xml b/core/res/res/values-mcc310-mnc150/config.xml
index 3f9330d..3588f32 100644
--- a/core/res/res/values-mcc310-mnc150/config.xml
+++ b/core/res/res/values-mcc310-mnc150/config.xml
@@ -24,8 +24,10 @@
<item>310140</item>
<item>310400</item>
<item>310470</item>
+ <item>311170</item>
</string-array>
<string-array translatable="false" name="config_operatorConsideredNonRoaming">
+ <item>310</item>
<item>311</item>
<item>312</item>
<item>313</item>
diff --git a/core/res/res/values-mcc310-mnc410/config.xml b/core/res/res/values-mcc310-mnc410/config.xml
index 1cc8d4f..d17509c 100644
--- a/core/res/res/values-mcc310-mnc410/config.xml
+++ b/core/res/res/values-mcc310-mnc410/config.xml
@@ -30,9 +30,11 @@
<item>310140</item>
<item>310400</item>
<item>310470</item>
+ <item>311170</item>
</string-array>
- <!-- BEGIN Motorola, xnk746, Feb-12-2014, IKVPREL2KK-1468 -->
+
<string-array translatable="false" name="config_operatorConsideredNonRoaming">
+ <item>310</item>
<item>311</item>
<item>312</item>
<item>313</item>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index 380d9b6..8f0e24c 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Дејства со текст"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Меморијата е речиси полна"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Некои системски функции може да не работат"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> работи"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Допри за повеќе информации или да се запре апликацијата"</string>
<string name="ok" msgid="5970060430562524910">"Во ред"</string>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index b07805e..a5b1e25 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"ടെക്സ്റ്റ് പ്രവർത്തനങ്ങൾ"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"സംഭരണയിടം കഴിഞ്ഞു"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"ചില സിസ്റ്റം പ്രവർത്തനങ്ങൾ പ്രവർത്തിക്കണമെന്നില്ല."</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> പ്രവർത്തിക്കുന്നു"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"കൂടുതൽ വിവരങ്ങൾക്ക് സ്പർശിക്കുക അല്ലെങ്കിൽ അപ്ലിക്കേഷൻ നിർത്തുക."</string>
<string name="ok" msgid="5970060430562524910">"ശരി"</string>
diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml
index 76c9a10..58c2113 100644
--- a/core/res/res/values-mn-rMN/strings.xml
+++ b/core/res/res/values-mn-rMN/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Текст үйлдэл"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Сангийн хэмжээ дутагдаж байна"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Зарим систем функц ажиллахгүй байна"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ажиллаж байна"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Илүү мэдээлэл авах бол хүрэх эсвэл апп-г зогсооно уу ."</string>
<string name="ok" msgid="5970060430562524910">"Тийм"</string>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index 9e3c0cd..333111b 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"मजकूर क्रिया"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"संचयन स्थान संपत आहे"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"काही सिस्टम कार्ये कार्य करू शकत नाहीत"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> चालत आहे"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"अधिक माहितीसाठी किंवा अॅप थांबविण्यासाठी स्पर्श करा."</string>
<string name="ok" msgid="5970060430562524910">"ठीक"</string>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index 911f881..96785e9e 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Tindakan teks"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Ruang storan semakin berkurangan"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Beberapa fungsi sistem mungkin tidak berfungsi"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> sedang berjalan"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Sentuh untuk maklumat lanjut atau untuk menghentikan apl."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"Edit dengan %1$s"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Kongsi dengan"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Kongsi dengan %1$s"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Pilih apl Laman Utama"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Gunakan %1$s sebagai Laman Utama"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Gunakannya secara lalai untuk tindakan ini."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Gunakan apl lain"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Padam bersih lalai dalam tetapan Sistem > Apl > Dimuat turun."</string>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index c5fbeee..ba745ef 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"စာတို လုပ်ဆောင်ချက်"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"သိမ်းဆည်သော နေရာ နည်းနေပါသည်"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"တချို့ စနစ်လုပ်ငန်းများ အလုပ် မလုပ်ခြင်း ဖြစ်နိုင်ပါသည်"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> က အလုပ်လုပ်နေသည်။"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"အချက်အလက်များ ပိုသိရန် သို့မဟုတ် အပလီကေးရှင်းကို ရပ်ရန် တို့ထိလိုက်ပါ။"</string>
<string name="ok" msgid="5970060430562524910">"ကောင်းပြီ"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 0ae7ce8..d0767a7 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Teksthandlinger"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Lite ledig lagringsplass"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Enkelte systemfunksjoner fungerer muligens ikke slik de skal"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> kjører"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Trykk for mer informasjon, eller for å stoppe appen."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml
index 6eb59a3..78ae31d 100644
--- a/core/res/res/values-ne-rNP/strings.xml
+++ b/core/res/res/values-ne-rNP/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"पाठ कार्यहरू"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"भण्डारण ठाउँ सकिँदै छ"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"सायद केही प्रणाली कार्यक्रमहरूले काम गर्दैनन्"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> चलिरहेको छ"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"थप सूचनाको लागि छुनुहोस् वा अनुप्रयोग बन्द गर्नुहोस्।"</string>
<string name="ok" msgid="5970060430562524910">"ठिक छ"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 937943c..14f3c15 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Tekstacties"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Opslagruimte is bijna vol"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Bepaalde systeemfuncties werken mogelijk niet"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> wordt uitgevoerd"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Raak aan voor meer informatie of om de app te stoppen."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 27923924..1b26a31 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Działania na tekście"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Kończy się miejsce"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Niektóre funkcje systemu mogą nie działać"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> jest uruchomiona"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Kliknij, aby uzyskać więcej informacji lub zatrzymać aplikację."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 52a5f46..d3c86bd 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Acções de texto"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Está quase sem espaço de armazenamento"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Algumas funções do sistema poderão não funcionar"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> em execução"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Toque para obter mais informações ou para parar a aplicação."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index b9463d2..8b2bd5a 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Ações de texto"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Pouco espaço de armazenamento"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Algumas funções do sistema podem não funcionar"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> está em execução"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Toque para mais informações ou para parar o app."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"Editar com %1$s"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Compartilhar com"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Compartilhar com %1$s"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Selecione um app de Página inicial"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Usar %1$s como Página inicial"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Usar como padrão para esta ação."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Usar um app diferente"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Padrão claro em Configurações do sistema > Apps > Baixado."</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 329640e..ed234eb 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Acţiuni pentru text"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Spaţiul de stocare aproape ocupat"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Este posibil ca unele funcţii de sistem să nu funcţioneze"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> rulează acum"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Atingeți pentru mai multe informații sau pentru a opri aplicația."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"Editați cu %1$s"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Distribuiți cu"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Distribuiți cu %1$s"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Selectați o aplicație de pe ecranul de pornire"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Utilizați %1$s ca Pagină de pornire"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Se utilizează în mod prestabilit pentru această acţiune."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Utilizați altă aplicație"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Ștergeţi setările prestabilite din Setări de sistem > Aplicaţii > Descărcate."</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 2f0695e..d44e3df 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Операции с текстом"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Недостаточно памяти"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Некоторые функции могут не работать"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" выполняется"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Нажмите, чтобы получить дополнительные данные или выключить приложение."</string>
<string name="ok" msgid="5970060430562524910">"ОК"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"Редактировать с помощью приложения \"%1$s\""</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Поделиться с помощью приложения:"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Предоставлять доступ с помощью приложения \"%1$s\""</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Выберите главное приложение"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Назначьте приложение \"%1$s\" главным"</string>
<string name="alwaysUse" msgid="4583018368000610438">"По умолчанию для этого действия"</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Другое приложение"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Удаляет настройки по умолчанию в меню \"Настройки > Приложения > Загруженные\"."</string>
diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml
index 2f5e3b3..85eeea3 100644
--- a/core/res/res/values-si-rLK/strings.xml
+++ b/core/res/res/values-si-rLK/strings.xml
@@ -1185,6 +1185,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"පෙළ ක්රියාවන්"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"ආචයනය ඉඩ ප්රමාණය අඩු වී ඇත"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"සමහර පද්ධති කාර්යයන් ක්රියා නොකරනු ඇත"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ධාවනය වේ"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"වැඩිපුර තොරතුරු හෝ යෙදුම නැවතීම සඳහා ස්පර්ශ කරන්න."</string>
<string name="ok" msgid="5970060430562524910">"හරි"</string>
@@ -1203,10 +1205,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s සමඟ සංස්කරණය කරන්න"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"සමඟ බෙදාගන්න"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"%s සමඟ බෙදාගන්න"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"මුල් පිටු යෙදුම තෝරන්න"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"මුල් පිටු යෙදුම ලෙස %1$s න් භාවිතා කරන්න"</string>
<string name="alwaysUse" msgid="4583018368000610438">"මෙම ක්රියාව සඳහා සුපුරුද්දෙන් භාවිත කරන්න."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"වෙනත් යෙදුමක් භාවිතා කරන්න"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"පද්ධති සැකසීම් > යෙදුම් > බාගැනීම් තුළ ඇති සුපුරුද්ද හිස් කරන්න."</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 1750891..dd72884 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Operácie s textom"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Nedostatok ukladacieho priestoru"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Niektoré systémové funkcie nemusia fungovať"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> je spustená"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Dotykom si zobrazíte viac informácií alebo zastavíte aplikáciu."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"Upraviť v aplikácii %1$s"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Zdieľať v aplikácii"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Zdieľať v aplikácii %1$s"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Výber aplikácie na plochu"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Ako plochu používať aplikáciu %1$s"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Použiť ako predvolené nastavenie pre túto akciu."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Použiť inú aplikáciu"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Vymazať predvolené nastavenia v sekcii Nastavenia systému > Aplikácie > Stiahnuté položky."</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index d471593..7e73acb 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Besedilna dejanja"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Prostor za shranjevanje bo pošel"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Nekatere sistemske funkcije morda ne delujejo"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> se izvaja"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Dotaknite se, če želite izvedeti več ali ustaviti aplikacijo."</string>
<string name="ok" msgid="5970060430562524910">"V redu"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 735656d..0b1c387 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Радње у вези са текстом"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Простор за складиштење је на измаку"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Неке системске функције можда не функционишу"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"Апликација <xliff:g id="APP_NAME">%1$s</xliff:g> је покренута"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Додирните за више информација или заустављање апликације."</string>
<string name="ok" msgid="5970060430562524910">"Потврди"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index d3df5ee..c32afde 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Textåtgärder"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Lagringsutrymmet börjar ta slut"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Det kan hända att vissa systemfunktioner inte fungerar"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> körs"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Tryck om du vill veta mer eller stoppa appen."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index c6d36a7..48923c8 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Vitendo vya maandishi"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Nafasi ya kuhafadhi inakwisha"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Baadhi ya vipengee vya mfumo huenda visifanye kazi"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> inatumiwa"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Gusa ili upate maelezo zaidi au usitishe programu."</string>
<string name="ok" msgid="5970060430562524910">"Sawa"</string>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index eb4c748..a8345b9 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"உரை நடவடிக்கைகள்"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"சேமிப்பிடம் குறைகிறது"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"சில அமைப்பு செயல்பாடுகள் வேலை செய்யாமல் போகலாம்"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> இயக்குகிறது"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"மேலும் தகவலுக்கு அல்லது பயன்பாட்டை நிறுத்துவதற்கு, தொடவும்."</string>
<string name="ok" msgid="5970060430562524910">"சரி"</string>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index d3df8f3..005e338 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"వచనానికి సంబంధించిన చర్యలు"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"నిల్వ ఖాళీ అయిపోతోంది"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"కొన్ని సిస్టమ్ కార్యాచరణలు పని చేయకపోవచ్చు"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> అమలులో ఉంది"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"మరింత సమాచారం కోసం లేదా అనువర్తనాన్ని ఆపివేయడం కోసం తాకండి."</string>
<string name="ok" msgid="5970060430562524910">"సరే"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 1985399..9cc1304 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"การทำงานของข้อความ"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"พื้นที่จัดเก็บเหลือน้อย"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"บางฟังก์ชันระบบอาจไม่ทำงาน"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> กำลังทำงาน"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"แตะเพื่อดูข้อมูลเพิ่มเติมหรือเพื่อหยุดแอป"</string>
<string name="ok" msgid="5970060430562524910">"ตกลง"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index c9591d4..4776592 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Pagkilos ng teksto"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Nauubusan na ang puwang ng storage"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Maaaring hindi gumana nang tama ang ilang paggana ng system"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"Tumatakbo ang <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Pindutin para sa higit pang impormasyon o upang ihinto ang app."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"I-edit gamit ang %1$s"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Ibahagi gamit ang"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Ibahagi gamit ang %1$s"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Pumili ng app sa Home"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Gamitin ang %1$s bilang Home"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Gamitin bilang default para sa pagkilos na ito."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Gumamit ng ibang app"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"I-clear ang default sa mga setting ng System > Apps > Na-download."</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index aa7df86..9e08ea7 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Metin eylemleri"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Depolama alanı bitiyor"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Bazı sistem işlevleri çalışmayabilir"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> çalışıyor"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Daha fazla bilgi edinmek için veya uygulamayı durdurmak için dokunun."</string>
<string name="ok" msgid="5970060430562524910">"Tamam"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s ile düzenle"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Şununla paylaş:"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s ile paylaş"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Ana Ekran uygulaması seçin"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Ana Ekran olarak %1$s uygulamasını kullanın"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Varsayılan olarak bu işlem için kullan."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Farklı bir uygulama kullan"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Sistem ayarları > Uygulamalar > İndirilen bölümünden varsayılanı temizleyin."</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index f5a2894..6c44114 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Дії з текстом"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Закінчується пам’ять"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Деякі системні функції можуть не працювати"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> працює"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Торкніться, щоб дізнатися більше або зупинити програму."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml
index aa5a2df..7498934 100644
--- a/core/res/res/values-ur-rPK/strings.xml
+++ b/core/res/res/values-ur-rPK/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"متن کی کارروائیاں"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"اسٹوریج کی جگہ ختم ہو رہی ہے"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"ممکن ہے سسٹم کے کچھ فنکشنز کام نہ کریں"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> چل رہا ہے"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"مزید معلومات کیلئے یا ایپ کو روکنے کیلئے ٹچ کریں۔"</string>
<string name="ok" msgid="5970060430562524910">"ٹھیک ہے"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"%1$s کے ساتھ ترمیم کریں"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"اس کے ساتھ اشتراک کریں"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"%1$s کے ساتھ اشتراک کریں"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"ایک Home ایپ منتخب کریں"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"%1$s کو Home کے بطور استعمال کریں"</string>
<string name="alwaysUse" msgid="4583018368000610438">"اس کارروائی کیلئے بطور ڈیفالٹ استعمال کریں۔"</string>
<string name="use_a_different_app" msgid="8134926230585710243">"ایک مختلف ایپ استعمال کریں"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"سسٹم ترتیبات > ایپس > ڈاؤن لوڈ کردہ میں ڈیفالٹ صاف کریں۔"</string>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index 8b6c062..01f7e1f 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Matn yozish"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Xotirada bo‘sh joy tugamoqda"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Ba‘zi tizim funksiyalari ishlamasligi mumkin"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> ishlamoqda"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Ilova dasturni to‘xtatish yoki tafsilotlar uchun bosing."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"“%1$s” yordamida tahrirlash"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Ulashish…"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"“%1$s” orqali ulashish"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Bosh ilovani tanlash"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"%1$s: Bosh ilova sifatida foydalanish"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Ushbu amaldan standart sifatida foydalanish"</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Boshqa ilovadan foydalanish"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Birlamchi sozlamalarni Tizim sozlamalari > Ilovalar > Yuklab olingan menyusidan tozalang."</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 6c2f1e3..0227e7f 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Tác vụ văn bản"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Sắp hết dung lượng lưu trữ"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Một số chức năng hệ thống có thể không hoạt động"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> đang chạy"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Chạm để xem thêm thông tin hoặc dừng ứng dụng."</string>
<string name="ok" msgid="5970060430562524910">"OK"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"Chỉnh sửa bằng %1$s"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"Chia sẻ với"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"Chia sẻ với %1$s"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"Chọn ứng dụng Home"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Sử dụng %1$s làm Home"</string>
<string name="alwaysUse" msgid="4583018368000610438">"Sử dụng theo mặc định đối với tác vụ này."</string>
<string name="use_a_different_app" msgid="8134926230585710243">"Sử dụng một ứng dụng khác"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"Xóa mặc định trong Cài đặt hệ thống > Ứng dụng > Đã tải xuống."</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 4f03129..d8aba3e 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"文字操作"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"存储空间不足"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"某些系统功能可能无法正常使用"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"“<xliff:g id="APP_NAME">%1$s</xliff:g>”正在运行"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"触摸即可了解详情或停止应用。"</string>
<string name="ok" msgid="5970060430562524910">"确定"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"使用%1$s编辑"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"分享方式"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"使用%1$s分享"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"选择主屏幕应用"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"将“%1$s”设为主屏幕应用"</string>
<string name="alwaysUse" msgid="4583018368000610438">"设为默认选项。"</string>
<string name="use_a_different_app" msgid="8134926230585710243">"使用其他应用"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"在“系统设置”>“应用”>“已下载”中清除默认设置。"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index ab4bf67..1a498b3 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"文字操作"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"儲存空間即將用盡"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"部分系統功能可能無法運作"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」執行中"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"輕觸即可瞭解詳情或停止應用程式。"</string>
<string name="ok" msgid="5970060430562524910">"確定"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index 08cbca9..39078b9 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"文字動作"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"儲存空間即將用盡"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"部分系統功能可能無法運作"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」目前正在執行"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"輕觸即可瞭解詳情或停止應用程式。"</string>
<string name="ok" msgid="5970060430562524910">"確定"</string>
@@ -1201,10 +1203,8 @@
<string name="whichEditApplicationNamed" msgid="1775815530156447790">"使用 %1$s 編輯"</string>
<string name="whichSendApplication" msgid="6902512414057341668">"選擇分享工具"</string>
<string name="whichSendApplicationNamed" msgid="2799370240005424391">"透過 %1$s 分享"</string>
- <!-- no translation found for whichHomeApplication (4307587691506919691) -->
- <skip />
- <!-- no translation found for whichHomeApplicationNamed (4493438593214760979) -->
- <skip />
+ <string name="whichHomeApplication" msgid="4307587691506919691">"選取主螢幕應用程式"</string>
+ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"使用「%1$s」做為主螢幕"</string>
<string name="alwaysUse" msgid="4583018368000610438">"設為預設應用程式。"</string>
<string name="use_a_different_app" msgid="8134926230585710243">"使用其他應用程式"</string>
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"前往 [系統設定] > [應用程式] > [下載] 清除預設值。"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 59b760b..15c4306 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1183,6 +1183,8 @@
<string name="editTextMenuTitle" msgid="4909135564941815494">"Izenzo zombhalo"</string>
<string name="low_internal_storage_view_title" msgid="5576272496365684834">"Isikhala sokulondoloza siyaphela"</string>
<string name="low_internal_storage_view_text" msgid="6640505817617414371">"Eminye imisebenzi yohlelo ingahle ingasebenzi"</string>
+ <!-- no translation found for low_internal_storage_view_text_no_boot (6935190099204693424) -->
+ <skip />
<string name="app_running_notification_title" msgid="8718335121060787914">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> iyasebenza"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Thinta ukuthola ulwazi oluningi noma ukumisa uhlelo lokusebenza."</string>
<string name="ok" msgid="5970060430562524910">"KULUNGILE"</string>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 8ea1814..251652e 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -110,6 +110,11 @@
<!-- Dim inverse text color. This does not differentiate the disabled state. -->
<attr name="textColorSecondaryInverseNoDisable" format="reference|color" />
+ <!-- Bright text color for use over activated backgrounds. -->
+ <attr name="textColorPrimaryActivated" format="reference|color" />
+ <!-- Dim text color for use over activated backgrounds. -->
+ <attr name="textColorSecondaryActivated" format="reference|color" />
+
<!-- Text color for urls in search suggestions, used by things like global search and the browser. @hide -->
<attr name="textColorSearchUrl" format="reference|color" />
@@ -5365,11 +5370,11 @@
<attr name="drawable" />
</declare-styleable>
- <!-- Defines the target path or group used in the AnimatedVectorDrawable. -->
+ <!-- Defines the target used in the AnimatedVectorDrawable. -->
<declare-styleable name="AnimatedVectorDrawableTarget">
- <!-- The name of this target path or group -->
+ <!-- The name of the target path, group or vector drawable -->
<attr name="name" />
- <!-- The animation for this target path or group -->
+ <!-- The animation for the target path, group or vector drawable -->
<attr name="animation" />
</declare-styleable>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index bd9e2f6..4be9370 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -1636,6 +1636,7 @@
<bool name="config_stkNoAlphaUsrCnf">true</bool>
<!-- Don't use roaming icon for considered operators.
+ A match on config_sameNamedOperatorConsideredRoaming supersedes a match on this.
Can use mcc or mcc+mnc as item. For example, 302 or 21407.
If operators, 21404 and 21407, make roaming agreements, user of 21404 should not see
the roaming icon as using 21407 network.
@@ -1650,10 +1651,12 @@
<!-- For some operators, PDU has garbages. To fix it, need to use valid index -->
<integer name="config_valid_wappush_index">-1</integer>
- <!-- Show roaming icon though same named operators.
+ <!-- This is NOT just for same named operators unlike the name suggests (will blacklist regardless of name).
+ A match on this supersedes a match on config_operatorConsideredNonRoaming.
Uses "startsWith" so you can use a leading substring like the mcc or
use the complete mcc+mnc string.
- Though same mcc and same operator name, some operator want to roam.
+ For a given mcc/mcc-mnc, some operators may want to roam (even if
+ config_operatorConsideredNonRoaming has the mcc/mcc-mnc).
user of 40485 should see the roaming icon as using 40483 network
though same Reliance network.
To do this, add 40483 item to values-mcc404-mnc85/config.xml -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index f2b7d7b..081f8ae 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1696,6 +1696,7 @@
<java-symbol type="string" name="launch_warning_replace" />
<java-symbol type="string" name="launch_warning_title" />
<java-symbol type="string" name="low_internal_storage_view_text" />
+ <java-symbol type="string" name="low_internal_storage_view_text_no_boot" />
<java-symbol type="string" name="low_internal_storage_view_title" />
<java-symbol type="string" name="notification_listener_binding_label" />
<java-symbol type="string" name="condition_provider_service_binding_label" />
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 7a9e1d5..d983440 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -74,6 +74,8 @@
<item name="textColorPrimaryInverse">@color/primary_text_light</item>
<item name="textColorSecondaryInverse">@color/secondary_text_light</item>
<item name="textColorTertiaryInverse">@color/tertiary_text_light</item>
+ <item name="textColorPrimaryActivated">@color/primary_text_dark</item>
+ <item name="textColorSecondaryActivated">@color/secondary_text_dark</item>
<item name="textColorPrimaryDisableOnly">@color/primary_text_dark_disable_only</item>
<item name="textColorPrimaryInverseDisableOnly">@color/primary_text_light_disable_only</item>
<item name="textColorPrimaryNoDisable">@color/primary_text_dark_nodisable</item>
@@ -478,6 +480,8 @@
<item name="textColorPrimaryInverse">@color/primary_text_dark</item>
<item name="textColorSecondaryInverse">@color/secondary_text_dark</item>
<item name="textColorTertiaryInverse">@color/tertiary_text_dark</item>
+ <item name="textColorPrimaryActivated">@color/primary_text_light</item>
+ <item name="textColorSecondaryActivated">@color/secondary_text_light</item>
<item name="textColorPrimaryDisableOnly">@color/primary_text_light_disable_only</item>
<item name="textColorPrimaryInverseDisableOnly">@color/primary_text_dark_disable_only</item>
<item name="textColorPrimaryNoDisable">@color/primary_text_light_nodisable</item>
diff --git a/core/res/res/values/themes_holo.xml b/core/res/res/values/themes_holo.xml
index 9c1d0f3..c30b3d5 100644
--- a/core/res/res/values/themes_holo.xml
+++ b/core/res/res/values/themes_holo.xml
@@ -93,6 +93,8 @@
<item name="textColorPrimaryInverse">@color/primary_text_holo_light</item>
<item name="textColorSecondaryInverse">@color/secondary_text_holo_light</item>
<item name="textColorTertiaryInverse">@color/tertiary_text_holo_light</item>
+ <item name="textColorPrimaryActivated">@color/primary_text_holo_dark</item>
+ <item name="textColorSecondaryActivated">@color/secondary_text_holo_dark</item>
<item name="textColorPrimaryDisableOnly">@color/primary_text_disable_only_holo_dark</item>
<item name="textColorPrimaryInverseDisableOnly">@color/primary_text_disable_only_holo_light</item>
<item name="textColorPrimaryNoDisable">@color/primary_text_nodisable_holo_dark</item>
@@ -429,6 +431,8 @@
<item name="textColorPrimaryInverse">@color/primary_text_holo_dark</item>
<item name="textColorSecondaryInverse">@color/secondary_text_holo_dark</item>
<item name="textColorTertiaryInverse">@color/tertiary_text_holo_dark</item>
+ <item name="textColorPrimaryActivated">@color/primary_text_holo_light</item>
+ <item name="textColorSecondaryActivated">@color/secondary_text_holo_light</item>
<item name="textColorPrimaryDisableOnly">@color/primary_text_disable_only_holo_light</item>
<item name="textColorPrimaryInverseDisableOnly">@color/primary_text_disable_only_holo_dark</item>
<item name="textColorPrimaryNoDisable">@color/primary_text_nodisable_holo_light</item>
diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml
index 6420153..b51974e 100644
--- a/core/res/res/values/themes_material.xml
+++ b/core/res/res/values/themes_material.xml
@@ -55,9 +55,11 @@
<item name="textColorPrimary">@color/primary_text_material_dark</item>
<item name="textColorPrimaryInverse">@color/primary_text_material_light</item>
+ <item name="textColorPrimaryActivated">@color/primary_text_activated_material_dark</item>
<item name="textColorPrimaryDisableOnly">@color/primary_text_disable_only_material_dark</item>
<item name="textColorSecondary">@color/secondary_text_material_dark</item>
<item name="textColorSecondaryInverse">@color/secondary_text_material_light</item>
+ <item name="textColorSecondaryActivated">@color/secondary_text_activated_material_dark</item>
<item name="textColorTertiary">@color/secondary_text_material_dark</item>
<item name="textColorTertiaryInverse">@color/secondary_text_material_light</item>
<item name="textColorHint">@color/hint_foreground_material_dark</item>
@@ -402,8 +404,10 @@
<item name="textColorPrimary">@color/primary_text_material_light</item>
<item name="textColorPrimaryInverse">@color/primary_text_material_dark</item>
+ <item name="textColorPrimaryActivated">@color/primary_text_activated_material_light</item>
<item name="textColorSecondary">@color/secondary_text_material_light</item>
<item name="textColorSecondaryInverse">@color/secondary_text_material_dark</item>
+ <item name="textColorSecondaryActivated">@color/secondary_text_activated_material_light</item>
<item name="textColorTertiary">@color/secondary_text_material_light</item>
<item name="textColorTertiaryInverse">@color/secondary_text_material_dark</item>
<item name="textColorPrimaryDisableOnly">@color/primary_text_disable_only_material_light</item>
@@ -757,8 +761,10 @@
<item name="textColorPrimary">@color/primary_text_material_light</item>
<item name="textColorPrimaryInverse">@color/primary_text_material_dark</item>
+ <item name="textColorPrimaryActivated">@color/primary_text_activated_material_light</item>
<item name="textColorSecondary">@color/secondary_text_material_light</item>
<item name="textColorSecondaryInverse">@color/secondary_text_material_dark</item>
+ <item name="textColorSecondaryActivated">@color/secondary_text_activated_material_light</item>
<item name="textColorTertiary">@color/secondary_text_material_light</item>
<item name="textColorTertiaryInverse">@color/secondary_text_material_dark</item>
<item name="textColorPrimaryDisableOnly">@color/primary_text_disable_only_material_light</item>
@@ -794,9 +800,11 @@
<item name="textColorPrimary">@color/primary_text_material_dark</item>
<item name="textColorPrimaryInverse">@color/primary_text_material_light</item>
+ <item name="textColorPrimaryActivated">@color/primary_text_activated_material_dark</item>
<item name="textColorPrimaryDisableOnly">@color/primary_text_disable_only_material_dark</item>
<item name="textColorSecondary">@color/secondary_text_material_dark</item>
<item name="textColorSecondaryInverse">@color/secondary_text_material_light</item>
+ <item name="textColorSecondaryActivated">@color/secondary_text_activated_material_dark</item>
<item name="textColorTertiary">@color/secondary_text_material_dark</item>
<item name="textColorTertiaryInverse">@color/secondary_text_material_light</item>
<item name="textColorHint">@color/hint_foreground_material_dark</item>
diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd
index 2bbdfc8c..9ed70ed 100644
--- a/docs/html/sdk/index.jd
+++ b/docs/html/sdk/index.jd
@@ -246,11 +246,9 @@
<p>The Android SDK provides you the API libraries and developer tools necessary to build, test,
and debug apps for Android.</p>
-<p>If you're a new Android developer, we recommend you download the ADT Bundle
-to quickly start developing apps. It includes the essential
-Android SDK components and a version of the Eclipse IDE with built-in
-<b>ADT (Android Developer Tools)</b> to
-streamline your Android app development.</p>
+<p>Download the ADT Bundle to quickly start developing apps. It includes the essential Android
+SDK components and a version of the Eclipse IDE with built-in <b>ADT (Android Developer Tools)</b>
+to streamline your Android app development.</p>
<!-- this appears when viewing the online docs -->
diff --git a/graphics/java/android/graphics/drawable/VectorDrawable.java b/graphics/java/android/graphics/drawable/VectorDrawable.java
index 8014837..4c83e55 100644
--- a/graphics/java/android/graphics/drawable/VectorDrawable.java
+++ b/graphics/java/android/graphics/drawable/VectorDrawable.java
@@ -57,6 +57,8 @@
* <dl>
* <dd>Used to defined a vector drawable
* <dl>
+ * <dt><code>android:name</code></dt>
+ * <dd>Defines the name of this vector drawable.</dd>
* <dt><code>android:width</code></dt>
* <dd>Used to defined the intrinsic width of the drawable.
* This support all the dimension units, normally specified with dp.</dd>
@@ -76,6 +78,8 @@
* <dt><code>android:autoMirrored</code></dt>
* <dd>Indicates if the drawable needs to be mirrored when its layout direction is
* RTL (right-to-left).</dd>
+ * <dt><code>android:alpha</code></dt>
+ * <dd>The opacity of this drawable.</dd>
* </dl></dd>
* </dl>
*
@@ -85,6 +89,8 @@
* The transformations are defined in the same coordinates as the viewport.
* And the transformations are applied in the order of scale, rotate then translate.
* <dl>
+ * <dt><code>android:name</code></dt>
+ * <dd>Defines the name of the group.</dd>
* <dt><code>android:rotation</code></dt>
* <dd>The degrees of rotation of the group.</dd>
* <dt><code>android:pivotX</code></dt>
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
index 8cef137..61a767c 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -1185,7 +1185,11 @@
{
int32_t id = getAttributeNameID(idx);
if (id >= 0 && (size_t)id < mTree.mNumResIds) {
- return dtohl(mTree.mResIds[id]);
+ uint32_t resId = dtohl(mTree.mResIds[id]);
+ if (mTree.mDynamicRefTable == NULL ||
+ mTree.mDynamicRefTable->lookupResourceId(&resId) == NO_ERROR) {
+ return resId;
+ }
}
return 0;
}
diff --git a/media/java/android/media/tv/TvContentRating.java b/media/java/android/media/tv/TvContentRating.java
index b4ec2b3..c539290 100644
--- a/media/java/android/media/tv/TvContentRating.java
+++ b/media/java/android/media/tv/TvContentRating.java
@@ -155,14 +155,6 @@
* <th>Description</th>
* </tr>
* <tr>
- * <td>AM_TV_RS</td>
- * <td>Range specific TV content rating system strings for Armenia</td>
- * </tr>
- * <tr>
- * <td>AM_TV_AS</td>
- * <td>Age specific TV content rating system strings for Armenia</td>
- * </tr>
- * <tr>
* <td>AR_TV</td>
* <td>TV content rating system for Argentina</td>
* </tr>
@@ -171,182 +163,37 @@
* <td>TV content rating system for Australia</td>
* </tr>
* <tr>
- * <td>BG_TV</td>
- * <td>TV content rating system for Bulgaria</td>
- * </tr>
- * <tr>
* <td>BR_TV</td>
* <td>TV content rating system for Brazil</td>
* </tr>
* <tr>
- * <td>CA_TV_CA</td>
- * <td>TV content rating system for Canada (Canadian)</td>
+ * <td>DVB</td>
+ * <td>DVB content rating system</td>
* </tr>
* <tr>
- * <td>CA_TV_QC</td>
- * <td>TV content rating system for Canada (Quebec)</td>
+ * <td>ES_DVB</td>
+ * <td>DVB content rating system for Spain</td>
* </tr>
* <tr>
- * <td>CH_TV</td>
- * <td>TV content rating system for Switzerland</td>
+ * <td>FR_DVB</td>
+ * <td>DVB content rating system for France</td>
* </tr>
* <tr>
- * <td>CL_TV</td>
- * <td>TV content rating system for Chile</td>
- * </tr>
- * <tr>
- * <td>DE_TV</td>
- * <td>TV content rating system for Germany</td>
- * </tr>
- * <tr>
- * <td>DK_TV</td>
- * <td>TV content rating system for Denmark</td>
- * </tr>
- * <tr>
- * <td>ES_TV</td>
- * <td>TV content rating system for Spain</td>
- * </tr>
- * <tr>
- * <td>FI_TV</td>
- * <td>TV content rating system for Finland</td>
- * </tr>
- * <tr>
- * <td>FR_TV</td>
- * <td>TV content rating system for France</td>
- * </tr>
- * <tr>
- * <td>GR_TV</td>
- * <td>TV content rating system for Greece</td>
- * </tr>
- * <tr>
- * <td>HK_TV</td>
- * <td>TV content rating system for Hong Kong</td>
- * </tr>
- * <tr>
- * <td>HU_TV</td>
- * <td>TV content rating system for Hungary</td>
- * </tr>
- * <tr>
- * <td>ID_TV</td>
- * <td>TV content rating system for Indonesia</td>
- * </tr>
- * <tr>
- * <td>IE_TV</td>
- * <td>TV content rating system for Ireland</td>
- * </tr>
- * <tr>
- * <td>IL_TV</td>
- * <td>TV content rating system for Israel</td>
- * </tr>
- * <tr>
- * <td>IN_TV</td>
- * <td>TV content rating system for India</td>
- * </tr>
- * <tr>
- * <td>IS_TV</td>
- * <td>TV content rating system for Iceland</td>
- * </tr>
- * <tr>
- * <td>JP_TV</td>
- * <td>TV content rating system for Japan</td>
+ * <td>ISDB</td>
+ * <td>ISDB content rating system</td>
* </tr>
* <tr>
* <td>KR_TV</td>
* <td>TV content rating system for South Korea</td>
* </tr>
* <tr>
- * <td>MV_TV</td>
- * <td>TV content rating system for Maldives</td>
- * </tr>
- * <tr>
- * <td>MX_TV</td>
- * <td>TV content rating system for Mexico</td>
- * </tr>
- * <tr>
- * <td>MY_TV</td>
- * <td>TV content rating system for Malaysia</td>
- * </tr>
- * <tr>
- * <td>NL_TV</td>
- * <td>TV content rating system for Netherlands</td>
- * </tr>
- * <tr>
- * <td>NZ_FTV</td>
- * <td>TV content rating system for free-to-air channels in New Zealand</td>
- * </tr>
- * <tr>
- * <td>NZ_PTV</td>
- * <td>TV content rating system for Pay TV channels in New Zealand</td>
- * </tr>
- * <tr>
- * <td>PE_TV</td>
- * <td>TV content rating system for some Peruvian channels in Peru</td>
- * </tr>
- * <tr>
- * <td>PE_ATV</td>
- * <td>TV content rating system for America Television in Peru that uses its own rating
- * system</td>
- * </tr>
- * <tr>
- * <td>PH_TV</td>
- * <td>TV content rating system for Philippines</td>
- * </tr>
- * <tr>
- * <td>PL_TV</td>
- * <td>TV content rating system for Poland</td>
- * </tr>
- * <tr>
- * <td>PT_TV</td>
- * <td>TV content rating system for Portugal</td>
- * </tr>
- * <tr>
- * <td>RO_TV</td>
- * <td>TV content rating system for Romania</td>
- * </tr>
- * <tr>
- * <td>RU_TV</td>
- * <td>TV content rating system for Russia</td>
- * </tr>
- * <tr>
- * <td>RS_TV</td>
- * <td>TV content rating system for Serbia</td>
- * </tr>
- * <tr>
* <td>SG_TV</td>
* <td>TV content rating system for Singapore</td>
* </tr>
* <tr>
- * <td>SI_TV</td>
- * <td>TV content rating system for Slovenia</td>
- * </tr>
- * <tr>
- * <td>TH_TV</td>
- * <td>TV content rating system for Thailand</td>
- * </tr>
- * <tr>
- * <td>TR_TV</td>
- * <td>TV content rating system for Turkey</td>
- * </tr>
- * <tr>
- * <td>TW_TV</td>
- * <td>TV content rating system for Taiwan</td>
- * </tr>
- * <tr>
- * <td>UA_TV</td>
- * <td>TV content rating system for Ukraine</td>
- * </tr>
- * <tr>
* <td>US_TV</td>
* <td>TV content rating system for the United States</td>
* </tr>
- * <tr>
- * <td>VE_TV</td>
- * <td>TV content rating system for Venezuela</td>
- * </tr>
- * <tr>
- * <td>ZA_TV</td>
- * <td>TV content rating system for South Africa</td>
- * </tr>
* </table>
*
* <h4>System defined strings for ratings</h4>
@@ -357,137 +204,61 @@
* <th>Description</th>
* </tr>
* <tr>
- * <td valign="top" rowspan="6">AM_TV_RS</td>
- * <td>AM_TV_RS_Y</td>
- * <td>Suitable for ages 2-11</td>
- * </tr>
- * <tr>
- * <td>AM_TV_RS_Y7</td>
- * <td>Suitable for ages 7-16</td>
- * </tr>
- * <tr>
- * <td>AM_TV_RS_GA</td>
- * <td>Suitable for general audiences</td>
- * </tr>
- * <tr>
- * <td>AM_TV_RS_TW</td>
- * <td>Suitable for teens ages 9 and up</td>
- * </tr>
- * <tr>
- * <td>AM_TV_RS_T</td>
- * <td>Suitable for teens ages 12 and up</td>
- * </tr>
- * <tr>
- * <td>AM_TV_RS_A</td>
- * <td>Suitable only for adults ages 18 and up</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="6">AM_TV_AS</td>
- * <td>AM_TV_AS_EC</td>
- * <td>Suitable for ages 2 and up</td>
- * </tr>
- * <tr>
- * <td>AM_TV_AS_E</td>
- * <td>Suitable for ages 5 and up</td>
- * </tr>
- * <tr>
- * <td>AM_TV_AS_E9</td>
- * <td>Suitable for ages 9 and up</td>
- * </tr>
- * <tr>
- * <td>AM_TV_AS_T</td>
- * <td>Suitable for ages 12 and up</td>
- * </tr>
- * <tr>
- * <td>AM_TV_AS_M</td>
- * <td>Suitable for ages 16 and up</td>
- * </tr>
- * <tr>
- * <td>AM_TV_AS_AO</td>
- * <td>Suitable for ages 17 and up</td>
- * </tr>
- * <tr>
* <td valign="top" rowspan="4">AR_TV</td>
- * <td>AR_TV_ALL</td>
+ * <td>AR_TV_ATP</td>
* <td>Suitable for all audiences. Programs may contain mild violence, language and mature
* situations</td>
* </tr>
* <tr>
- * <td>AR_TV_13</td>
+ * <td>AR_TV_SAM_13</td>
* <td>Suitable for ages 13 and up. Programs may contain mild to moderate language and mild
* violence and sexual references</td>
* </tr>
* <tr>
- * <td>AR_TV_16</td>
+ * <td>AR_TV_SAM_16</td>
* <td>Suitable for ages 16 and up. Programs may contain more intensive violence and coarse
* language, partial nudity and moderate sexual references</td>
* </tr>
* <tr>
- * <td>AR_TV_18</td>
+ * <td>AR_TV_SAM_18</td>
* <td>Suitable for mature audiences only. Programs contain strong violence, coarse language
* and explicit sexual references</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="7">AU_TV</td>
- * <td>AU_TV_CTC</td>
- * <td>This has advertising approval, but is not yet classified</td>
+ * <td valign="top" rowspan="8">AU_TV</td>
+ * <td>AU_TV_P</td>
+ * <td>Recommended for younger children aged between 2 and 11 years</td>
+ * </tr>
+ * <tr>
+ * <td>AU_TV_C</td>
+ * <td>Recommended for older children aged between 5 and 14 years</td>
* </tr>
* <tr>
* <td>AU_TV_G</td>
- * <td>The content is very mild in impact, and suitable for everyone</td>
+ * <td>Recommended for all ages</td>
* </tr>
* <tr>
* <td>AU_TV_PG</td>
- * <td>The content is mild in impact, but it may contain content that children find
- * confusing or upsetting and may require the guidance or parents and guardians</td>
+ * <td>Parental guidance is recommended for young viewers under 15</td>
* </tr>
* <tr>
* <td>AU_TV_M</td>
- * <td>The content is moderate in impact, and it is recommended for teenagers aged 15 years
- * and over</td>
+ * <td>Recommended for mature audiences aged 15 years and over</td>
* </tr>
* <tr>
- * <td>AU_TV_MA15</td>
- * <td>The content is strong in impact, and it is legally restricted to persons 15 years and
- * over</td>
+ * <td>AU_TV_MA</td>
+ * <td>Not suitable for children and teens under 15, due to sexual descriptions, course
+ * language, adult themes or drug use</td>
* </tr>
* <tr>
- * <td>AU_TV_R18</td>
- * <td>The content is high in impact, and it is restricted to adults</td>
+ * <td>AU_TV_AV</td>
+ * <td>Not suitable for children and teens under 15. This category is used specifically for
+ * violent programs</td>
* </tr>
* <tr>
- * <td>AU_TV_X18</td>
- * <td>The content is restricted to adults. This classification is a special and legally
- * restricted category which contains only sexually explicit content</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="5">BG_TV</td>
- * <td>BG_TV_A</td>
- * <td>Recommended to children. When the film confirms the ideals of humanism or popularizes
- * the national and world cultures or contributes to upbringing children</td>
- * </tr>
- * <tr>
- * <td>BG_TV_B</td>
- * <td>No restrictive recommendations from the Committee. When the film is in no way
- * contrary to the universal rules of morality in this country, has no restrictive
- * recommendations from the Committee and does not fall in rating A</td>
- * </tr>
- * <tr>
- * <td>BG_TV_C</td>
- * <td>No persons under the age of 12 are admitted unless accompanied by an adult. When the
- * film contains certain erotic scenes or scenes with drinking, taking drugs or stimulants
- * or a few scenes of violence</td>
- * </tr>
- * <tr>
- * <td>BG_TV_D</td>
- * <td>No persons under the age of 16 are admitted. When the film contains quite a number of
- * erotic scenes or scenes with drinking, taking drugs or stimulants or a considerable
- * number of scenes showing violence</td>
- * </tr>
- * <tr>
- * <td>BG_TV_X</td>
- * <td>No persons under the age of 18 are admitted. When the film is naturalistically erotic
- * or shows violence in an ostentatious manner</td>
+ * <td>AU_TV_R</td>
+ * <td>Not for children under 18. Content may include graphic violence, sexual situations,
+ * coarse language and explicit drug use</td>
* </tr>
* <tr>
* <td valign="top" rowspan="6">BR_TV</td>
@@ -515,422 +286,272 @@
* <td>Content suitable for viewers over the age of 18</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="7">CA_TV_CA</td>
- * <td>CA_TV_CA_EXEMPT</td>
- * <td>Exempt from ratings and won't display an on-screen rating</td>
+ * <td valign="top" rowspan="15">DVB</td>
+ * <td>DVB_4</td>
+ * <td>Recommended for ages 4 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_CA_C</td>
- * <td>Suitable for children ages 2-7. May contain mild violence</td>
+ * <td>DVB_5</td>
+ * <td>Recommended for ages 5 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_CA_C8</td>
- * <td>Suitable for children ages 8 and older. May contain mild violence, fantasy horror,
- * and socially offensive language</td>
+ * <td>DVB_6</td>
+ * <td>Recommended for ages 6 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_CA_G</td>
- * <td>Suitable for the entire family and may contain mild violence, profanity, and censored
- * language</td>
+ * <td>DVB_7</td>
+ * <td>Recommended for ages 7 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_CA_PG</td>
- * <td>May contain moderate violence, profanity, nudity, and sexual references</td>
+ * <td>DVB_8</td>
+ * <td>Recommended for ages 8 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_CA_14</td>
- * <td>Intended for viewers ages 14 and older. May contain strong violence and profanity,
- * and depictions of sexual activity</td>
+ * <td>DVB_9</td>
+ * <td>Recommended for ages 9 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_CA_18</td>
- * <td>Intended for viewers ages 18 and older. May contain explicit violence and sexual
- * activity</td>
+ * <td>DVB_10</td>
+ * <td>Recommended for ages 10 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="6">CA_TV_QC</td>
- * <td>CA_TV_QC_E</td>
- * <td>Exempt from ratings and won't display an on-screen rating</td>
+ * <td>DVB_11</td>
+ * <td>Recommended for ages 11 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_QC_G</td>
- * <td>Appropriate for all ages and must contain little or no violence and little to no
- * sexual content</td>
+ * <td>DVB_12</td>
+ * <td>Recommended for ages 12 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_QC_8</td>
- * <td>Appropriate for children 8 and may contain with little violence, language, and little
- * to no sexual situations</td>
+ * <td>DVB_13</td>
+ * <td>Recommended for ages 13 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_QC_13</td>
- * <td>Suitable for children 13 and may contain with moderate violence, language, and some
- * sexual situations</td>
+ * <td>DVB_14</td>
+ * <td>Recommended for ages 14 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_QC_16</td>
- * <td>Recommended for children over the age of 16 and may contain with strong violence,
- * strong language, and strong sexual content</td>
+ * <td>DVB_15</td>
+ * <td>Recommended for ages 15 and over</td>
* </tr>
* <tr>
- * <td>CA_TV_QC_18</td>
- * <td>Only to be viewed by adults and may contain extreme violence and graphic sexual
- * content. It is mostly used for 18+ movies and pornography</td>
+ * <td>DVB_16</td>
+ * <td>Recommended for ages 16 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="2">CH_TV</td>
- * <td>CH_TV_ALL</td>
- * <td>This program is suitable for all ages</td>
+ * <td>DVB_17</td>
+ * <td>Recommended for ages 17 and over</td>
* </tr>
* <tr>
- * <td>CH_TV_RED</td>
- * <td>This program contains scenes that may hurt sensitive people, therefore the red symbol
- * will be displayed</td>
+ * <td>DVB_18</td>
+ * <td>Recommended for ages 18 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="7">CL_TV</td>
- * <td>CL_TV_I</td>
- * <td>Programs suitable for all children</td>
- * </tr>
- * <tr>
- * <td>CL_TV_I7</td>
- * <td>Programs recommended for children ages 7 or older</td>
- * </tr>
- * <tr>
- * <td>CL_TV_I10</td>
- * <td>Programs recommended for children ages 10 or older</td>
- * </tr>
- * <tr>
- * <td>CL_TV_I12</td>
- * <td>Programs recommended for children and teens ages 12 or older</td>
- * </tr>
- * <tr>
- * <td>CL_TV_F</td>
- * <td>Programs suitable for a general audience, with content appropriate for all ages</td>
- * </tr>
- * <tr>
- * <td>CL_TV_R</td>
- * <td>Programs may content not suitable for children not accompanied by an adult</td>
- * </tr>
- * <tr>
- * <td>CL_TV_A</td>
- * <td>Programs suitable for adult audiences only (ages 18 or older), may contain coarse
- * language, and sexual or explicit situations</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="4">DE_TV</td>
- * <td>DE_TV_ALL</td>
- * <td>The program is suitable for all ages</td>
- * </tr>
- * <tr>
- * <td>DE_TV_12</td>
- * <td>The program is not suitable for viewers under the age of 12</td>
- * </tr>
- * <tr>
- * <td>DE_TV_16</td>
- * <td>The program is not suitable for viewers under the age of 16</td>
- * </tr>
- * <tr>
- * <td>DE_TV_18</td>
- * <td>The program is not suitable for viewers under the age of 18</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="4">DK_TV</td>
- * <td>DK_TV_G</td>
- * <td>programs suitable for all ages</td>
- * </tr>
- * <tr>
- * <td>DK_TV_Y</td>
- * <td>programs suitable children accompanied by an adult</td>
- * </tr>
- * <tr>
- * <td>DK_TV_R</td>
- * <td>programs containing material with more intensive content</td>
- * </tr>
- * <tr>
- * <td>DK_TV_B</td>
- * <td>programs containing explicit content and strictly for adults only</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="7">ES_TV</td>
- * <td>ES_TV_TP</td>
+ * <td valign="top" rowspan="18">ES_DVB</td>
+ * <td>ES_DVB_ALL</td>
* <td>Recommended for all ages</td>
* </tr>
* <tr>
- * <td>ES_TV_I</td>
- * <td>Specially recommended for preschoolers and kids</td>
+ * <td>ES_DVB_C</td>
+ * <td>Recommended for children</td>
* </tr>
* <tr>
- * <td>ES_TV_7</td>
- * <td>Recommended for people older than 7 years old</td>
+ * <td>ES_DVB_X</td>
+ * <td>Recommended for adults</td>
* </tr>
* <tr>
- * <td>ES_TV_7I</td>
- * <td>Recommended for kids older than 7 years old</td>
+ * <td>ES_DVB_4</td>
+ * <td>Recommended for ages 4 and over</td>
* </tr>
* <tr>
- * <td>ES_TV_12</td>
- * <td>Recommended for people older than 12 years old</td>
+ * <td>ES_DVB_5</td>
+ * <td>Recommended for ages 5 and over</td>
* </tr>
* <tr>
- * <td>ES_TV_16</td>
- * <td>Recommended for people older than 16 years old</td>
+ * <td>ES_DVB_6</td>
+ * <td>Recommended for ages 6 and over</td>
* </tr>
* <tr>
- * <td>ES_TV_18</td>
- * <td>Recommended for people older than 18 years old</td>
+ * <td>ES_DVB_7</td>
+ * <td>Recommended for ages 7 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="5">FI_TV</td>
- * <td>FI_TV_S</td>
- * <td>Allowed at all times</td>
+ * <td>ES_DVB_8</td>
+ * <td>Recommended for ages 8 and over</td>
* </tr>
* <tr>
- * <td>FI_TV_K7</td>
- * <td>Not recommended for children under 7</td>
+ * <td>ES_DVB_9</td>
+ * <td>Recommended for ages 9 and over</td>
* </tr>
* <tr>
- * <td>FI_TV_K12</td>
- * <td>Not recommended for children under 12</td>
+ * <td>ES_DVB_10</td>
+ * <td>Recommended for ages 10 and over</td>
* </tr>
* <tr>
- * <td>FI_TV_K16</td>
- * <td>Not recommended for children under 16</td>
+ * <td>ES_DVB_11</td>
+ * <td>Recommended for ages 11 and over</td>
* </tr>
* <tr>
- * <td>FI_TV_K18</td>
- * <td>Not recommended for children under 18</td>
+ * <td>ES_DVB_12</td>
+ * <td>Recommended for ages 12 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="5">FR_TV</td>
- * <td>FR_TV_ALL</td>
- * <td>Appropriate for all ages</td>
+ * <td>ES_DVB_13</td>
+ * <td>Recommended for ages 13 and over</td>
* </tr>
* <tr>
- * <td>FR_TV_10</td>
- * <td>Not recommended for children under 10</td>
+ * <td>ES_DVB_14</td>
+ * <td>Recommended for ages 14 and over</td>
* </tr>
* <tr>
- * <td>FR_TV_12</td>
- * <td>Not recommended for children under 12</td>
+ * <td>ES_DVB_15</td>
+ * <td>Recommended for ages 15 and over</td>
* </tr>
* <tr>
- * <td>FR_TV_16</td>
- * <td>Not recommended for children under 16</td>
+ * <td>ES_DVB_16</td>
+ * <td>Recommended for ages 16 and over</td>
* </tr>
* <tr>
- * <td>FR_TV_18</td>
- * <td>Not recommended for persons under 18</td>
+ * <td>ES_DVB_17</td>
+ * <td>Recommended for ages 17 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="5">GR_TV</td>
- * <td>GR_TV_ALL</td>
- * <td>Suitable for all ages</td>
+ * <td>ES_DVB_18</td>
+ * <td>Recommended for ages 18 and over</td>
* </tr>
* <tr>
- * <td>GR_TV_10</td>
- * <td>Parental consent suggested</td>
+ * <td valign="top" rowspan="16">FR_DVB</td>
+ * <td>FR_DVB_U</td>
+ * <td>Recommended for all ages</td>
* </tr>
* <tr>
- * <td>GR_TV_12</td>
- * <td>Required parental consent</td>
+ * <td>FR_DVB_4</td>
+ * <td>Recommended for ages 4 and over</td>
* </tr>
* <tr>
- * <td>GR_TV_15</td>
- * <td>Suitable for minors over the age of 15</td>
+ * <td>FR_DVB_5</td>
+ * <td>Recommended for ages 5 and over</td>
* </tr>
* <tr>
- * <td>GR_TV_18</td>
- * <td>Suitable only for adults profanity before midnight is punishable by fine, except when
- * used in the context of the program</td>
+ * <td>FR_DVB_6</td>
+ * <td>Recommended for ages 6 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="3">HK_TV</td>
- * <td>HK_TV_G</td>
- * <td>For general audiences</td>
+ * <td>FR_DVB_7</td>
+ * <td>Recommended for ages 7 and over</td>
* </tr>
* <tr>
- * <td>HK_TV_PG</td>
- * <td>Programs are unsuitable for children, parental guidance is recommended</td>
+ * <td>FR_DVB_8</td>
+ * <td>Recommended for ages 8 and over</td>
* </tr>
* <tr>
- * <td>HK_TV_M</td>
- * <td>Programs are recommended only for adult viewers above the age of 18</td>
+ * <td>FR_DVB_9</td>
+ * <td>Recommended for ages 9 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="6">HU_TV</td>
- * <td>HU_TV_U</td>
- * <td>Programs can be viewed by any age</td>
+ * <td>FR_DVB_10</td>
+ * <td>Recommended for ages 10 and over</td>
* </tr>
* <tr>
- * <td>HU_TV_CF</td>
- * <td>Programs recommended for children. It is an optional rating, there is no obligation
- * for broadcasters to indicate it</td>
+ * <td>FR_DVB_11</td>
+ * <td>Recommended for ages 11 and over</td>
* </tr>
* <tr>
- * <td>HU_TV_6</td>
- * <td>Programs not recommended for children below the age of 6, may not contain any
- * violence or sexual content</td>
+ * <td>FR_DVB_12</td>
+ * <td>Recommended for ages 12 and over</td>
* </tr>
* <tr>
- * <td>HU_TV_12</td>
- * <td>Programs not recommended for children below the age of 12, may contain light sexual
- * content or explicit language</td>
+ * <td>FR_DVB_13</td>
+ * <td>Recommended for ages 13 and over</td>
* </tr>
* <tr>
- * <td>HU_TV_16</td>
- * <td>Programs not recommended for teens and children below the age of 16, may contain more
- * intensive violence and sexual content</td>
+ * <td>FR_DVB_14</td>
+ * <td>Recommended for ages 14 and over</td>
* </tr>
* <tr>
- * <td>HU_TV_18</td>
- * <td>The program is recommended only for adult viewers (for ages 18 and up), may contain
- * explicit violence and explicit sexual content</td>
+ * <td>FR_DVB_15</td>
+ * <td>Recommended for ages 15 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="8">ID_TV</td>
- * <td>ID_TV_P</td>
- * <td>Suitable for children from ages 2 through 11</td>
+ * <td>FR_DVB_16</td>
+ * <td>Recommended for ages 16 and over</td>
* </tr>
* <tr>
- * <td>ID_TV_A</td>
- * <td>Suitable for teens and children from ages 7 through 16</td>
+ * <td>FR_DVB_17</td>
+ * <td>Recommended for ages 17 and over</td>
* </tr>
* <tr>
- * <td>ID_TV_A_BO</td>
- * <td>Suitable for children ages 5 through 10, with parental guidance or permission</td>
+ * <td>FR_DVB_18</td>
+ * <td>Recommended for ages 18 and over</td>
* </tr>
* <tr>
- * <td>ID_TV_SU</td>
- * <td>Suitable for general audiences</td>
+ * <td valign="top" rowspan="17">ISDB</td>
+ * <td>ISDB_4</td>
+ * <td>Recommended for ages 4 and over</td>
* </tr>
* <tr>
- * <td>ID_TV_BO</td>
- * <td>Parental guidance suggested for ages 5 and under</td>
+ * <td>ISDB_5</td>
+ * <td>Recommended for ages 5 and over</td>
* </tr>
* <tr>
- * <td>ID_TV_R</td>
- * <td>Suitable for teens from ages 13 through 17</td>
+ * <td>ISDB_6</td>
+ * <td>Recommended for ages 6 and over</td>
* </tr>
* <tr>
- * <td>ID_TV_R_BO</td>
- * <td>Suitable for teens with parental guidance or permission</td>
+ * <td>ISDB_7</td>
+ * <td>Recommended for ages 7 and over</td>
* </tr>
* <tr>
- * <td>ID_TV_D</td>
- * <td>Suitable for viewers over 18 and older only</td>
+ * <td>ISDB_8</td>
+ * <td>Recommended for ages 8 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="5">IE_TV</td>
- * <td>IE_TV_GA</td>
- * <td>Suitable for all ages</td>
+ * <td>ISDB_9</td>
+ * <td>Recommended for ages 9 and over</td>
* </tr>
* <tr>
- * <td>IE_TV_CH</td>
- * <td>Suitable for children ages 5 to 10, may contain comedic violence or action fantasy
- * violence</td>
+ * <td>ISDB_10</td>
+ * <td>Recommended for ages 10 and over</td>
* </tr>
* <tr>
- * <td>IE_TV_YA</td>
- * <td>Suitable for adolescent audiences, may contain thematic elements that would appeal to
- * teenagers</td>
+ * <td>ISDB_11</td>
+ * <td>Recommended for ages 11 and over</td>
* </tr>
* <tr>
- * <td>IE_TV_PS</td>
- * <td>Suitable for more mature viewers, more mature themes may be present</td>
+ * <td>ISDB_12</td>
+ * <td>Recommended for ages 12 and over</td>
* </tr>
* <tr>
- * <td>IE_TV_MA</td>
- * <td>Most restrictive classification, allowing for heavy subject matter and coarse
- * language</td>
+ * <td>ISDB_13</td>
+ * <td>Recommended for ages 13 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="5">IL_TV</td>
- * <td>IL_TV_G</td>
- * <td>General audience; anyone, regardless of age, can view the program, usually news and
- * children's programming</td>
+ * <td>ISDB_14</td>
+ * <td>Recommended for ages 14 and over</td>
* </tr>
* <tr>
- * <td>IL_TV_12</td>
- * <td>Suitable for teens and children ages 12 and over, no child under 12 are permitted to
- * view the program</td>
+ * <td>ISDB_15</td>
+ * <td>Recommended for ages 15 and over</td>
* </tr>
* <tr>
- * <td>IL_TV_15</td>
- * <td>Suitable for teens ages 15 and over, no child under 15 may view the programme</td>
+ * <td>ISDB_16</td>
+ * <td>Recommended for ages 16 and over</td>
* </tr>
* <tr>
- * <td>IL_TV_18</td>
- * <td>Suitable for adults only, no minors may view the programme</td>
+ * <td>ISDB_17</td>
+ * <td>Recommended for ages 17 and over</td>
* </tr>
* <tr>
- * <td>IL_TV_E</td>
- * <td>Exempt from classification</td>
+ * <td>ISDB_18</td>
+ * <td>Recommended for ages 18 and over</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="4">IN_TV</td>
- * <td>IN_TV_U</td>
- * <td>Unrestricted public exhibition</td>
+ * <td>ISDB_19</td>
+ * <td>Recommended for ages 19 and over</td>
* </tr>
* <tr>
- * <td>IN_TV_U_A</td>
- * <td>Unrestricted public exhibition, but with a caution regarding parental guidance to
- * those under 12 years of age</td>
- * </tr>
- * <tr>
- * <td>IN_TV_A</td>
- * <td>Public exhibition restricted to adults 18 years of age and older only</td>
- * </tr>
- * <tr>
- * <td>IN_TV_S</td>
- * <td>Public exhibition restricted to members of any profession or any class of persons
- * </td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="7">IS_TV</td>
- * <td>IS_TV_L</td>
- * <td>Programs suitable for all ages</td>
- * </tr>
- * <tr>
- * <td>IS_TV_7</td>
- * <td>Programs suitable for ages 7 and older</td>
- * </tr>
- * <tr>
- * <td>IS_TV_10</td>
- * <td>Programs suitable for ages 10 and older</td>
- * </tr>
- * <tr>
- * <td>IS_TV_12</td>
- * <td>Programs suitable for ages 12 and older</td>
- * </tr>
- * <tr>
- * <td>IS_TV_14</td>
- * <td>Programs suitable for ages 14 and older</td>
- * </tr>
- * <tr>
- * <td>IS_TV_16</td>
- * <td>Programs suitable for ages 16 and older</td>
- * </tr>
- * <tr>
- * <td>IS_TV_18</td>
- * <td>Programs suitable for ages 18 and older</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="4">JP_TV</td>
- * <td>JP_TV_G</td>
- * <td>General, suitable for all ages</td>
- * </tr>
- * <tr>
- * <td>JP_TV_PG12</td>
- * <td>Parental guidance requested for young people under 12 years</td>
- * </tr>
- * <tr>
- * <td>JP_TV_R15</td>
- * <td>For persons aged 15 and above only</td>
- * </tr>
- * <tr>
- * <td>JP_TV_R18</td>
- * <td>For persons aged 18 and above only</td>
+ * <td>ISDB_20</td>
+ * <td>Recommended for ages 20 and over</td>
* </tr>
* <tr>
* <td valign="top" rowspan="5">KR_TV</td>
@@ -957,314 +578,6 @@
* <td>For adults only</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="9">MV_TV</td>
- * <td>MV_TV_Y</td>
- * <td>Young children</td>
- * </tr>
- * <tr>
- * <td>MV_TV_G</td>
- * <td>General viewing for all ages</td>
- * </tr>
- * <tr>
- * <td>MV_TV_PG</td>
- * <td>Parental guidance is required unaccompanied children</td>
- * </tr>
- * <tr>
- * <td>MV_TV_PG_12</td>
- * <td>Parental guidance is required for children under the age of 12</td>
- * </tr>
- * <tr>
- * <td>MV_TV_12</td>
- * <td>Teens and children aged 12 and older may watch, otherwise restricted</td>
- * </tr>
- * <tr>
- * <td>MV_TV_15</td>
- * <td>Restricted to viewers aged 15 and above</td>
- * </tr>
- * <tr>
- * <td>MV_TV_18</td>
- * <td>Restricted to viewers aged 18 and above</td>
- * </tr>
- * <tr>
- * <td>MV_TV_21</td>
- * <td>Restricted to viewers aged 21 and above</td>
- * </tr>
- * <tr>
- * <td>MV_TV_X</td>
- * <td>Most restrictive classification, only adults ages 25 and above may view</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="6">MX_TV</td>
- * <td>MX_TV_A</td>
- * <td>Appropriate for all ages, parental guidance is recommended for children under 7 years
- * </td>
- * </tr>
- * <tr>
- * <td>MX_TV_B</td>
- * <td>Designed for ages 12 and older, may contain some sexual situations, mild violence,
- * and mild language</td>
- * </tr>
- * <tr>
- * <td>MX_TV_B_15</td>
- * <td>Designed for ages 15 and up, slightly more intensive than the 'A' and 'B' ratings
- * </td>
- * </tr>
- * <tr>
- * <td>MX_TV_C</td>
- * <td>Designed to be viewed by adults aged 18 or older only, generally more intensive
- * content</td>
- * </tr>
- * <tr>
- * <td>MX_TV_D</td>
- * <td>Designed to be viewed only by mature adults (at least 21 years of age and over),
- * contains extreme content matter</td>
- * </tr>
- * <tr>
- * <td>MX_TV_RC</td>
- * <td>Banned from public television in Mexico</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="3">MY_TV</td>
- * <td>MY_TV_U</td>
- * <td>General viewing for all ages, can be broadcast anytime</td>
- * </tr>
- * <tr>
- * <td>MY_TV_P13</td>
- * <td>For viewers ages 13 and above, children under 13 needs parental guidance, can be
- * broadcast anytime, but some elements may only be broadcast at night</td>
- * </tr>
- * <tr>
- * <td>MY_TV_18</td>
- * <td>For viewers ages 18 and above only</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="5">NL_TV</td>
- * <td>NL_TV_AL</td>
- * <td>All Ages</td>
- * </tr>
- * <tr>
- * <td>NL_TV_6</td>
- * <td>Parental advisory for children under 6</td>
- * </tr>
- * <tr>
- * <td>NL_TV_9</td>
- * <td>Parental advisory for children under 9</td>
- * </tr>
- * <tr>
- * <td>NL_TV_12</td>
- * <td>Parental advisory for children under 12</td>
- * </tr>
- * <tr>
- * <td>NL_TV_16</td>
- * <td>Parental advisory for children under 16</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="3">NZ_FTV</td>
- * <td>NZ_FTV_G</td>
- * <td>These exclude material likely to harm children under 14 and can screen at any time.
- * Programmes may not necessarily be designed for younger viewers, but must not contain
- * material likely to cause them undue distress or discomfort</td>
- * </tr>
- * <tr>
- * <td>NZ_FTV_PGR</td>
- * <td>Programmes more suited to more mature viewers. These are not necessarily unsuitable
- * for children, but viewer discretion is advised, and parents and guardians are encouraged
- * to supervise younger viewers</td>
- * </tr>
- * <tr>
- * <td>NZ_FTV_AO</td>
- * <td>Contain material of an adult nature handled in such a way that it is unsuitable for
- * children</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="5">NZ_PTV</td>
- * <td>NZ_PTV_G</td>
- * <td>suitable for general audiences</td>
- * </tr>
- * <tr>
- * <td>NZ_PTV_PG</td>
- * <td>Parental guidance recommended for under 10</td>
- * </tr>
- * <tr>
- * <td>NZ_PTV_M</td>
- * <td>Suitable for mature audiences 13 and up</td>
- * </tr>
- * <tr>
- * <td>NZ_PTV_16</td>
- * <td>Suitable for viewers 16 and up</td>
- * </tr>
- * <tr>
- * <td>NZ_PTV_18</td>
- * <td>Suitable for viewers 18 and up</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="3">PE_TV</td>
- * <td>PE_TV_A</td>
- * <td>Suitable for all audiences</td>
- * </tr>
- * <tr>
- * <td>PE_TV_14</td>
- * <td>Suitable for people aged 14 and above only</td>
- * </tr>
- * <tr>
- * <td>PE_TV_18</td>
- * <td>Suitable for people aged 18 and above only</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="4">PE_ATV</td>
- * <td>PE_ATV_GP</td>
- * <td>General audience</td>
- * </tr>
- * <tr>
- * <td>PE_ATV_PG</td>
- * <td>Parental guidance required for under 6</td>
- * </tr>
- * <tr>
- * <td>PE_ATV_14</td>
- * <td>Suitable for people aged 14 and above only</td>
- * </tr>
- * <tr>
- * <td>PE_ATV_18</td>
- * <td>Suitable for people aged 18 and above only</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="3">PH_TV</td>
- * <td>PH_TV_G</td>
- * <td>Suitable for all public viewers</td>
- * </tr>
- * <tr>
- * <td>PH_TV_PG</td>
- * <td>Programmes rated PG may contain scenes or other content that are unsuitable for
- * children without the guidance of a parent</td>
- * </tr>
- * <tr>
- * <td>PH_TV_SPG</td>
- * <td>Contains mature themes or moderate to intense violence, which may be deemed unfit for
- * children to watch without strict parental supervision</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="5">PL_TV</td>
- * <td>PL_TV_G</td>
- * <td>Positive or neutral view of the world, little to no violence, non-sexual love, and no
- * sexual content</td>
- * </tr>
- * <tr>
- * <td>PL_TV_7</td>
- * <td>Age 7 and above. May additionally contain some mild language, bloodless violence, and
- * a more negative view of the world</td>
- * </tr>
- * <tr>
- * <td>PL_TV_12</td>
- * <td>Age 12 and above. May contain some foul language, some violence, and some sexual
- * content</td>
- * </tr>
- * <tr>
- * <td>PL_TV_16</td>
- * <td>Age 16 and above. Deviant social behaviour, world filled with violence and sexuality,
- * simplified picture of adulthood, display of physical force, especially in controversial
- * social context, immoral behaviour without ethic dilemma, putting the blame on the victim,
- * excessive concentration on material possessions</td>
- * </tr>
- * <tr>
- * <td>PL_TV_18</td>
- * <td>Age 18 and above. One-sided display of the joys of adult life without showing
- * responsibilities, social justification of violent behaviour, excessive vulgarity, use of
- * racial slurs and social stereotypes, explicit sexual content, praise of aggression or
- * vulgarity</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="4">PT_TV</td>
- * <td>PT_TV_T</td>
- * <td>Suitable for all</td>
- * </tr>
- * <tr>
- * <td>PT_TV_10</td>
- * <td>May not be suitable for children under 10, parental guidance advised</td>
- * </tr>
- * <tr>
- * <td>PT_TV_12</td>
- * <td>May not be suitable for children under 12, parental guidance advised</td>
- * </tr>
- * <tr>
- * <td>PT_TV_16</td>
- * <td>Not suitable for children under 16</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="6">RO_TV</td>
- * <td>RO_TV_Y</td>
- * <td>Young Ages</td>
- * </tr>
- * <tr>
- * <td>RO_TV_G</td>
- * <td>General Exhibition</td>
- * </tr>
- * <tr>
- * <td>RO_TV_AP</td>
- * <td>Parental guidance is recommended for children below the age of 12</td>
- * </tr>
- * <tr>
- * <td>RO_TV_12</td>
- * <td>Forbidden for children under 12 years of age</td>
- * </tr>
- * <tr>
- * <td>RO_TV_15</td>
- * <td>Forbidden for children under 15 years of age</td>
- * </tr>
- * <tr>
- * <td>RO_TV_18</td>
- * <td>Forbidden for children under 18 years of age</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="5">RU_TV</td>
- * <td>RU_TV_0</td>
- * <td>Can be watched by Any Age</td>
- * </tr>
- * <tr>
- * <td>RU_TV_6</td>
- * <td>Only kids the age of 6 or older can watch</td>
- * </tr>
- * <tr>
- * <td>RU_TV_12</td>
- * <td>Only kids the age of 12 or older can watch</td>
- * </tr>
- * <tr>
- * <td>RU_TV_16</td>
- * <td>Only teens the age of 16 or older can watch</td>
- * </tr>
- * <tr>
- * <td>RU_TV_18</td>
- * <td>Restricted to children ONLY people 18 or older</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="7">RS_TV</td>
- * <td>RS_TV_G</td>
- * <td>Program suitable for all ages</td>
- * </tr>
- * <tr>
- * <td>RS_TV_12</td>
- * <td>Program not suitable for children under the age of 12</td>
- * </tr>
- * <tr>
- * <td>RS_TV_14</td>
- * <td>Program not suitable for children/teens under the age of 14</td>
- * </tr>
- * <tr>
- * <td>RS_TV_15</td>
- * <td>Program not suitable for children/teens under the age of 15</td>
- * </tr>
- * <tr>
- * <td>RS_TV_16</td>
- * <td>Program not suitable for children/teens under the age of 16</td>
- * </tr>
- * <tr>
- * <td>RS_TV_17</td>
- * <td>Program not suitable for children/teens under the age of 17</td>
- * </tr>
- * <tr>
- * <td>RS_TV_18</td>
- * <td>Program not suitable for minors under the age of 18</td>
- * </tr>
- * <tr>
* <td valign="top" rowspan="6">SG_TV</td>
* <td>SG_TV_G</td>
* <td>Suitable for all ages</td>
@@ -1291,101 +604,6 @@
* <td>Suitable for adults aged 21 and above</td>
* </tr>
* <tr>
- * <td valign="top" rowspan="4">SI_TV</td>
- * <td>SI_TV_VS</td>
- * <td>Parental guidance suggested (for children under 6)</td>
- * </tr>
- * <tr>
- * <td>SI_TV_12</td>
- * <td>Content suitable for teens over 12 years</td>
- * </tr>
- * <tr>
- * <td>SI_TV_15</td>
- * <td>Content suitable for teens over 15 years</td>
- * </tr>
- * <tr>
- * <td>SI_TV_AD</td>
- * <td>Content exclusively for adults</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="6">TH_TV</td>
- * <td>TH_TV_P</td>
- * <td>Content suitable for primary school aged children</td>
- * </tr>
- * <tr>
- * <td>TH_TV_C</td>
- * <td>Content suitable for children between 6-12 years old</td>
- * </tr>
- * <tr>
- * <td>TH_TV_G</td>
- * <td>Content suitable for general audiences</td>
- * </tr>
- * <tr>
- * <td>TH_TV_PG13</td>
- * <td>Content suitable for people aged 13 and above, but can be watched by those who are
- * under the recommended age if parental guidance is provided</td>
- * </tr>
- * <tr>
- * <td>TH_TV_PG18</td>
- * <td>Content suitable for people aged above 18 years old; those who are younger that 18
- * must be provided with parental guidance</td>
- * </tr>
- * <tr>
- * <td>TH_TV_A</td>
- * <td>Content unsuitable for children and youngsters</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="4">TR_TV</td>
- * <td>TR_TV_G</td>
- * <td>General audience. Suitable for all ages</td>
- * </tr>
- * <tr>
- * <td>TR_TV_7</td>
- * <td>Suitable for ages 7 and over</td>
- * </tr>
- * <tr>
- * <td>TR_TV_13</td>
- * <td>Suitable for ages 13 and over</td>
- * </tr>
- * <tr>
- * <td>TR_TV_18</td>
- * <td>Suitable for ages 13 and over</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="4">TW_TV</td>
- * <td>TW_TV_G</td>
- * <td>For all ages</td>
- * </tr>
- * <tr>
- * <td>TW_TV_P</td>
- * <td>Not suitable for children under 6 years old. People aged 6 but under 12 require
- * guidance from accompanying adults to watch</td>
- * </tr>
- * <tr>
- * <td>TW_TV_PG</td>
- * <td>Not suitable for people under 12 years of age. Parental guidance is required for
- * people aged 12 but under 18</td>
- * </tr>
- * <tr>
- * <td>TW_TV_R</td>
- * <td>For adults only and people under 18 years of age must not watch</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="3">UA_TV</td>
- * <td>UA_TV_G</td>
- * <td>This program does not have age restrictions</td>
- * </tr>
- * <tr>
- * <td>UA_TV_Y</td>
- * <td>Children must view this program with parents. In it program there are fragments,
- * which unsuitable for children</td>
- * </tr>
- * <tr>
- * <td>UA_TV_R</td>
- * <td>This program is only for adult viewers. In it there are scenes with nudity, drug use,
- * or violence</td>
- * </tr>
- * <tr>
* <td valign="top" rowspan="6">US_TV</td>
* <td>US_TV_Y</td>
* <td>This program is designed to be appropriate for all children</td>
@@ -1413,63 +631,6 @@
* <td>This program is specifically designed to be viewed by adults and therefore may be
* unsuitable for children under 17</td>
* </tr>
- * <tr>
- * <td valign="top" rowspan="3">VE_TV</td>
- * <td>VE_TV_TU</td>
- * <td>For all ages</td>
- * </tr>
- * <tr>
- * <td>VE_TV_SU</td>
- * <td>Parental guidance for young viewers</td>
- * </tr>
- * <tr>
- * <td>VE_TV_A</td>
- * <td>Mature viewers</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="6">ZA_TV</td>
- * <td>ZA_TV_F</td>
- * <td>This is a program/film that does not contain any obscenity, and is suitable for
- * family viewing. A logo must be displayed in the corner of the screen for 30 seconds after
- * each commercial break</td>
- * </tr>
- * <tr>
- * <td>ZA_TV_PG</td>
- * <td>Children under 6 may watch this program/film, but must be accompanied by an adult.
- * This program contains an adult related theme, which might include very mild language,
- * violence and sexual innuendo. A logo must be displayed in the corner of the screen for
- * one minute after each commercial break</td>
- * </tr>
- * <tr>
- * <td>ZA_TV_13</td>
- * <td>Children under 13 are prohibited from watching this program/film. This program
- * contains mild language, violence and sexual innuendo. A logo must be displayed in the
- * corner of the screen for two minutes after each commercial break</td>
- * </tr>
- * <tr>
- * <td>ZA_TV_16</td>
- * <td>Children under 16 are prohibited from watching this program/film. It contains
- * moderate violence, language, and some sexual situations. In the case of television, this
- * program may only be broadcast after 9pm-4:30am. A logo must be displayed in the corner of
- * the screen for five minutes after each commercial break. A full-screen warning must be
- * issued before the start of the program. If the program is longer than an hour, a warning
- * must be displayed every half an hour</td>
- * </tr>
- * <tr>
- * <td>ZA_TV_18</td>
- * <td>Children under 18 are prohibited from watching this program/film. It contains extreme
- * violence, language and/or graphic sexual content. In the case of television, this program
- * may only be broadcast from 10pm-4:30am. A logo must be displayed in the corner of the
- * screen for the duration of the program. A full-screen warning must be issued before the
- * start of the program and after each commercial break</td>
- * </tr>
- * <tr>
- * <td>ZA_TV_R18</td>
- * <td>This is reserved for films of an extreme sexual nature (pornography). R18 films may
- * only be distributed in the form of video and DVD in a controlled environment (e.g. Adult
- * Shops). No public viewing of this film may take place. R18 films may not be broadcast on
- * television and in cinemas</td>
- * </tr>
* </table>
*
* <h4>System defined strings for sub-ratings</h4>
@@ -1480,101 +641,43 @@
* <th>Description</th>
* </tr>
* <tr>
- * <td valign="top" rowspan="6">NL_TV</td>
- * <td>NL_TV_V</td>
- * <td>Violence<br/>Applicable to NL_TV_AL, NL_TV_6, NL_TV_9, NL_TV_12, NL_TV_16</td>
+ * <td valign="top" rowspan="3">BR_TV</td>
+ * <td>BR_TV_D</td>
+ * <td>Drugs<br/>Applicable to BR_TV_L, BR_TV_10, BR_TV_12, BR_TV_14, BR_TV_16, and BR_TV_18
+ * </td>
* </tr>
* <tr>
- * <td>NL_TV_F</td>
- * <td>Scary or Disturbing ContentViolence<br/>Applicable to NL_TV_AL, NL_TV_6, NL_TV_9,
- * NL_TV_12, NL_TV_16</td>
+ * <td>BR_TV_S</td>
+ * <td>Sex<br/>Applicable to BR_TV_L, BR_TV_10, BR_TV_12, BR_TV_14, BR_TV_16, and BR_TV_18
+ * </td>
* </tr>
* <tr>
- * <td>NL_TV_S</td>
- * <td>Sexual Content<br/>Applicable to NL_TV_AL, NL_TV_6, NL_TV_9, NL_TV_12, NL_TV_16</td>
- * </tr>
- * <tr>
- * <td>NL_TV_D</td>
- * <td>Discrimination<br/>Applicable to NL_TV_AL, NL_TV_6, NL_TV_9, NL_TV_12, NL_TV_16</td>
- * </tr>
- * <tr>
- * <td>NL_TV_DA</td>
- * <td>Drug and/or Alcohol abuse<br/>Applicable to NL_TV_AL, NL_TV_6, NL_TV_9, NL_TV_12,
- * NL_TV_16</td>
- * </tr>
- * <tr>
- * <td>NL_TV_L</td>
- * <td>Bad Language<br/>Applicable to NL_TV_AL, NL_TV_6, NL_TV_9, NL_TV_12, NL_TV_16</td>
- * </tr>
- * <tr>
- * <td valign="top" rowspan="4">NZ_PTV</td>
- * <td>NZ_PTV_C</td>
- * <td>Content may offend<br/>Applicable to NZ_PTV_PG, NZ_PTV_M, NZ_PTV_16, NZ_PTV_18</td>
- * </tr>
- * <tr>
- * <td>NZ_PTV_V</td>
- * <td>Violence<br/>Applicable to NZ_PTV_PG, NZ_PTV_M, NZ_PTV_16, NZ_PTV_18</td>
- * </tr>
- * <tr>
- * <td>NZ_PTV_L</td>
- * <td>Language<br/>Applicable to NZ_PTV_PG, NZ_PTV_M, NZ_PTV_16, NZ_PTV_18</td>
- * </tr>
- * <tr>
- * <td>NZ_PTV_S</td>
- * <td>Sexual content<br/>Applicable to NZ_PTV_PG, NZ_PTV_M, NZ_PTV_16, NZ_PTV_18</td>
+ * <td>BR_TV_V</td>
+ * <td>Violence<br/>Applicable to BR_TV_L, BR_TV_10, BR_TV_12, BR_TV_14, BR_TV_16, and
+ * BR_TV_18</td>
* </tr>
* <tr>
* <td valign="top" rowspan="5">US_TV</td>
* <td>US_TV_D</td>
- * <td>Suggestive dialogue (Usually means talks about sex)<br/>Applicable to US_TV_PG,
- * US_TV_14, US_TV</td>
+ * <td>Suggestive dialogue (Usually means talks about sex)<br/>Applicable to US_TV_PG, and
+ * US_TV_14</td>
* </tr>
* <tr>
* <td>US_TV_L</td>
- * <td>Coarse language<br/>Applicable to US_TV_PG, US_TV_14</td>
+ * <td>Coarse language<br/>Applicable to US_TV_PG, US_TV_14, and US_TV_MA</td>
* </tr>
* <tr>
* <td>US_TV_S</td>
- * <td>Sexual content<br/>Applicable to US_TV_PG, US_TV_14, US_TV_MA</td>
+ * <td>Sexual content<br/>Applicable to US_TV_PG, US_TV_14, and US_TV_MA</td>
* </tr>
* <tr>
* <td>US_TV_V</td>
- * <td>Violence<br/>Applicable to US_TV_PG, US_TV_14, US_TV_MA</td>
+ * <td>Violence<br/>Applicable to US_TV_PG, US_TV_14, and US_TV_MA</td>
* </tr>
* <tr>
* <td>US_TV_FV</td>
* <td>Fantasy violence (Children's programming only)<br/>Applicable to US_TV_Y7</td>
* </tr>
- * <tr>
- * <td valign="top" rowspan="6">ZA_TV</td>
- * <td>ZA_TV_D</td>
- * <td>Drug<br/>Applicable to ZA_TV_F, ZA_TV_PG, ZA_TV_13, ZA_TV_16, ZA_TV_18, ZA_TV_R18
- * </td>
- * </tr>
- * <tr>
- * <td>ZA_TV_V</td>
- * <td>Violence<br/>Applicable to ZA_TV_F, ZA_TV_PG, ZA_TV_13, ZA_TV_16, ZA_TV_18, ZA_TV_R18
- * </td>
- * </tr>
- * <tr>
- * <td>ZA_TV_N</td>
- * <td>Nudity<br/>Applicable to ZA_TV_F, ZA_TV_PG, ZA_TV_13, ZA_TV_16, ZA_TV_18, ZA_TV_R18
- * </td>
- * </tr>
- * <tr>
- * <td>ZA_TV_P</td>
- * <td>Prejudice<br/>Applicable to ZA_TV_F, ZA_TV_PG, ZA_TV_13, ZA_TV_16, ZA_TV_18,
- * ZA_TV_R18</td>
- * </tr>
- * <tr>
- * <td>ZA_TV_S</td>
- * <td>Sex<br/>Applicable to ZA_TV_F, ZA_TV_PG, ZA_TV_13, ZA_TV_16, ZA_TV_18, ZA_TV_R18</td>
- * </tr>
- * <tr>
- * <td>ZA_TV_L</td>
- * <td>Language<br/>Applicable to ZA_TV_F, ZA_TV_PG, ZA_TV_13, ZA_TV_16, ZA_TV_18, ZA_TV_R18
- * </td>
- * </tr>
* </table>
*/
public final class TvContentRating {
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index f4eb459..aaff9a2 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -294,7 +294,7 @@
uint8_t* jpegBuffer = buffer->data;
if (usingRGBAOverride) {
- width *= 4;
+ width = (buffer->width + buffer->stride * (buffer->height - 1)) * 4;
}
// First check for JPEG transport header at the end of the buffer
diff --git a/packages/CaptivePortalLogin/AndroidManifest.xml b/packages/CaptivePortalLogin/AndroidManifest.xml
index c5fb167..2ec15be 100644
--- a/packages/CaptivePortalLogin/AndroidManifest.xml
+++ b/packages/CaptivePortalLogin/AndroidManifest.xml
@@ -20,6 +20,7 @@
package="com.android.captiveportallogin" >
<uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application android:label="@string/app_name" >
<activity
diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
index ae52a1e..b3a6e88 100644
--- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
+++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
@@ -20,7 +20,10 @@
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
import android.os.Bundle;
import android.provider.Settings;
import android.provider.Settings.Global;
@@ -55,6 +58,7 @@
private URL mURL;
private int mNetId;
+ private NetworkCallback mNetworkCallback;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -73,7 +77,27 @@
getActionBar().setDisplayShowHomeEnabled(false);
mNetId = Integer.parseInt(getIntent().getStringExtra(Intent.EXTRA_TEXT));
- ConnectivityManager.setProcessDefaultNetwork(new Network(mNetId));
+ final Network network = new Network(mNetId);
+ ConnectivityManager.setProcessDefaultNetwork(network);
+
+ // Exit app if Network disappears.
+ final NetworkCapabilities networkCapabilities =
+ ConnectivityManager.from(this).getNetworkCapabilities(network);
+ if (networkCapabilities == null) {
+ finish();
+ return;
+ }
+ mNetworkCallback = new NetworkCallback() {
+ @Override
+ public void onLost(Network lostNetwork) {
+ if (network.equals(lostNetwork)) done(false);
+ }
+ };
+ final NetworkRequest.Builder builder = new NetworkRequest.Builder();
+ for (int transportType : networkCapabilities.getTransportTypes()) {
+ builder.addTransportType(transportType);
+ }
+ ConnectivityManager.from(this).registerNetworkCallback(builder.build(), mNetworkCallback);
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
@@ -84,6 +108,7 @@
}
private void done(boolean use_network) {
+ ConnectivityManager.from(this).unregisterNetworkCallback(mNetworkCallback);
Intent intent = new Intent(ACTION_CAPTIVE_PORTAL_LOGGED_IN);
intent.putExtra(Intent.EXTRA_TEXT, String.valueOf(mNetId));
intent.putExtra(LOGGED_IN_RESULT, use_network ? "1" : "0");
diff --git a/packages/Keyguard/src/com/android/keyguard/CarrierText.java b/packages/Keyguard/src/com/android/keyguard/CarrierText.java
index 05f2962..ad07a7a 100644
--- a/packages/Keyguard/src/com/android/keyguard/CarrierText.java
+++ b/packages/Keyguard/src/com/android/keyguard/CarrierText.java
@@ -233,7 +233,11 @@
final boolean plmnValid = !TextUtils.isEmpty(plmn);
final boolean spnValid = !TextUtils.isEmpty(spn);
if (plmnValid && spnValid) {
- return new StringBuilder().append(plmn).append(mSeparator).append(spn).toString();
+ if (plmn.equals(spn)) {
+ return plmn;
+ } else {
+ return new StringBuilder().append(plmn).append(mSeparator).append(spn).toString();
+ }
} else if (plmnValid) {
return plmn;
} else if (spnValid) {
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index fb0faac..bbc7ccd0e 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nee dankie"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Stel op"</string>
<string name="muted_by" msgid="6147073845094180001">"Gedemp deur <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index d81186e..52ea8f5 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -70,7 +70,7 @@
<string name="screenshot_saving_title" msgid="8242282144535555697">"ቅጽበታዊ ገጽ እይታ በማስቀመጥ ላይ..."</string>
<string name="screenshot_saving_text" msgid="2419718443411738818">"ቅጽበታዊ ገጽ እይታ እየተቀመጠ ነው::"</string>
<string name="screenshot_saved_title" msgid="6461865960961414961">"ቅጽበታዊ ገጽ እይታ ተቀርጿል"</string>
- <string name="screenshot_saved_text" msgid="1152839647677558815">"የአንተን ቅጽበታዊ ገጽ እይታ ለማየት ንካ"</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"የእርስዎን ቅጽበታዊ ገጽ እይታ ለማየት ይንኩ"</string>
<string name="screenshot_failed_title" msgid="705781116746922771">"ቅጽበታዊ ገጽ እይታ መቅረጽ አልተቻለም::"</string>
<string name="screenshot_failed_text" msgid="1260203058661337274">"በተገደበ የማከማቻ ቦታ ምክንያት ወይም በመተግበሪያው ወይም በድርጅትዎ ስለማይፈቀድ የማያ ገጽ ቅጽበታዊ እይታዎችን ማንሳት አይቻልም።"</string>
<string name="usb_preference_title" msgid="6551050377388882787">"የUSB ፋይል ሰደዳ አማራጮች"</string>
@@ -233,7 +233,7 @@
<string name="quick_settings_brightness_label" msgid="6968372297018755815">"ብሩህነት"</string>
<string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"በራስ ሰር አሽከርክር"</string>
<string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"አዙሪት ተቆልፏል"</string>
- <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"ምስል ገላጭ"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"በቁመት"</string>
<string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"በወርድ"</string>
<string name="quick_settings_ime_label" msgid="7073463064369468429">"የግቤት ስልት"</string>
<string name="quick_settings_location_label" msgid="5011327048748762257">"አካባቢ"</string>
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"አይ፣ አመሰግናለሁ"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"አዋቅር"</string>
<string name="muted_by" msgid="6147073845094180001">"ድምጽ በ<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ተዘግቷል"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>። <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index f3ca5c2..ea5be80 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"لا، شكرًا"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"إعداد"</string>
<string name="muted_by" msgid="6147073845094180001">"تم كتم الصوت بواسطة <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index bbf7a15..88b5f7e 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Няма нужда"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Настройване"</string>
<string name="muted_by" msgid="6147073845094180001">"Заглушено от <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml
index ddc959d..482ac90 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"না থাক"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"সেট আপ"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> দ্বারা নিঃশব্দ করা হয়েছে"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index a63cd71..99e7f19 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"No"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configura"</string>
<string name="muted_by" msgid="6147073845094180001">"Silenciat per <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 7695154..3e1a9cc 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, děkuji"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Nastavit"</string>
<string name="muted_by" msgid="6147073845094180001">"Ignorováno stranou <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index f066e69..53b6de4 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nej tak"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Konfigurer"</string>
<string name="muted_by" msgid="6147073845094180001">"Lyden blev afbrudt af <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index c5d7c06..1e8e8b70 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nein danke"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Einrichten"</string>
<string name="muted_by" msgid="6147073845094180001">"Stummgeschaltet durch <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index a0eadb4..86dd4e7 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Όχι"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Ρύθμιση"</string>
<string name="muted_by" msgid="6147073845094180001">"Σίγαση από <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index 2571add..460d2ac 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, thanks"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Setup"</string>
<string name="muted_by" msgid="6147073845094180001">"Muted by <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index 2571add..460d2ac 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, thanks"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Setup"</string>
<string name="muted_by" msgid="6147073845094180001">"Muted by <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index f1ead9a..a34096b 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"No"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configurar"</string>
<string name="muted_by" msgid="6147073845094180001">"Silenciados por <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index ac04ecc..f6fc435 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, gracias"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configurar"</string>
<string name="muted_by" msgid="6147073845094180001">"Silenciado por <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml
index 83775ad..80a75dd 100644
--- a/packages/SystemUI/res/values-et-rEE/strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Tänan, ei"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Seadistus"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> vaigistas"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml
index 20b9e82..ede3139 100644
--- a/packages/SystemUI/res/values-eu-rES/strings.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ez, eskerrik asko"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Konfiguratu"</string>
<string name="muted_by" msgid="6147073845094180001">"Audioa desaktibatu da (<xliff:g id="THIRD_PARTY">%1$s</xliff:g>)"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index ac47544..98ece3c 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"خیر، سپاسگزارم"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"راهاندازی"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> آن را بیصدا کرد"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index b5380ee..9fe1e4c 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Non, merci"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configurer"</string>
<string name="muted_by" msgid="6147073845094180001">"Mis en sourdine par <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 3657395..b697bbe 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Non, merci"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configurer"</string>
<string name="muted_by" msgid="6147073845094180001">"Son coupé par : <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml
index ae4211e..ce02ae9 100644
--- a/packages/SystemUI/res/values-gl-rES/strings.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings.xml
@@ -253,7 +253,7 @@
<string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Non hai rede"</string>
<string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wifi desactivada"</string>
<string name="quick_settings_wifi_detail_empty_text" msgid="2831702993995222755">"Non hai redes gardadas dispoñibles"</string>
- <string name="quick_settings_cast_title" msgid="1893629685050355115">"Pantalla de emisión"</string>
+ <string name="quick_settings_cast_title" msgid="1893629685050355115">"Enviar pantalla"</string>
<string name="quick_settings_casting" msgid="6601710681033353316">"Emitindo"</string>
<string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositivo sen nome"</string>
<string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Listo para emitir"</string>
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Non grazas"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configurar"</string>
<string name="muted_by" msgid="6147073845094180001">"Silenciado por <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 6ca12b6..5cdae2a 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"नहीं धन्यवाद"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"सेट करें"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> द्वारा म्यूट किया गया"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index b7b097a..c963398 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, hvala"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Postavi"</string>
<string name="muted_by" msgid="6147073845094180001">"Zvuk je isklj. treća strana <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 039df8c..6272417 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nem, köszönöm"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Beállítás"</string>
<string name="muted_by" msgid="6147073845094180001">"A(z) <xliff:g id="THIRD_PARTY">%1$s</xliff:g> elnémította"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 9a5521c..d863d5e 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Tidak"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Siapkan"</string>
<string name="muted_by" msgid="6147073845094180001">"Dinonaktifkan oleh <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml
index 258435a..e93a341 100644
--- a/packages/SystemUI/res/values-is-rIS/strings.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nei, takk"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Setja upp"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> tók hljóðið af"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 0acb102..2519317 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"No, grazie"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configura"</string>
<string name="muted_by" msgid="6147073845094180001">"Audio disattivato da <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 4accd22..8c710e5 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"לא, תודה"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"הגדר"</string>
<string name="muted_by" msgid="6147073845094180001">"הושתק על ידי <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 17c7866..d313668 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"キャンセル"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"設定"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>によりミュートになっています"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>。<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml
index 07c0e6b..79baeb7 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Жоқ, рақмет"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Реттеу"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> үнін өшірген"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml
index 461137b..31fb4637 100644
--- a/packages/SystemUI/res/values-km-rKH/strings.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"ទេ អរគុណ!"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"រៀបចំ"</string>
<string name="muted_by" msgid="6147073845094180001">"បានបិទសំឡេងដោយ <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml
index 1ae6cb9..c867aba 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"ಬೇಡ ಧನ್ಯವಾದಗಳು"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"ಹೊಂದಿಸು"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ಅವರಿಂದ ಮ್ಯೂಟ್ ಮಾಡಲಾಗಿದೆ"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index cb92867..8bb6b53a 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"사용 안함"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"설정"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>에서 알림음 음소거"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml
index bea18fe..e729d95 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings.xml
@@ -382,6 +382,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Жок, рахмат"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Орнотуу"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> тарабынан үнсүздөлдү"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index fc07127..7439b97 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, ačiū"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Nustatyti"</string>
<string name="muted_by" msgid="6147073845094180001">"Nutildė <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 2795e67..e1ee182 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nē"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Iestatīt"</string>
<string name="muted_by" msgid="6147073845094180001">"Skaņu izslēdza <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml
index 35c06cd..cde9d24 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Не, фала"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Постави"</string>
<string name="muted_by" msgid="6147073845094180001">"Звукот го исклучи <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml
index c74e071..a42bd51 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"വേണ്ട, നന്ദി"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"സജ്ജീകരിക്കുക"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>, മ്യൂട്ടുചെയ്തു"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml
index e160d60..f5e2115 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"नाही धन्यवाद"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"सेट अप"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> द्वारे नि:शब्द केले"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index b523450..47af85f 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -354,6 +354,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"မလိုအပ်ပါ"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"သတ်မှတ်ရန်"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> အသံပိတ်သည်"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>။ <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index a9d2bd6..6a02ff0 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nei takk"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Konfigurer"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> har kuttet lyden"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 2fa3b30..966f2f6 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nee, bedankt"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configureren"</string>
<string name="muted_by" msgid="6147073845094180001">"Gedempt door <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 89143690..fa15c8b 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nie, dziękuję"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Skonfiguruj"</string>
<string name="muted_by" msgid="6147073845094180001">"Ściszone przez: <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index d315ffa..9202ef4 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Não, obrigado"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Configurar"</string>
<string name="muted_by" msgid="6147073845094180001">"Som desativado por <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index db73032..6072ec0 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Закрыть"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Настроить"</string>
<string name="muted_by" msgid="6147073845094180001">"Звук отключен приложением \"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>\""</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>."</string>
</resources>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 9fa532a..3d3eefd 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nie, vďaka"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Nastaviť"</string>
<string name="muted_by" msgid="6147073845094180001">"Stlmené aplikáciou <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 24e2a5a0..5f6bd1c 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ne, hvala"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Nastavitev"</string>
<string name="muted_by" msgid="6147073845094180001">"Izklop zvoka: <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 1515434..5f297c3 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Не, хвала"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Подеси"</string>
<string name="muted_by" msgid="6147073845094180001">"Звук је искључио/ла <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 0bf864d..5f445be 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Nej tack"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Konfig."</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> har stängt av ljudet"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index f43d30f..91dcaab 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -354,6 +354,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Hapana, asante"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Sanidi"</string>
<string name="muted_by" msgid="6147073845094180001">"Sauti imezimwa na <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml
index f19ee7f..f769e63 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"வேண்டாம்"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"அமை"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ஒலியடக்கினார்"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml
index 418ff72..e6d4fad 100644
--- a/packages/SystemUI/res/values-te-rIN/strings.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"వద్దు, ధన్యవాదాలు"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"సెటప్ చేయి"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ద్వారా మ్యూట్ చేయబడింది"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 04a9b07..8a805b5 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"ไม่เป็นไร"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"ตั้งค่า"</string>
<string name="muted_by" msgid="6147073845094180001">"ปิดเสียงโดย <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g> <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 50f6558..4896786 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Hindi"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"I-set up"</string>
<string name="muted_by" msgid="6147073845094180001">"Na-mute ng <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 917fe1f..4da5564 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Hayır, teşekkürler"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Kur"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> tarafından kapatıldı"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index c1378aa..8887c7f 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ні, дякую"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Налаштув."</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> вимикає звук"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml
index bc78d49..8972ce5 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"نہیں شکریہ"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"ترتیب دیں"</string>
<string name="muted_by" msgid="6147073845094180001">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> کے ذریعے خاموش کردہ"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>۔ <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index 7edcc2a..10781ea 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Yo‘q, kerak emas"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Sozlash"</string>
<string name="muted_by" msgid="6147073845094180001">"“<xliff:g id="THIRD_PARTY">%1$s</xliff:g>” tomonidan ovozsiz qilingan"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index ae584fc..a4dccba 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Ko, cảm ơn"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Thiết lập"</string>
<string name="muted_by" msgid="6147073845094180001">"Do <xliff:g id="THIRD_PARTY">%1$s</xliff:g> tắt tiếng"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 6a8e3b6..6cc64f9 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"不用了"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"设置"</string>
<string name="muted_by" msgid="6147073845094180001">"已被<xliff:g id="THIRD_PARTY">%1$s</xliff:g>设为静音"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>(<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>)"</string>
</resources>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 674473b..e18d0a2 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"不用了,謝謝"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"設定"</string>
<string name="muted_by" msgid="6147073845094180001">"靜音設定者:<xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>。<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 5166adf..e890922 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -256,7 +256,7 @@
<string name="quick_settings_cast_title" msgid="1893629685050355115">"投放螢幕"</string>
<string name="quick_settings_casting" msgid="6601710681033353316">"投放"</string>
<string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"未命名的裝置"</string>
- <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"投放準備完成"</string>
+ <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"可以開始投放了"</string>
<string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"沒有可用裝置"</string>
<string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"亮度"</string>
<string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"自動"</string>
@@ -358,6 +358,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"不用了,謝謝"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"設定"</string>
<string name="muted_by" msgid="6147073845094180001">"由 <xliff:g id="THIRD_PARTY">%1$s</xliff:g> 設為靜音"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>。<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 89b263b..735bf9c 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -356,6 +356,5 @@
<string name="hidden_notifications_cancel" msgid="3690709735122344913">"Cha ngiyabonga"</string>
<string name="hidden_notifications_setup" msgid="41079514801976810">"Lungisa"</string>
<string name="muted_by" msgid="6147073845094180001">"Ithuliswe ngu-<xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string>
- <!-- no translation found for zen_mode_and_condition (4462471036429759903) -->
- <skip />
+ <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
index 34bbc2e..954046c 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
@@ -95,10 +95,11 @@
log("dozing " + dozing);
}
- public static void traceFling(boolean expand, boolean aboveThreshold, boolean thresholdNeeded) {
+ public static void traceFling(boolean expand, boolean aboveThreshold, boolean thresholdNeeded,
+ boolean screenOnFromTouch) {
if (!ENABLED) return;
log("fling expand=" + expand + " aboveThreshold=" + aboveThreshold + " thresholdNeeded="
- + thresholdNeeded);
+ + thresholdNeeded + " screenOnFromTouch=" + screenOnFromTouch);
}
public static void traceEmergencyCall() {
diff --git a/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java b/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java
index 5caf1ac..8416ad7 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java
@@ -112,15 +112,11 @@
mTaskStackBounds = new Rect();
}
- public void onStart() {}
-
- public void onBootCompleted() {
+ public void onStart() {
// Initialize some static datastructures
TaskStackViewLayoutAlgorithm.initializeCurve();
// Load the header bar layout
reloadHeaderBarLayout();
- mBootCompleted = true;
-
// Try and pre-emptively bind the search widget on startup to ensure that we
// have the right thumbnail bounds to animate to.
if (Constants.DebugFlags.App.EnableSearchLayout) {
@@ -138,6 +134,10 @@
}
}
+ public void onBootCompleted() {
+ mBootCompleted = true;
+ }
+
/** Shows the recents */
public void onShowRecents(boolean triggeredFromAltTab, View statusBarView) {
mStatusBarView = statusBarView;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index b9efb22..26420e1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -1551,7 +1551,8 @@
@Override
protected void onEdgeClicked(boolean right) {
if ((right && getRightIcon().getVisibility() != View.VISIBLE)
- || (!right && getLeftIcon().getVisibility() != View.VISIBLE)) {
+ || (!right && getLeftIcon().getVisibility() != View.VISIBLE)
+ || isDozing()) {
return;
}
mHintAnimationRunning = true;
@@ -1747,6 +1748,7 @@
updateKeyguardStatusBarVisibility();
}
+ @Override
public boolean isDozing() {
return mDozing;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
index cacc2df7..c612e4c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
@@ -337,7 +337,8 @@
boolean expand = flingExpands(vel, vectorVel);
onTrackingStopped(expand);
DozeLog.traceFling(expand, mTouchAboveFalsingThreshold,
- mStatusBar.isFalsingThresholdNeeded());
+ mStatusBar.isFalsingThresholdNeeded(),
+ mStatusBar.isScreenOnComingFromTouch());
fling(vel, expand);
mUpdateFlingOnLayout = expand && mPanelClosedOnDown && !mHasLayoutedSinceDown;
if (mUpdateFlingOnLayout) {
@@ -914,7 +915,9 @@
private boolean onMiddleClicked() {
switch (mStatusBar.getBarState()) {
case StatusBarState.KEYGUARD:
- startUnlockHintAnimation();
+ if (!isDozing()) {
+ startUnlockHintAnimation();
+ }
return true;
case StatusBarState.SHADE_LOCKED:
mStatusBar.goToKeyguard();
@@ -932,6 +935,8 @@
protected abstract void onEdgeClicked(boolean right);
+ protected abstract boolean isDozing();
+
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println(String.format("[PanelView(%s): expandedHeight=%f maxPanelHeight=%d closing=%s"
+ " tracking=%s justPeeked=%s peekAnim=%s%s timeAnim=%s%s touchDisabled=%s"
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index 79d769a..3625997 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -646,19 +646,10 @@
mLastSignalLevel = iconLevel = mSignalStrength.getLevel();
}
- if (isCdma()) {
- if (isCdmaEri()) {
- iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[mInetCondition];
- } else {
- iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[mInetCondition];
- }
+ if (isRoaming()) {
+ iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[mInetCondition];
} else {
- // Though mPhone is a Manager, this call is not an IPC
- if (mPhone.isNetworkRoaming()) {
- iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[mInetCondition];
- } else {
- iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[mInetCondition];
- }
+ iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[mInetCondition];
}
mPhoneSignalIconId = iconList[iconLevel];
mQSPhoneSignalIconId =
@@ -811,14 +802,9 @@
}
}
- if (isCdma()) {
- if (isCdmaEri()) {
- mDataTypeIconId = TelephonyIcons.ROAMING_ICON;
- mQSDataTypeIconId = TelephonyIcons.QS_DATA_R[mInetCondition];
- }
- } else if (mPhone.isNetworkRoaming()) {
- mDataTypeIconId = TelephonyIcons.ROAMING_ICON;
- mQSDataTypeIconId = TelephonyIcons.QS_DATA_R[mInetCondition];
+ if (isRoaming()) {
+ mDataTypeIconId = TelephonyIcons.ROAMING_ICON;
+ mQSDataTypeIconId = TelephonyIcons.QS_DATA_R[mInetCondition];
}
}
@@ -836,6 +822,14 @@
return false;
}
+ private boolean isRoaming() {
+ if (isCdma()) {
+ return isCdmaEri();
+ } else {
+ return mServiceState != null && mServiceState.getRoaming();
+ }
+ }
+
private final void updateDataIcon() {
int iconId;
boolean visible = true;
@@ -1233,12 +1227,7 @@
mDataTypeIconId = 0;
mQSDataTypeIconId = 0;
- if (isCdma()) {
- if (isCdmaEri()) {
- mDataTypeIconId = TelephonyIcons.ROAMING_ICON;
- mQSDataTypeIconId = TelephonyIcons.QS_DATA_R[mInetCondition];
- }
- } else if (mPhone.isNetworkRoaming()) {
+ if (isRoaming()) {
mDataTypeIconId = TelephonyIcons.ROAMING_ICON;
mQSDataTypeIconId = TelephonyIcons.QS_DATA_R[mInetCondition];
}
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
index 42ee666..5f3b877 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
@@ -2929,6 +2929,10 @@
}
}
+ // The action mode's theme may differ from the app, so
+ // always show the status guard above it if we have one.
+ showStatusGuard = mStatusGuard != null;
+
// We only need to consume the insets if the action
// mode is overlaid on the app content (e.g. it's
// sitting in a FrameLayout, see
@@ -2936,11 +2940,7 @@
final boolean nonOverlay = (getLocalFeatures()
& (1 << FEATURE_ACTION_MODE_OVERLAY)) == 0;
insets = insets.consumeSystemWindowInsets(
- false, nonOverlay /* top */, false, false);
-
- // The action mode's theme may differ from the app, so
- // always show the status guard above it.
- showStatusGuard = true;
+ false, nonOverlay && showStatusGuard /* top */, false, false);
} else {
// reset top margin
if (mlp.topMargin != 0) {
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index be3fc47..cc17422 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -67,6 +67,7 @@
import android.util.Pools.SimplePool;
import android.util.Slog;
import android.util.SparseArray;
+import android.view.AccessibilityManagerInternal;
import android.view.Display;
import android.view.IWindow;
import android.view.InputDevice;
@@ -91,6 +92,7 @@
import com.android.internal.R;
import com.android.internal.content.PackageMonitor;
import com.android.internal.statusbar.IStatusBarService;
+import com.android.internal.widget.LockPatternUtils;
import com.android.server.LocalServices;
import org.xmlpull.v1.XmlPullParserException;
@@ -202,6 +204,8 @@
private final UserManager mUserManager;
+ private final LockPatternUtils mLockPatternUtils;
+
private int mCurrentUserId = UserHandle.USER_OWNER;
//TODO: Remove this hack
@@ -225,9 +229,11 @@
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mSecurityPolicy = new SecurityPolicy();
mMainHandler = new MainHandler(mContext.getMainLooper());
+ mLockPatternUtils = new LockPatternUtils(context);
registerBroadcastReceivers();
new AccessibilityContentObserver(mMainHandler).register(
context.getContentResolver());
+ LocalServices.addService(AccessibilityManagerInternal.class, new LocalService());
}
private UserState getUserStateLocked(int userId) {
@@ -1294,6 +1300,7 @@
updateTouchExplorationLocked(userState);
updateEnhancedWebAccessibilityLocked(userState);
updateDisplayColorAdjustmentSettingsLocked(userState);
+ updateEncryptionState(userState);
scheduleUpdateInputFilter(userState);
scheduleUpdateClientsIfNeededLocked(userState);
}
@@ -1570,6 +1577,21 @@
DisplayAdjustmentUtils.applyAdjustments(mContext, userState.mUserId);
}
+ private void updateEncryptionState(UserState userState) {
+ if (userState.mUserId != UserHandle.USER_OWNER) {
+ return;
+ }
+ if (hasRunningServicesLocked(userState) && LockPatternUtils.isDeviceEncrypted()) {
+ // If there are running accessibility services we do not have encryption as
+ // the user needs the accessibility layer to be running to authenticate.
+ mLockPatternUtils.clearEncryptionPassword();
+ }
+ }
+
+ private boolean hasRunningServicesLocked(UserState userState) {
+ return !userState.mBoundServices.isEmpty() || !userState.mBindingServices.isEmpty();
+ }
+
private MagnificationSpec getCompatibleMagnificationSpecLocked(int windowId) {
IBinder windowToken = mGlobalWindowTokens.get(windowId);
if (windowToken == null) {
@@ -1982,7 +2004,15 @@
} else {
userState.mBindingServices.add(mComponentName);
mService = userState.mUiAutomationServiceClient.asBinder();
- onServiceConnected(mComponentName, mService);
+ mMainHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ // Simulate asynchronous connection since in onServiceConnected
+ // we may modify the state data in case of an error but bind is
+ // called while iterating over the data and bad things can happen.
+ onServiceConnected(mComponentName, mService);
+ }
+ });
userState.mUiAutomationService = this;
}
return false;
@@ -3883,4 +3913,14 @@
}
}
}
+
+ private final class LocalService extends AccessibilityManagerInternal {
+ @Override
+ public boolean isNonDefaultEncryptionPasswordAllowed() {
+ synchronized (mLock) {
+ UserState userState = getCurrentUserStateLocked();
+ return !hasRunningServicesLocked(userState);
+ }
+ }
+ }
}
diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java
index 7f24d07..b0535b3 100644
--- a/services/core/java/com/android/server/MountService.java
+++ b/services/core/java/com/android/server/MountService.java
@@ -63,6 +63,7 @@
import android.util.Slog;
import android.util.Xml;
+import android.view.AccessibilityManagerInternal;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.IMediaContainerService;
@@ -557,6 +558,8 @@
private final Handler mHandler;
+ private final AccessibilityManagerInternal mAccessibilityManagerInternal;
+
void waitForAsecScan() {
waitForLatch(mAsecsScanned);
}
@@ -1454,6 +1457,9 @@
hthread.start();
mHandler = new MountServiceHandler(hthread.getLooper());
+ mAccessibilityManagerInternal = LocalServices.getService(
+ AccessibilityManagerInternal.class);
+
// Watch for user changes
final IntentFilter userFilter = new IntentFilter();
userFilter.addAction(Intent.ACTION_USER_ADDED);
@@ -2254,8 +2260,15 @@
final NativeDaemonEvent event;
try {
+ // The accessibility layer may veto having a non-default encryption
+ // password because if there are enabled accessibility services the
+ // user cannot authenticate as the latter need access to the data.
+ if (!TextUtils.isEmpty(password)
+ && !mAccessibilityManagerInternal.isNonDefaultEncryptionPasswordAllowed()) {
+ return getEncryptionState();
+ }
event = mConnector.execute("cryptfs", "changepw", CRYPTO_TYPES[type],
- new SensitiveArg(toHex(password)));
+ new SensitiveArg(toHex(password)));
return Integer.parseInt(event.getMessage());
} catch (NativeDaemonConnectorException e) {
// Encryption failed
@@ -2302,7 +2315,7 @@
* @return The type, one of the CRYPT_TYPE_XXX consts from StorageManager.
*/
@Override
- public int getPasswordType() throws RemoteException {
+ public int getPasswordType() {
waitForReady();
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index 01e80b7..f430c56 100755
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -1468,6 +1468,7 @@
app.services.remove(r);
r.app = null;
scheduleServiceRestartLocked(r, false);
+ return;
}
}
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 12c98c1..e482273 100755
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -27,6 +27,7 @@
import static com.android.internal.util.XmlUtils.writeIntAttribute;
import static com.android.internal.util.XmlUtils.writeLongAttribute;
import static com.android.server.Watchdog.NATIVE_STACKS_OF_INTEREST;
+import static com.android.server.am.ActivityRecord.HOME_ACTIVITY_TYPE;
import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
import static org.xmlpull.v1.XmlPullParser.START_TAG;
import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID;
@@ -1192,7 +1193,7 @@
static final int SYSTEM_USER_START_MSG = 42;
static final int SYSTEM_USER_CURRENT_MSG = 43;
static final int ENTER_ANIMATION_COMPLETE_MSG = 44;
- static final int ENABLE_SCREEN_AFTER_BOOT_MSG = 45;
+ static final int FINISH_BOOTING_MSG = 45;
static final int START_USER_SWITCH_MSG = 46;
static final int SEND_LOCALE_TO_MOUNT_DAEMON_MSG = 47;
@@ -1877,8 +1878,13 @@
}
break;
}
- case ENABLE_SCREEN_AFTER_BOOT_MSG: {
- enableScreenAfterBoot();
+ case FINISH_BOOTING_MSG: {
+ if (msg.arg1 != 0) {
+ finishBooting();
+ }
+ if (msg.arg2 != 0) {
+ enableScreenAfterBoot();
+ }
break;
}
case SEND_LOCALE_TO_MOUNT_DAEMON_MSG: {
@@ -6258,8 +6264,9 @@
Binder.restoreCallingIdentity(origId);
}
- void postEnableScreenAfterBootLocked() {
- mHandler.sendEmptyMessage(ENABLE_SCREEN_AFTER_BOOT_MSG);
+ void postFinishBooting(boolean finishBooting, boolean enableScreen) {
+ mHandler.sendMessage(mHandler.obtainMessage(FINISH_BOOTING_MSG,
+ finishBooting? 1 : 0, enableScreen ? 1 : 0));
}
void enableScreenAfterBoot() {
@@ -9349,6 +9356,7 @@
checkTime(startTime, "getContentProviderImpl: after getProviderByClass");
final boolean firstClass = cpr == null;
if (firstClass) {
+ final long ident = Binder.clearCallingIdentity();
try {
checkTime(startTime, "getContentProviderImpl: before getApplicationInfo");
ApplicationInfo ai =
@@ -9366,6 +9374,8 @@
cpr = new ContentProviderRecord(this, cpi, ai, comp, singleton);
} catch (RemoteException ex) {
// pm is in same process, this will never happen.
+ } finally {
+ Binder.restoreCallingIdentity(ident);
}
}
@@ -11272,6 +11282,7 @@
// Start up initial activity.
mBooting = true;
+ startHomeActivityLocked(mCurrentUserId);
try {
if (AppGlobals.getPackageManager().hasSystemUidErrors()) {
@@ -12505,7 +12516,7 @@
boolean printedAnything = false;
- if (mRecentTasks.size() > 0) {
+ if (mRecentTasks != null && mRecentTasks.size() > 0) {
boolean printedHeader = false;
final int N = mRecentTasks.size();
@@ -12904,10 +12915,12 @@
if (dumpAll) {
pw.println(" Total persistent processes: " + numPers);
pw.println(" mProcessesReady=" + mProcessesReady
- + " mSystemReady=" + mSystemReady);
- pw.println(" mBooting=" + mBooting
+ + " mSystemReady=" + mSystemReady
+ " mBooted=" + mBooted
+ " mFactoryTest=" + mFactoryTest);
+ pw.println(" mBooting=" + mBooting
+ + " mCallFinishBooting=" + mCallFinishBooting
+ + " mBootAnimationComplete=" + mBootAnimationComplete);
pw.print(" mLastPowerCheckRealtime=");
TimeUtils.formatDuration(mLastPowerCheckRealtime, pw);
pw.println("");
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index 0646cce..c7b9d96 100755
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -1482,6 +1482,11 @@
final boolean resumeTopActivityInnerLocked(ActivityRecord prev, Bundle options) {
if (ActivityManagerService.DEBUG_LOCKSCREEN) mService.logLockScreen("");
+ if (!mService.mBooting && !mService.mBooted) {
+ // Not ready yet!
+ return false;
+ }
+
ActivityRecord parent = mActivityContainer.mParentActivity;
if ((parent != null && parent.state != ActivityState.RESUMED) ||
!mActivityContainer.isAttachedLocked()) {
@@ -3606,6 +3611,10 @@
final TaskRecord task = mResumedActivity != null ? mResumedActivity.task : null;
if (task == tr && tr.isOverHomeStack() || numTasks <= 1 && isOnHomeDisplay()) {
+ if (!mService.mBooting && !mService.mBooted) {
+ // Not ready yet!
+ return false;
+ }
final int taskToReturnTo = tr.getTaskToReturnTo();
tr.setTaskToReturnTo(APPLICATION_ACTIVITY_TYPE);
return mStackSupervisor.resumeHomeStackTask(taskToReturnTo, null);
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 83a8d45..e9f0558 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -421,6 +421,11 @@
}
boolean resumeHomeStackTask(int homeStackTaskType, ActivityRecord prev) {
+ if (!mService.mBooting && !mService.mBooted) {
+ // Not ready yet!
+ return false;
+ }
+
if (homeStackTaskType == RECENTS_ACTIVITY_TYPE) {
mWindowManager.showRecentApps();
return false;
@@ -2295,9 +2300,7 @@
activityRemoved |= r.task.stack.destroyActivityLocked(r, true, "finish-idle");
}
- if (booting) {
- mService.finishBooting();
- } else {
+ if (!booting) {
// Complete user switch
if (startingUsers != null) {
for (int i = 0; i < startingUsers.size(); i++) {
@@ -2318,8 +2321,8 @@
//dump();
//mWindowManager.dump();
- if (enableScreen) {
- mService.postEnableScreenAfterBootLocked();
+ if (booting || enableScreen) {
+ mService.postFinishBooting(booting, enableScreen);
}
if (activityRemoved) {
@@ -2584,7 +2587,6 @@
r.mLaunchTaskBehind);
}
}
- resumeHomeStackTask(HOME_ACTIVITY_TYPE, null);
}
void moveTaskToStack(int taskId, int stackId, boolean toTop) {
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index e2a548a..e3a25c0 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -227,6 +227,9 @@
// turning off the screen.
private boolean mPendingScreenOff;
+ // True if we have unfinished business and are holding a suspend blocker.
+ private boolean mUnfinishedBusiness;
+
// The elapsed real time when the screen on was blocked.
private long mScreenOnBlockStartRealTime;
@@ -633,22 +636,42 @@
mAppliedLowPower = true;
}
- // Animate the screen brightness when the screen is on.
- if (state != Display.STATE_OFF) {
- animateScreenBrightness(brightness, slowChange
- ? BRIGHTNESS_RAMP_RATE_SLOW : BRIGHTNESS_RAMP_RATE_FAST);
- }
-
// Animate the screen state change unless already animating.
animateScreenStateChange(state, performScreenOffTransition);
- // Report whether the display is ready for use and all changes have been applied.
- if (mustNotify
- && mPendingScreenOnUnblocker == null
+ // Animate the screen brightness when the screen is on or dozing.
+ // Skip the animation when the screen is off or suspended.
+ final int actualState = mPowerState.getScreenState();
+ if (actualState == Display.STATE_ON || actualState == Display.STATE_DOZE) {
+ animateScreenBrightness(brightness,
+ slowChange ? BRIGHTNESS_RAMP_RATE_SLOW : BRIGHTNESS_RAMP_RATE_FAST);
+ } else {
+ animateScreenBrightness(brightness, 0);
+ }
+
+ // Determine whether the display is ready for use in the newly requested state.
+ // Note that we do not wait for the brightness ramp animation to complete before
+ // reporting the display is ready because we only need to ensure the screen is in the
+ // right power state even as it continues to converge on the desired brightness.
+ final boolean ready = mPendingScreenOnUnblocker == null
&& !mColorFadeOnAnimator.isStarted()
&& !mColorFadeOffAnimator.isStarted()
- && !mScreenBrightnessRampAnimator.isAnimating()
- && mPowerState.waitUntilClean(mCleanListener)) {
+ && mPowerState.waitUntilClean(mCleanListener);
+ final boolean finished = ready
+ && !mScreenBrightnessRampAnimator.isAnimating();
+
+ // Grab a wake lock if we have unfinished business.
+ if (!finished && !mUnfinishedBusiness) {
+ if (DEBUG) {
+ Slog.d(TAG, "Unfinished business...");
+ }
+ mCallbacks.acquireSuspendBlocker();
+ mUnfinishedBusiness = true;
+ }
+
+ // Notify the power manager when ready.
+ if (ready && mustNotify) {
+ // Send state change.
synchronized (mLock) {
if (!mPendingRequestChangedLocked) {
mDisplayReadyLocked = true;
@@ -660,6 +683,15 @@
}
sendOnStateChangedWithWakelock();
}
+
+ // Release the wake lock when we have no unfinished business.
+ if (finished && mUnfinishedBusiness) {
+ if (DEBUG) {
+ Slog.d(TAG, "Finished business...");
+ }
+ mUnfinishedBusiness = false;
+ mCallbacks.releaseSuspendBlocker();
+ }
}
@Override
@@ -723,6 +755,9 @@
}
private void animateScreenBrightness(int target, int rate) {
+ if (DEBUG) {
+ Slog.d(TAG, "Animating brightness: target=" + target +", rate=" + rate);
+ }
if (mScreenBrightnessRampAnimator.animateTo(target, rate)) {
try {
mBatteryStats.noteScreenBrightness(target);
diff --git a/services/core/java/com/android/server/display/DisplayPowerState.java b/services/core/java/com/android/server/display/DisplayPowerState.java
index a7651e4..fc068af 100644
--- a/services/core/java/com/android/server/display/DisplayPowerState.java
+++ b/services/core/java/com/android/server/display/DisplayPowerState.java
@@ -80,6 +80,7 @@
mBacklight = backlight;
mColorFade = electronBeam;
mPhotonicModulator = new PhotonicModulator();
+ mPhotonicModulator.start();
// At boot time, we know that the screen is on and the electron beam
// animation is not playing. We don't know the screen's brightness though,
@@ -336,7 +337,7 @@
/**
* Updates the state of the screen and backlight asynchronously on a separate thread.
*/
- private final class PhotonicModulator {
+ private final class PhotonicModulator extends Thread {
private static final int INITIAL_SCREEN_STATE = Display.STATE_OFF; // unknown, assume off
private static final int INITIAL_BACKLIGHT = -1; // unknown
@@ -361,7 +362,7 @@
if (!mChangeInProgress) {
mChangeInProgress = true;
- AsyncTask.THREAD_POOL_EXECUTOR.execute(mTask);
+ mLock.notifyAll();
}
}
return !mChangeInProgress;
@@ -369,75 +370,78 @@
}
public void dump(PrintWriter pw) {
- pw.println();
- pw.println("Photonic Modulator State:");
- pw.println(" mPendingState=" + Display.stateToString(mPendingState));
- pw.println(" mPendingBacklight=" + mPendingBacklight);
- pw.println(" mActualState=" + Display.stateToString(mActualState));
- pw.println(" mActualBacklight=" + mActualBacklight);
- pw.println(" mChangeInProgress=" + mChangeInProgress);
+ synchronized (mLock) {
+ pw.println();
+ pw.println("Photonic Modulator State:");
+ pw.println(" mPendingState=" + Display.stateToString(mPendingState));
+ pw.println(" mPendingBacklight=" + mPendingBacklight);
+ pw.println(" mActualState=" + Display.stateToString(mActualState));
+ pw.println(" mActualBacklight=" + mActualBacklight);
+ pw.println(" mChangeInProgress=" + mChangeInProgress);
+ }
}
- private final Runnable mTask = new Runnable() {
- @Override
- public void run() {
- // Apply pending changes until done.
- for (;;) {
- final int state;
- final boolean stateChanged;
- final int backlight;
- final boolean backlightChanged;
- synchronized (mLock) {
- state = mPendingState;
- stateChanged = (state != mActualState);
- backlight = mPendingBacklight;
- backlightChanged = (backlight != mActualBacklight);
- if (!stateChanged && !backlightChanged) {
- mChangeInProgress = false;
- break;
- }
- mActualState = state;
- mActualBacklight = backlight;
+ @Override
+ public void run() {
+ for (;;) {
+ // Get pending change.
+ final int state;
+ final boolean stateChanged;
+ final int backlight;
+ final boolean backlightChanged;
+ synchronized (mLock) {
+ state = mPendingState;
+ stateChanged = (state != mActualState);
+ backlight = mPendingBacklight;
+ backlightChanged = (backlight != mActualBacklight);
+ if (!stateChanged && !backlightChanged) {
+ // All changed applied, notify outer class and wait for more.
+ mChangeInProgress = false;
+ postScreenUpdateThreadSafe();
+ try {
+ mLock.wait();
+ } catch (InterruptedException ex) { }
+ continue;
}
-
- if (DEBUG) {
- Slog.d(TAG, "Updating screen state: state="
- + Display.stateToString(state) + ", backlight=" + backlight);
- }
- boolean suspending = Display.isSuspendedState(state);
- if (stateChanged && !suspending) {
- requestDisplayState(state);
- }
- if (backlightChanged) {
- setBrightness(backlight);
- }
- if (stateChanged && suspending) {
- requestDisplayState(state);
- }
+ mActualState = state;
+ mActualBacklight = backlight;
}
- // Let the outer class know that all changes have been applied.
- postScreenUpdateThreadSafe();
- }
-
- private void requestDisplayState(int state) {
- Trace.traceBegin(Trace.TRACE_TAG_POWER, "requestDisplayState("
- + Display.stateToString(state) + ")");
- try {
- mBlanker.requestDisplayState(state);
- } finally {
- Trace.traceEnd(Trace.TRACE_TAG_POWER);
+ // Apply pending change.
+ if (DEBUG) {
+ Slog.d(TAG, "Updating screen state: state="
+ + Display.stateToString(state) + ", backlight=" + backlight);
+ }
+ boolean suspending = Display.isSuspendedState(state);
+ if (stateChanged && !suspending) {
+ requestDisplayState(state);
+ }
+ if (backlightChanged) {
+ setBrightness(backlight);
+ }
+ if (stateChanged && suspending) {
+ requestDisplayState(state);
}
}
+ }
- private void setBrightness(int backlight) {
- Trace.traceBegin(Trace.TRACE_TAG_POWER, "setBrightness(" + backlight + ")");
- try {
- mBacklight.setBrightness(backlight);
- } finally {
- Trace.traceEnd(Trace.TRACE_TAG_POWER);
- }
+ private void requestDisplayState(int state) {
+ Trace.traceBegin(Trace.TRACE_TAG_POWER, "requestDisplayState("
+ + Display.stateToString(state) + ")");
+ try {
+ mBlanker.requestDisplayState(state);
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_POWER);
}
- };
+ }
+
+ private void setBrightness(int backlight) {
+ Trace.traceBegin(Trace.TRACE_TAG_POWER, "setBrightness(" + backlight + ")");
+ try {
+ mBacklight.setBrightness(backlight);
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_POWER);
+ }
+ }
}
}
diff --git a/services/core/java/com/android/server/display/RampAnimator.java b/services/core/java/com/android/server/display/RampAnimator.java
index ad1e857..d71269f 100644
--- a/services/core/java/com/android/server/display/RampAnimator.java
+++ b/services/core/java/com/android/server/display/RampAnimator.java
@@ -50,20 +50,32 @@
/**
* Starts animating towards the specified value.
*
- * If this is the first time the property is being set, the value jumps
- * directly to the target.
+ * If this is the first time the property is being set or if the rate is 0,
+ * the value jumps directly to the target.
*
* @param target The target value.
- * @param rate The convergence rate, in units per second.
+ * @param rate The convergence rate in units per second, or 0 to set the value immediately.
* @return True if the target differs from the previous target.
*/
public boolean animateTo(int target, int rate) {
// Immediately jump to the target the first time.
- if (mFirstTime) {
- mFirstTime = false;
- mProperty.setValue(mObject, target);
- mCurrentValue = target;
- return true;
+ if (mFirstTime || rate <= 0) {
+ if (mFirstTime || target != mCurrentValue) {
+ mFirstTime = false;
+ mRate = 0;
+ mTargetValue = target;
+ mCurrentValue = target;
+ mProperty.setValue(mObject, target);
+ if (mAnimating) {
+ mAnimating = false;
+ cancelAnimationCallback();
+ }
+ if (mListener != null) {
+ mListener.onAnimationEnd();
+ }
+ return true;
+ }
+ return false;
}
// Adjust the rate based on the closest target.
@@ -88,7 +100,7 @@
mAnimating = true;
mAnimatedValue = mCurrentValue;
mLastFrameTimeNanos = System.nanoTime();
- postCallback();
+ postAnimationCallback();
}
return changed;
@@ -108,11 +120,15 @@
mListener = listener;
}
- private void postCallback() {
- mChoreographer.postCallback(Choreographer.CALLBACK_ANIMATION, mCallback, null);
+ private void postAnimationCallback() {
+ mChoreographer.postCallback(Choreographer.CALLBACK_ANIMATION, mAnimationCallback, null);
}
- private final Runnable mCallback = new Runnable() {
+ private void cancelAnimationCallback() {
+ mChoreographer.removeCallbacks(Choreographer.CALLBACK_ANIMATION, mAnimationCallback, null);
+ }
+
+ private final Runnable mAnimationCallback = new Runnable() {
@Override // Choreographer callback
public void run() {
final long frameTimeNanos = mChoreographer.getFrameTimeNanos();
@@ -144,7 +160,7 @@
}
if (mTargetValue != mCurrentValue) {
- postCallback();
+ postAnimationCallback();
} else {
mAnimating = false;
if (mListener != null) {
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index 557a44e..e6007bf 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -150,48 +150,50 @@
}
public boolean shouldIntercept(NotificationRecord record) {
- if (mZenMode != Global.ZEN_MODE_OFF) {
- if (isSystem(record)) {
- return false;
- }
- if (isAlarm(record)) {
- if (mZenMode == Global.ZEN_MODE_NO_INTERRUPTIONS) {
- ZenLog.traceIntercepted(record, "alarm");
- return true;
+ if (isSystem(record)) {
+ return false;
+ }
+ switch (mZenMode) {
+ case Global.ZEN_MODE_NO_INTERRUPTIONS:
+ // #notevenalarms
+ ZenLog.traceIntercepted(record, "none");
+ return true;
+ case Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
+ if (isAlarm(record)) {
+ // Alarms are always priority
+ return false;
}
- return false;
- }
- // allow user-prioritized packages through in priority mode
- if (mZenMode == Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS) {
+ // allow user-prioritized packages through in priority mode
if (record.getPackagePriority() == Notification.PRIORITY_MAX) {
ZenLog.traceNotIntercepted(record, "priorityApp");
return false;
}
- }
- if (isCall(record)) {
- if (!mConfig.allowCalls) {
- ZenLog.traceIntercepted(record, "!allowCalls");
- return true;
+ if (isCall(record)) {
+ if (!mConfig.allowCalls) {
+ ZenLog.traceIntercepted(record, "!allowCalls");
+ return true;
+ }
+ return shouldInterceptAudience(record);
}
- return shouldInterceptAudience(record);
- }
- if (isMessage(record)) {
- if (!mConfig.allowMessages) {
- ZenLog.traceIntercepted(record, "!allowMessages");
- return true;
+ if (isMessage(record)) {
+ if (!mConfig.allowMessages) {
+ ZenLog.traceIntercepted(record, "!allowMessages");
+ return true;
+ }
+ return shouldInterceptAudience(record);
}
- return shouldInterceptAudience(record);
- }
- if (isEvent(record)) {
- if (!mConfig.allowEvents) {
- ZenLog.traceIntercepted(record, "!allowEvents");
- return true;
+ if (isEvent(record)) {
+ if (!mConfig.allowEvents) {
+ ZenLog.traceIntercepted(record, "!allowEvents");
+ return true;
+ }
+ return false;
}
- }
- ZenLog.traceIntercepted(record, "!allowed");
- return true;
+ ZenLog.traceIntercepted(record, "!priority");
+ return true;
+ default:
+ return false;
}
- return false;
}
private boolean shouldInterceptAudience(NotificationRecord record) {
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 27184390..851cf17 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -4729,6 +4729,18 @@
return dexCodeInstructionSets.toArray(new String[dexCodeInstructionSets.size()]);
}
+ /**
+ * Returns deduplicated list of supported instructions for dex code.
+ */
+ public static String[] getAllDexCodeInstructionSets() {
+ String[] supportedInstructionSets = new String[Build.SUPPORTED_ABIS.length];
+ for (int i = 0; i < supportedInstructionSets.length; i++) {
+ String abi = Build.SUPPORTED_ABIS[i];
+ supportedInstructionSets[i] = VMRuntime.getInstructionSet(abi);
+ }
+ return getDexCodeInstructionSets(supportedInstructionSets);
+ }
+
@Override
public void forceDexOpt(String packageName) {
enforceSystemOrRoot("forceDexOpt");
diff --git a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
index 468a344..111c09b 100644
--- a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
+++ b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
@@ -18,6 +18,7 @@
import com.android.server.EventLogTags;
import com.android.server.SystemService;
+import com.android.server.pm.PackageManagerService;
import android.app.Notification;
import android.app.NotificationManager;
@@ -51,6 +52,8 @@
import java.io.FileDescriptor;
import java.io.PrintWriter;
+import dalvik.system.VMRuntime;
+
/**
* This class implements a service to monitor the amount of disk
* storage space on the device. If the free storage on device is less
@@ -89,6 +92,7 @@
private long mLastReportedFreeMemTime;
boolean mLowMemFlag=false;
private boolean mMemFullFlag=false;
+ private final boolean mIsBootImageOnDisk;
private final ContentResolver mResolver;
private final long mTotalMemory; // on /data
private final StatFs mDataFileStats;
@@ -285,6 +289,10 @@
mLowMemFlag = false;
}
}
+ if (!mLowMemFlag && !mIsBootImageOnDisk) {
+ Slog.i(TAG, "No boot image on disk due to lack of space. Sending notification");
+ sendNotification();
+ }
if (mFreeMem < mMemFullThreshold) {
if (!mMemFullFlag) {
sendFullNotification();
@@ -314,6 +322,7 @@
super(context);
mLastReportedFreeMemTime = 0;
mResolver = context.getContentResolver();
+ mIsBootImageOnDisk = isBootImageOnDisk();
//create StatFs object
mDataFileStats = new StatFs(DATA_PATH.getAbsolutePath());
mSystemFileStats = new StatFs(SYSTEM_PATH.getAbsolutePath());
@@ -331,6 +340,15 @@
mStorageNotFullIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
}
+ private static boolean isBootImageOnDisk() {
+ for (String instructionSet : PackageManagerService.getAllDexCodeInstructionSets()) {
+ if (!VMRuntime.isBootClassPathOnDisk(instructionSet)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
/**
* Initializes the disk space threshold value and posts an empty message to
* kickstart the process.
@@ -364,7 +382,7 @@
@Override
public boolean isMemoryLow() {
- return mLowMemFlag;
+ return mLowMemFlag || !mIsBootImageOnDisk;
}
@Override
@@ -409,6 +427,7 @@
pw.print(" mLowMemFlag="); pw.print(mLowMemFlag);
pw.print(" mMemFullFlag="); pw.println(mMemFullFlag);
+ pw.print(" mIsBootImageOnDisk="); pw.print(mIsBootImageOnDisk);
pw.print(" mClearSucceeded="); pw.print(mClearSucceeded);
pw.print(" mClearingCache="); pw.println(mClearingCache);
@@ -445,19 +464,25 @@
Context.NOTIFICATION_SERVICE);
CharSequence title = context.getText(
com.android.internal.R.string.low_internal_storage_view_title);
- CharSequence details = context.getText(
- com.android.internal.R.string.low_internal_storage_view_text);
+ CharSequence details = context.getText(mIsBootImageOnDisk
+ ? com.android.internal.R.string.low_internal_storage_view_text
+ : com.android.internal.R.string.low_internal_storage_view_text_no_boot);
PendingIntent intent = PendingIntent.getActivityAsUser(context, 0, lowMemIntent, 0,
null, UserHandle.CURRENT);
- Notification notification = new Notification();
- notification.icon = com.android.internal.R.drawable.stat_notify_disk_full;
- notification.tickerText = title;
+ Notification notification = new Notification.Builder(context)
+ .setSmallIcon(com.android.internal.R.drawable.stat_notify_disk_full)
+ .setTicker(title)
+ .setColor(context.getResources().getColor(
+ com.android.internal.R.color.system_notification_accent_color))
+ .setContentTitle(title)
+ .setContentText(details)
+ .setContentIntent(intent)
+ .setStyle(new Notification.BigTextStyle()
+ .bigText(details))
+ .setVisibility(Notification.VISIBILITY_PUBLIC)
+ .setCategory(Notification.CATEGORY_SYSTEM)
+ .build();
notification.flags |= Notification.FLAG_NO_CLEAR;
- notification.color = context.getResources().getColor(
- com.android.internal.R.color.system_notification_accent_color);
- notification.setLatestEventInfo(context, title, details, intent);
- notification.visibility = Notification.VISIBILITY_PUBLIC;
- notification.category = Notification.CATEGORY_SYSTEM;
mNotificationMgr.notifyAsUser(null, LOW_MEMORY_NOTIFICATION_ID, notification,
UserHandle.ALL);
context.sendStickyBroadcastAsUser(mStorageLowIntent, UserHandle.ALL);
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 999649b..41574ca 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -2712,9 +2712,10 @@
if (atoken != null) {
if (atoken.startingWindow == win) {
- if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Nulling startingWindow " + win);
- atoken.startingWindow = null;
- } else if (atoken.allAppWindows.size() == 0 && atoken.startingData != null) {
+ if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Notify removed startingWindow " + win);
+ scheduleRemoveStartingWindowLocked(atoken);
+ } else
+ if (atoken.allAppWindows.size() == 0 && atoken.startingData != null) {
// If this is the last window and we had requested a starting
// transition window, well there is no point now.
if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Nulling last startingWindow");
@@ -2722,7 +2723,7 @@
} else if (atoken.allAppWindows.size() == 1 && atoken.startingView != null) {
// If this is the last window except for a starting transition
// window, we need to get rid of the starting transition.
- scheduleRemoveStartingWindow(atoken);
+ scheduleRemoveStartingWindowLocked(atoken);
}
}
@@ -4329,7 +4330,7 @@
synchronized (mWindowMap) {
AppWindowToken wtoken = mTokenMap.get(token).appWindowToken;
if (wtoken.startingWindow != null) {
- scheduleRemoveStartingWindow(wtoken);
+ scheduleRemoveStartingWindowLocked(wtoken);
}
}
}
@@ -4791,14 +4792,19 @@
if (!delayed && wtoken != null) {
wtoken.updateReportedVisibilityLocked();
}
+
+ // Will only remove if startingToken non null.
+ scheduleRemoveStartingWindowLocked(startingToken);
}
Binder.restoreCallingIdentity(origId);
- // Will only remove if startingToken non null.
- scheduleRemoveStartingWindow(startingToken);
}
- void scheduleRemoveStartingWindow(AppWindowToken wtoken) {
+ void scheduleRemoveStartingWindowLocked(AppWindowToken wtoken) {
+ if (mH.hasMessages(H.REMOVE_STARTING, wtoken)) {
+ // Already scheduled.
+ return;
+ }
if (wtoken != null && wtoken.startingWindow != null) {
if (DEBUG_STARTING_WINDOW) Slog.v(TAG, Debug.getCallers(1) +
": Schedule remove starting " + wtoken + (wtoken != null ?
@@ -9093,6 +9099,11 @@
// gotten drawn.
wtoken.allDrawn = true;
wtoken.deferClearAllDrawn = false;
+ // Ensure that apps that are mid-starting are also scheduled to have their
+ // starting windows removed after the animation is complete
+ if (wtoken.startingWindow != null && !wtoken.startingWindow.mExiting) {
+ scheduleRemoveStartingWindowLocked(wtoken);
+ }
if (animLp != null) {
int layer = -1;
@@ -10236,7 +10247,7 @@
winAnimator.mSurfaceShown = false;
winAnimator.mSurfaceControl = null;
winAnimator.mWin.mHasSurface = false;
- scheduleRemoveStartingWindow(winAnimator.mWin.mAppToken);
+ scheduleRemoveStartingWindowLocked(winAnimator.mWin.mAppToken);
}
try {
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 5b007d4..0c727f3 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -515,6 +515,7 @@
static class SurfaceTrace extends SurfaceControl {
private final static String SURFACE_TAG = "SurfaceTrace";
+ private final static boolean logSurfaceTrace = DEBUG_SURFACE_TRACE;
final static ArrayList<SurfaceTrace> sSurfaces = new ArrayList<SurfaceTrace>();
private float mSurfaceTraceAlpha = 0;
@@ -534,7 +535,7 @@
super(s, name, w, h, format, flags);
mName = name != null ? name : "Not named";
mSize.set(w, h);
- Slog.v(SURFACE_TAG, "ctor: " + this + ". Called by "
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "ctor: " + this + ". Called by "
+ Debug.getCallers(3));
synchronized (sSurfaces) {
sSurfaces.add(0, this);
@@ -544,8 +545,8 @@
@Override
public void setAlpha(float alpha) {
if (mSurfaceTraceAlpha != alpha) {
- Slog.v(SURFACE_TAG, "setAlpha(" + alpha + "): OLD:" + this + ". Called by "
- + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "setAlpha(" + alpha + "): OLD:" + this +
+ ". Called by " + Debug.getCallers(3));
mSurfaceTraceAlpha = alpha;
}
super.setAlpha(alpha);
@@ -554,8 +555,8 @@
@Override
public void setLayer(int zorder) {
if (zorder != mLayer) {
- Slog.v(SURFACE_TAG, "setLayer(" + zorder + "): OLD:" + this + ". Called by "
- + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "setLayer(" + zorder + "): OLD:" + this
+ + ". Called by " + Debug.getCallers(3));
mLayer = zorder;
}
super.setLayer(zorder);
@@ -576,8 +577,8 @@
@Override
public void setPosition(float x, float y) {
if (x != mPosition.x || y != mPosition.y) {
- Slog.v(SURFACE_TAG, "setPosition(" + x + "," + y + "): OLD:" + this
- + ". Called by " + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "setPosition(" + x + "," + y + "): OLD:"
+ + this + ". Called by " + Debug.getCallers(3));
mPosition.set(x, y);
}
super.setPosition(x, y);
@@ -586,8 +587,8 @@
@Override
public void setSize(int w, int h) {
if (w != mSize.x || h != mSize.y) {
- Slog.v(SURFACE_TAG, "setSize(" + w + "," + h + "): OLD:" + this + ". Called by "
- + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "setSize(" + w + "," + h + "): OLD:"
+ + this + ". Called by " + Debug.getCallers(3));
mSize.set(w, h);
}
super.setSize(w, h);
@@ -597,8 +598,9 @@
public void setWindowCrop(Rect crop) {
if (crop != null) {
if (!crop.equals(mWindowCrop)) {
- Slog.v(SURFACE_TAG, "setWindowCrop(" + crop.toShortString() + "): OLD:" + this
- + ". Called by " + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "setWindowCrop("
+ + crop.toShortString() + "): OLD:" + this + ". Called by "
+ + Debug.getCallers(3));
mWindowCrop.set(crop);
}
}
@@ -608,8 +610,8 @@
@Override
public void setLayerStack(int layerStack) {
if (layerStack != mLayerStack) {
- Slog.v(SURFACE_TAG, "setLayerStack(" + layerStack + "): OLD:" + this
- + ". Called by " + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "setLayerStack(" + layerStack + "): OLD:"
+ + this + ". Called by " + Debug.getCallers(3));
mLayerStack = layerStack;
}
super.setLayerStack(layerStack);
@@ -618,8 +620,8 @@
@Override
public void setOpaque(boolean isOpaque) {
if (isOpaque != mIsOpaque) {
- Slog.v(SURFACE_TAG, "setOpaque(" + isOpaque + "): OLD:" + this
- + ". Called by " + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "setOpaque(" + isOpaque + "): OLD:"
+ + this + ". Called by " + Debug.getCallers(3));
mIsOpaque = isOpaque;
}
super.setOpaque(isOpaque);
@@ -628,8 +630,9 @@
@Override
public void setMatrix(float dsdx, float dtdx, float dsdy, float dtdy) {
if (dsdx != mDsdx || dtdx != mDtdx || dsdy != mDsdy || dtdy != mDtdy) {
- Slog.v(SURFACE_TAG, "setMatrix(" + dsdx + "," + dtdx + "," + dsdy + "," + dtdy +
- "): OLD:" + this + ". Called by " + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "setMatrix(" + dsdx + "," + dtdx + ","
+ + dsdy + "," + dtdy + "): OLD:" + this + ". Called by "
+ + Debug.getCallers(3));
mDsdx = dsdx;
mDtdx = dtdx;
mDsdy = dsdy;
@@ -641,7 +644,8 @@
@Override
public void hide() {
if (mShown) {
- Slog.v(SURFACE_TAG, "hide: OLD:" + this + ". Called by " + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "hide: OLD:" + this + ". Called by "
+ + Debug.getCallers(3));
mShown = false;
}
super.hide();
@@ -650,7 +654,8 @@
@Override
public void show() {
if (!mShown) {
- Slog.v(SURFACE_TAG, "show: OLD:" + this + ". Called by " + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "show: OLD:" + this + ". Called by "
+ + Debug.getCallers(3));
mShown = true;
}
super.show();
@@ -659,7 +664,8 @@
@Override
public void destroy() {
super.destroy();
- Slog.v(SURFACE_TAG, "destroy: " + this + ". Called by " + Debug.getCallers(3));
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "destroy: " + this + ". Called by "
+ + Debug.getCallers(3));
synchronized (sSurfaces) {
sSurfaces.remove(this);
}
@@ -668,7 +674,7 @@
@Override
public void release() {
super.release();
- Slog.v(SURFACE_TAG, "release: " + this + ". Called by "
+ if (logSurfaceTrace) Slog.v(SURFACE_TAG, "release: " + this + ". Called by "
+ Debug.getCallers(3));
synchronized (sSurfaces) {
sSurfaces.remove(this);
diff --git a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
index 972c929..cfa4436 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
@@ -382,6 +382,10 @@
File[] files = dir.listFiles();
if (files != null) {
for (File f : files) {
+ String path = f.getPath();
+ if (path.endsWith(".bak")) {
+ f = new File(path.substring(0, path.length() - 4));
+ }
long beginTime = Long.parseLong(f.getName());
if (beginTime < expiryTime) {
new AtomicFile(f).delete();
diff --git a/tests/SharedLibrary/lib/res/layout/main.xml b/tests/SharedLibrary/lib/res/layout/main.xml
new file mode 100644
index 0000000..df0204d9
--- /dev/null
+++ b/tests/SharedLibrary/lib/res/layout/main.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/sample_layout"/>
+
+ <com.google.android.test.shared_library.AddressView xmlns:address="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:background="#03a9f4"
+ address:name="Librarian L"
+ address:streetNumber="21"
+ address:streetName="Android Lane"
+ address:city="AndroidVille"
+ address:state="OS"
+ address:zip="12345"
+ address:country="Mobile"/>
+
+</LinearLayout>
diff --git a/tests/SharedLibrary/lib/res/values/strings.xml b/tests/SharedLibrary/lib/res/values/strings.xml
index 6827f93..9beccd9 100644
--- a/tests/SharedLibrary/lib/res/values/strings.xml
+++ b/tests/SharedLibrary/lib/res/values/strings.xml
@@ -28,4 +28,5 @@
</string-array>
<string name="racoon">Racoon</string>
+ <string name="sample_layout">This is an example of a layout this library provides.</string>
</resources>
diff --git a/tests/SharedLibrary/lib/src/com/google/android/test/shared_library/ActivityMain.java b/tests/SharedLibrary/lib/src/com/google/android/test/shared_library/ActivityMain.java
index 895aced..4b4893c 100644
--- a/tests/SharedLibrary/lib/src/com/google/android/test/shared_library/ActivityMain.java
+++ b/tests/SharedLibrary/lib/src/com/google/android/test/shared_library/ActivityMain.java
@@ -18,15 +18,11 @@
import android.app.Activity;
import android.os.Bundle;
-import android.widget.TextView;
public class ActivityMain extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
-
- TextView content = new TextView(this);
- content.setText("Dummy main entry for this apk; not really needed...");
- setContentView(content);
+ setContentView(R.layout.main);
}
}