Merge "Fixes import ordering."
diff --git a/api/system-current.txt b/api/system-current.txt
index 5c4efcd..fa49f07 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -7410,6 +7410,7 @@
method public default void onMovedToDisplay(int, android.content.res.Configuration);
method public abstract void onOverScrolled(int, int, boolean, boolean);
method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
+ method public default boolean onProvideContentCaptureStructure(android.view.ViewStructure, int);
method public abstract void onProvideVirtualStructure(android.view.ViewStructure);
method public abstract void onScrollChanged(int, int, int, int);
method public abstract void onSizeChanged(int, int, int, int);
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index f343a52..1093719 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -2695,6 +2695,11 @@
}
@Override
+ public boolean onProvideContentCaptureStructure(ViewStructure structure, int flags) {
+ return mProvider.getViewDelegate().onProvideContentCaptureStructure(structure, flags);
+ }
+
+ @Override
public void autofill(SparseArray<AutofillValue>values) {
mProvider.getViewDelegate().autofill(values);
}
diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java
index 00e782b..ceada07 100644
--- a/core/java/android/webkit/WebViewProvider.java
+++ b/core/java/android/webkit/WebViewProvider.java
@@ -341,6 +341,12 @@
return true; // true is the default value returned by View.isVisibleToUserForAutofill()
}
+ default boolean onProvideContentCaptureStructure(
+ @SuppressWarnings("unused") android.view.ViewStructure structure,
+ @SuppressWarnings("unused") int flags) {
+ return false; // WebView provides virtual views and is responsible to notify manager
+ }
+
public AccessibilityNodeProvider getAccessibilityNodeProvider();
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info);
diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml
index c7945bd02..84cb5f8 100644
--- a/data/etc/privapp-permissions-platform.xml
+++ b/data/etc/privapp-permissions-platform.xml
@@ -194,6 +194,8 @@
<privapp-permissions package="com.android.providers.calendar">
<permission name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
+ <permission name="android.permission.INTERACT_ACROSS_USERS" />
+ <permission name="android.permission.MANAGE_USERS" />
<permission name="android.permission.UPDATE_APP_OPS_STATS"/>
<permission name="android.permission.USE_RESERVED_DISK"/>
</privapp-permissions>
diff --git a/media/java/android/media/MediaPlayer2Impl.java b/media/java/android/media/MediaPlayer2Impl.java
index 4ac0188..9b97b10 100644
--- a/media/java/android/media/MediaPlayer2Impl.java
+++ b/media/java/android/media/MediaPlayer2Impl.java
@@ -700,7 +700,8 @@
// return true if there is a next data source, false otherwise.
// This function should be always called on |mHandlerThread|.
private boolean prepareNextDataSource() {
- if (Looper.myLooper() != mHandlerThread.getLooper()) {
+ HandlerThread handlerThread = mHandlerThread;
+ if (handlerThread != null && Looper.myLooper() != handlerThread.getLooper()) {
Log.e(TAG, "prepareNextDataSource: called on wrong looper");
}
@@ -736,7 +737,8 @@
// This function should be always called on |mHandlerThread|.
private void playNextDataSource() {
- if (Looper.myLooper() != mHandlerThread.getLooper()) {
+ HandlerThread handlerThread = mHandlerThread;
+ if (handlerThread != null && Looper.myLooper() != handlerThread.getLooper()) {
Log.e(TAG, "playNextDataSource: called on wrong looper");
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index fe1b356..3b9110d 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -1940,11 +1940,6 @@
mContext.getSystemService(Context.STATUS_BAR_SERVICE);
}
- // TODO(b/113914868): investigation log for disappearing home button
- Log.d(TAG, "adjustStatusBarLocked (b/113914868): mShowing=" + mShowing
- + " mStatusBarManager=" + mStatusBarManager + " mOccluded="
- + mOccluded + " isSecure=" + isSecure() + " force=" + forceHideHomeRecentsButtons);
-
if (mStatusBarManager == null) {
Log.w(TAG, "Could not get status bar manager");
} else {
@@ -1961,6 +1956,12 @@
+ " --> flags=0x" + Integer.toHexString(flags));
}
+ // TODO(b/113914868): investigation log for disappearing home button
+ Log.d(TAG, "adjustStatusBarLocked (b/113914868): flags=" + flags
+ + "mShowing=" + mShowing + " mStatusBarManager=" + mStatusBarManager
+ + " mOccluded=" + mOccluded + " isSecure=" + isSecure()
+ + " force=" + forceHideHomeRecentsButtons);
+
mStatusBarManager.disable(flags);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
index e03b0c1..c0d1818 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
@@ -268,6 +268,8 @@
}
public void hide(boolean destroyView) {
+ // TODO(b/113914868): investigation log for disappearing home button
+ Log.i(TAG, "KeyguardBouncer.hide (b/113914868): destroyView=" + destroyView);
if (isShowing()) {
StatsLog.write(StatsLog.KEYGUARD_BOUNCER_STATE_CHANGED,
StatsLog.KEYGUARD_BOUNCER_STATE_CHANGED__STATE__HIDDEN);
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index 10121c4..3e07ebe 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -37,6 +37,7 @@
import android.service.notification.NotificationStats;
import android.text.TextUtils;
import android.util.ArrayMap;
+import android.util.Log;
import android.util.Slog;
import com.android.internal.R;
@@ -671,6 +672,20 @@
// Ensure state for the current user is applied, even if passed a non-current user.
final int net1 = gatherDisableActionsLocked(mCurrentUserId, 1);
final int net2 = gatherDisableActionsLocked(mCurrentUserId, 2);
+
+ // TODO(b/113914868): investigation log for disappearing home button
+ if (whichFlag == 1 && pkg.contains("systemui")) {
+ String disabledData = "{ ";
+ for (int i = 0; i < mDisableRecords.size(); i++) {
+ DisableRecord tok = mDisableRecords.get(i);
+ disabledData += " ([" + i + "] " + tok + "), ";
+ }
+ disabledData += " }";
+ Log.d(TAG, "disabledlocked (b/113914868): net1=" + net1 + ", mDisabled1=" + mDisabled1
+ + ", token=" + token + ", mDisableRecords=" + mDisableRecords.size() + " => "
+ + disabledData);
+ }
+
if (net1 != mDisabled1 || net2 != mDisabled2) {
mDisabled1 = net1;
mDisabled2 = net2;
diff --git a/services/core/java/com/android/server/wm/Dimmer.java b/services/core/java/com/android/server/wm/Dimmer.java
index 3accaf8..cc14afc 100644
--- a/services/core/java/com/android/server/wm/Dimmer.java
+++ b/services/core/java/com/android/server/wm/Dimmer.java
@@ -126,9 +126,10 @@
DimState(SurfaceControl dimLayer) {
mDimLayer = dimLayer;
mDimming = true;
- mSurfaceAnimator = new SurfaceAnimator(new DimAnimatable(dimLayer), () -> {
+ final DimAnimatable dimAnimatable = new DimAnimatable(dimLayer);
+ mSurfaceAnimator = new SurfaceAnimator(dimAnimatable, () -> {
if (!mDimming) {
- mDimLayer.destroy();
+ dimAnimatable.getPendingTransaction().destroy(mDimLayer);
}
}, mHost.mService);
}
diff --git a/services/tests/servicestests/src/com/android/server/wm/DimmerTests.java b/services/tests/servicestests/src/com/android/server/wm/DimmerTests.java
index b6a7cfb..991981f 100644
--- a/services/tests/servicestests/src/com/android/server/wm/DimmerTests.java
+++ b/services/tests/servicestests/src/com/android/server/wm/DimmerTests.java
@@ -37,7 +37,7 @@
/**
* Build/Install/Run:
- * atest FrameworksServicesTests:DimmerTests;
+ * atest FrameworksServicesTests:DimmerTests
*/
@Presubmit
public class DimmerTests extends WindowTestsBase {
@@ -211,7 +211,7 @@
mDimmer.updateDims(mTransaction, new Rect());
verify(mSurfaceAnimatorStarter).startAnimation(any(SurfaceAnimator.class), any(
SurfaceControl.Transaction.class), any(AnimationAdapter.class), anyBoolean());
- verify(dimLayer).destroy();
+ verify(mHost.getPendingTransaction()).destroy(dimLayer);
}
@Test