Merge "Enable configuring multiple loggable dream prefixes." into tm-qpr-dev am: 00609ba23f

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20319123

Change-Id: I1ff981e4f4a28138ff2be1908e51129eb699ba87
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Xiaowen Lei
2022-11-03 04:56:59 +00:00
committed by Automerger Merge Worker
4 changed files with 20 additions and 11 deletions

View File

@@ -2448,8 +2448,10 @@
assistant activities (ACTIVITY_TYPE_ASSISTANT) --> assistant activities (ACTIVITY_TYPE_ASSISTANT) -->
<bool name="config_dismissDreamOnActivityStart">false</bool> <bool name="config_dismissDreamOnActivityStart">false</bool>
<!-- The prefix of dream component names that are loggable. If empty, logs "other" for all. --> <!-- The prefixes of dream component names that are loggable.
<string name="config_loggable_dream_prefix" translatable="false"></string> Matched against ComponentName#flattenToString() for dream components.
If empty, logs "other" for all. -->
<string-array name="config_loggable_dream_prefixes"></string-array>
<!-- ComponentName of a dream to show whenever the system would otherwise have <!-- ComponentName of a dream to show whenever the system would otherwise have
gone to sleep. When the PowerManager is asked to go to sleep, it will instead gone to sleep. When the PowerManager is asked to go to sleep, it will instead

View File

@@ -2234,7 +2234,7 @@
<java-symbol type="integer" name="config_dreamOverlayReconnectTimeoutMs" /> <java-symbol type="integer" name="config_dreamOverlayReconnectTimeoutMs" />
<java-symbol type="integer" name="config_dreamOverlayMaxReconnectAttempts" /> <java-symbol type="integer" name="config_dreamOverlayMaxReconnectAttempts" />
<java-symbol type="integer" name="config_minDreamOverlayDurationMs" /> <java-symbol type="integer" name="config_minDreamOverlayDurationMs" />
<java-symbol type="string" name="config_loggable_dream_prefix" /> <java-symbol type="array" name="config_loggable_dream_prefixes" />
<java-symbol type="string" name="config_dozeComponent" /> <java-symbol type="string" name="config_dozeComponent" />
<java-symbol type="string" name="enable_explore_by_touch_warning_title" /> <java-symbol type="string" name="enable_explore_by_touch_warning_title" />
<java-symbol type="string" name="enable_explore_by_touch_warning_message" /> <java-symbol type="string" name="enable_explore_by_touch_warning_message" />

View File

@@ -157,7 +157,7 @@ public final class DreamManagerService extends SystemService {
mDozeConfig = new AmbientDisplayConfiguration(mContext); mDozeConfig = new AmbientDisplayConfiguration(mContext);
mUiEventLogger = new UiEventLoggerImpl(); mUiEventLogger = new UiEventLoggerImpl();
mDreamUiEventLogger = new DreamUiEventLoggerImpl( mDreamUiEventLogger = new DreamUiEventLoggerImpl(
mContext.getResources().getString(R.string.config_loggable_dream_prefix)); mContext.getResources().getStringArray(R.array.config_loggable_dream_prefixes));
AmbientDisplayConfiguration adc = new AmbientDisplayConfiguration(mContext); AmbientDisplayConfiguration adc = new AmbientDisplayConfiguration(mContext);
mAmbientDisplayComponent = ComponentName.unflattenFromString(adc.ambientDisplayComponent()); mAmbientDisplayComponent = ComponentName.unflattenFromString(adc.ambientDisplayComponent());
mDreamsOnlyEnabledForSystemUser = mDreamsOnlyEnabledForSystemUser =

View File

@@ -26,10 +26,10 @@ import com.android.internal.util.FrameworkStatsLog;
* @hide * @hide
*/ */
public class DreamUiEventLoggerImpl implements DreamUiEventLogger { public class DreamUiEventLoggerImpl implements DreamUiEventLogger {
final String mLoggableDreamPrefix; private final String[] mLoggableDreamPrefixes;
DreamUiEventLoggerImpl(String loggableDreamPrefix) { DreamUiEventLoggerImpl(String[] loggableDreamPrefixes) {
mLoggableDreamPrefix = loggableDreamPrefix; mLoggableDreamPrefixes = loggableDreamPrefixes;
} }
@Override @Override
@@ -38,13 +38,20 @@ public class DreamUiEventLoggerImpl implements DreamUiEventLogger {
if (eventID <= 0) { if (eventID <= 0) {
return; return;
} }
final boolean isFirstPartyDream =
mLoggableDreamPrefix.isEmpty() ? false : dreamComponentName.startsWith(
mLoggableDreamPrefix);
FrameworkStatsLog.write(FrameworkStatsLog.DREAM_UI_EVENT_REPORTED, FrameworkStatsLog.write(FrameworkStatsLog.DREAM_UI_EVENT_REPORTED,
/* uid = 1 */ 0, /* uid = 1 */ 0,
/* event_id = 2 */ eventID, /* event_id = 2 */ eventID,
/* instance_id = 3 */ 0, /* instance_id = 3 */ 0,
/* dream_component_name = 4 */ isFirstPartyDream ? dreamComponentName : "other"); /* dream_component_name = 4 */
isFirstPartyDream(dreamComponentName) ? dreamComponentName : "other");
}
private boolean isFirstPartyDream(String dreamComponentName) {
for (int i = 0; i < mLoggableDreamPrefixes.length; ++i) {
if (dreamComponentName.startsWith(mLoggableDreamPrefixes[i])) {
return true;
}
}
return false;
} }
} }