Merge "Import translations. DO NOT MERGE" into nyc-dev
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 13cf46d..ae3e0ce 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -306,7 +306,7 @@
* </thead>
*
* <tbody>
- * <tr><th colspan="3" align="left" border="0">{@link android.app.Activity#onCreate onCreate()}</th>
+ * <tr><td colspan="3" align="left" border="0">{@link android.app.Activity#onCreate onCreate()}</td>
* <td>Called when the activity is first created.
* This is where you should do all of your normal static set up:
* create views, bind data to lists, etc. This method also
@@ -318,7 +318,7 @@
* </tr>
*
* <tr><td rowspan="5" style="border-left: none; border-right: none;"> </td>
- * <th colspan="2" align="left" border="0">{@link android.app.Activity#onRestart onRestart()}</th>
+ * <td colspan="2" align="left" border="0">{@link android.app.Activity#onRestart onRestart()}</td>
* <td>Called after your activity has been stopped, prior to it being
* started again.
* <p>Always followed by <code>onStart()</code></td>
@@ -326,7 +326,7 @@
* <td align="center"><code>onStart()</code></td>
* </tr>
*
- * <tr><th colspan="2" align="left" border="0">{@link android.app.Activity#onStart onStart()}</th>
+ * <tr><td colspan="2" align="left" border="0">{@link android.app.Activity#onStart onStart()}</td>
* <td>Called when the activity is becoming visible to the user.
* <p>Followed by <code>onResume()</code> if the activity comes
* to the foreground, or <code>onStop()</code> if it becomes hidden.</td>
@@ -335,7 +335,7 @@
* </tr>
*
* <tr><td rowspan="2" style="border-left: none;"> </td>
- * <th align="left" border="0">{@link android.app.Activity#onResume onResume()}</th>
+ * <td align="left" border="0">{@link android.app.Activity#onResume onResume()}</td>
* <td>Called when the activity will start
* interacting with the user. At this point your activity is at
* the top of the activity stack, with user input going to it.
@@ -344,7 +344,7 @@
* <td align="center"><code>onPause()</code></td>
* </tr>
*
- * <tr><th align="left" border="0">{@link android.app.Activity#onPause onPause()}</th>
+ * <tr><td align="left" border="0">{@link android.app.Activity#onPause onPause()}</td>
* <td>Called when the system is about to start resuming a previous
* activity. This is typically used to commit unsaved changes to
* persistent data, stop animations and other things that may be consuming
@@ -358,7 +358,7 @@
* <code>onStop()</code></td>
* </tr>
*
- * <tr><th colspan="2" align="left" border="0">{@link android.app.Activity#onStop onStop()}</th>
+ * <tr><td colspan="2" align="left" border="0">{@link android.app.Activity#onStop onStop()}</td>
* <td>Called when the activity is no longer visible to the user, because
* another activity has been resumed and is covering this one. This
* may happen either because a new activity is being started, an existing
@@ -372,7 +372,7 @@
* <code>onDestroy()</code></td>
* </tr>
*
- * <tr><th colspan="3" align="left" border="0">{@link android.app.Activity#onDestroy onDestroy()}</th>
+ * <tr><td colspan="3" align="left" border="0">{@link android.app.Activity#onDestroy onDestroy()}</td>
* <td>The final call you receive before your
* activity is destroyed. This can happen either because the
* activity is finishing (someone called {@link Activity#finish} on
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index 3c7eef5..cf5240b 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -1813,12 +1813,13 @@
return true;
}
- case KILL_APPLICATION_WITH_APPID_TRANSACTION: {
+ case KILL_APPLICATION_TRANSACTION: {
data.enforceInterface(IActivityManager.descriptor);
String pkg = data.readString();
- int appid = data.readInt();
+ int appId = data.readInt();
+ int userId = data.readInt();
String reason = data.readString();
- killApplicationWithAppId(pkg, appid, reason);
+ killApplication(pkg, appId, userId, reason);
reply.writeNoException();
return true;
}
@@ -5291,15 +5292,16 @@
reply.recycle();
}
- public void killApplicationWithAppId(String pkg, int appid, String reason)
+ public void killApplication(String pkg, int appId, int userId, String reason)
throws RemoteException {
Parcel data = Parcel.obtain();
Parcel reply = Parcel.obtain();
data.writeInterfaceToken(IActivityManager.descriptor);
data.writeString(pkg);
- data.writeInt(appid);
+ data.writeInt(appId);
+ data.writeInt(userId);
data.writeString(reason);
- mRemote.transact(KILL_APPLICATION_WITH_APPID_TRANSACTION, data, reply, 0);
+ mRemote.transact(KILL_APPLICATION_TRANSACTION, data, reply, 0);
reply.readException();
data.recycle();
reply.recycle();
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index ac21346..5037e3e 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -398,7 +398,7 @@
public void addPackageDependency(String packageName) throws RemoteException;
- public void killApplicationWithAppId(String pkg, int appid, String reason)
+ public void killApplication(String pkg, int appId, int userId, String reason)
throws RemoteException;
public void closeSystemDialogs(String reason) throws RemoteException;
@@ -852,7 +852,7 @@
int GET_UID_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92;
int HANDLE_INCOMING_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93;
int ADD_PACKAGE_DEPENDENCY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94;
- int KILL_APPLICATION_WITH_APPID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95;
+ int KILL_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95;
int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96;
int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97;
int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98;
diff --git a/core/java/android/service/quicksettings/TileService.java b/core/java/android/service/quicksettings/TileService.java
index 55cfb49..50411ab 100644
--- a/core/java/android/service/quicksettings/TileService.java
+++ b/core/java/android/service/quicksettings/TileService.java
@@ -312,7 +312,8 @@
public IBinder onBind(Intent intent) {
mService = IQSService.Stub.asInterface(intent.getIBinderExtra(EXTRA_SERVICE));
try {
- mTile = mService.getTile(new ComponentName(getPackageName(), getClass().getName()));
+ ComponentName component = intent.getParcelableExtra(EXTRA_COMPONENT);
+ mTile = mService.getTile(component);
} catch (RemoteException e) {
throw new RuntimeException("Unable to reach IQSService", e);
}
diff --git a/core/java/android/view/Choreographer.java b/core/java/android/view/Choreographer.java
index a865307..d3db74d 100644
--- a/core/java/android/view/Choreographer.java
+++ b/core/java/android/view/Choreographer.java
@@ -232,6 +232,19 @@
return sThreadInstance.get();
}
+ /** Destroys the calling thread's choreographer
+ * @hide
+ */
+ public static void releaseInstance() {
+ Choreographer old = sThreadInstance.get();
+ sThreadInstance.remove();
+ old.dispose();
+ }
+
+ private void dispose() {
+ mDisplayEventReceiver.dispose();
+ }
+
/**
* The amount of time, in milliseconds, between each frame of the animation.
* <p>
diff --git a/core/java/com/android/internal/policy/BackdropFrameRenderer.java b/core/java/com/android/internal/policy/BackdropFrameRenderer.java
index 28281b3c..488f769 100644
--- a/core/java/com/android/internal/policy/BackdropFrameRenderer.java
+++ b/core/java/com/android/internal/policy/BackdropFrameRenderer.java
@@ -217,6 +217,7 @@
synchronized (this) {
// Make sure no more messages are being sent.
mChoreographer = null;
+ Choreographer.releaseInstance();
}
}
diff --git a/core/jni/android_view_DisplayEventReceiver.cpp b/core/jni/android_view_DisplayEventReceiver.cpp
index f9936ae..a0d5904 100644
--- a/core/jni/android_view_DisplayEventReceiver.cpp
+++ b/core/jni/android_view_DisplayEventReceiver.cpp
@@ -81,14 +81,12 @@
NativeDisplayEventReceiver::~NativeDisplayEventReceiver() {
JNIEnv* env = AndroidRuntime::getJNIEnv();
env->DeleteGlobalRef(mReceiverWeakGlobal);
+ ALOGV("receiver %p ~ dtor display event receiver.", this);
}
void NativeDisplayEventReceiver::dispose() {
ALOGV("receiver %p ~ Disposing display event receiver.", this);
-
- if (!mReceiver.initCheck()) {
- mMessageQueue->getLooper()->removeFd(mReceiver.getFd());
- }
+ DisplayEventDispatcher::dispose();
}
void NativeDisplayEventReceiver::dispatchVsync(nsecs_t timestamp, int32_t id, uint32_t count) {
@@ -143,7 +141,7 @@
}
static void nativeDispose(JNIEnv* env, jclass clazz, jlong receiverPtr) {
- sp<NativeDisplayEventReceiver> receiver =
+ NativeDisplayEventReceiver* receiver =
reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr);
receiver->dispose();
receiver->decStrong(gDisplayEventReceiverClassInfo.clazz); // drop reference held by the object
diff --git a/docs/html/training/material/animations.jd b/docs/html/training/material/animations.jd
index 9c78545..96cc5a1 100644
--- a/docs/html/training/material/animations.jd
+++ b/docs/html/training/material/animations.jd
@@ -415,12 +415,16 @@
</selector>
</pre>
-<p>To attach custom view state animations to a view, define an animator using the
-<code>selector</code> element in an XML resource file as in this example, and assign it to your
-view with the <code>android:stateListAnimator</code> attribute. To assign a state list animator
-to a view in your code, use the {@link android.animation.AnimatorInflater#loadStateListAnimator
-AnimationInflater.loadStateListAnimator()} method, and assign the animator to your view with the
-{@link android.view.View#setStateListAnimator View.setStateListAnimator()} method.</p>
+<p>
+ To attach custom view state animations to a view, define an animator using
+ the <code>selector</code> element in an XML resource file as in this example,
+ and assign it to your view with the <code>android:stateListAnimator</code>
+ attribute. To assign a state list animator to a view in your code, use the
+ {@link android.animation.AnimatorInflater#loadStateListAnimator
+ AnimatorInflater.loadStateListAnimator()} method, and assign the animator to
+ your view with the {@link android.view.View#setStateListAnimator
+ View.setStateListAnimator()} method.
+</p>
<p>When your theme extends the material theme, buttons have a Z animation by default. To avoid this
behavior in your buttons, set the <code>android:stateListAnimator</code> attribute to
diff --git a/docs/html/wear/preview/api-overview.jd b/docs/html/wear/preview/api-overview.jd
index 543313a..11331a7 100644
--- a/docs/html/wear/preview/api-overview.jd
+++ b/docs/html/wear/preview/api-overview.jd
@@ -4,9 +4,6 @@
page.image=images/cards/card-n-apis_2x.png
@jd:body
-
-
-
<div id="qv-wrapper">
<div id="qv">
<h2>Key developer features</h2>
@@ -298,36 +295,35 @@
authentication capabilities will be more powerful; apps will have new ways to
authenticate.</p>
- <h4> Authentication tokens can be passed over the Wearable Data Layer </h4>
-
-<p>For Android-paired watches (only), the phone will securely transfer authentication
- data to a watch app via the
- <a href="{@docRoot}training/wearables/data-layer/index.html">
- Wearable Data Layer API</a>. The data can be transferred as
- Messages or Data Items. </p>
-
-<p>If your watch app needs to determine if your phone app is installed, you can
-advertise a capability on the phone app and retrieve the capability on the watch.
- For more information, see following sections of
- <a href="{@docRoot}training/wearables/data-layer/messages.html">
- Sending and Receiving Messages</a>:
- <ul>
- <li>Advertise Capabilities</li>
- <li>Retrieve the Nodes with the Required Capabilities</li>
- </ul>
<h4>Users can enter a username and password on a watch</h4>
-<p>Google Keyboard will be standard on Android Wear, allowing for direct text entry.
- This feature will work as expected with standard
- <a href="{@docRoot}reference/android/widget/EditText.html">
- EditText widgets</a>. For passwords, the {@code textPassword} attribute will be
- used.
+<p>Google Keyboard will be standard on Android Wear, allowing for direct text
+entry. This feature will work as expected with standard
+<a href="{@docRoot}reference/android/widget/EditText.html">EditText widgets</a>.
+For passwords, the {@code textPassword} attribute will be used.</p>
<h4>Utilizing Account Manager</h4>
-Android Wear will include the <a href="{@docRoot}reference/android/accounts/AccountManager.html">
+
+<p>Android Wear will include the
+<a href="{@docRoot}reference/android/accounts/AccountManager.html">
AccountManager</a>, which will be accessible for syncing and storing account
- data, as it is on an Android phone.
-</p>
+data, as it is on an Android phone.</p>
+<h4>Authentication tokens can be passed over the Wearable Data Layer</h4>
+<p>For Android-paired watches (only), a phone securely
+transfers authentication credentials to a watch app via the
+<a href="{@docRoot}training/wearables/data-layer/index.html">
+Wearable Data Layer API</a>. The credentials can be transferred as
+messages or data items.</p>
+<p>If your watch app needs to determine if your phone app is installed, you can
+advertise a capability on the phone app and retrieve the capability on the
+watch. For more information, see the following sections of
+<a href="{@docRoot}training/wearables/data-layer/messages.html">
+Sending and Receiving Messages</a>:</p>
+
+<ul>
+ <li>Advertise Capabilities</li>
+ <li>Retrieve the Nodes with the Required Capabilities</li>
+</ul>
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index 45d0cc0..07d1f75 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -1372,16 +1372,33 @@
* May return {@code null}, if the codec did not publish any measurement
* data.
* <p>
- * This is a performance estimate provided by the device manufacturer
- * based on full-speed decoding and encoding measurements in various configurations
+ * This is a performance estimate provided by the device manufacturer based on statistical
+ * sampling of full-speed decoding and encoding measurements in various configurations
* of common video sizes supported by the codec. As such it should only be used to
* compare individual codecs on the device. The value is not suitable for comparing
* different devices or even different android releases for the same device.
* <p>
- * The returned range corresponds to the fastest frame rates achieved in the tested
- * configurations. It is interpolated from the nearest frame size(s) tested. Codec
- * performance is severely impacted by other activity on the device, and can vary
- * significantly.
+ * <em>On {@link android.os.Build.VERSION_CODES#M} release</em> the returned range
+ * corresponds to the fastest frame rates achieved in the tested configurations. As
+ * such, it should not be used to gauge guaranteed or even average codec performance
+ * on the device.
+ * <p>
+ * <em>On {@link android.os.Build.VERSION_CODES#N} release</em> the returned range
+ * corresponds closer to sustained performance <em>in tested configurations</em>.
+ * One can expect to achieve sustained performance higher than the lower limit more than
+ * 50% of the time, and higher than half of the lower limit at least 90% of the time
+ * <em>in tested configurations</em>.
+ * Conversely, one can expect performance lower than twice the upper limit at least
+ * 90% of the time.
+ * <p class=note>
+ * Tested configurations use a single active codec. For use cases where multiple
+ * codecs are active, applications can expect lower and in most cases significantly lower
+ * performance.
+ * <p class=note>
+ * The returned range value is interpolated from the nearest frame size(s) tested.
+ * Codec performance is severely impacted by other activity on the device as well
+ * as environmental factors (such as battery level, temperature or power source), and can
+ * vary significantly even in a steady environment.
* <p class=note>
* Use this method in cases where only codec performance matters, e.g. to evaluate if
* a codec has any chance of meeting a performance target. Codecs are listed
diff --git a/packages/SystemUI/res/values-af/strings_tv.xml b/packages/SystemUI/res/values-af/strings_tv.xml
index 6b28cfd..f90c426 100644
--- a/packages/SystemUI/res/values-af/strings_tv.xml
+++ b/packages/SystemUI/res/values-af/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Dit hou jou video in sig totdat jy \'n ander een speel. Druk en hou "<b>"HOME"</b>" om dit te beheer."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Het dit"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Maak toe"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-am/strings_tv.xml b/packages/SystemUI/res/values-am/strings_tv.xml
index c4a47e3..493ae48 100644
--- a/packages/SystemUI/res/values-am/strings_tv.xml
+++ b/packages/SystemUI/res/values-am/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"ይሄ ሌላ እስኪያጫውቱ ድረስ ቪዲዮዎን በእይታ ውስጥ እንዳለ ያቆየዋል። እሱን ለመቆጣጠር "<b>"መነሻ"</b>"ን ተጭነው ይያዙት።"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"ገባኝ"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"አሰናብት"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ar/strings_tv.xml b/packages/SystemUI/res/values-ar/strings_tv.xml
index 081e4e3..f8cbe54 100644
--- a/packages/SystemUI/res/values-ar/strings_tv.xml
+++ b/packages/SystemUI/res/values-ar/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"يؤدي هذا إلى الاحتفاظ بعرض الفيديو إلى أن يتم تشغيل فيديو آخر. اضغط مع الاستمرار على زر "<b>"الشاشة الرئيسية"</b>" للتحكم في هذا الإعداد."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"حسنًا"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"رفض"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-az-rAZ/strings_tv.xml b/packages/SystemUI/res/values-az-rAZ/strings_tv.xml
index 6b0a18e..94e61f1 100644
--- a/packages/SystemUI/res/values-az-rAZ/strings_tv.xml
+++ b/packages/SystemUI/res/values-az-rAZ/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Digərini oxudana kimi videonuzu görünən edir. Nəzarət etmək üçün "<b>"ƏSAS SƏHİFƏ"</b>" düyməsini basıb saxlayın."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Anladım"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Rədd edin"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml b/packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml
index 403c10d..8b01a83 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Na ovaj način će video biti prikazan dok ne pustite neki drugi. Pritisnite i zadržite "<b>"POČETNA"</b>" da biste ga kontrolisali."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Važi"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Odbaci"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-be-rBY/strings_tv.xml b/packages/SystemUI/res/values-be-rBY/strings_tv.xml
index 6eb71e0..4b871a6 100644
--- a/packages/SystemUI/res/values-be-rBY/strings_tv.xml
+++ b/packages/SystemUI/res/values-be-rBY/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Гэта дазваляе захоўваць ваша відэа ў полі зроку, пакуль вы не пачняце прайграванне іншага. Націсніце і ўтрымлівайце "<b>"HOME"</b>" для кіравання."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Зразумела"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Адхіліць"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-bg/strings_tv.xml b/packages/SystemUI/res/values-bg/strings_tv.xml
index a943261..17038ad 100644
--- a/packages/SystemUI/res/values-bg/strings_tv.xml
+++ b/packages/SystemUI/res/values-bg/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Видеоклипът ви ще остане видим, докато не пуснете друг. Натиснете и задръжте "<b>"HOME"</b>", за да контролирате функцията."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Разбрах"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Отхвърляне"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings_tv.xml b/packages/SystemUI/res/values-bn-rBD/strings_tv.xml
index c61dc83..99eb537 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings_tv.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"আপনি অন্য একটি না প্লে করা পর্যন্ত এটি আপনার ভিডিও দেখা বজায় রাখে৷ এটিকে নিয়ন্ত্রণ করতে "<b>"হোম"</b>" টিপুন এবং ধরে রাখুন৷"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"বুঝেছি"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"খারিজ করুন"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-bs-rBA/strings_tv.xml b/packages/SystemUI/res/values-bs-rBA/strings_tv.xml
index df27da3..40347dc 100644
--- a/packages/SystemUI/res/values-bs-rBA/strings_tv.xml
+++ b/packages/SystemUI/res/values-bs-rBA/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Ovim videozapis ostaje prikazan sve dok pokrenete sljedeći. Pritisnite i držite "<b>" POČETAK "</b>" za kontrole PIP-a."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Jasno mi je"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Odbaci"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ca/strings_tv.xml b/packages/SystemUI/res/values-ca/strings_tv.xml
index 0a3e220..bc094a9 100644
--- a/packages/SystemUI/res/values-ca/strings_tv.xml
+++ b/packages/SystemUI/res/values-ca/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Amb aquesta opció el vídeo continua veient-se fins que en reprodueixes un altre. Mantén premut el botó "<b>"INICI"</b>" per controlar-la."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"D\'acord"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignora"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-cs/strings_tv.xml b/packages/SystemUI/res/values-cs/strings_tv.xml
index 731ff5a..459b8bc 100644
--- a/packages/SystemUI/res/values-cs/strings_tv.xml
+++ b/packages/SystemUI/res/values-cs/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Video bude připnuto v zobrazení, dokud nepřehrajete další. Funkci lze ovládat podržením tlačítka "<b>"Plocha"</b>"."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Rozumím"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Zavřít"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-da/strings_tv.xml b/packages/SystemUI/res/values-da/strings_tv.xml
index edafd7c..babb671 100644
--- a/packages/SystemUI/res/values-da/strings_tv.xml
+++ b/packages/SystemUI/res/values-da/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Dette fastholder visningen af din video, indtil du afspiller en anden. Tryk på "<b>"START"</b>", og hold fingeren nede for at styre det."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Afvis"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-de/strings_tv.xml b/packages/SystemUI/res/values-de/strings_tv.xml
index 373d26c..1adf279 100644
--- a/packages/SystemUI/res/values-de/strings_tv.xml
+++ b/packages/SystemUI/res/values-de/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Dein Video wird dir so lange angezeigt, bis du ein anderes ansiehst. Taste "<b>"STARTBILDSCHIRM"</b>" zum Steuern drücken und halten."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Beenden"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-el/strings_tv.xml b/packages/SystemUI/res/values-el/strings_tv.xml
index 655b424..d3d2463 100644
--- a/packages/SystemUI/res/values-el/strings_tv.xml
+++ b/packages/SystemUI/res/values-el/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Αυτό διατηρεί το βίντεό σας σε προβολή έως ότου γίνει αναπαραγωγή κάποιου άλλου. Πατήστε παρατεταμένα το πλήκτρο "<b></b>" (ΑΡΧΙΚΗ ΣΕΛΙΔΑ) για να ελέγξετε αυτήν την επιλογή."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Κατάλαβα"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Παράβλεψη"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-en-rAU/strings_tv.xml b/packages/SystemUI/res/values-en-rAU/strings_tv.xml
index 730cf74..dff61c0 100644
--- a/packages/SystemUI/res/values-en-rAU/strings_tv.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"This keeps your video in view until you play another one. Press and hold "<b>"HOME"</b>" to control it."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Understood"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Dismiss"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-en-rGB/strings_tv.xml b/packages/SystemUI/res/values-en-rGB/strings_tv.xml
index 730cf74..dff61c0 100644
--- a/packages/SystemUI/res/values-en-rGB/strings_tv.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"This keeps your video in view until you play another one. Press and hold "<b>"HOME"</b>" to control it."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Understood"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Dismiss"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-en-rIN/strings_tv.xml b/packages/SystemUI/res/values-en-rIN/strings_tv.xml
index 730cf74..dff61c0 100644
--- a/packages/SystemUI/res/values-en-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"This keeps your video in view until you play another one. Press and hold "<b>"HOME"</b>" to control it."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Understood"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Dismiss"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-es-rUS/strings_tv.xml b/packages/SystemUI/res/values-es-rUS/strings_tv.xml
index 1dfa04c..9703b75 100644
--- a/packages/SystemUI/res/values-es-rUS/strings_tv.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Mantiene el video a la vista hasta que reproduzcas otro. Mantén presionado "<b>"INICIO"</b>" para controlar la función."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Entendido"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Descartar"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-es/strings_tv.xml b/packages/SystemUI/res/values-es/strings_tv.xml
index 32b3b8c..53e4637 100644
--- a/packages/SystemUI/res/values-es/strings_tv.xml
+++ b/packages/SystemUI/res/values-es/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"El vídeo estará visible hasta que reproduzcas otro. Mantén pulsado el botón "<b>"INICIO"</b>" para controlarlo."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Entendido"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Descartar"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-et-rEE/strings_tv.xml b/packages/SystemUI/res/values-et-rEE/strings_tv.xml
index 3386f57..1a79310 100644
--- a/packages/SystemUI/res/values-et-rEE/strings_tv.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"See hoiab teie videot kuval, kuni esitate järgmise. Selle juhtimiseks vajutage pikalt nuppu "<b>"AVAEKRAAN"</b>"."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Selge"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Loobu"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-eu-rES/strings_tv.xml b/packages/SystemUI/res/values-eu-rES/strings_tv.xml
index e1bd3a8..381e86e 100644
--- a/packages/SystemUI/res/values-eu-rES/strings_tv.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Horrela, ikusgai egongo da bideoa beste bat erreproduzitu arte. Pantaila txikia kontrolatzeko, eduki sakatuta "<b>"HOME"</b>" botoia."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Ados"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Baztertu"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-fa/strings_tv.xml b/packages/SystemUI/res/values-fa/strings_tv.xml
index 86e578d..2894abba 100644
--- a/packages/SystemUI/res/values-fa/strings_tv.xml
+++ b/packages/SystemUI/res/values-fa/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"تا زمانی که ویدیوی دیگری را پخش کنید، این صفحه حالت ویدیو در ویدیوی شما را حفظ میکند. برای کنترل آن، دکمه "<b>"صفحه اصلی"</b>" را فشار دهید و نگه دارید."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"متوجه شدم"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"رد کردن"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-fi/strings_tv.xml b/packages/SystemUI/res/values-fi/strings_tv.xml
index 5edd349..20c3fe4 100644
--- a/packages/SystemUI/res/values-fi/strings_tv.xml
+++ b/packages/SystemUI/res/values-fi/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Videosi pysyy näkyvissä, kunnes toistat toisen videon. Hallinnoi tilaa painamalla "<b>"HOME"</b>"-painiketta pitkään."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Selvä"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Hylkää"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings_tv.xml b/packages/SystemUI/res/values-fr-rCA/strings_tv.xml
index 8b382a2..41a6f1b1 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings_tv.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Cette option maintient une vidéo affichée jusqu\'à la lecture de la suivante. Maintenez enfoncée la touche "<b>"ACCUEIL"</b>" pour la contrôler."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Fermer"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-fr/strings_tv.xml b/packages/SystemUI/res/values-fr/strings_tv.xml
index db0c464..01905b8 100644
--- a/packages/SystemUI/res/values-fr/strings_tv.xml
+++ b/packages/SystemUI/res/values-fr/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Cette option maintient une vidéo affichée jusqu\'à la lecture de la suivante. Appuyez de manière prolongée sur le bouton "<b>"ACCUEIL"</b>" pour la contrôler."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignorer"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-gl-rES/strings_tv.xml b/packages/SystemUI/res/values-gl-rES/strings_tv.xml
index bd840aa..019f475 100644
--- a/packages/SystemUI/res/values-gl-rES/strings_tv.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"O vídeo manterase visible ata que reproduzas outro. Mantén premido "<b>"INICIO"</b>" para controlalo."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"De acordo"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignorar"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-gu-rIN/strings_tv.xml b/packages/SystemUI/res/values-gu-rIN/strings_tv.xml
index 4af9f52..e2ce121 100644
--- a/packages/SystemUI/res/values-gu-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-gu-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"તમે બીજી વિડિઓ ચલાવો નહીં ત્યાં સુધી આ તમારી વિડિઓને દૃશ્યક્ષમ રાખે છે. તેને નિયંત્રિત કરવા માટે "<b>"હોમ"</b>" દબાવી અને પકડી રાખો."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"સમજાઈ ગયું"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"છોડી દો"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-hi/strings_tv.xml b/packages/SystemUI/res/values-hi/strings_tv.xml
index e0b0903..8f0f898 100644
--- a/packages/SystemUI/res/values-hi/strings_tv.xml
+++ b/packages/SystemUI/res/values-hi/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"यह आपके वीडियो को तब तक दृश्यमान बनाए रखता है जब तक कि आप कोई दूसरा वीडियो नहीं चलाते. उसे नियंत्रित करने के लिए "<b>"HOME"</b>" को दबाए रखें."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"समझ लिया"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"ख़ारिज करें"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-hr/strings_tv.xml b/packages/SystemUI/res/values-hr/strings_tv.xml
index e4c31c9..5d69704 100644
--- a/packages/SystemUI/res/values-hr/strings_tv.xml
+++ b/packages/SystemUI/res/values-hr/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Videozapis će se prikazivati dok ne počnete reproducirati neki drugi. Pritisnite i zadržite tipku "<b>"HOME"</b>" da biste upravljali tom značajkom."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Shvaćam"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Odbaci"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-hu/strings_tv.xml b/packages/SystemUI/res/values-hu/strings_tv.xml
index db20b43..08112f5 100644
--- a/packages/SystemUI/res/values-hu/strings_tv.xml
+++ b/packages/SystemUI/res/values-hu/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"A következő lejátszásáig ezt a videót tartja előtérben. A vezérléshez tartsa nyomva a "<b>"HOME"</b>" gombot."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Rendben"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Elvetés"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings_tv.xml b/packages/SystemUI/res/values-hy-rAM/strings_tv.xml
index cd9b159..a447ba8 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings_tv.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Տեսանյութը կմնա տեսադաշտում մինչև մեկ այլ տեսանյութ նվագարկելը: Կառավարելու համար սեղմեք և պահեք "<b>"HOME"</b>" կոճակը:"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Պարզ է"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Փակել"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-in/strings_tv.xml b/packages/SystemUI/res/values-in/strings_tv.xml
index a997703..14f64b2 100644
--- a/packages/SystemUI/res/values-in/strings_tv.xml
+++ b/packages/SystemUI/res/values-in/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Tindakan ini terus menampilkan video hingga Anda memutar yang lain. Tekan dan tahan tombol "<b>"UTAMA"</b>" untuk mengontrolnya."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Mengerti"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Tutup"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-is-rIS/strings_tv.xml b/packages/SystemUI/res/values-is-rIS/strings_tv.xml
index 582c044..6e1918e 100644
--- a/packages/SystemUI/res/values-is-rIS/strings_tv.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Þetta heldur myndskeiðinu sýnilegu þar til þú spilar annað. Haltu inni "<b>"HOME"</b>" til að stjórna."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Ég skil"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Hunsa"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-it/strings_tv.xml b/packages/SystemUI/res/values-it/strings_tv.xml
index 8c47e56..7269bfa 100644
--- a/packages/SystemUI/res/values-it/strings_tv.xml
+++ b/packages/SystemUI/res/values-it/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Il video rimane visualizzato fino alla riproduzione di un altro video. Tieni premuto "<b>"HOME"</b>" per controllare la funzione."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignora"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-iw/strings_tv.xml b/packages/SystemUI/res/values-iw/strings_tv.xml
index eea7a91..0556bb0 100644
--- a/packages/SystemUI/res/values-iw/strings_tv.xml
+++ b/packages/SystemUI/res/values-iw/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"תכונה זו שומרת על תצוגת הסרטון עד שתפעיל סרטון אחר. לחץ לחיצה ממושכת על לחצן ה"<b>"בית"</b>" כדי לשלוט בתכונה."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"הבנתי"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"דחה"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ja/strings_tv.xml b/packages/SystemUI/res/values-ja/strings_tv.xml
index 85cddf4..dce5874 100644
--- a/packages/SystemUI/res/values-ja/strings_tv.xml
+++ b/packages/SystemUI/res/values-ja/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"これにより、別のビデオを再生するまでこのビデオが表示されます。["<b>"ホーム"</b>"] を押し続けると、操作できます。"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"閉じる"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"閉じる"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings_tv.xml b/packages/SystemUI/res/values-ka-rGE/strings_tv.xml
index 67957c9..d3b5fa8 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings_tv.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"ვიდეო ჩამაგრებული იქნება, სანამ ახალს არ დაუკრავთ. სამართავად, ხანგრძლივად დააჭირეთ "<b>"მთავარ ღილაკზე"</b>"."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"გასაგებია"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"დახურვა"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings_tv.xml b/packages/SystemUI/res/values-kk-rKZ/strings_tv.xml
index c9823e9..1e0caf7 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings_tv.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Басқа бейне ойнатылғанға дейін ағымдағы бейне көрсетіле береді. Оны басқару үшін "<b>"HOME"</b>" түймесін басып тұрыңыз."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Түсіндім"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Жабу"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-km-rKH/strings_tv.xml b/packages/SystemUI/res/values-km-rKH/strings_tv.xml
index 0e7b3f2..e4d4f32 100644
--- a/packages/SystemUI/res/values-km-rKH/strings_tv.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"វាបន្តផ្អាកវីដេអូរបស់អ្នក រហូតដល់អ្នកចុចចាក់វីដេអូមួយផ្សេងទៀត។ ចុច ហើយសង្កត់ប៊ូតុង"<b>"ដើម"</b>" ដើម្បីគ្រប់គ្រងវា។"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"យល់ហើយ"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"បដិសេធ"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings_tv.xml b/packages/SystemUI/res/values-kn-rIN/strings_tv.xml
index e617c6e..5afb322 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"ನೀವು ಮತ್ತೊಂದನ್ನು ಪ್ಲೇ ಮಾಡುವ ತನಕ ಇದು ನಿಮ್ಮ ವೀಡಿಯೋವನ್ನು ವೀಕ್ಷಣೆಯಲ್ಲಿರಿಸುತ್ತದೆ. ಅದನ್ನು ನಿಯಂತ್ರಿಸಲು "<b>"ಹೋಮ್"</b>" ಅನ್ನು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"ಅರ್ಥವಾಯಿತು"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"ವಜಾಗೊಳಿಸಿ"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ko/strings_tv.xml b/packages/SystemUI/res/values-ko/strings_tv.xml
index b0e9f45..df22a24 100644
--- a/packages/SystemUI/res/values-ko/strings_tv.xml
+++ b/packages/SystemUI/res/values-ko/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"다른 동영상을 재생할 때까지 동영상이 계속 표시됩니다. 제어하려면 "<b>"홈"</b>"을 길게 누릅니다."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"확인"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"닫기"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings_tv.xml b/packages/SystemUI/res/values-ky-rKG/strings_tv.xml
index 771e395..3d34e2f 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings_tv.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Ушуну менен, башка видео ойнотмоюнча видеоңуз көрсөтүлө берет. Аны башкаруу үчүн "<b>"БАШКЫ БЕТ"</b>" баскычын басып, кармап туруңуз."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Түшүндүм"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Көз жаздымда калтыруу"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings_tv.xml b/packages/SystemUI/res/values-lo-rLA/strings_tv.xml
index ba32597..cf2ef1e 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings_tv.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"ນີ້ຈະເປັນການເຮັດໃຫ້ວິດີໂອຂອງທ່ານຢູ່ໃນມຸມມອງຈົນກວ່າທ່ານຈະຫຼິ້ນວິດີໂອອື່ນ. ໃຫ້ກົດປຸ່ມ "<b>"HOME"</b>" ຄ້າງໄວ້ເພື່ອຄວບຄຸມມັນ."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"ເຂົ້າໃຈແລ້ວ"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"ປິດໄວ້"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-lt/strings_tv.xml b/packages/SystemUI/res/values-lt/strings_tv.xml
index e263da4..0cdc085 100644
--- a/packages/SystemUI/res/values-lt/strings_tv.xml
+++ b/packages/SystemUI/res/values-lt/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Vaizdo įrašas bus rodomas, kol paleisite kitą vaizdo įrašą. Jei norite valdyti, palaikykite paspaudę mygtuką "<b>"HOME"</b>"."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Supratau"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Atsisakyti"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-lv/strings_tv.xml b/packages/SystemUI/res/values-lv/strings_tv.xml
index cafc10d..33450fa 100644
--- a/packages/SystemUI/res/values-lv/strings_tv.xml
+++ b/packages/SystemUI/res/values-lv/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Šādi videoklips būs redzams, līdz atskaņosiet citu videoklipu. Lai to kontrolētu, nospiediet un turiet nospiestu pogu "<b>"HOME"</b>"."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Labi"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Nerādīt"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings_tv.xml b/packages/SystemUI/res/values-mk-rMK/strings_tv.xml
index 453272c..6d7a53a 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings_tv.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Видеото се прикажува сѐ додека не пуштите друго. Притиснете и задржете "<b>"ПОЧЕТЕН ЕКРАН"</b>" за да го контролирате."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Разбрав"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Отфрли"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings_tv.xml b/packages/SystemUI/res/values-ml-rIN/strings_tv.xml
index 48bdb51..e971b9a 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"മറ്റൊരു വീഡിയോ പ്ലേ ചെയ്യുന്നത് വരെ നിങ്ങളുടെ വീഡിയോയെ ഇത് കാഴ്ചയിൽ നിലനിർത്തുന്നു. ഇത് നിയന്ത്രിക്കുന്നതിന് "<b>"ഹോം"</b>" അമർത്തിപ്പിടിക്കുക."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"മനസ്സിലായി"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"ഡിസ്മിസ് ചെയ്യുക"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings_tv.xml b/packages/SystemUI/res/values-mn-rMN/strings_tv.xml
index 8c6ffbb..40933d8 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings_tv.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Таныг өөр видео тоглуулах хүртэл таны видеог гаргасаар байх болно. Үүнийг удирдахын тулд "<b>"НҮҮР ХУУДАС"</b>" товчлуурыг дараад, хүлээнэ үү."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Ойлголоо"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Хаах"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings_tv.xml b/packages/SystemUI/res/values-mr-rIN/strings_tv.xml
index 5841500..bfada64 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"आपण दुसरा व्हिडिओ प्ले करेपर्यंत हे आपल्या व्हिडिओस दृश्यामध्ये ठेवते. ते नियंत्रित करण्यासाठी "<b>"मुख्यपृष्ठ"</b>" दाबा आणि धरून ठेवा."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"समजले"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"डिसमिस करा"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings_tv.xml b/packages/SystemUI/res/values-ms-rMY/strings_tv.xml
index 502f231..de221cc 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings_tv.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Tindakan ini memastikan video anda sentiasa dipaparkan sehingga anda memainkan video lain. Tekan dan tahan "<b>"SKRIN UTAMA"</b>" untuk mengawalnya."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ketepikan"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-my-rMM/strings_tv.xml b/packages/SystemUI/res/values-my-rMM/strings_tv.xml
index 4ce1992..2c5b94b 100644
--- a/packages/SystemUI/res/values-my-rMM/strings_tv.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"နောက်တစ်ခုမဖွင့်မချင်း သင့်ဗီဒီယိုကို ပြသထားပါမည်။ ၎င်းကိုထိန်းချုပ်ရန် "<b>"ပင်မ"</b>" ခလုတ်ကို နှိပ်ပြီးဖိထားပါ။"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"ရပါပြီ"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"ပယ်ပါ"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-nb/strings_tv.xml b/packages/SystemUI/res/values-nb/strings_tv.xml
index 3dc7ae0..20b0f24 100644
--- a/packages/SystemUI/res/values-nb/strings_tv.xml
+++ b/packages/SystemUI/res/values-nb/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Dette holder videoen din synlig frem til du spiller av en annen video. Trykk og hold inne "<b>"HOME"</b>" for å styre dette."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Greit"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Avvis"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings_tv.xml b/packages/SystemUI/res/values-ne-rNP/strings_tv.xml
index 61a1669..648eed0 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings_tv.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"तपाईँले अर्को भिडियोलाई प्ले नगरेसम्म यसले तपाईँको भिडियोलाई दृश्यमा राख्दछ। यसलाई नियन्त्रण गर्नका लागि "<b>"HOME"</b>" लाई थिचिरहनुहोस्।"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"बुझेँ"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"खारेज गर्नुहोस्"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-nl/strings_tv.xml b/packages/SystemUI/res/values-nl/strings_tv.xml
index ee0510c..4fdaf5d 100644
--- a/packages/SystemUI/res/values-nl/strings_tv.xml
+++ b/packages/SystemUI/res/values-nl/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Hiermee blijft je video in beeld totdat je een andere afspeelt. Houd "<b>"HOME"</b>" ingedrukt om de functie te bedienen."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Sluiten"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-pa-rIN/strings_tv.xml b/packages/SystemUI/res/values-pa-rIN/strings_tv.xml
index afaa658..cbd5cbf 100644
--- a/packages/SystemUI/res/values-pa-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-pa-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"ਇਹ ਤੁਹਾਡੀ ਵੀਡੀਓ ਨੂੰ ਤਦ ਤੱਕ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਰੱਖਦਾ ਹੈ, ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਕੋਈ ਹੋਰ ਵੀਡੀਓ ਨਹੀਂ ਚਲਾਉਂਦੇ ਹੋ। ਇਸ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ "<b>"ਹੋਮ"</b>" ਬਟਨ ਨੂੰ ਦੱਬੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ।"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"ਸਮਝ ਲਿਆ"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"ਖ਼ਾਰਜ ਕਰੋ"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-pl/strings_tv.xml b/packages/SystemUI/res/values-pl/strings_tv.xml
index 03a18bd..09c63e4 100644
--- a/packages/SystemUI/res/values-pl/strings_tv.xml
+++ b/packages/SystemUI/res/values-pl/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"W tym trybie film pozostaje na ekranie do czasu, aż odtworzysz kolejny. Aby sterować trybem, przytrzymaj przycisk "<b>"EKRAN GŁÓWNY"</b>"."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Zamknij"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings_tv.xml b/packages/SystemUI/res/values-pt-rBR/strings_tv.xml
index 1857fee..4b76e64 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings_tv.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Esse recurso faz com que seu vídeo continue sendo exibido até que você reproduza outro. Mantenha "<b>"INÍCIO"</b>" pressionado para controlá-lo."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Entendi"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Dispensar"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings_tv.xml b/packages/SystemUI/res/values-pt-rPT/strings_tv.xml
index 915b227..9465cc2 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings_tv.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Esta opção mantém o vídeo visível até reproduzir outro vídeo. Prima sem soltar "<b>"HOME"</b>" para o controlar."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Compreendi"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignorar"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-pt/strings_tv.xml b/packages/SystemUI/res/values-pt/strings_tv.xml
index 1857fee..4b76e64 100644
--- a/packages/SystemUI/res/values-pt/strings_tv.xml
+++ b/packages/SystemUI/res/values-pt/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Esse recurso faz com que seu vídeo continue sendo exibido até que você reproduza outro. Mantenha "<b>"INÍCIO"</b>" pressionado para controlá-lo."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Entendi"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Dispensar"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 5f3eed7..8c72f6a 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -71,7 +71,7 @@
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Se salv. captura de ecran..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Se salvează captura de ecran..."</string>
<string name="screenshot_saving_text" msgid="2419718443411738818">"Captura de ecran este salvată."</string>
- <string name="screenshot_saved_title" msgid="6461865960961414961">"Captură de ecran realizată."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"Captură de ecran salvată."</string>
<string name="screenshot_saved_text" msgid="2685605830386712477">"Atingeți pentru a vedea captura de ecran."</string>
<string name="screenshot_failed_title" msgid="705781116746922771">"Captura de ecran nu a putut fi realizată."</string>
<string name="screenshot_failed_to_save_unknown_text" msgid="7887826345701753830">"Problemă întâmpinată la salvarea capturii de ecran."</string>
diff --git a/packages/SystemUI/res/values-ro/strings_tv.xml b/packages/SystemUI/res/values-ro/strings_tv.xml
index 0287cb7..233eb3a 100644
--- a/packages/SystemUI/res/values-ro/strings_tv.xml
+++ b/packages/SystemUI/res/values-ro/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Astfel, videoclipul este afișat până când redați alt videoclip. Apăsați lung pe butonul "<b>"ACASĂ"</b>" pentru a controla funcția."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Am înțeles"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Închideți"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ru/strings_tv.xml b/packages/SystemUI/res/values-ru/strings_tv.xml
index 3c00160..d60a114 100644
--- a/packages/SystemUI/res/values-ru/strings_tv.xml
+++ b/packages/SystemUI/res/values-ru/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Позволяет смотреть одно видео в другом. Для управления нажмите и удерживайте клавишу "<b>"HOME"</b>"."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"ОК"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Закрыть"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-si-rLK/strings_tv.xml b/packages/SystemUI/res/values-si-rLK/strings_tv.xml
index 7c3d4fc..7fd7641 100644
--- a/packages/SystemUI/res/values-si-rLK/strings_tv.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"මෙය ඔබේ වීඩියෝව ඔබ වෙනත් එකක් ධාවනය කරන තෙක් දසුනෙහි තබා ගනියි. එය පාලනය කිරීමට "<b>"මුල් පිටුව"</b>" ඔබා අල්ලාගෙන සිටින්න."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"හරි, තේරුණා"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"අස් කරන්න"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-sk/strings_tv.xml b/packages/SystemUI/res/values-sk/strings_tv.xml
index f4e781a..2972862 100644
--- a/packages/SystemUI/res/values-sk/strings_tv.xml
+++ b/packages/SystemUI/res/values-sk/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Táto možnosť podrží video v obraze, dokým prehráte ďalšie. Stlačením a podržaním tlačidla "<b>"HOME"</b>" ho môžete ovládať."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Dobre"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Odmietnuť"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-sl/strings_tv.xml b/packages/SystemUI/res/values-sl/strings_tv.xml
index b29253f..72f3c0c 100644
--- a/packages/SystemUI/res/values-sl/strings_tv.xml
+++ b/packages/SystemUI/res/values-sl/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"S tem videoposnetek ostane v pogledu, dokler ne predvajate drugega. Pridržite tipko "<b>"HOME"</b>", če ga želite upravljati."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Razumem"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Opusti"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-sq-rAL/strings_tv.xml b/packages/SystemUI/res/values-sq-rAL/strings_tv.xml
index 4d9ed2b..9bfd18f 100644
--- a/packages/SystemUI/res/values-sq-rAL/strings_tv.xml
+++ b/packages/SystemUI/res/values-sq-rAL/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Kjo e mban videon të dukshme derisa të luash një tjetër. Shtyp dhe mbaj shtypur "<b>"HOME"</b>" për ta kontrolluar."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"E kuptova"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Hiqe"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-sr/strings_tv.xml b/packages/SystemUI/res/values-sr/strings_tv.xml
index f5d948d..85a21a9 100644
--- a/packages/SystemUI/res/values-sr/strings_tv.xml
+++ b/packages/SystemUI/res/values-sr/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"На овај начин ће видео бити приказан док не пустите неки други. Притисните и задржите "<b>"ПОЧЕТНА"</b>" да бисте га контролисали."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Важи"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Одбаци"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-sv/strings_tv.xml b/packages/SystemUI/res/values-sv/strings_tv.xml
index 6341d5f..4e1281b 100644
--- a/packages/SystemUI/res/values-sv/strings_tv.xml
+++ b/packages/SystemUI/res/values-sv/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Då visas videon tills du spelar upp en annan. Tryck länge på "<b>"startknappen"</b>" om du vill styra uppspelningen."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignorera"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-sw/strings_tv.xml b/packages/SystemUI/res/values-sw/strings_tv.xml
index 20e9629..02c28ae 100644
--- a/packages/SystemUI/res/values-sw/strings_tv.xml
+++ b/packages/SystemUI/res/values-sw/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Hali hii itaendelea kuonyesha video yako hadi utakapocheza video nyingine. Bonyeza na ushikilie kitufe cha "<b>"HOME"</b>" ili uidhibiti."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Nimeelewa"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Ondoa"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings_tv.xml b/packages/SystemUI/res/values-ta-rIN/strings_tv.xml
index f875a37..cf9a500 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"இது நீங்கள் அடுத்த வீடியோவை இயக்கும் வரை தற்போதுள்ள வீடியோவை வைத்திருக்கும். அதைக் கட்டுப்படுத்த, "<b>"முகப்பு"</b>" என்பதை அழுத்திப் பிடிக்கவும்."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"சரி"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"நிராகரி"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-te-rIN/strings_tv.xml b/packages/SystemUI/res/values-te-rIN/strings_tv.xml
index c48b6b9..d065cbd 100644
--- a/packages/SystemUI/res/values-te-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"ఇది మీరు మరొకటి ప్లే చేసే వరకు మీ వీడియోను వీక్షణలో ఉంచుతుంది. దాన్ని నియంత్రించడానికి "<b>"హోమ్"</b>" నొక్కి, పట్టుకోండి."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"అర్థమైంది"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"తీసివేస్తుంది"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-th/strings_tv.xml b/packages/SystemUI/res/values-th/strings_tv.xml
index 7ac4807..b6c61f1 100644
--- a/packages/SystemUI/res/values-th/strings_tv.xml
+++ b/packages/SystemUI/res/values-th/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"การตั้งค่านี้จะทำให้คุณมองเห็นวิดีโอนี้จนกว่าคุณจะเล่นวิดีโออีกรายการหนึ่ง กดปุ่ม"<b>"หน้าแรก"</b>"ค้างไว้เพื่อควบคุม"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"รับทราบ"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"ปิด"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-tl/strings_tv.xml b/packages/SystemUI/res/values-tl/strings_tv.xml
index 45fa081..83244de 100644
--- a/packages/SystemUI/res/values-tl/strings_tv.xml
+++ b/packages/SystemUI/res/values-tl/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Pinapanatili nitong nakikita ang iyong video hanggang sa mag-play ka ng iba. Pindutin nang matagal ang "<b>"HOME"</b>" upang kontrolin ito."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"I-dismiss"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-tr/strings_tv.xml b/packages/SystemUI/res/values-tr/strings_tv.xml
index 8fe5395..bcce465 100644
--- a/packages/SystemUI/res/values-tr/strings_tv.xml
+++ b/packages/SystemUI/res/values-tr/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Bu işlev, videonuzu, başka bir video oynatılıncaya kadar görünür tutar. Bu işlevi kontrol etmek için "<b>"ANA EKRAN"</b>" tuşunu basılı tutun."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Anladım"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Kapat"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-uk/strings_tv.xml b/packages/SystemUI/res/values-uk/strings_tv.xml
index 76277d6..0d5750a 100644
--- a/packages/SystemUI/res/values-uk/strings_tv.xml
+++ b/packages/SystemUI/res/values-uk/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Відео буде закріплено, доки ви не запустите інше відео. Щоб керувати, утримуйте кнопку "<b>"HOME"</b>"."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Закрити"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings_tv.xml b/packages/SystemUI/res/values-ur-rPK/strings_tv.xml
index 1844c96..b5b0b72 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings_tv.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"یہ آپ کی ویڈیو تب تک دکھاتا رہتا ہے جب تک آپ کوئی دوسری نہیں چلاتے۔ اسے کنٹرول کرنے کیلئے "<b>"ہوم"</b>" دبائیں اور پکڑے رہیں۔"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"سمجھ آ گئی"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"برخاست کریں"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings_tv.xml b/packages/SystemUI/res/values-uz-rUZ/strings_tv.xml
index 2af885e..a9cbac4 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings_tv.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Bir videoni boshqasida ko‘rish imkonini beradi. Boshqarish uchun "<b>"HOME"</b>" tugmasini bosib turing."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Yopish"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-vi/strings_tv.xml b/packages/SystemUI/res/values-vi/strings_tv.xml
index 21343be..30b1e88 100644
--- a/packages/SystemUI/res/values-vi/strings_tv.xml
+++ b/packages/SystemUI/res/values-vi/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Màn hình này sẽ giữ video của bạn ở chế độ xem cho đến khi bạn phát video khác. Nhấn và giữ "<b>"HOME"</b>" để điều khiển màn hình."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Loại bỏ"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings_tv.xml b/packages/SystemUI/res/values-zh-rCN/strings_tv.xml
index e29dec3..db9b2c8 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings_tv.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"这样会固定显示您的视频,直到您播放其他视频为止。按住"<b>"主屏幕"</b>"按钮即可控制该功能。"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"知道了"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"关闭"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings_tv.xml b/packages/SystemUI/res/values-zh-rHK/strings_tv.xml
index bc164c8..deba65b 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings_tv.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"這讓您繼續觀看影片,直至您播放下一部影片。按住"<b>"主按鈕"</b>"即可控制「畫中畫」。"</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"知道了"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"關閉"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings_tv.xml b/packages/SystemUI/res/values-zh-rTW/strings_tv.xml
index 583a6ed..890995c 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings_tv.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"您的影片會一直顯示在畫面中,直到您播放其他影片為止。按住 [HOME] (主畫面) 按鈕即可控制子母畫面。"<b></b></string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"我知道了"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"關閉"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-zu/strings_tv.xml b/packages/SystemUI/res/values-zu/strings_tv.xml
index e1d0b5b..71c2e09 100644
--- a/packages/SystemUI/res/values-zu/strings_tv.xml
+++ b/packages/SystemUI/res/values-zu/strings_tv.xml
@@ -28,4 +28,6 @@
<string name="pip_onboarding_description" msgid="4028124563309465267">"Lokhu kugcina ividiyo yakho ibonakala uze udlale enye. Cindezela futhi ubambe okuthi "<b>"EKHAYA"</b>" ukuze uyilawule."</string>
<string name="pip_onboarding_button" msgid="3957426748484904611">"Ngiyezwa"</string>
<string name="recents_tv_dismiss" msgid="3555093879593377731">"Cashisa"</string>
+ <string-array name="recents_tv_blacklist_array">
+ </string-array>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
index d68502e..79f9de6 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
@@ -88,6 +88,7 @@
mHandler = handler;
mIntent = intent;
mIntent.putExtra(TileService.EXTRA_SERVICE, service.asBinder());
+ mIntent.putExtra(TileService.EXTRA_COMPONENT, intent.getComponent());
mUser = user;
if (DEBUG) Log.d(TAG, "Creating " + mIntent + " " + mUser);
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
index d3434e5..016c4b7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
@@ -85,6 +85,7 @@
mController.addCallback(mCallback);
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
+ refreshState();
} else {
mController.removeCallback(mCallback);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index eb69f55..b50555d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -1083,8 +1083,8 @@
pkgicon = pmUser.getDefaultActivityIcon();
}
- ((ImageView) row.findViewById(R.id.app_icon)).setImageDrawable(pkgicon);
- ((TextView) row.findViewById(R.id.pkgname)).setText(appname);
+ ((ImageView) guts.findViewById(R.id.app_icon)).setImageDrawable(pkgicon);
+ ((TextView) guts.findViewById(R.id.pkgname)).setText(appname);
final View settingsButton = guts.findViewById(R.id.more_settings);
if (appUid >= 0) {
@@ -1100,8 +1100,9 @@
settingsButton.setVisibility(View.GONE);
}
- guts.bindImportance(pmUser, sbn, row, mNotificationData.getImportance(sbn.getKey()));
- row.findViewById(R.id.done).setOnClickListener(new View.OnClickListener() {
+ guts.bindImportance(pmUser, sbn, mNotificationData.getImportance(sbn.getKey()));
+
+ guts.findViewById(R.id.done).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// If the user has security enabled, show challenge if the setting is changed.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
index 5bbca15..5eef805 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
@@ -173,7 +173,7 @@
}
void bindImportance(final PackageManager pm, final StatusBarNotification sbn,
- final ExpandableNotificationRow row, final int importance) {
+ final int importance) {
mINotificationManager = INotificationManager.Stub.asInterface(
ServiceManager.getService(Context.NOTIFICATION_SERVICE));
mStartingUserImportance = NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED;
@@ -191,8 +191,8 @@
// unlikely.
}
- final View importanceSlider = row.findViewById(R.id.importance_slider);
- final View importanceButtons = row.findViewById(R.id.importance_buttons);
+ final View importanceSlider = findViewById(R.id.importance_slider);
+ final View importanceButtons = findViewById(R.id.importance_buttons);
if (mShowSlider) {
bindSlider(importanceSlider, systemApp);
importanceSlider.setVisibility(View.VISIBLE);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java b/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java
index 5fea674..6cbacea 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java
@@ -130,6 +130,28 @@
}
}
+ public void closeRemoteInputs() {
+ if (mOpen.size() == 0) {
+ return;
+ }
+
+ // Make a copy because closing the remote inputs will modify mOpen.
+ ArrayList<NotificationData.Entry> list = new ArrayList<>(mOpen.size());
+ for (int i = mOpen.size() - 1; i >= 0; i--) {
+ NotificationData.Entry item = mOpen.get(i).get();
+ if (item != null && item.row != null) {
+ list.add(item);
+ }
+ }
+
+ for (int i = list.size() - 1; i >= 0; i--) {
+ NotificationData.Entry item = list.get(i);
+ if (item.row != null) {
+ item.row.closeRemoteInput();
+ }
+ }
+ }
+
public interface Callback {
default void onRemoteInputActive(boolean active) {}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 8201b06..f7b258f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -3351,6 +3351,9 @@
String action = intent.getAction();
if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
KeyboardShortcuts.dismiss();
+ if (mRemoteInputController != null) {
+ mRemoteInputController.closeRemoteInputs();
+ }
if (isCurrentProfile(getSendingUserId())) {
int flags = CommandQueue.FLAG_EXCLUDE_NONE;
String reason = intent.getStringExtra("reason");
diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java
index 55464e4..cdd977b 100644
--- a/services/core/java/com/android/server/MountService.java
+++ b/services/core/java/com/android/server/MountService.java
@@ -827,8 +827,9 @@
if (provider != null) {
final IActivityManager am = ActivityManagerNative.getDefault();
try {
- am.killApplicationWithAppId(provider.applicationInfo.packageName,
- UserHandle.getAppId(provider.applicationInfo.uid), "vold reset");
+ am.killApplication(provider.applicationInfo.packageName,
+ UserHandle.getAppId(provider.applicationInfo.uid),
+ UserHandle.USER_ALL, "vold reset");
// We only need to run this once. It will kill all users' media processes.
break;
} catch (RemoteException e) {
diff --git a/services/core/java/com/android/server/VibratorService.java b/services/core/java/com/android/server/VibratorService.java
index 7f3eb15..ab036c7 100644
--- a/services/core/java/com/android/server/VibratorService.java
+++ b/services/core/java/com/android/server/VibratorService.java
@@ -487,7 +487,7 @@
private boolean shouldVibrateForRingtone() {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
- int ringerMode = audioManager.getRingerMode();
+ int ringerMode = audioManager.getRingerModeInternal();
// "Also vibrate for calls" Setting in Sound
if (Settings.System.getInt(
mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) != 0) {
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index d1ee634..d911f52 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -504,7 +504,10 @@
static final String[] EMPTY_STRING_ARRAY = new String[0];
// How many bytes to write into the dropbox log before truncating
- static final int DROPBOX_MAX_SIZE = 256 * 1024;
+ static final int DROPBOX_MAX_SIZE = 192 * 1024;
+ // Assumes logcat entries average around 100 bytes; that's not perfect stack traces count
+ // as one line, but close enough for now.
+ static final int RESERVED_BYTES_PER_LOGCAT_LINE = 100;
// Access modes for handleIncomingUser.
static final int ALLOW_NON_FULL = 0;
@@ -1849,13 +1852,13 @@
} break;
case KILL_APPLICATION_MSG: {
synchronized (ActivityManagerService.this) {
- int appid = msg.arg1;
- boolean restart = (msg.arg2 == 1);
+ final int appId = msg.arg1;
+ final int userId = msg.arg2;
Bundle bundle = (Bundle)msg.obj;
String pkg = bundle.getString("pkg");
String reason = bundle.getString("reason");
- forceStopPackageLocked(pkg, appid, restart, false, true, false,
- false, UserHandle.USER_ALL, reason);
+ forceStopPackageLocked(pkg, appId, false, false, true, false,
+ false, userId, reason);
}
} break;
case FINALIZE_PENDING_INTENT_MSG: {
@@ -5717,12 +5720,12 @@
* The pkg name and app id have to be specified.
*/
@Override
- public void killApplicationWithAppId(String pkg, int appid, String reason) {
+ public void killApplication(String pkg, int appId, int userId, String reason) {
if (pkg == null) {
return;
}
// Make sure the uid is valid.
- if (appid < 0) {
+ if (appId < 0) {
Slog.w(TAG, "Invalid appid specified for pkg : " + pkg);
return;
}
@@ -5731,8 +5734,8 @@
if (UserHandle.getAppId(callerUid) == Process.SYSTEM_UID) {
// Post an aysnc message to kill the application
Message msg = mHandler.obtainMessage(KILL_APPLICATION_MSG);
- msg.arg1 = appid;
- msg.arg2 = 0;
+ msg.arg1 = appId;
+ msg.arg2 = userId;
Bundle bundle = new Bundle();
bundle.putString("pkg", pkg);
bundle.putString("reason", reason);
@@ -13544,13 +13547,13 @@
* @param parent activity related to the error, null if unknown
* @param subject line related to the error, null if absent
* @param report in long form describing the error, null if absent
- * @param logFile to include in the report, null if none
+ * @param dataFile text file to include in the report, null if none
* @param crashInfo giving an application stack trace, null if absent
*/
public void addErrorToDropBox(String eventType,
ProcessRecord process, String processName, ActivityRecord activity,
ActivityRecord parent, String subject,
- final String report, final File logFile,
+ final String report, final File dataFile,
final ApplicationErrorReport.CrashInfo crashInfo) {
// NOTE -- this must never acquire the ActivityManagerService lock,
// otherwise the watchdog may be prevented from resetting the system.
@@ -13605,20 +13608,24 @@
if (report != null) {
sb.append(report);
}
- if (logFile != null) {
+
+ String setting = Settings.Global.ERROR_LOGCAT_PREFIX + dropboxTag;
+ int lines = Settings.Global.getInt(mContext.getContentResolver(), setting, 0);
+ int maxDataFileSize = DROPBOX_MAX_SIZE - sb.length()
+ - lines * RESERVED_BYTES_PER_LOGCAT_LINE;
+
+ if (dataFile != null && maxDataFileSize > 0) {
try {
- sb.append(FileUtils.readTextFile(logFile, DROPBOX_MAX_SIZE,
+ sb.append(FileUtils.readTextFile(dataFile, maxDataFileSize,
"\n\n[[TRUNCATED]]"));
} catch (IOException e) {
- Slog.e(TAG, "Error reading " + logFile, e);
+ Slog.e(TAG, "Error reading " + dataFile, e);
}
}
if (crashInfo != null && crashInfo.stackTrace != null) {
sb.append(crashInfo.stackTrace);
}
- String setting = Settings.Global.ERROR_LOGCAT_PREFIX + dropboxTag;
- int lines = Settings.Global.getInt(mContext.getContentResolver(), setting, 0);
if (lines > 0) {
sb.append("\n");
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 96513b9..0019973 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -9534,6 +9534,10 @@
}
private void killApplication(String pkgName, int appId, String reason) {
+ killApplication(pkgName, appId, UserHandle.USER_ALL, reason);
+ }
+
+ private void killApplication(String pkgName, int appId, int userId, String reason) {
// Request the ActivityManager to kill the process(only for existing packages)
// so that we do not end up in a confused state while the user is still using the older
// version of the application while the new one gets installed.
@@ -9542,7 +9546,7 @@
IActivityManager am = ActivityManagerNative.getDefault();
if (am != null) {
try {
- am.killApplicationWithAppId(pkgName, appId, reason);
+ am.killApplication(pkgName, appId, userId, reason);
} catch (RemoteException e) {
}
}
@@ -15555,10 +15559,10 @@
final PackageRemovedInfo info = new PackageRemovedInfo();
final boolean res;
- final UserHandle removeForUser = (deleteFlags & PackageManager.DELETE_ALL_USERS) != 0
- ? UserHandle.ALL : new UserHandle(userId);
+ final int removeUser = (deleteFlags & PackageManager.DELETE_ALL_USERS) != 0
+ ? UserHandle.USER_ALL : userId;
- if (isPackageDeviceAdmin(packageName, removeForUser.getIdentifier())) {
+ if (isPackageDeviceAdmin(packageName, removeUser)) {
Slog.w(TAG, "Not removing package " + packageName + ": has active device admin");
return PackageManager.DELETE_FAILED_DEVICE_POLICY_MANAGER;
}
@@ -15578,11 +15582,21 @@
info.origUsers = uninstalledPs.queryInstalledUsers(allUsers, true);
}
+ final int freezeUser;
+ if (isUpdatedSystemApp(uninstalledPs)
+ && ((deleteFlags & PackageManager.DELETE_SYSTEM_APP) == 0)) {
+ // We're downgrading a system app, which will apply to all users, so
+ // freeze them all during the downgrade
+ freezeUser = UserHandle.USER_ALL;
+ } else {
+ freezeUser = removeUser;
+ }
+
synchronized (mInstallLock) {
if (DEBUG_REMOVE) Slog.d(TAG, "deletePackageX: pkg=" + packageName + " user=" + userId);
- try (PackageFreezer freezer = freezePackageForDelete(packageName, deleteFlags,
- "deletePackageX")) {
- res = deletePackageLIF(packageName, removeForUser, true, allUsers,
+ try (PackageFreezer freezer = freezePackageForDelete(packageName, freezeUser,
+ deleteFlags, "deletePackageX")) {
+ res = deletePackageLIF(packageName, UserHandle.of(removeUser), true, allUsers,
deleteFlags | REMOVE_CHATTY, info, true, null);
}
synchronized (mPackages) {
@@ -19837,24 +19851,38 @@
}
public PackageFreezer freezePackage(String packageName, String killReason) {
- return new PackageFreezer(packageName, killReason);
+ return freezePackage(packageName, UserHandle.USER_ALL, killReason);
+ }
+
+ public PackageFreezer freezePackage(String packageName, int userId, String killReason) {
+ return new PackageFreezer(packageName, userId, killReason);
}
public PackageFreezer freezePackageForInstall(String packageName, int installFlags,
String killReason) {
+ return freezePackageForInstall(packageName, UserHandle.USER_ALL, installFlags, killReason);
+ }
+
+ public PackageFreezer freezePackageForInstall(String packageName, int userId, int installFlags,
+ String killReason) {
if ((installFlags & PackageManager.INSTALL_DONT_KILL_APP) != 0) {
return new PackageFreezer();
} else {
- return freezePackage(packageName, killReason);
+ return freezePackage(packageName, userId, killReason);
}
}
public PackageFreezer freezePackageForDelete(String packageName, int deleteFlags,
String killReason) {
+ return freezePackageForDelete(packageName, UserHandle.USER_ALL, deleteFlags, killReason);
+ }
+
+ public PackageFreezer freezePackageForDelete(String packageName, int userId, int deleteFlags,
+ String killReason) {
if ((deleteFlags & PackageManager.DELETE_DONT_KILL_APP) != 0) {
return new PackageFreezer();
} else {
- return freezePackage(packageName, killReason);
+ return freezePackage(packageName, userId, killReason);
}
}
@@ -19885,14 +19913,14 @@
mCloseGuard.open("close");
}
- public PackageFreezer(String packageName, String killReason) {
+ public PackageFreezer(String packageName, int userId, String killReason) {
synchronized (mPackages) {
mPackageName = packageName;
mWeFroze = mFrozenPackages.add(mPackageName);
final PackageSetting ps = mSettings.mPackages.get(mPackageName);
if (ps != null) {
- killApplication(ps.name, ps.appId, killReason);
+ killApplication(ps.name, ps.appId, userId, killReason);
}
final PackageParser.Package p = mPackages.get(packageName);
@@ -19901,7 +19929,7 @@
mChildren = new PackageFreezer[N];
for (int i = 0; i < N; i++) {
mChildren[i] = new PackageFreezer(p.childPackages.get(i).packageName,
- killReason);
+ userId, killReason);
}
} else {
mChildren = null;
@@ -20040,7 +20068,7 @@
seinfo = pkg.applicationInfo.seinfo;
label = String.valueOf(pm.getApplicationLabel(pkg.applicationInfo));
targetSdkVersion = pkg.applicationInfo.targetSdkVersion;
- freezer = new PackageFreezer(packageName, "movePackageInternal");
+ freezer = freezePackage(packageName, "movePackageInternal");
installedUserIds = ps.queryInstalledUsers(sUserManager.getUserIds(), true);
}