diff --git a/packages/SystemUI/res-keyguard/values/config.xml b/packages/SystemUI/res-keyguard/values/config.xml index a25ab5109fa80..d50355140bed9 100644 --- a/packages/SystemUI/res-keyguard/values/config.xml +++ b/packages/SystemUI/res-keyguard/values/config.xml @@ -28,6 +28,8 @@ false + + true 3500 diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index cf5a4ce61ac34..0a42f9779e946 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -120,7 +120,12 @@ object Flags { resourceBooleanFlag(204, R.bool.config_enableBouncerUserSwitcher, "bouncer_user_switcher") // TODO(b/254512676): Tracking Bug - @JvmField val LOCKSCREEN_CUSTOM_CLOCKS = releasedFlag(207, "lockscreen_custom_clocks") + @JvmField + val LOCKSCREEN_CUSTOM_CLOCKS = resourceBooleanFlag( + 207, + R.bool.config_enableLockScreenCustomClocks, + "lockscreen_custom_clocks" + ) // TODO(b/275694445): Tracking Bug @JvmField diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 2a94b082a0165..51af8fb068c94 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -1501,13 +1501,17 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, notifyFinishedGoingToSleep(); if (cameraGestureTriggered) { - // Just to make sure, make sure the device is awake. mContext.getSystemService(PowerManager.class).wakeUp(SystemClock.uptimeMillis(), PowerManager.WAKE_REASON_CAMERA_LAUNCH, "com.android.systemui:CAMERA_GESTURE_PREVENT_LOCK"); setPendingLock(false); mPendingReset = false; + mPowerGestureIntercepted = true; + if (DEBUG) { + Log.d(TAG, "cameraGestureTriggered=" + cameraGestureTriggered + + ",mPowerGestureIntercepted=" + mPowerGestureIntercepted); + } } if (mPendingReset) { @@ -1706,7 +1710,13 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, mAnimatingScreenOff = false; cancelDoKeyguardLaterLocked(); cancelDoKeyguardForChildProfilesLocked(); - if (DEBUG) Log.d(TAG, "onStartedWakingUp, seq = " + mDelayedShowingSequence); + if (cameraGestureTriggered) { + mPowerGestureIntercepted = true; + } + if (DEBUG) { + Log.d(TAG, "onStartedWakingUp, seq = " + mDelayedShowingSequence + + ", mPowerGestureIntercepted = " + mPowerGestureIntercepted); + } notifyStartedWakingUp(); } mUiEventLogger.logWithInstanceIdAndPosition( @@ -1933,12 +1943,19 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, startKeyguardExitAnimation(0, 0); } + mPowerGestureIntercepted = mUpdateMonitor.isSecureCameraLaunchedOverKeyguard(); + if (mOccluded != isOccluded) { mOccluded = isOccluded; mKeyguardViewControllerLazy.get().setOccluded(isOccluded, animate && mDeviceInteractive); adjustStatusBarLocked(); } + + if (DEBUG) { + Log.d(TAG, "isOccluded=" + isOccluded + ",mPowerGestureIntercepted=" + + mPowerGestureIntercepted); + } } Trace.endSection(); } @@ -3056,6 +3073,10 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, flags |= StatusBarManager.DISABLE_RECENT; } + if (mPowerGestureIntercepted) { + flags |= StatusBarManager.DISABLE_RECENT; + } + if (DEBUG) { Log.d(TAG, "adjustStatusBarLocked: mShowing=" + mShowing + " mOccluded=" + mOccluded + " isSecure=" + isSecure() + " force=" + forceHideHomeRecentsButtons diff --git a/services/core/jni/tvinput/JTvInputHal.cpp b/services/core/jni/tvinput/JTvInputHal.cpp index c494044e8e183..a3eb3906cc653 100644 --- a/services/core/jni/tvinput/JTvInputHal.cpp +++ b/services/core/jni/tvinput/JTvInputHal.cpp @@ -418,7 +418,7 @@ JTvInputHal::TvInputCallback::TvInputCallback(JTvInputHal* hal) { ::ndk::ScopedAStatus JTvInputHal::TvInputCallback::notifyTvMessageEvent( const AidlTvMessageEvent& event) { const std::string DEVICE_ID_SUBTYPE = "device_id"; - if (sizeof(event.messages) > 0 && event.messages[0].subType == DEVICE_ID_SUBTYPE) { + if (event.messages.size() > 1 && event.messages[0].subType == DEVICE_ID_SUBTYPE) { mHal->mLooper ->sendMessage(new NotifyTvMessageHandler(mHal, TvMessageEventWrapper::createEventWrapper( diff --git a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java index 8f23ae4ff33be..4007672a0599c 100644 --- a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java +++ b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java @@ -34,6 +34,8 @@ import android.os.SystemProperties; import android.os.UpdateEngine; import android.os.UpdateEngineCallback; import android.provider.DeviceConfig; +import android.provider.Settings; +import android.provider.Settings.SettingNotFoundException; import android.util.Log; import com.android.internal.R; @@ -332,8 +334,17 @@ public final class ProfcollectForwardingService extends SystemService { Context context = getContext(); BackgroundThread.get().getThreadHandler().post(() -> { try { + int usageSetting = -1; + try { + // Get "Usage & diagnostics" checkbox status. 1 is for enabled, 0 is for + // disabled. + usageSetting = Settings.Global.getInt(context.getContentResolver(), "multi_cb"); + } catch (SettingNotFoundException e) { + Log.i(LOG_TAG, "Usage setting not found: " + e.getMessage()); + } + // Prepare profile report - String reportName = mIProfcollect.report() + ".zip"; + String reportName = mIProfcollect.report(usageSetting) + ".zip"; if (!context.getResources().getBoolean( R.bool.config_profcollectReportUploaderEnabled)) { diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index a98429ad4902f..72f2c1ddfc771 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -2539,10 +2539,14 @@ public class UsageStatsService extends SystemService implements } @Override - public void reportChooserSelection(String packageName, int userId, String contentType, - String[] annotations, String action) { + public void reportChooserSelection(@NonNull String packageName, int userId, + String contentType, String[] annotations, String action) { if (packageName == null) { - Slog.w(TAG, "Event report user selecting a null package"); + throw new IllegalArgumentException("Package selection must not be null."); + } + // Verify if this package exists before reporting an event for it. + if (mPackageManagerInternal.getPackageUid(packageName, 0, userId) < 0) { + Slog.w(TAG, "Event report user selecting an invalid package"); return; }