diff options
246 files changed, 292 insertions, 157 deletions
diff --git a/api/current.txt b/api/current.txt index 3bd607bff472..4f12ad4ed8c8 100644 --- a/api/current.txt +++ b/api/current.txt @@ -40820,8 +40820,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } - public final class DragAndDropPermissions { + public final class DragAndDropPermissions implements android.os.Parcelable { + method public int describeContents(); method public void release(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable { diff --git a/api/system-current.txt b/api/system-current.txt index 82404073d36e..ea2707e2bd6f 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -43819,8 +43819,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } - public final class DragAndDropPermissions { + public final class DragAndDropPermissions implements android.os.Parcelable { + method public int describeContents(); method public void release(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable { diff --git a/api/test-current.txt b/api/test-current.txt index 8425e9007502..a70e9e3f7e19 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -40899,8 +40899,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } - public final class DragAndDropPermissions { + public final class DragAndDropPermissions implements android.os.Parcelable { + method public int describeContents(); method public void release(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable { diff --git a/core/java/android/security/NetworkSecurityPolicy.java b/core/java/android/security/NetworkSecurityPolicy.java index 331063e2bfac..1b1c30048ee7 100644 --- a/core/java/android/security/NetworkSecurityPolicy.java +++ b/core/java/android/security/NetworkSecurityPolicy.java @@ -17,7 +17,10 @@ package android.security; import android.annotation.TestApi; +import android.content.Context; +import android.content.pm.PackageManager; import android.security.net.config.ApplicationConfig; +import android.security.net.config.ManifestConfigSource; /** * Network security policy. @@ -98,4 +101,16 @@ public class NetworkSecurityPolicy { public void handleTrustStorageUpdate() { ApplicationConfig.getDefaultInstance().handleTrustStorageUpdate(); } + + /** + * Returns an {@link ApplicationConfig} based on the configuration for {@code packageName}. + * + * @hide + */ + public static ApplicationConfig getApplicationConfigForPackage(Context context, + String packageName) throws PackageManager.NameNotFoundException { + Context appContext = context.createPackageContext(packageName, 0); + ManifestConfigSource source = new ManifestConfigSource(appContext); + return new ApplicationConfig(source); + } } diff --git a/core/java/android/service/quicksettings/IQSService.aidl b/core/java/android/service/quicksettings/IQSService.aidl index 747f18531d3b..bf963570b040 100644 --- a/core/java/android/service/quicksettings/IQSService.aidl +++ b/core/java/android/service/quicksettings/IQSService.aidl @@ -23,6 +23,7 @@ import android.service.quicksettings.Tile; * @hide */ interface IQSService { + Tile getTile(in ComponentName component); void updateQsTile(in Tile tile); void updateStatusIcon(in Tile tile, in Icon icon, String contentDescription); diff --git a/core/java/android/service/quicksettings/TileService.java b/core/java/android/service/quicksettings/TileService.java index 67793fd041c6..55cfb49fe14e 100644 --- a/core/java/android/service/quicksettings/TileService.java +++ b/core/java/android/service/quicksettings/TileService.java @@ -123,11 +123,6 @@ public class TileService extends Service { /** * @hide */ - public static final String EXTRA_TILE = "tile"; - - /** - * @hide - */ public static final String EXTRA_COMPONENT = "android.service.quicksettings.extra.COMPONENT"; private final H mHandler = new H(Looper.getMainLooper()); @@ -315,9 +310,16 @@ public class TileService extends Service { @Override public IBinder onBind(Intent intent) { - mTile = intent.getParcelableExtra(EXTRA_TILE); mService = IQSService.Stub.asInterface(intent.getIBinderExtra(EXTRA_SERVICE)); - mTile.setService(mService); + try { + mTile = mService.getTile(new ComponentName(getPackageName(), getClass().getName())); + } catch (RemoteException e) { + throw new RuntimeException("Unable to reach IQSService", e); + } + if (mTile != null) { + mTile.setService(mService); + mHandler.sendEmptyMessage(H.MSG_START_SUCCESS); + } return new IQSTileService.Stub() { @Override public void onTileRemoved() throws RemoteException { @@ -358,6 +360,7 @@ public class TileService extends Service { private static final int MSG_TILE_REMOVED = 4; private static final int MSG_TILE_CLICKED = 5; private static final int MSG_UNLOCK_COMPLETE = 6; + private static final int MSG_START_SUCCESS = 7; public H(Looper looper) { super(looper); @@ -397,6 +400,12 @@ public class TileService extends Service { mUnlockRunnable.run(); } break; + case MSG_START_SUCCESS: + try { + mService.onStartSuccessful(mTile); + } catch (RemoteException e) { + } + break; } } } diff --git a/core/java/android/view/DragAndDropPermissions.java b/core/java/android/view/DragAndDropPermissions.java index a3dbdb16197d..71afaaa5b458 100644 --- a/core/java/android/view/DragAndDropPermissions.java +++ b/core/java/android/view/DragAndDropPermissions.java @@ -16,12 +16,14 @@ package android.view; +import android.app.Activity; import android.app.ActivityManagerNative; import android.os.IBinder; +import android.os.Parcel; +import android.os.Parcelable; import android.os.RemoteException; -import com.android.internal.view.IDragAndDropPermissions; -import dalvik.system.CloseGuard; +import com.android.internal.view.IDragAndDropPermissions; /** * {@link DragAndDropPermissions} controls the access permissions for the content URIs associated @@ -33,20 +35,27 @@ import dalvik.system.CloseGuard; * Which permissions are granted is defined by the set of flags passed to {@link * View#startDragAndDrop(android.content.ClipData, View.DragShadowBuilder, Object, int) * View.startDragAndDrop} by the app that started the drag operation. + * </p> * <p> * The life cycle of the permissions is bound to the activity used to call {@link * android.app.Activity#requestDragAndDropPermissions(DragEvent) requestDragAndDropPermissions}. The * permissions are revoked when this activity is destroyed, or when {@link #release()} is called, * whichever occurs first. + * </p> + * <p> + * If you anticipate that your application will receive a large number of drops (e.g. document + * editor), you should try to call {@link #release()} on the obtained permissions as soon as they + * are no longer required. Permissions can be added to your activity's + * {@link Activity#onSaveInstanceState} bundle and later retrieved in order to manually release + * the permissions once they are no longer needed. + * </p> */ -public final class DragAndDropPermissions { +public final class DragAndDropPermissions implements Parcelable { private final IDragAndDropPermissions mDragAndDropPermissions; private IBinder mPermissionOwnerToken; - private final CloseGuard mCloseGuard = CloseGuard.get(); - /** * Create a new {@link DragAndDropPermissions} object to control the access permissions for * content URIs associated with {@link DragEvent}. @@ -79,7 +88,6 @@ public final class DragAndDropPermissions { } catch (RemoteException e) { return false; } - mCloseGuard.open("release"); return true; } @@ -96,7 +104,6 @@ public final class DragAndDropPermissions { } catch (RemoteException e) { return false; } - mCloseGuard.open("release"); return true; } @@ -109,18 +116,34 @@ public final class DragAndDropPermissions { mPermissionOwnerToken = null; } catch (RemoteException e) { } - mCloseGuard.close(); } - @Override - protected void finalize() throws Throwable { - try { - if (mCloseGuard != null) { - mCloseGuard.warnIfOpen(); - } - release(); - } finally { - super.finalize(); + public static final Parcelable.Creator<DragAndDropPermissions> CREATOR = + new Parcelable.Creator<DragAndDropPermissions> () { + @Override + public DragAndDropPermissions createFromParcel(Parcel source) { + return new DragAndDropPermissions(source); + } + + @Override + public DragAndDropPermissions[] newArray(int size) { + return new DragAndDropPermissions[size]; } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel destination, int flags) { + destination.writeStrongInterface(mDragAndDropPermissions); + destination.writeStrongBinder(mPermissionOwnerToken); + } + + private DragAndDropPermissions(Parcel in) { + mDragAndDropPermissions = IDragAndDropPermissions.Stub.asInterface(in.readStrongBinder()); + mPermissionOwnerToken = in.readStrongBinder(); } } diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java index 3f6e625245f3..19aa1a869a5e 100644 --- a/core/java/android/widget/PopupWindow.java +++ b/core/java/android/widget/PopupWindow.java @@ -1517,13 +1517,9 @@ public class PopupWindow { anchor.getWindowVisibleDisplayFrame(displayFrame); if (width == MATCH_PARENT) { width = displayFrame.right - displayFrame.left; - } else if (width == WRAP_CONTENT) { - width = mContentView.getMeasuredWidth(); } if (height == MATCH_PARENT) { height = displayFrame.bottom - displayFrame.top; - } else if (height == WRAP_CONTENT) { - height = mContentView.getMeasuredHeight(); } // Let the window manager know to align the top to y. diff --git a/core/tests/notificationtests/src/android/app/NotificationStressTest.java b/core/tests/notificationtests/src/android/app/NotificationStressTest.java index 6e86c37f65f8..f1740148ead6 100644 --- a/core/tests/notificationtests/src/android/app/NotificationStressTest.java +++ b/core/tests/notificationtests/src/android/app/NotificationStressTest.java @@ -40,9 +40,9 @@ public class NotificationStressTest extends InstrumentationTestCase { private static final int NUM_ITERATIONS = 200; private static final int NUM_ITERATIONS_2 = 30; private static final int LONG_TIMEOUT = 2000; - // 50 notifications per app: defined as Variable MAX_PACKAGE_NOTIFICATIONS in + // 49 notifications per app: defined as Variable MAX_PACKAGE_NOTIFICATIONS in // NotificationManagerService.java - private static final int MAX_NOTIFCATIONS = 50; + private static final int MAX_NOTIFCATIONS = 49; private static final int[] ICONS = new int[] { android.R.drawable.stat_notify_call_mute, android.R.drawable.stat_notify_chat, @@ -76,9 +76,10 @@ public class NotificationStressTest extends InstrumentationTestCase { @Override protected void tearDown() throws Exception { - super.tearDown(); mDevice.unfreezeRotation(); mNotificationManager.cancelAll(); + mDevice.waitForIdle(); + super.tearDown(); } @RepetitiveTest(numIterations = NUM_ITERATIONS) @@ -97,7 +98,7 @@ public class NotificationStressTest extends InstrumentationTestCase { for (int j = 0; j < MAX_NOTIFCATIONS; j++) { sendNotification(mNotifyId++, "testNotificationStressNotify"); } - Thread.sleep(500); + Thread.sleep(LONG_TIMEOUT); assertTrue(mNotificationManager.getActiveNotifications().length == MAX_NOTIFCATIONS); for (int j = 0; j < MAX_NOTIFCATIONS; j++) { mNotificationManager.cancel(--mNotifyId); @@ -124,7 +125,8 @@ public class NotificationStressTest extends InstrumentationTestCase { .setPriority(Notification.PRIORITY_HIGH) .build(); mNotificationManager.notify(id, notification); - SystemClock.sleep(10); + //update rate limit is 50 notifications/second. + SystemClock.sleep(20); } private boolean isLockScreen() { diff --git a/docs/html-intl/intl/es/preview/images/bundles.png b/docs/html-intl/intl/es/preview/images/bundles.png Binary files differdeleted file mode 100644 index 8b022b1c20e7..000000000000 --- a/docs/html-intl/intl/es/preview/images/bundles.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/bundles_2x.png b/docs/html-intl/intl/es/preview/images/bundles_2x.png Binary files differdeleted file mode 100644 index 4669096a1c9b..000000000000 --- a/docs/html-intl/intl/es/preview/images/bundles_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/datasaver.png b/docs/html-intl/intl/es/preview/images/datasaver.png Binary files differdeleted file mode 100644 index c5a58fb1f39b..000000000000 --- a/docs/html-intl/intl/es/preview/images/datasaver.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/doze-diagram-1.png b/docs/html-intl/intl/es/preview/images/doze-diagram-1.png Binary files differdeleted file mode 100644 index 08144479f559..000000000000 --- a/docs/html-intl/intl/es/preview/images/doze-diagram-1.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/doze-diagram-2.png b/docs/html-intl/intl/es/preview/images/doze-diagram-2.png Binary files differdeleted file mode 100644 index c20c6cb2e323..000000000000 --- a/docs/html-intl/intl/es/preview/images/doze-diagram-2.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/inline-reply.png b/docs/html-intl/intl/es/preview/images/inline-reply.png Binary files differdeleted file mode 100644 index 79a1a72bb0ee..000000000000 --- a/docs/html-intl/intl/es/preview/images/inline-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/inline-reply_2x.png b/docs/html-intl/intl/es/preview/images/inline-reply_2x.png Binary files differdeleted file mode 100644 index 13c6e35bf207..000000000000 --- a/docs/html-intl/intl/es/preview/images/inline-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/inline-type-reply.png b/docs/html-intl/intl/es/preview/images/inline-type-reply.png Binary files differdeleted file mode 100644 index b22aacda02d8..000000000000 --- a/docs/html-intl/intl/es/preview/images/inline-type-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/inline-type-reply_2x.png b/docs/html-intl/intl/es/preview/images/inline-type-reply_2x.png Binary files differdeleted file mode 100644 index 6e52a802296e..000000000000 --- a/docs/html-intl/intl/es/preview/images/inline-type-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/m-preview-timeline-crop.png b/docs/html-intl/intl/es/preview/images/m-preview-timeline-crop.png Binary files differdeleted file mode 100644 index 724a6af8bc51..000000000000 --- a/docs/html-intl/intl/es/preview/images/m-preview-timeline-crop.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/m-preview-timeline.png b/docs/html-intl/intl/es/preview/images/m-preview-timeline.png Binary files differdeleted file mode 100644 index e9a339ef8276..000000000000 --- a/docs/html-intl/intl/es/preview/images/m-preview-timeline.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/mw-portrait.png b/docs/html-intl/intl/es/preview/images/mw-portrait.png Binary files differdeleted file mode 100644 index e752387f11c3..000000000000 --- a/docs/html-intl/intl/es/preview/images/mw-portrait.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/mw-splitscreen.png b/docs/html-intl/intl/es/preview/images/mw-splitscreen.png Binary files differdeleted file mode 100644 index bf719997635d..000000000000 --- a/docs/html-intl/intl/es/preview/images/mw-splitscreen.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/mw-splitscreen_2x.png b/docs/html-intl/intl/es/preview/images/mw-splitscreen_2x.png Binary files differdeleted file mode 100644 index 38114db497aa..000000000000 --- a/docs/html-intl/intl/es/preview/images/mw-splitscreen_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/n-preview-setup.png b/docs/html-intl/intl/es/preview/images/n-preview-setup.png Binary files differdeleted file mode 100644 index 612e0316bc96..000000000000 --- a/docs/html-intl/intl/es/preview/images/n-preview-setup.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/notifications-1.png b/docs/html-intl/intl/es/preview/images/notifications-1.png Binary files differdeleted file mode 100644 index 57120026a97c..000000000000 --- a/docs/html-intl/intl/es/preview/images/notifications-1.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/notifications-2.png b/docs/html-intl/intl/es/preview/images/notifications-2.png Binary files differdeleted file mode 100644 index 0d07948171ea..000000000000 --- a/docs/html-intl/intl/es/preview/images/notifications-2.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/notifications-3.png b/docs/html-intl/intl/es/preview/images/notifications-3.png Binary files differdeleted file mode 100644 index 261d01074f84..000000000000 --- a/docs/html-intl/intl/es/preview/images/notifications-3.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/notifications-card.png b/docs/html-intl/intl/es/preview/images/notifications-card.png Binary files differdeleted file mode 100644 index d9d05900e5d8..000000000000 --- a/docs/html-intl/intl/es/preview/images/notifications-card.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/pip-active.png b/docs/html-intl/intl/es/preview/images/pip-active.png Binary files differdeleted file mode 100644 index a24cb0368b7d..000000000000 --- a/docs/html-intl/intl/es/preview/images/pip-active.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/pip-button.png b/docs/html-intl/intl/es/preview/images/pip-button.png Binary files differdeleted file mode 100644 index b876b12605e1..000000000000 --- a/docs/html-intl/intl/es/preview/images/pip-button.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/quicksettings.png b/docs/html-intl/intl/es/preview/images/quicksettings.png Binary files differdeleted file mode 100644 index 68e1f740a6d2..000000000000 --- a/docs/html-intl/intl/es/preview/images/quicksettings.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/sample-activenotifications.png b/docs/html-intl/intl/es/preview/images/sample-activenotifications.png Binary files differdeleted file mode 100644 index 8817469feb9d..000000000000 --- a/docs/html-intl/intl/es/preview/images/sample-activenotifications.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/sample-directboot.png b/docs/html-intl/intl/es/preview/images/sample-directboot.png Binary files differdeleted file mode 100644 index cc409d381263..000000000000 --- a/docs/html-intl/intl/es/preview/images/sample-directboot.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/sample-messagingservice.png b/docs/html-intl/intl/es/preview/images/sample-messagingservice.png Binary files differdeleted file mode 100644 index 0d8fb3e6e10c..000000000000 --- a/docs/html-intl/intl/es/preview/images/sample-messagingservice.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/sample-multiwindow.png b/docs/html-intl/intl/es/preview/images/sample-multiwindow.png Binary files differdeleted file mode 100644 index 979bf619f5e8..000000000000 --- a/docs/html-intl/intl/es/preview/images/sample-multiwindow.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/sample-scopeddirectoryaccess.png b/docs/html-intl/intl/es/preview/images/sample-scopeddirectoryaccess.png Binary files differdeleted file mode 100644 index 58515dcac0b3..000000000000 --- a/docs/html-intl/intl/es/preview/images/sample-scopeddirectoryaccess.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/scoped-folder-access-dont-ask.png b/docs/html-intl/intl/es/preview/images/scoped-folder-access-dont-ask.png Binary files differdeleted file mode 100644 index 5c505d956f5e..000000000000 --- a/docs/html-intl/intl/es/preview/images/scoped-folder-access-dont-ask.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/scoped-folder-access-dont-ask_2x.png b/docs/html-intl/intl/es/preview/images/scoped-folder-access-dont-ask_2x.png Binary files differdeleted file mode 100644 index 612b69f8926f..000000000000 --- a/docs/html-intl/intl/es/preview/images/scoped-folder-access-dont-ask_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/scoped-folder-access-framed.png b/docs/html-intl/intl/es/preview/images/scoped-folder-access-framed.png Binary files differdeleted file mode 100644 index 0169e4196aff..000000000000 --- a/docs/html-intl/intl/es/preview/images/scoped-folder-access-framed.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/scoped-folder-access-framed_2x.png b/docs/html-intl/intl/es/preview/images/scoped-folder-access-framed_2x.png Binary files differdeleted file mode 100644 index fd59ef17d94c..000000000000 --- a/docs/html-intl/intl/es/preview/images/scoped-folder-access-framed_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/screen-zoom-1.png b/docs/html-intl/intl/es/preview/images/screen-zoom-1.png Binary files differdeleted file mode 100644 index f62d04e2a186..000000000000 --- a/docs/html-intl/intl/es/preview/images/screen-zoom-1.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/screen-zoom-2.png b/docs/html-intl/intl/es/preview/images/screen-zoom-2.png Binary files differdeleted file mode 100644 index 172b5b3dc3b2..000000000000 --- a/docs/html-intl/intl/es/preview/images/screen-zoom-2.png +++ /dev/null diff --git a/docs/html-intl/intl/es/preview/images/studio-jdk-location.jpg b/docs/html-intl/intl/es/preview/images/studio-jdk-location.jpg Binary files differdeleted file mode 100644 index 1b1ba2357726..000000000000 --- a/docs/html-intl/intl/es/preview/images/studio-jdk-location.jpg +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/bundles.png b/docs/html-intl/intl/in/preview/images/bundles.png Binary files differdeleted file mode 100644 index 8b022b1c20e7..000000000000 --- a/docs/html-intl/intl/in/preview/images/bundles.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/bundles_2x.png b/docs/html-intl/intl/in/preview/images/bundles_2x.png Binary files differdeleted file mode 100644 index 4669096a1c9b..000000000000 --- a/docs/html-intl/intl/in/preview/images/bundles_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/datasaver.png b/docs/html-intl/intl/in/preview/images/datasaver.png Binary files differdeleted file mode 100644 index c5a58fb1f39b..000000000000 --- a/docs/html-intl/intl/in/preview/images/datasaver.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/doze-diagram-1.png b/docs/html-intl/intl/in/preview/images/doze-diagram-1.png Binary files differdeleted file mode 100644 index 08144479f559..000000000000 --- a/docs/html-intl/intl/in/preview/images/doze-diagram-1.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/doze-diagram-2.png b/docs/html-intl/intl/in/preview/images/doze-diagram-2.png Binary files differdeleted file mode 100644 index c20c6cb2e323..000000000000 --- a/docs/html-intl/intl/in/preview/images/doze-diagram-2.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/inline-reply.png b/docs/html-intl/intl/in/preview/images/inline-reply.png Binary files differdeleted file mode 100644 index 79a1a72bb0ee..000000000000 --- a/docs/html-intl/intl/in/preview/images/inline-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/inline-reply_2x.png b/docs/html-intl/intl/in/preview/images/inline-reply_2x.png Binary files differdeleted file mode 100644 index 13c6e35bf207..000000000000 --- a/docs/html-intl/intl/in/preview/images/inline-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/inline-type-reply.png b/docs/html-intl/intl/in/preview/images/inline-type-reply.png Binary files differdeleted file mode 100644 index b22aacda02d8..000000000000 --- a/docs/html-intl/intl/in/preview/images/inline-type-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/inline-type-reply_2x.png b/docs/html-intl/intl/in/preview/images/inline-type-reply_2x.png Binary files differdeleted file mode 100644 index 6e52a802296e..000000000000 --- a/docs/html-intl/intl/in/preview/images/inline-type-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/m-preview-timeline-crop.png b/docs/html-intl/intl/in/preview/images/m-preview-timeline-crop.png Binary files differdeleted file mode 100644 index 724a6af8bc51..000000000000 --- a/docs/html-intl/intl/in/preview/images/m-preview-timeline-crop.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/m-preview-timeline.png b/docs/html-intl/intl/in/preview/images/m-preview-timeline.png Binary files differdeleted file mode 100644 index e9a339ef8276..000000000000 --- a/docs/html-intl/intl/in/preview/images/m-preview-timeline.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/mw-portrait.png b/docs/html-intl/intl/in/preview/images/mw-portrait.png Binary files differdeleted file mode 100644 index e752387f11c3..000000000000 --- a/docs/html-intl/intl/in/preview/images/mw-portrait.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/mw-splitscreen.png b/docs/html-intl/intl/in/preview/images/mw-splitscreen.png Binary files differdeleted file mode 100644 index bf719997635d..000000000000 --- a/docs/html-intl/intl/in/preview/images/mw-splitscreen.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/mw-splitscreen_2x.png b/docs/html-intl/intl/in/preview/images/mw-splitscreen_2x.png Binary files differdeleted file mode 100644 index 38114db497aa..000000000000 --- a/docs/html-intl/intl/in/preview/images/mw-splitscreen_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/n-preview-setup.png b/docs/html-intl/intl/in/preview/images/n-preview-setup.png Binary files differdeleted file mode 100644 index 612e0316bc96..000000000000 --- a/docs/html-intl/intl/in/preview/images/n-preview-setup.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/notifications-1.png b/docs/html-intl/intl/in/preview/images/notifications-1.png Binary files differdeleted file mode 100644 index 57120026a97c..000000000000 --- a/docs/html-intl/intl/in/preview/images/notifications-1.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/notifications-2.png b/docs/html-intl/intl/in/preview/images/notifications-2.png Binary files differdeleted file mode 100644 index 0d07948171ea..000000000000 --- a/docs/html-intl/intl/in/preview/images/notifications-2.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/notifications-3.png b/docs/html-intl/intl/in/preview/images/notifications-3.png Binary files differdeleted file mode 100644 index 261d01074f84..000000000000 --- a/docs/html-intl/intl/in/preview/images/notifications-3.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/notifications-card.png b/docs/html-intl/intl/in/preview/images/notifications-card.png Binary files differdeleted file mode 100644 index d9d05900e5d8..000000000000 --- a/docs/html-intl/intl/in/preview/images/notifications-card.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/pip-active.png b/docs/html-intl/intl/in/preview/images/pip-active.png Binary files differdeleted file mode 100644 index a24cb0368b7d..000000000000 --- a/docs/html-intl/intl/in/preview/images/pip-active.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/pip-button.png b/docs/html-intl/intl/in/preview/images/pip-button.png Binary files differdeleted file mode 100644 index b876b12605e1..000000000000 --- a/docs/html-intl/intl/in/preview/images/pip-button.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/quicksettings.png b/docs/html-intl/intl/in/preview/images/quicksettings.png Binary files differdeleted file mode 100644 index 68e1f740a6d2..000000000000 --- a/docs/html-intl/intl/in/preview/images/quicksettings.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/sample-activenotifications.png b/docs/html-intl/intl/in/preview/images/sample-activenotifications.png Binary files differdeleted file mode 100644 index 8817469feb9d..000000000000 --- a/docs/html-intl/intl/in/preview/images/sample-activenotifications.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/sample-directboot.png b/docs/html-intl/intl/in/preview/images/sample-directboot.png Binary files differdeleted file mode 100644 index cc409d381263..000000000000 --- a/docs/html-intl/intl/in/preview/images/sample-directboot.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/sample-messagingservice.png b/docs/html-intl/intl/in/preview/images/sample-messagingservice.png Binary files differdeleted file mode 100644 index 0d8fb3e6e10c..000000000000 --- a/docs/html-intl/intl/in/preview/images/sample-messagingservice.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/sample-multiwindow.png b/docs/html-intl/intl/in/preview/images/sample-multiwindow.png Binary files differdeleted file mode 100644 index 979bf619f5e8..000000000000 --- a/docs/html-intl/intl/in/preview/images/sample-multiwindow.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/sample-scopeddirectoryaccess.png b/docs/html-intl/intl/in/preview/images/sample-scopeddirectoryaccess.png Binary files differdeleted file mode 100644 index 58515dcac0b3..000000000000 --- a/docs/html-intl/intl/in/preview/images/sample-scopeddirectoryaccess.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/scoped-folder-access-dont-ask.png b/docs/html-intl/intl/in/preview/images/scoped-folder-access-dont-ask.png Binary files differdeleted file mode 100644 index 5c505d956f5e..000000000000 --- a/docs/html-intl/intl/in/preview/images/scoped-folder-access-dont-ask.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/scoped-folder-access-dont-ask_2x.png b/docs/html-intl/intl/in/preview/images/scoped-folder-access-dont-ask_2x.png Binary files differdeleted file mode 100644 index 612b69f8926f..000000000000 --- a/docs/html-intl/intl/in/preview/images/scoped-folder-access-dont-ask_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/scoped-folder-access-framed.png b/docs/html-intl/intl/in/preview/images/scoped-folder-access-framed.png Binary files differdeleted file mode 100644 index 0169e4196aff..000000000000 --- a/docs/html-intl/intl/in/preview/images/scoped-folder-access-framed.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/scoped-folder-access-framed_2x.png b/docs/html-intl/intl/in/preview/images/scoped-folder-access-framed_2x.png Binary files differdeleted file mode 100644 index fd59ef17d94c..000000000000 --- a/docs/html-intl/intl/in/preview/images/scoped-folder-access-framed_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/screen-zoom-1.png b/docs/html-intl/intl/in/preview/images/screen-zoom-1.png Binary files differdeleted file mode 100644 index f62d04e2a186..000000000000 --- a/docs/html-intl/intl/in/preview/images/screen-zoom-1.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/screen-zoom-2.png b/docs/html-intl/intl/in/preview/images/screen-zoom-2.png Binary files differdeleted file mode 100644 index 172b5b3dc3b2..000000000000 --- a/docs/html-intl/intl/in/preview/images/screen-zoom-2.png +++ /dev/null diff --git a/docs/html-intl/intl/in/preview/images/studio-jdk-location.jpg b/docs/html-intl/intl/in/preview/images/studio-jdk-location.jpg Binary files differdeleted file mode 100644 index 1b1ba2357726..000000000000 --- a/docs/html-intl/intl/in/preview/images/studio-jdk-location.jpg +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/bundles.png b/docs/html-intl/intl/ja/preview/images/bundles.png Binary files differdeleted file mode 100644 index 8b022b1c20e7..000000000000 --- a/docs/html-intl/intl/ja/preview/images/bundles.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/bundles_2x.png b/docs/html-intl/intl/ja/preview/images/bundles_2x.png Binary files differdeleted file mode 100644 index 4669096a1c9b..000000000000 --- a/docs/html-intl/intl/ja/preview/images/bundles_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/datasaver.png b/docs/html-intl/intl/ja/preview/images/datasaver.png Binary files differdeleted file mode 100644 index c5a58fb1f39b..000000000000 --- a/docs/html-intl/intl/ja/preview/images/datasaver.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/doze-diagram-1.png b/docs/html-intl/intl/ja/preview/images/doze-diagram-1.png Binary files differdeleted file mode 100644 index 08144479f559..000000000000 --- a/docs/html-intl/intl/ja/preview/images/doze-diagram-1.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/doze-diagram-2.png b/docs/html-intl/intl/ja/preview/images/doze-diagram-2.png Binary files differdeleted file mode 100644 index c20c6cb2e323..000000000000 --- a/docs/html-intl/intl/ja/preview/images/doze-diagram-2.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/inline-reply.png b/docs/html-intl/intl/ja/preview/images/inline-reply.png Binary files differdeleted file mode 100644 index 79a1a72bb0ee..000000000000 --- a/docs/html-intl/intl/ja/preview/images/inline-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/inline-reply_2x.png b/docs/html-intl/intl/ja/preview/images/inline-reply_2x.png Binary files differdeleted file mode 100644 index 13c6e35bf207..000000000000 --- a/docs/html-intl/intl/ja/preview/images/inline-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/inline-type-reply.png b/docs/html-intl/intl/ja/preview/images/inline-type-reply.png Binary files differdeleted file mode 100644 index b22aacda02d8..000000000000 --- a/docs/html-intl/intl/ja/preview/images/inline-type-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/inline-type-reply_2x.png b/docs/html-intl/intl/ja/preview/images/inline-type-reply_2x.png Binary files differdeleted file mode 100644 index 6e52a802296e..000000000000 --- a/docs/html-intl/intl/ja/preview/images/inline-type-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/m-preview-timeline-crop.png b/docs/html-intl/intl/ja/preview/images/m-preview-timeline-crop.png Binary files differdeleted file mode 100644 index 724a6af8bc51..000000000000 --- a/docs/html-intl/intl/ja/preview/images/m-preview-timeline-crop.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/m-preview-timeline.png b/docs/html-intl/intl/ja/preview/images/m-preview-timeline.png Binary files differdeleted file mode 100644 index e9a339ef8276..000000000000 --- a/docs/html-intl/intl/ja/preview/images/m-preview-timeline.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/mw-portrait.png b/docs/html-intl/intl/ja/preview/images/mw-portrait.png Binary files differdeleted file mode 100644 index e752387f11c3..000000000000 --- a/docs/html-intl/intl/ja/preview/images/mw-portrait.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/mw-splitscreen.png b/docs/html-intl/intl/ja/preview/images/mw-splitscreen.png Binary files differdeleted file mode 100644 index bf719997635d..000000000000 --- a/docs/html-intl/intl/ja/preview/images/mw-splitscreen.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/mw-splitscreen_2x.png b/docs/html-intl/intl/ja/preview/images/mw-splitscreen_2x.png Binary files differdeleted file mode 100644 index 38114db497aa..000000000000 --- a/docs/html-intl/intl/ja/preview/images/mw-splitscreen_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/n-preview-setup.png b/docs/html-intl/intl/ja/preview/images/n-preview-setup.png Binary files differdeleted file mode 100644 index 612e0316bc96..000000000000 --- a/docs/html-intl/intl/ja/preview/images/n-preview-setup.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/notifications-1.png b/docs/html-intl/intl/ja/preview/images/notifications-1.png Binary files differdeleted file mode 100644 index 57120026a97c..000000000000 --- a/docs/html-intl/intl/ja/preview/images/notifications-1.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/notifications-2.png b/docs/html-intl/intl/ja/preview/images/notifications-2.png Binary files differdeleted file mode 100644 index 0d07948171ea..000000000000 --- a/docs/html-intl/intl/ja/preview/images/notifications-2.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/notifications-3.png b/docs/html-intl/intl/ja/preview/images/notifications-3.png Binary files differdeleted file mode 100644 index 261d01074f84..000000000000 --- a/docs/html-intl/intl/ja/preview/images/notifications-3.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/notifications-card.png b/docs/html-intl/intl/ja/preview/images/notifications-card.png Binary files differdeleted file mode 100644 index d9d05900e5d8..000000000000 --- a/docs/html-intl/intl/ja/preview/images/notifications-card.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/pip-active.png b/docs/html-intl/intl/ja/preview/images/pip-active.png Binary files differdeleted file mode 100644 index a24cb0368b7d..000000000000 --- a/docs/html-intl/intl/ja/preview/images/pip-active.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/pip-button.png b/docs/html-intl/intl/ja/preview/images/pip-button.png Binary files differdeleted file mode 100644 index b876b12605e1..000000000000 --- a/docs/html-intl/intl/ja/preview/images/pip-button.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/quicksettings.png b/docs/html-intl/intl/ja/preview/images/quicksettings.png Binary files differdeleted file mode 100644 index 68e1f740a6d2..000000000000 --- a/docs/html-intl/intl/ja/preview/images/quicksettings.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/sample-activenotifications.png b/docs/html-intl/intl/ja/preview/images/sample-activenotifications.png Binary files differdeleted file mode 100644 index 8817469feb9d..000000000000 --- a/docs/html-intl/intl/ja/preview/images/sample-activenotifications.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/sample-directboot.png b/docs/html-intl/intl/ja/preview/images/sample-directboot.png Binary files differdeleted file mode 100644 index cc409d381263..000000000000 --- a/docs/html-intl/intl/ja/preview/images/sample-directboot.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/sample-messagingservice.png b/docs/html-intl/intl/ja/preview/images/sample-messagingservice.png Binary files differdeleted file mode 100644 index 0d8fb3e6e10c..000000000000 --- a/docs/html-intl/intl/ja/preview/images/sample-messagingservice.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/sample-multiwindow.png b/docs/html-intl/intl/ja/preview/images/sample-multiwindow.png Binary files differdeleted file mode 100644 index 979bf619f5e8..000000000000 --- a/docs/html-intl/intl/ja/preview/images/sample-multiwindow.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/sample-scopeddirectoryaccess.png b/docs/html-intl/intl/ja/preview/images/sample-scopeddirectoryaccess.png Binary files differdeleted file mode 100644 index 58515dcac0b3..000000000000 --- a/docs/html-intl/intl/ja/preview/images/sample-scopeddirectoryaccess.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/scoped-folder-access-dont-ask.png b/docs/html-intl/intl/ja/preview/images/scoped-folder-access-dont-ask.png Binary files differdeleted file mode 100644 index 5c505d956f5e..000000000000 --- a/docs/html-intl/intl/ja/preview/images/scoped-folder-access-dont-ask.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/scoped-folder-access-dont-ask_2x.png b/docs/html-intl/intl/ja/preview/images/scoped-folder-access-dont-ask_2x.png Binary files differdeleted file mode 100644 index 612b69f8926f..000000000000 --- a/docs/html-intl/intl/ja/preview/images/scoped-folder-access-dont-ask_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/scoped-folder-access-framed.png b/docs/html-intl/intl/ja/preview/images/scoped-folder-access-framed.png Binary files differdeleted file mode 100644 index 0169e4196aff..000000000000 --- a/docs/html-intl/intl/ja/preview/images/scoped-folder-access-framed.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/scoped-folder-access-framed_2x.png b/docs/html-intl/intl/ja/preview/images/scoped-folder-access-framed_2x.png Binary files differdeleted file mode 100644 index fd59ef17d94c..000000000000 --- a/docs/html-intl/intl/ja/preview/images/scoped-folder-access-framed_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/screen-zoom-1.png b/docs/html-intl/intl/ja/preview/images/screen-zoom-1.png Binary files differdeleted file mode 100644 index f62d04e2a186..000000000000 --- a/docs/html-intl/intl/ja/preview/images/screen-zoom-1.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/screen-zoom-2.png b/docs/html-intl/intl/ja/preview/images/screen-zoom-2.png Binary files differdeleted file mode 100644 index 172b5b3dc3b2..000000000000 --- a/docs/html-intl/intl/ja/preview/images/screen-zoom-2.png +++ /dev/null diff --git a/docs/html-intl/intl/ja/preview/images/studio-jdk-location.jpg b/docs/html-intl/intl/ja/preview/images/studio-jdk-location.jpg Binary files differdeleted file mode 100644 index 1b1ba2357726..000000000000 --- a/docs/html-intl/intl/ja/preview/images/studio-jdk-location.jpg +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/bundles.png b/docs/html-intl/intl/ko/preview/images/bundles.png Binary files differdeleted file mode 100644 index 8b022b1c20e7..000000000000 --- a/docs/html-intl/intl/ko/preview/images/bundles.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/bundles_2x.png b/docs/html-intl/intl/ko/preview/images/bundles_2x.png Binary files differdeleted file mode 100644 index 4669096a1c9b..000000000000 --- a/docs/html-intl/intl/ko/preview/images/bundles_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/datasaver.png b/docs/html-intl/intl/ko/preview/images/datasaver.png Binary files differdeleted file mode 100644 index c5a58fb1f39b..000000000000 --- a/docs/html-intl/intl/ko/preview/images/datasaver.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/doze-diagram-1.png b/docs/html-intl/intl/ko/preview/images/doze-diagram-1.png Binary files differdeleted file mode 100644 index 08144479f559..000000000000 --- a/docs/html-intl/intl/ko/preview/images/doze-diagram-1.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/doze-diagram-2.png b/docs/html-intl/intl/ko/preview/images/doze-diagram-2.png Binary files differdeleted file mode 100644 index c20c6cb2e323..000000000000 --- a/docs/html-intl/intl/ko/preview/images/doze-diagram-2.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/inline-reply.png b/docs/html-intl/intl/ko/preview/images/inline-reply.png Binary files differdeleted file mode 100644 index 79a1a72bb0ee..000000000000 --- a/docs/html-intl/intl/ko/preview/images/inline-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/inline-reply_2x.png b/docs/html-intl/intl/ko/preview/images/inline-reply_2x.png Binary files differdeleted file mode 100644 index 13c6e35bf207..000000000000 --- a/docs/html-intl/intl/ko/preview/images/inline-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/inline-type-reply.png b/docs/html-intl/intl/ko/preview/images/inline-type-reply.png Binary files differdeleted file mode 100644 index b22aacda02d8..000000000000 --- a/docs/html-intl/intl/ko/preview/images/inline-type-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/inline-type-reply_2x.png b/docs/html-intl/intl/ko/preview/images/inline-type-reply_2x.png Binary files differdeleted file mode 100644 index 6e52a802296e..000000000000 --- a/docs/html-intl/intl/ko/preview/images/inline-type-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/m-preview-timeline-crop.png b/docs/html-intl/intl/ko/preview/images/m-preview-timeline-crop.png Binary files differdeleted file mode 100644 index 724a6af8bc51..000000000000 --- a/docs/html-intl/intl/ko/preview/images/m-preview-timeline-crop.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/m-preview-timeline.png b/docs/html-intl/intl/ko/preview/images/m-preview-timeline.png Binary files differdeleted file mode 100644 index e9a339ef8276..000000000000 --- a/docs/html-intl/intl/ko/preview/images/m-preview-timeline.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/mw-portrait.png b/docs/html-intl/intl/ko/preview/images/mw-portrait.png Binary files differdeleted file mode 100644 index e752387f11c3..000000000000 --- a/docs/html-intl/intl/ko/preview/images/mw-portrait.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/mw-splitscreen.png b/docs/html-intl/intl/ko/preview/images/mw-splitscreen.png Binary files differdeleted file mode 100644 index bf719997635d..000000000000 --- a/docs/html-intl/intl/ko/preview/images/mw-splitscreen.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/mw-splitscreen_2x.png b/docs/html-intl/intl/ko/preview/images/mw-splitscreen_2x.png Binary files differdeleted file mode 100644 index 38114db497aa..000000000000 --- a/docs/html-intl/intl/ko/preview/images/mw-splitscreen_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/n-preview-setup.png b/docs/html-intl/intl/ko/preview/images/n-preview-setup.png Binary files differdeleted file mode 100644 index 612e0316bc96..000000000000 --- a/docs/html-intl/intl/ko/preview/images/n-preview-setup.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/notifications-1.png b/docs/html-intl/intl/ko/preview/images/notifications-1.png Binary files differdeleted file mode 100644 index 57120026a97c..000000000000 --- a/docs/html-intl/intl/ko/preview/images/notifications-1.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/notifications-2.png b/docs/html-intl/intl/ko/preview/images/notifications-2.png Binary files differdeleted file mode 100644 index 0d07948171ea..000000000000 --- a/docs/html-intl/intl/ko/preview/images/notifications-2.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/notifications-3.png b/docs/html-intl/intl/ko/preview/images/notifications-3.png Binary files differdeleted file mode 100644 index 261d01074f84..000000000000 --- a/docs/html-intl/intl/ko/preview/images/notifications-3.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/notifications-card.png b/docs/html-intl/intl/ko/preview/images/notifications-card.png Binary files differdeleted file mode 100644 index d9d05900e5d8..000000000000 --- a/docs/html-intl/intl/ko/preview/images/notifications-card.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/pip-active.png b/docs/html-intl/intl/ko/preview/images/pip-active.png Binary files differdeleted file mode 100644 index a24cb0368b7d..000000000000 --- a/docs/html-intl/intl/ko/preview/images/pip-active.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/pip-button.png b/docs/html-intl/intl/ko/preview/images/pip-button.png Binary files differdeleted file mode 100644 index b876b12605e1..000000000000 --- a/docs/html-intl/intl/ko/preview/images/pip-button.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/quicksettings.png b/docs/html-intl/intl/ko/preview/images/quicksettings.png Binary files differdeleted file mode 100644 index 68e1f740a6d2..000000000000 --- a/docs/html-intl/intl/ko/preview/images/quicksettings.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/sample-activenotifications.png b/docs/html-intl/intl/ko/preview/images/sample-activenotifications.png Binary files differdeleted file mode 100644 index 8817469feb9d..000000000000 --- a/docs/html-intl/intl/ko/preview/images/sample-activenotifications.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/sample-directboot.png b/docs/html-intl/intl/ko/preview/images/sample-directboot.png Binary files differdeleted file mode 100644 index cc409d381263..000000000000 --- a/docs/html-intl/intl/ko/preview/images/sample-directboot.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/sample-messagingservice.png b/docs/html-intl/intl/ko/preview/images/sample-messagingservice.png Binary files differdeleted file mode 100644 index 0d8fb3e6e10c..000000000000 --- a/docs/html-intl/intl/ko/preview/images/sample-messagingservice.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/sample-multiwindow.png b/docs/html-intl/intl/ko/preview/images/sample-multiwindow.png Binary files differdeleted file mode 100644 index 979bf619f5e8..000000000000 --- a/docs/html-intl/intl/ko/preview/images/sample-multiwindow.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/sample-scopeddirectoryaccess.png b/docs/html-intl/intl/ko/preview/images/sample-scopeddirectoryaccess.png Binary files differdeleted file mode 100644 index 58515dcac0b3..000000000000 --- a/docs/html-intl/intl/ko/preview/images/sample-scopeddirectoryaccess.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/scoped-folder-access-dont-ask.png b/docs/html-intl/intl/ko/preview/images/scoped-folder-access-dont-ask.png Binary files differdeleted file mode 100644 index 5c505d956f5e..000000000000 --- a/docs/html-intl/intl/ko/preview/images/scoped-folder-access-dont-ask.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/scoped-folder-access-dont-ask_2x.png b/docs/html-intl/intl/ko/preview/images/scoped-folder-access-dont-ask_2x.png Binary files differdeleted file mode 100644 index 612b69f8926f..000000000000 --- a/docs/html-intl/intl/ko/preview/images/scoped-folder-access-dont-ask_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/scoped-folder-access-framed.png b/docs/html-intl/intl/ko/preview/images/scoped-folder-access-framed.png Binary files differdeleted file mode 100644 index 0169e4196aff..000000000000 --- a/docs/html-intl/intl/ko/preview/images/scoped-folder-access-framed.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/scoped-folder-access-framed_2x.png b/docs/html-intl/intl/ko/preview/images/scoped-folder-access-framed_2x.png Binary files differdeleted file mode 100644 index fd59ef17d94c..000000000000 --- a/docs/html-intl/intl/ko/preview/images/scoped-folder-access-framed_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/screen-zoom-1.png b/docs/html-intl/intl/ko/preview/images/screen-zoom-1.png Binary files differdeleted file mode 100644 index f62d04e2a186..000000000000 --- a/docs/html-intl/intl/ko/preview/images/screen-zoom-1.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/screen-zoom-2.png b/docs/html-intl/intl/ko/preview/images/screen-zoom-2.png Binary files differdeleted file mode 100644 index 172b5b3dc3b2..000000000000 --- a/docs/html-intl/intl/ko/preview/images/screen-zoom-2.png +++ /dev/null diff --git a/docs/html-intl/intl/ko/preview/images/studio-jdk-location.jpg b/docs/html-intl/intl/ko/preview/images/studio-jdk-location.jpg Binary files differdeleted file mode 100644 index 1b1ba2357726..000000000000 --- a/docs/html-intl/intl/ko/preview/images/studio-jdk-location.jpg +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/bundles.png b/docs/html-intl/intl/pt-br/preview/images/bundles.png Binary files differdeleted file mode 100644 index 8b022b1c20e7..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/bundles.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/bundles_2x.png b/docs/html-intl/intl/pt-br/preview/images/bundles_2x.png Binary files differdeleted file mode 100644 index 4669096a1c9b..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/bundles_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/datasaver.png b/docs/html-intl/intl/pt-br/preview/images/datasaver.png Binary files differdeleted file mode 100644 index c5a58fb1f39b..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/datasaver.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/doze-diagram-1.png b/docs/html-intl/intl/pt-br/preview/images/doze-diagram-1.png Binary files differdeleted file mode 100644 index 08144479f559..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/doze-diagram-1.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/doze-diagram-2.png b/docs/html-intl/intl/pt-br/preview/images/doze-diagram-2.png Binary files differdeleted file mode 100644 index c20c6cb2e323..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/doze-diagram-2.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/inline-reply.png b/docs/html-intl/intl/pt-br/preview/images/inline-reply.png Binary files differdeleted file mode 100644 index 79a1a72bb0ee..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/inline-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/inline-reply_2x.png b/docs/html-intl/intl/pt-br/preview/images/inline-reply_2x.png Binary files differdeleted file mode 100644 index 13c6e35bf207..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/inline-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/inline-type-reply.png b/docs/html-intl/intl/pt-br/preview/images/inline-type-reply.png Binary files differdeleted file mode 100644 index b22aacda02d8..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/inline-type-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/inline-type-reply_2x.png b/docs/html-intl/intl/pt-br/preview/images/inline-type-reply_2x.png Binary files differdeleted file mode 100644 index 6e52a802296e..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/inline-type-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/m-preview-timeline-crop.png b/docs/html-intl/intl/pt-br/preview/images/m-preview-timeline-crop.png Binary files differdeleted file mode 100644 index 724a6af8bc51..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/m-preview-timeline-crop.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/m-preview-timeline.png b/docs/html-intl/intl/pt-br/preview/images/m-preview-timeline.png Binary files differdeleted file mode 100644 index e9a339ef8276..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/m-preview-timeline.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/mw-portrait.png b/docs/html-intl/intl/pt-br/preview/images/mw-portrait.png Binary files differdeleted file mode 100644 index e752387f11c3..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/mw-portrait.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/mw-splitscreen.png b/docs/html-intl/intl/pt-br/preview/images/mw-splitscreen.png Binary files differdeleted file mode 100644 index bf719997635d..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/mw-splitscreen.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/mw-splitscreen_2x.png b/docs/html-intl/intl/pt-br/preview/images/mw-splitscreen_2x.png Binary files differdeleted file mode 100644 index 38114db497aa..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/mw-splitscreen_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/n-preview-setup.png b/docs/html-intl/intl/pt-br/preview/images/n-preview-setup.png Binary files differdeleted file mode 100644 index 612e0316bc96..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/n-preview-setup.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/notifications-1.png b/docs/html-intl/intl/pt-br/preview/images/notifications-1.png Binary files differdeleted file mode 100644 index 57120026a97c..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/notifications-1.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/notifications-2.png b/docs/html-intl/intl/pt-br/preview/images/notifications-2.png Binary files differdeleted file mode 100644 index 0d07948171ea..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/notifications-2.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/notifications-3.png b/docs/html-intl/intl/pt-br/preview/images/notifications-3.png Binary files differdeleted file mode 100644 index 261d01074f84..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/notifications-3.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/notifications-card.png b/docs/html-intl/intl/pt-br/preview/images/notifications-card.png Binary files differdeleted file mode 100644 index d9d05900e5d8..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/notifications-card.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/pip-active.png b/docs/html-intl/intl/pt-br/preview/images/pip-active.png Binary files differdeleted file mode 100644 index a24cb0368b7d..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/pip-active.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/pip-button.png b/docs/html-intl/intl/pt-br/preview/images/pip-button.png Binary files differdeleted file mode 100644 index b876b12605e1..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/pip-button.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/quicksettings.png b/docs/html-intl/intl/pt-br/preview/images/quicksettings.png Binary files differdeleted file mode 100644 index 68e1f740a6d2..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/quicksettings.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/sample-activenotifications.png b/docs/html-intl/intl/pt-br/preview/images/sample-activenotifications.png Binary files differdeleted file mode 100644 index 8817469feb9d..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/sample-activenotifications.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/sample-directboot.png b/docs/html-intl/intl/pt-br/preview/images/sample-directboot.png Binary files differdeleted file mode 100644 index cc409d381263..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/sample-directboot.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/sample-messagingservice.png b/docs/html-intl/intl/pt-br/preview/images/sample-messagingservice.png Binary files differdeleted file mode 100644 index 0d8fb3e6e10c..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/sample-messagingservice.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/sample-multiwindow.png b/docs/html-intl/intl/pt-br/preview/images/sample-multiwindow.png Binary files differdeleted file mode 100644 index 979bf619f5e8..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/sample-multiwindow.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/sample-scopeddirectoryaccess.png b/docs/html-intl/intl/pt-br/preview/images/sample-scopeddirectoryaccess.png Binary files differdeleted file mode 100644 index 58515dcac0b3..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/sample-scopeddirectoryaccess.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-dont-ask.png b/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-dont-ask.png Binary files differdeleted file mode 100644 index 5c505d956f5e..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-dont-ask.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-dont-ask_2x.png b/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-dont-ask_2x.png Binary files differdeleted file mode 100644 index 612b69f8926f..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-dont-ask_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-framed.png b/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-framed.png Binary files differdeleted file mode 100644 index 0169e4196aff..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-framed.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-framed_2x.png b/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-framed_2x.png Binary files differdeleted file mode 100644 index fd59ef17d94c..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/scoped-folder-access-framed_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/screen-zoom-1.png b/docs/html-intl/intl/pt-br/preview/images/screen-zoom-1.png Binary files differdeleted file mode 100644 index f62d04e2a186..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/screen-zoom-1.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/screen-zoom-2.png b/docs/html-intl/intl/pt-br/preview/images/screen-zoom-2.png Binary files differdeleted file mode 100644 index 172b5b3dc3b2..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/screen-zoom-2.png +++ /dev/null diff --git a/docs/html-intl/intl/pt-br/preview/images/studio-jdk-location.jpg b/docs/html-intl/intl/pt-br/preview/images/studio-jdk-location.jpg Binary files differdeleted file mode 100644 index 1b1ba2357726..000000000000 --- a/docs/html-intl/intl/pt-br/preview/images/studio-jdk-location.jpg +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/bundles.png b/docs/html-intl/intl/zh-cn/preview/images/bundles.png Binary files differdeleted file mode 100644 index 8b022b1c20e7..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/bundles.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/bundles_2x.png b/docs/html-intl/intl/zh-cn/preview/images/bundles_2x.png Binary files differdeleted file mode 100644 index 4669096a1c9b..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/bundles_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/datasaver.png b/docs/html-intl/intl/zh-cn/preview/images/datasaver.png Binary files differdeleted file mode 100644 index c5a58fb1f39b..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/datasaver.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/doze-diagram-1.png b/docs/html-intl/intl/zh-cn/preview/images/doze-diagram-1.png Binary files differdeleted file mode 100644 index 08144479f559..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/doze-diagram-1.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/doze-diagram-2.png b/docs/html-intl/intl/zh-cn/preview/images/doze-diagram-2.png Binary files differdeleted file mode 100644 index c20c6cb2e323..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/doze-diagram-2.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/inline-reply.png b/docs/html-intl/intl/zh-cn/preview/images/inline-reply.png Binary files differdeleted file mode 100644 index 79a1a72bb0ee..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/inline-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/inline-reply_2x.png b/docs/html-intl/intl/zh-cn/preview/images/inline-reply_2x.png Binary files differdeleted file mode 100644 index 13c6e35bf207..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/inline-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/inline-type-reply.png b/docs/html-intl/intl/zh-cn/preview/images/inline-type-reply.png Binary files differdeleted file mode 100644 index b22aacda02d8..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/inline-type-reply.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/inline-type-reply_2x.png b/docs/html-intl/intl/zh-cn/preview/images/inline-type-reply_2x.png Binary files differdeleted file mode 100644 index 6e52a802296e..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/inline-type-reply_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/m-preview-timeline-crop.png b/docs/html-intl/intl/zh-cn/preview/images/m-preview-timeline-crop.png Binary files differdeleted file mode 100644 index 724a6af8bc51..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/m-preview-timeline-crop.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/m-preview-timeline.png b/docs/html-intl/intl/zh-cn/preview/images/m-preview-timeline.png Binary files differdeleted file mode 100644 index e9a339ef8276..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/m-preview-timeline.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/mw-portrait.png b/docs/html-intl/intl/zh-cn/preview/images/mw-portrait.png Binary files differdeleted file mode 100644 index e752387f11c3..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/mw-portrait.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/mw-splitscreen.png b/docs/html-intl/intl/zh-cn/preview/images/mw-splitscreen.png Binary files differdeleted file mode 100644 index bf719997635d..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/mw-splitscreen.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/mw-splitscreen_2x.png b/docs/html-intl/intl/zh-cn/preview/images/mw-splitscreen_2x.png Binary files differdeleted file mode 100644 index 38114db497aa..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/mw-splitscreen_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/n-preview-setup.png b/docs/html-intl/intl/zh-cn/preview/images/n-preview-setup.png Binary files differdeleted file mode 100644 index 612e0316bc96..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/n-preview-setup.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/notifications-1.png b/docs/html-intl/intl/zh-cn/preview/images/notifications-1.png Binary files differdeleted file mode 100644 index 57120026a97c..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/notifications-1.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/notifications-2.png b/docs/html-intl/intl/zh-cn/preview/images/notifications-2.png Binary files differdeleted file mode 100644 index 0d07948171ea..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/notifications-2.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/notifications-3.png b/docs/html-intl/intl/zh-cn/preview/images/notifications-3.png Binary files differdeleted file mode 100644 index 261d01074f84..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/notifications-3.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/notifications-card.png b/docs/html-intl/intl/zh-cn/preview/images/notifications-card.png Binary files differdeleted file mode 100644 index d9d05900e5d8..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/notifications-card.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/pip-active.png b/docs/html-intl/intl/zh-cn/preview/images/pip-active.png Binary files differdeleted file mode 100644 index a24cb0368b7d..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/pip-active.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/pip-button.png b/docs/html-intl/intl/zh-cn/preview/images/pip-button.png Binary files differdeleted file mode 100644 index b876b12605e1..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/pip-button.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/quicksettings.png b/docs/html-intl/intl/zh-cn/preview/images/quicksettings.png Binary files differdeleted file mode 100644 index 68e1f740a6d2..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/quicksettings.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/sample-activenotifications.png b/docs/html-intl/intl/zh-cn/preview/images/sample-activenotifications.png Binary files differdeleted file mode 100644 index 8817469feb9d..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/sample-activenotifications.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/sample-directboot.png b/docs/html-intl/intl/zh-cn/preview/images/sample-directboot.png Binary files differdeleted file mode 100644 index cc409d381263..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/sample-directboot.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/sample-messagingservice.png b/docs/html-intl/intl/zh-cn/preview/images/sample-messagingservice.png Binary files differdeleted file mode 100644 index 0d8fb3e6e10c..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/sample-messagingservice.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/sample-multiwindow.png b/docs/html-intl/intl/zh-cn/preview/images/sample-multiwindow.png Binary files differdeleted file mode 100644 index 979bf619f5e8..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/sample-multiwindow.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/sample-scopeddirectoryaccess.png b/docs/html-intl/intl/zh-cn/preview/images/sample-scopeddirectoryaccess.png Binary files differdeleted file mode 100644 index 58515dcac0b3..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/sample-scopeddirectoryaccess.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-dont-ask.png b/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-dont-ask.png Binary files differdeleted file mode 100644 index 5c505d956f5e..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-dont-ask.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-dont-ask_2x.png b/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-dont-ask_2x.png Binary files differdeleted file mode 100644 index 612b69f8926f..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-dont-ask_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-framed.png b/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-framed.png Binary files differdeleted file mode 100644 index 0169e4196aff..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-framed.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-framed_2x.png b/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-framed_2x.png Binary files differdeleted file mode 100644 index fd59ef17d94c..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/scoped-folder-access-framed_2x.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/screen-zoom-1.png b/docs/html-intl/intl/zh-cn/preview/images/screen-zoom-1.png Binary files differdeleted file mode 100644 index f62d04e2a186..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/screen-zoom-1.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/screen-zoom-2.png b/docs/html-intl/intl/zh-cn/preview/images/screen-zoom-2.png Binary files differdeleted file mode 100644 index 172b5b3dc3b2..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/screen-zoom-2.png +++ /dev/null diff --git a/docs/html-intl/intl/zh-cn/preview/images/studio-jdk-location.jpg b/docs/html-intl/intl/zh-cn/preview/images/studio-jdk-location.jpg Binary files differdeleted file mode 100644 index 1b1ba2357726..000000000000 --- a/docs/html-intl/intl/zh-cn/preview/images/studio-jdk-location.jpg +++ /dev/null diff --git a/docs/html/google/play/billing/billing_admin.jd b/docs/html/google/play/billing/billing_admin.jd index a1135bfbb919..05f3ad593b9d 100644 --- a/docs/html/google/play/billing/billing_admin.jd +++ b/docs/html/google/play/billing/billing_admin.jd @@ -747,6 +747,15 @@ you at the conclusion of the purchase flow, as the value of the <code>orderId</code> field of the <code>PURCHASE_STATE_CHANGED</code> intent.</p> +<p class="note"> + <strong>Note:</strong> When a user completes a test purchase, the + <code>orderId</code> field remains blank. To track test transactions, use + the <code>purchaseToken</code> field instead. For more information about + working with test purchases, see <a + href="{@docRoot}google/play/billing/billing_testing.html">Testing In-app + Billing</a>. +</p> + <p>In your app, you can use the order number as a general-purpose identifier for the in-app purchase transaction. After the purchase, you can use the order number as a means of tracking the transaction in reconciliation reports and for diff --git a/docs/html/google/play/billing/billing_testing.jd b/docs/html/google/play/billing/billing_testing.jd index 018276defb84..755f3ffd6220 100644 --- a/docs/html/google/play/billing/billing_testing.jd +++ b/docs/html/google/play/billing/billing_testing.jd @@ -79,14 +79,11 @@ launch. They let authorized user accounts make purchases of your in-app products through Google Play without incurring any actual charges to the user accounts.</p> -<p>Once authorized for testing access, those users can make purchases without -being charged. -Test purchases are real orders and Google Play processes them in the same way as -other orders. However, the <code>orderId</code> field for test purchases is -blank. -When purchases are complete, Google Play prevents the orders from -going to financial processing, ensuring that there are no actual charges to user -accounts, and automatically canceling the completed orders after 14 days.</p> +<p> + Once authorized for testing access, those users can make purchases without + being charged. The <code>orderId</code> field for test purchases remains + blank, ensuring that there are no actual charges to user accounts. +</p> <p class="note"> <strong>Note:</strong> Test subscription purchases recur daily, regardless of @@ -130,8 +127,8 @@ account. Users can confirm the account that is making a purchase by expanding th purchase dialog.</p> <p class="note"> - <strong>Note:</strong> For test subscription purchases, leave the {@code orderId} - field blank. You can use the {@code purchaseToken} field to identify test purchases. + <strong>Note:</strong> For test purchases, leave the {@code orderId} field + blank. You can use the {@code purchaseToken} field to identify test purchases. </p> @@ -150,33 +147,22 @@ with a notice across the center of the purchase dialog, for easy identification. <h4 id="cancelling">Canceling completed test purchases</h4> <p>Google Play accumulates completed test purchases for each user but does not -pass them on to financial processing. Over time, it automatically clears out -the purchases by canceling them. </p> +pass them on to financial processing.</p> <p>In some cases, you might want to manually cancel a test purchase to continue -testing. For canceling purchases, you have these options:</p> - -<ul> -<li>Wait for the transactions to expire—Google Play clears completed test -purchases 14 days after their purchase date. </li> -<li>Cancel purchases manually—you can go to the Google payments merchant -center, look up the transaction, and then cancel it. You can find transactions -by looking up their order numbers.</li> +testing. To do so, open the app page in the Play Store. If the test purchase +that you want to cancel is a subscription, you can also use the +<a href="https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/cancel"> +{@code cancel()}</a> method of the Purchases.subscriptions API. </ul> -<p> - You can cancel test subscriptions purchases from the app page in the Play Store, - or use the - <a href="https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/cancel"> - {@code cancel}</a> method. -</p> - <p class="caution"> <strong>Important:</strong> The <a href="https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/refund"> - {@code refund}</a> and + {@code refund()}</a> and <a href="https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/revoke"> - {@code revoke}</a> methods do not support test purchases. + {@code revoke()}</a> methods of the Purchases.subscriptions API don't support + test purchases. </p> diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java index 8efd5991a401..39184f1af878 100644 --- a/media/java/android/media/AudioRecord.java +++ b/media/java/android/media/AudioRecord.java @@ -467,11 +467,11 @@ public class AudioRecord implements AudioRouting * <p> * If the audio source is not set with {@link #setAudioSource(int)}, * {@link MediaRecorder.AudioSource#DEFAULT} is used. - * <br>If the audio format is not specified or is incomplete, its sample rate will be the - * default output sample rate of the device (see - * {@link AudioManager#PROPERTY_OUTPUT_SAMPLE_RATE}), its channel configuration will be + * <br>If the audio format is not specified or is incomplete, its channel configuration will be * {@link AudioFormat#CHANNEL_IN_MONO}, and the encoding will be * {@link AudioFormat#ENCODING_PCM_16BIT}. + * The sample rate will depend on the device actually selected for capture and can be queried + * with {@link #getSampleRate()} method. * <br>If the buffer size is not specified with {@link #setBufferSizeInBytes(int)}, * the minimum buffer size for the source is used. */ diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java index 9a816683f30a..12d5eade36d2 100644 --- a/media/java/android/media/AudioTrack.java +++ b/media/java/android/media/AudioTrack.java @@ -619,11 +619,11 @@ public class AudioTrack extends PlayerBase * <p> * If the audio attributes are not set with {@link #setAudioAttributes(AudioAttributes)}, * attributes comprising {@link AudioAttributes#USAGE_MEDIA} will be used. - * <br>If the audio format is not specified or is incomplete, its sample rate will be the - * default output sample rate of the device (see - * {@link AudioManager#PROPERTY_OUTPUT_SAMPLE_RATE}), its channel configuration will be + * <br>If the audio format is not specified or is incomplete, its channel configuration will be * {@link AudioFormat#CHANNEL_OUT_STEREO} and the encoding will be * {@link AudioFormat#ENCODING_PCM_16BIT}. + * The sample rate will depend on the device actually selected for playback and can be queried + * with {@link #getSampleRate()} method. * <br>If the buffer size is not specified with {@link #setBufferSizeInBytes(int)}, * and the mode is {@link AudioTrack#MODE_STREAM}, the minimum buffer size is used. * <br>If the transfer mode is not specified with {@link #setTransferMode(int)}, diff --git a/packages/CtsShim/CtsShim.apk b/packages/CtsShim/CtsShim.apk Binary files differindex 7a27a438fcc6..27289037dd8b 100644 --- a/packages/CtsShim/CtsShim.apk +++ b/packages/CtsShim/CtsShim.apk diff --git a/packages/CtsShim/CtsShimPriv.apk b/packages/CtsShim/CtsShimPriv.apk Binary files differindex 63e86883589b..9a8e75c28b05 100644 --- a/packages/CtsShim/CtsShimPriv.apk +++ b/packages/CtsShim/CtsShimPriv.apk diff --git a/packages/SystemUI/res/values/strings_tv.xml b/packages/SystemUI/res/values/strings_tv.xml index b1d23d899852..f49d2019873c 100644 --- a/packages/SystemUI/res/values/strings_tv.xml +++ b/packages/SystemUI/res/values/strings_tv.xml @@ -44,4 +44,8 @@ <string name="font_roboto_regular" translatable="false">sans-serif</string> <!-- DO NOT TRANSLATE --> <string name="font_roboto_light" translatable="false">sans-serif-light</string> + <!-- Package names to be blacklisted in Recents, add package names into overlay as needed --> + <string-array name="recents_tv_blacklist_array"> + </string-array> + </resources> diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java index 8a0079d2c537..0de1e3022b6c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java @@ -233,6 +233,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene setVisibility(View.GONE); } mNotifQsContainer.setCustomizerAnimating(false); + mRecyclerView.setAdapter(mTileAdapter); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java index f0605020c7d4..8e4ed91837a9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java @@ -112,6 +112,9 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } public void setTileSpecs(List<String> currentSpecs) { + if (currentSpecs.equals(mCurrentSpecs)) { + return; + } mCurrentSpecs = currentSpecs; recalcSpecs(); } @@ -257,7 +260,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } holder.mTileView.onStateChanged(info.state); holder.mTileView.setAppLabel(info.appLabel); - holder.mTileView.setShowAppLabel(mTileDividerIndex > -1 && position > mTileDividerIndex); + holder.mTileView.setShowAppLabel(position > mEditIndex && !info.isSystem); if (mAccessibilityManager.isTouchExplorationEnabled()) { final boolean selectable = !mAccessibilityMoving || position < mEditIndex; @@ -292,13 +295,11 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta mTiles.remove(mEditIndex--); notifyItemRemoved(mEditIndex - 1); move(mAccessibilityFromIndex, position, v); - updateDividerLocations(); notifyDataSetChanged(); - saveSpecs(mHost); } private void showAccessibilityDialog(final int position, final View v) { - TileInfo info = mTiles.get(position); + final TileInfo info = mTiles.get(position); CharSequence[] options = new CharSequence[] { mContext.getString(R.string.accessibility_qs_edit_move_tile, info.state.label), mContext.getString(R.string.accessibility_qs_edit_remove_tile, info.state.label), @@ -310,7 +311,9 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta if (which == 0) { startAccessibleDrag(position); } else { - move(position, mEditIndex, v); + move(position, info.isSystem ? mEditIndex : mTileDividerIndex, v); + notifyItemChanged(mTileDividerIndex); + notifyDataSetChanged(); } } }).setNegativeButton(android.R.string.cancel, null) @@ -334,40 +337,12 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } private boolean move(int from, int to, View v) { - if (to >= mEditIndex) { - if (from < mEditIndex) { - // Removing a tile. - // Sort tiles into system/non-system groups. - TileInfo tile = mTiles.get(from); - if (tile.isSystem) { - if (to > mTileDividerIndex) { - to = mTileDividerIndex; - } - } else { - if (mTileDividerIndex == mTiles.size() - 1) { - notifyItemChanged(mTileDividerIndex); - } - if (to <= mTileDividerIndex) { - to = mTileDividerIndex; - } - } - } else { - if (to > mEditIndex) { - // Don't allow tiles to be dragged around when they aren't added. - to = from; - } - // Allow the case where to == mEditIndex to fall through and swap which - // side the tile is currently on. - // This lets the the cases where all tiles are on one side of the line - // work. - } + if (to == from) { + return true; } CharSequence fromLabel = mTiles.get(from).state.label; move(from, to, mTiles); updateDividerLocations(); - if (to == from) { - return true; - } CharSequence announcement; if (to >= mEditIndex) { MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_QS_EDIT_REMOVE_SPEC, @@ -427,7 +402,6 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta private <T> void move(int from, int to, List<T> list) { list.add(to, list.remove(from)); notifyItemMoved(from, to); - notifyItemChanged(to); } public class Holder extends ViewHolder { @@ -499,7 +473,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta for (int i = 0; i < childCount; i++) { final View child = parent.getChildAt(i); final ViewHolder holder = parent.getChildViewHolder(child); - if (holder.getAdapterPosition() < mEditIndex) { + if (holder.getAdapterPosition() < mEditIndex && !(child instanceof TextView)) { continue; } @@ -530,7 +504,15 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta @Override public void onSelectedChanged(ViewHolder viewHolder, int actionState) { super.onSelectedChanged(viewHolder, actionState); + if (actionState != ItemTouchHelper.ACTION_STATE_DRAG) { + viewHolder = null; + } + if (viewHolder == mCurrentDrag) return; if (mCurrentDrag != null) { + int position = mCurrentDrag.getAdapterPosition(); + TileInfo info = mTiles.get(position); + mCurrentDrag.mTileView.setShowAppLabel( + position > mEditIndex && !info.isSystem); mCurrentDrag.stopDrag(); mCurrentDrag = null; } @@ -547,6 +529,12 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } @Override + public boolean canDropOver(RecyclerView recyclerView, ViewHolder current, + ViewHolder target) { + return target.getAdapterPosition() <= mEditIndex + 1; + } + + @Override public int getMovementFlags(RecyclerView recyclerView, ViewHolder viewHolder) { if (viewHolder.getItemViewType() == TYPE_EDIT) { return makeMovementFlags(0, 0); diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java index 777ed6a41c63..1431b22b654e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java @@ -155,7 +155,7 @@ public class TileQueryHelper { addTile(spec, appLabel, state, false); continue; } - if (info.serviceInfo.icon == 0) { + if (info.serviceInfo.icon == 0 && info.serviceInfo.applicationInfo.icon == 0) { continue; } Drawable icon = info.serviceInfo.loadIcon(pm); diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java index 46e7277e36d4..d3f5d2667ebf 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java @@ -84,11 +84,13 @@ public class CustomTile extends QSTile<QSTile.State> implements TileChangeListen PackageManager pm = mContext.getPackageManager(); ServiceInfo info = pm.getServiceInfo(mComponent, PackageManager.MATCH_ENCRYPTION_AWARE_AND_UNAWARE); + int icon = info.icon != 0 ? info.icon + : info.applicationInfo.icon; // Update the icon if its not set or is the default icon. boolean updateIcon = mTile.getIcon() == null || iconEquals(mTile.getIcon(), mDefaultIcon); - mDefaultIcon = info.icon != 0 ? android.graphics.drawable.Icon - .createWithResource(mComponent.getPackageName(), info.icon) : null; + mDefaultIcon = icon != 0 ? android.graphics.drawable.Icon + .createWithResource(mComponent.getPackageName(), icon) : null; if (updateIcon) { mTile.setIcon(mDefaultIcon); } 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 dd467793d671..d68502ee956e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java @@ -88,7 +88,6 @@ public class TileLifecycleManager extends BroadcastReceiver implements mHandler = handler; mIntent = intent; mIntent.putExtra(TileService.EXTRA_SERVICE, service.asBinder()); - mIntent.putExtra(TileService.EXTRA_TILE, tile); mUser = user; if (DEBUG) Log.d(TAG, "Creating " + mIntent + " " + mUser); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java index f84c5d0bd717..6f0bed2f5445 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java @@ -263,6 +263,16 @@ public class TileServices extends IQSService.Stub { } @Override + public Tile getTile(ComponentName componentName) { + verifyCaller(componentName.getPackageName()); + CustomTile customTile = getTileForComponent(componentName); + if (customTile != null) { + return customTile.getQsTile(); + } + return null; + } + + @Override public void startUnlockAndRun(Tile tile) { ComponentName componentName = tile.getComponentName(); verifyCaller(componentName.getPackageName()); diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java index 1a944ce71796..94231c6403b0 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +++ b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java @@ -29,6 +29,7 @@ import android.app.ActivityOptions; import android.app.AppGlobals; import android.app.IActivityManager; import android.app.ITaskStackListener; +import android.app.UiModeManager; import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; @@ -38,6 +39,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -83,6 +85,7 @@ import com.android.systemui.recents.model.ThumbnailData; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Random; @@ -234,6 +237,13 @@ public class SystemServicesProxy { mDummyIcon = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); mDummyIcon.eraseColor(0xFF999999); } + + UiModeManager uiModeManager = (UiModeManager) context. + getSystemService(Context.UI_MODE_SERVICE); + if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) { + Collections.addAll(sRecentsBlacklist, + res.getStringArray(R.array.recents_tv_blacklist_array)); + } } /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 7bc4100701c7..eb69f55f0cf5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -2491,7 +2491,7 @@ public abstract class BaseStatusBar extends SystemUI implements } protected boolean shouldPeek(Entry entry, StatusBarNotification sbn) { - if (isDeviceInVrMode()) { + if (!mUseHeadsUp || isDeviceInVrMode()) { return false; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ViewTransformationHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/ViewTransformationHelper.java index f75f357421f8..1ff2b1328464 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ViewTransformationHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ViewTransformationHelper.java @@ -20,6 +20,7 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ValueAnimator; import android.util.ArrayMap; +import android.util.ArraySet; import android.view.View; import android.view.ViewGroup; @@ -194,7 +195,7 @@ public class ViewTransformationHelper implements TransformableView { for (Integer viewType : mTransformedViews.keySet()) { TransformState ownState = getCurrentState(viewType); if (ownState != null) { - ownState.setVisible(visible); + ownState.setVisible(visible, false /* force */); ownState.recycle(); } } @@ -252,6 +253,19 @@ public class ViewTransformationHelper implements TransformableView { } } + public void resetTransformedView(View view) { + TransformState state = TransformState.createFrom(view); + state.setVisible(true /* visible */, true /* force */); + state.recycle(); + } + + /** + * @return a set of all views are being transformed. + */ + public ArraySet<View> getAllTransformingViews() { + return new ArraySet<>(mTransformedViews.values()); + } + public static abstract class CustomTransformation { /** * Transform a state to the given view diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/HeaderTransformState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/HeaderTransformState.java index 8463e069abc1..9501f907e575 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/HeaderTransformState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/HeaderTransformState.java @@ -123,8 +123,9 @@ public class HeaderTransformState extends TransformState { } } - public void setVisible(boolean visible) { - super.setVisible(visible); + @Override + public void setVisible(boolean visible, boolean force) { + super.setVisible(visible, force); if (!(mTransformedView instanceof NotificationHeaderView)) { return; } @@ -132,11 +133,13 @@ public class HeaderTransformState extends TransformState { int childCount = header.getChildCount(); for (int i = 0; i < childCount; i++) { View headerChild = header.getChildAt(i); - if (headerChild.getVisibility() == View.GONE) { + if (!force && headerChild.getVisibility() == View.GONE) { continue; } headerChild.animate().cancel(); - headerChild.setVisibility(visible ? View.VISIBLE : View.INVISIBLE); + if (headerChild.getVisibility() != View.GONE) { + headerChild.setVisibility(visible ? View.VISIBLE : View.INVISIBLE); + } if (headerChild == mExpandButton) { headerChild.setAlpha(visible ? 1.0f : 0.0f); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java index 1bfbaa228532..7794d5ba9a0f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java @@ -22,18 +22,17 @@ import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Color; import android.graphics.ColorFilter; -import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import android.graphics.drawable.Drawable; import android.service.notification.StatusBarNotification; +import android.util.ArraySet; import android.view.NotificationHeaderView; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; -import com.android.systemui.Interpolators; import com.android.systemui.R; import com.android.systemui.ViewInvertHelper; import com.android.systemui.statusbar.ExpandableNotificationRow; @@ -92,12 +91,25 @@ public class NotificationHeaderViewWrapper extends NotificationViewWrapper { @Override public void notifyContentUpdated(StatusBarNotification notification) { super.notifyContentUpdated(notification); + + ArraySet<View> previousViews = mTransformationHelper.getAllTransformingViews(); + // Reinspect the notification. resolveHeaderViews(); updateInvertHelper(); updateTransformedTypes(); addRemainingTransformTypes(); updateCropToPaddingForImageViews(); + + // We need to reset all views that are no longer transforming in case a view was previously + // transformed, but now we decided to transform its container instead. + ArraySet<View> currentViews = mTransformationHelper.getAllTransformingViews(); + for (int i = 0; i < previousViews.size(); i++) { + View view = previousViews.valueAt(i); + if (!currentViews.contains(view)) { + mTransformationHelper.resetTransformedView(view); + } + } } /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/TransformState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/TransformState.java index 7d3da1b67422..f0f5c8db1821 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/TransformState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/TransformState.java @@ -301,6 +301,9 @@ public class TransformState { } public static void setClippingDeactivated(final View transformedView, boolean deactivated) { + if (!(transformedView.getParent() instanceof ViewGroup)) { + return; + } ViewGroup view = (ViewGroup) transformedView.getParent(); while (true) { ArraySet<View> clipSet = (ArraySet<View>) view.getTag(CLIP_CLIPPING_SET); @@ -456,12 +459,14 @@ public class TransformState { mTransformationEndY = UNDEFINED; } - public void setVisible(boolean visible) { - if (mTransformedView.getVisibility() == View.GONE) { + public void setVisible(boolean visible, boolean force) { + if (!force && mTransformedView.getVisibility() == View.GONE) { return; } + if (mTransformedView.getVisibility() != View.GONE) { + mTransformedView.setVisibility(visible ? View.VISIBLE : View.INVISIBLE); + } mTransformedView.animate().cancel(); - mTransformedView.setVisibility(visible ? View.VISIBLE : View.INVISIBLE); mTransformedView.setAlpha(visible ? 1.0f : 0.0f); resetTransformedView(); } 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 de5e06ced860..8201b06428e0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -1408,7 +1408,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if (shadeEntry == null) { return; } - boolean isHeadsUped = mUseHeadsUp && shouldPeek(shadeEntry); + boolean isHeadsUped = shouldPeek(shadeEntry); if (isHeadsUped) { mHeadsUpManager.showNotification(shadeEntry); // Mark as seen immediately diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java index 904134141f94..4664851053d7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java @@ -16,12 +16,14 @@ package com.android.systemui.statusbar.policy; +import android.app.ActivityManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; +import android.os.UserManager; import android.util.Log; import java.io.FileDescriptor; @@ -49,7 +51,8 @@ public class HotspotControllerImpl implements HotspotController { @Override public boolean isHotspotSupported() { return mConnectivityManager.isTetheringSupported() - && mConnectivityManager.getTetherableWifiRegexs().length != 0; + && mConnectivityManager.getTetherableWifiRegexs().length != 0 + && UserManager.get(mContext).isUserAdmin(ActivityManager.getCurrentUser()); } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java index c8c7d3d4c7cb..5eaea90479ce 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java @@ -152,8 +152,10 @@ public class StackScrollAlgorithm { float newYTranslation = state.yTranslation; float newHeight = state.height; float newNotificationEnd = newYTranslation + newHeight; - - if (newYTranslation < previousNotificationEnd) { + boolean isHeadsUp = (child instanceof ExpandableNotificationRow) + && ((ExpandableNotificationRow) child).isPinned(); + if (newYTranslation < previousNotificationEnd && ambientState.isShadeExpanded() + && !isHeadsUp) { // The previous view is overlapping on top, clip! float overlapAmount = previousNotificationEnd - newYTranslation; state.clipTopAmount = (int) overlapAmount; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java index 5bebbcadb3a3..659eaf7e209c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java @@ -225,16 +225,22 @@ public class StackStateAnimator { // start height animation if (heightChanging) { startHeightAnimation(child, viewState, duration, delay); + } else { + abortAnimation(child, TAG_ANIMATOR_HEIGHT); } // start shadow alpha animation if (shadowAlphaChanging) { startShadowAlphaAnimation(child, viewState, duration, delay); + } else { + abortAnimation(child, TAG_ANIMATOR_SHADOW_ALPHA); } // start top inset animation if (topInsetChanging) { startInsetAnimation(child, viewState, duration, delay); + } else { + abortAnimation(child, TAG_ANIMATOR_TOP_INSET); } // start dimmed animation @@ -286,16 +292,29 @@ public class StackStateAnimator { // start translationY animation if (yTranslationChanging) { startYTranslationAnimation(child, viewState, duration, delay); + } else { + abortAnimation(child, TAG_ANIMATOR_TRANSLATION_Y); } // start translationZ animation if (zTranslationChanging) { startZTranslationAnimation(child, viewState, duration, delay); + } else { + abortAnimation(child, TAG_ANIMATOR_TRANSLATION_Z); } // start alpha animation if (alphaChanging && child.getTranslationX() == 0) { startAlphaAnimation(child, viewState, duration, delay); + } else { + abortAnimation(child, TAG_ANIMATOR_ALPHA); + } + } + + private void abortAnimation(View child, int animatorTag) { + Animator previousAnimator = getChildTag(child, animatorTag); + if (previousAnimator != null) { + previousAnimator.cancel(); } } @@ -413,7 +432,8 @@ public class StackStateAnimator { animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator); animator.setDuration(newDuration); - if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) { + if (delay > 0 && (previousAnimator == null + || previousAnimator.getAnimatedFraction() == 0)) { animator.setStartDelay(delay); } animator.addListener(getGlobalAnimationFinishedListener()); @@ -472,7 +492,8 @@ public class StackStateAnimator { animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator); animator.setDuration(newDuration); - if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) { + if (delay > 0 && (previousAnimator == null + || previousAnimator.getAnimatedFraction() == 0)) { animator.setStartDelay(delay); } animator.addListener(getGlobalAnimationFinishedListener()); @@ -548,7 +569,8 @@ public class StackStateAnimator { animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator); animator.setDuration(newDuration); - if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) { + if (delay > 0 && (previousAnimator == null + || previousAnimator.getAnimatedFraction() == 0)) { animator.setStartDelay(delay); } animator.addListener(getGlobalAnimationFinishedListener()); @@ -630,7 +652,8 @@ public class StackStateAnimator { }); long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator); animator.setDuration(newDuration); - if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) { + if (delay > 0 && (previousAnimator == null + || previousAnimator.getAnimatedFraction() == 0)) { animator.setStartDelay(delay); } animator.addListener(getGlobalAnimationFinishedListener()); @@ -674,7 +697,8 @@ public class StackStateAnimator { animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator); animator.setDuration(newDuration); - if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) { + if (delay > 0 && (previousAnimator == null + || previousAnimator.getAnimatedFraction() == 0)) { animator.setStartDelay(delay); } animator.addListener(getGlobalAnimationFinishedListener()); @@ -729,7 +753,8 @@ public class StackStateAnimator { animator.setInterpolator(interpolator); long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator); animator.setDuration(newDuration); - if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) { + if (delay > 0 && (previousAnimator == null + || previousAnimator.getAnimatedFraction() == 0)) { animator.setStartDelay(delay); } animator.addListener(getGlobalAnimationFinishedListener()); diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 130fb7cf6dbb..b12972ca51f7 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -30,8 +30,6 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED; import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED; import static android.net.NetworkPolicyManager.RULE_ALLOW_ALL; import static android.net.NetworkPolicyManager.RULE_ALLOW_METERED; -import static android.net.NetworkPolicyManager.MASK_METERED_NETWORKS; -import static android.net.NetworkPolicyManager.MASK_ALL_NETWORKS; import static android.net.NetworkPolicyManager.RULE_NONE; import static android.net.NetworkPolicyManager.RULE_REJECT_ALL; import static android.net.NetworkPolicyManager.RULE_REJECT_METERED; @@ -921,7 +919,7 @@ public class ConnectivityService extends IConnectivityManager.Stub // Networks aren't blocked when ignoring blocked status if (ignoreBlocked) return false; // Networks are never blocked for system services - if (uid < Process.FIRST_APPLICATION_UID) return false; + if (isSystem(uid)) return false; final boolean networkMetered; final int uidRules; @@ -4032,12 +4030,18 @@ public class ConnectivityService extends IConnectivityManager.Stub return false; } + private boolean isSystem(int uid) { + return uid < Process.FIRST_APPLICATION_UID; + } private void enforceMeteredApnPolicy(NetworkCapabilities networkCapabilities) { + final int uid = Binder.getCallingUid(); + if (isSystem(uid)) { + return; + } // if UID is restricted, don't allow them to bring up metered APNs if (networkCapabilities.hasCapability(NET_CAPABILITY_NOT_METERED) == false) { final int uidRules; - final int uid = Binder.getCallingUid(); synchronized(mRulesLock) { uidRules = mUidRules.get(uid, RULE_ALLOW_ALL); } diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 97bfeaf14ca5..fb8f916e740e 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -3025,8 +3025,9 @@ public final class ActivityStackSupervisor implements DisplayListener { /** Checks whether the activity should be shown for current user. */ boolean okToShowLocked(ActivityRecord r) { - return r != null && (isCurrentProfileLocked(r.userId) - || (r.info.flags & FLAG_SHOW_FOR_ALL_USERS) != 0); + return r != null && ((r.info.flags & FLAG_SHOW_FOR_ALL_USERS) != 0 + || (isCurrentProfileLocked(r.userId) + && !mService.mUserController.isUserStoppingOrShuttingDownLocked(r.userId))); } final ArrayList<ActivityRecord> processStoppingActivitiesLocked(boolean remove) { diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index 4380af335581..b685dd3f6771 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -1335,6 +1335,15 @@ final class UserController { return mStartedUserArray; } + boolean isUserStoppingOrShuttingDownLocked(int userId) { + UserState state = getStartedUserStateLocked(userId); + if (state == null) { + return false; + } + return state.state == UserState.STATE_STOPPING + || state.state == UserState.STATE_SHUTDOWN; + } + boolean isUserRunningLocked(int userId, int flags) { UserState state = getStartedUserStateLocked(userId); if (state == null) { diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index 6b916be9d0fe..2fc14ecac865 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -1192,7 +1192,7 @@ public class GnssLocationProvider implements LocationProviderInterface { } if (DEBUG) Log.d(TAG, "setRequest " + mProviderRequest); - if (mProviderRequest.reportLocation && !mDisableGps) { + if (mProviderRequest.reportLocation && !mDisableGps && isEnabled()) { // update client uids updateClientUids(mWorkSource); diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 67cd7c32483b..228c015b30e8 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -1989,6 +1989,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } private void setRestrictBackgroundLocked(boolean restrictBackground) { + Slog.d(TAG, "setRestrictBackgroundLocked(): " + restrictBackground); final boolean oldRestrictBackground = mRestrictBackground; mRestrictBackground = restrictBackground; // Must whitelist foreground apps before turning data saver mode on. diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index ce94220ca1a1..73850de8681e 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -3898,7 +3898,9 @@ public class NotificationManagerService extends SystemService { @Override public void onUserSwitched(int user) { synchronized (mNotificationList) { - for (ManagedServiceInfo info : mServices) { + int i = mServices.size()-1; + while (i --> 0) { + final ManagedServiceInfo info = mServices.get(i); unregisterService(info.service, info.userid); } } diff --git a/services/core/java/com/android/server/notification/NotificationUsageStats.java b/services/core/java/com/android/server/notification/NotificationUsageStats.java index 07142f07d31b..34c52833fbfd 100644 --- a/services/core/java/com/android/server/notification/NotificationUsageStats.java +++ b/services/core/java/com/android/server/notification/NotificationUsageStats.java @@ -146,7 +146,8 @@ public class NotificationUsageStats { /** * Called when a notification has been updated. */ - public void registerUpdatedByApp(NotificationRecord notification, NotificationRecord old) { + public synchronized void registerUpdatedByApp(NotificationRecord notification, + NotificationRecord old) { notification.stats.updateFrom(old.stats); AggregatedStats[] aggregatedStatsArray = getAggregatedStatsLocked(notification); for (AggregatedStats stats : aggregatedStatsArray) { diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 12917b4a032a..2a8569480bb8 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2448,14 +2448,8 @@ public class PackageManagerService extends IPackageManager.Stub { | PackageParser.PARSE_IS_SYSTEM | PackageParser.PARSE_IS_SYSTEM_DIR, scanFlags, 0); - // Collected privileged vendor packages. - final File privilegedVendorAppDir = new File(Environment.getVendorDirectory(), "priv-app"); - scanDirLI(privilegedVendorAppDir, PackageParser.PARSE_IS_SYSTEM - | PackageParser.PARSE_IS_SYSTEM_DIR - | PackageParser.PARSE_IS_PRIVILEGED, scanFlags, 0); - // Collect all vendor packages. - File vendorAppDir = new File(Environment.getVendorDirectory(), "app"); + File vendorAppDir = new File("/vendor/app"); try { vendorAppDir = vendorAppDir.getCanonicalFile(); } catch (IOException e) { @@ -15819,10 +15813,7 @@ public class PackageManagerService extends IPackageManager.Stub { try { final String privilegedAppDir = new File(Environment.getRootDirectory(), "priv-app") .getCanonicalPath(); - final String privilegedAppVendorDir = new File(Environment.getVendorDirectory(), "priv-app") - .getCanonicalPath(); - return (path.getCanonicalPath().startsWith(privilegedAppDir) - || path.getCanonicalPath().startsWith(privilegedAppVendorDir)); + return path.getCanonicalPath().startsWith(privilegedAppDir); } catch (IOException e) { Slog.e(TAG, "Unable to access code path " + path); } diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 4c515f0fc87e..d8a1c779f77e 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -732,9 +732,9 @@ public class UserManagerService extends IUserManager.Stub { long identity = Binder.clearCallingIdentity(); try { if (enableQuietMode) { + ActivityManagerNative.getDefault().stopUser(userHandle, /* force */true, null); LocalServices.getService(ActivityManagerInternal.class) .killForegroundAppsForUser(userHandle); - ActivityManagerNative.getDefault().stopUser(userHandle, /* force */true, null); } else { ActivityManagerNative.getDefault().startUserInBackground(userHandle); } diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java index 4148cd07681f..359063c80dbf 100644 --- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java +++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java @@ -731,9 +731,7 @@ class WindowSurfacePlacer { } try { - if (task == null || task.mStack.getBoundsAnimating()) { - w.mClient.moved(left, top); - } + w.mClient.moved(left, top); } catch (RemoteException e) { } w.mMovedByResize = false; |