Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 00609ba2 authored by Xiaowen Lei's avatar Xiaowen Lei Committed by Android (Google) Code Review
Browse files

Merge "Enable configuring multiple loggable dream prefixes." into tm-qpr-dev

parents 10130ecd 9a62336d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -2491,8 +2491,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
+1 −1
Original line number Diff line number Diff line
@@ -2245,7 +2245,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" />
+1 −1
Original line number Diff line number Diff line
@@ -157,7 +157,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 =
+14 −7
Original line number Diff line number Diff line
@@ -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;
    }
}