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

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

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

View File

@@ -2456,8 +2456,10 @@
assistant activities (ACTIVITY_TYPE_ASSISTANT) -->
<bool name="config_dismissDreamOnActivityStart">false</bool>
<!-- The prefix of dream component names that are loggable. If empty, logs "other" for all. -->
<string name="config_loggable_dream_prefix" translatable="false"></string>
<!-- The prefixes of dream component names that are loggable.
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
gone to sleep. When the PowerManager is asked to go to sleep, it will instead

View File

@@ -2246,7 +2246,7 @@
<java-symbol type="integer" name="config_dreamOverlayReconnectTimeoutMs" />
<java-symbol type="integer" name="config_dreamOverlayMaxReconnectAttempts" />
<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="enable_explore_by_touch_warning_title" />
<java-symbol type="string" name="enable_explore_by_touch_warning_message" />

View File

@@ -211,7 +211,7 @@ public final class DreamManagerService extends SystemService {
mDozeConfig = new AmbientDisplayConfiguration(mContext);
mUiEventLogger = new UiEventLoggerImpl();
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);
mAmbientDisplayComponent = ComponentName.unflattenFromString(adc.ambientDisplayComponent());
mDreamsOnlyEnabledForSystemUser =

View File

@@ -26,10 +26,10 @@ import com.android.internal.util.FrameworkStatsLog;
* @hide
*/
public class DreamUiEventLoggerImpl implements DreamUiEventLogger {
final String mLoggableDreamPrefix;
private final String[] mLoggableDreamPrefixes;
DreamUiEventLoggerImpl(String loggableDreamPrefix) {
mLoggableDreamPrefix = loggableDreamPrefix;
DreamUiEventLoggerImpl(String[] loggableDreamPrefixes) {
mLoggableDreamPrefixes = loggableDreamPrefixes;
}
@Override
@@ -38,13 +38,20 @@ public class DreamUiEventLoggerImpl implements DreamUiEventLogger {
if (eventID <= 0) {
return;
}
final boolean isFirstPartyDream =
mLoggableDreamPrefix.isEmpty() ? false : dreamComponentName.startsWith(
mLoggableDreamPrefix);
FrameworkStatsLog.write(FrameworkStatsLog.DREAM_UI_EVENT_REPORTED,
/* uid = 1 */ 0,
/* event_id = 2 */ eventID,
/* 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;
}
}