public class

ViewChangeEvent

extends AnalyticsEvent

 java.lang.Object

androidx.car.app.mediaextensions.analytics.event.AnalyticsEvent

↳androidx.car.app.mediaextensions.analytics.event.ViewChangeEvent

Gradle dependencies

compile group: 'androidx.car.app', name: 'app', version: '1.7.0-beta01'

  • groupId: androidx.car.app
  • artifactId: app
  • version: 1.7.0-beta01

Artifact androidx.car.app:app:1.7.0-beta01 it located at Google repository (https://maven.google.com/)

Overview

Describes a view entry or exit event.

Summary

Fields
from AnalyticsEventEVENT_TYPE_BROWSE_NODE_CHANGED_EVENT, EVENT_TYPE_ERROR_EVENT, EVENT_TYPE_MEDIA_CLICKED_EVENT, EVENT_TYPE_UNKNOWN_EVENT, EVENT_TYPE_VIEW_CHANGE_EVENT, EVENT_TYPE_VISIBLE_ITEMS_EVENT, VIEW_ACTION_HIDE, VIEW_ACTION_MODE_NONE, VIEW_ACTION_MODE_SCROLL, VIEW_ACTION_SHOW, VIEW_COMPONENT_BROWSE_ACTION_OVERFLOW, VIEW_COMPONENT_BROWSE_LIST, VIEW_COMPONENT_BROWSE_TABS, VIEW_COMPONENT_ERROR_MESSAGE, VIEW_COMPONENT_LAUNCHER, VIEW_COMPONENT_MEDIA_HOST, VIEW_COMPONENT_MINI_PLAYBACK, VIEW_COMPONENT_PLAYBACK, VIEW_COMPONENT_QUEUE_LIST, VIEW_COMPONENT_SETTINGS_VIEW, VIEW_COMPONENT_UNKNOWN_COMPONENT
Constructors
publicViewChangeEvent(Bundle eventBundle)

Methods
public intgetViewAction()

public intgetViewComponent()

public java.lang.StringtoString()

from AnalyticsEventgetAnalyticsVersion, getComponent, getEventType, getTimestampMillis
from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructors

public ViewChangeEvent(Bundle eventBundle)

Methods

public int getViewComponent()

public int getViewAction()

public java.lang.String toString()

Source

/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.car.app.mediaextensions.analytics.event;

import static androidx.annotation.RestrictTo.Scope.LIBRARY;
import static androidx.car.app.mediaextensions.analytics.Constants.ANALYTICS_EVENT_DATA_KEY_VIEW_ACTION;
import static androidx.car.app.mediaextensions.analytics.Constants.ANALYTICS_EVENT_DATA_KEY_VIEW_COMPONENT;
import static androidx.car.app.mediaextensions.analytics.event.AnalyticsEventsUtil.viewActionToString;
import static androidx.car.app.mediaextensions.analytics.event.AnalyticsEventsUtil.viewComponentToString;

import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;

/** Describes a view entry or exit event. */
public class ViewChangeEvent extends AnalyticsEvent {

    private final @ViewComponent int mViewComponent;
    private final @ViewAction int mViewAction;

    @RestrictTo(LIBRARY)
    public ViewChangeEvent(@NonNull Bundle eventBundle) {
        super(eventBundle, EVENT_TYPE_VIEW_CHANGE_EVENT);
        mViewComponent = eventBundle.getInt(ANALYTICS_EVENT_DATA_KEY_VIEW_COMPONENT);
        mViewAction = eventBundle.getInt(ANALYTICS_EVENT_DATA_KEY_VIEW_ACTION);
    }

    public int getViewComponent() {
        return mViewComponent;
    }

    @ViewAction
    public int getViewAction() {
        return mViewAction;
    }


    @Override
    @NonNull
    public String toString() {
        final StringBuilder sb = new StringBuilder("ViewChangeEvent{");
        sb.append("mViewComponent=").append(viewComponentToString(mViewComponent));
        sb.append(", mViewAction=").append(viewActionToString(mViewAction)).append('\'');
        sb.append('}');
        return sb.toString();
    }
}