public class

VisibleItemsEvent

extends AnalyticsEvent

 java.lang.Object

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

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

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 visible items 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
publicVisibleItemsEvent(Bundle eventBundle)

Methods
public java.util.List<java.lang.String>getItemsIds()

public java.lang.StringgetNodeId()

public intgetViewAction()

public intgetViewActionMode()

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 VisibleItemsEvent(Bundle eventBundle)

Methods

public int getViewComponent()

public int getViewAction()

public int getViewActionMode()

public java.lang.String getNodeId()

public java.util.List<java.lang.String> getItemsIds()

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_ITEM_IDS;
import static androidx.car.app.mediaextensions.analytics.Constants.ANALYTICS_EVENT_DATA_KEY_PARENT_NODE_ID;
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_ACTION_MODE;
import static androidx.car.app.mediaextensions.analytics.Constants.ANALYTICS_EVENT_DATA_KEY_VIEW_COMPONENT;
import static androidx.car.app.mediaextensions.analytics.event.AnalyticsEventsUtil.viewActionModeToString;
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.Nullable;
import androidx.annotation.RestrictTo;

import java.util.List;

/** Describes a visible items event. */
public class VisibleItemsEvent extends AnalyticsEvent {

    @ViewComponent
    private final int mViewComponent;

    @ViewAction
    private final int mViewAction;

    @ViewActionMode
    private final int mViewActionMode;

    private final String mNodeId;
    @Nullable
    private final List<String> mItemsIds;

    @RestrictTo(LIBRARY)
    public VisibleItemsEvent(@NonNull Bundle eventBundle) {
        super(eventBundle, EVENT_TYPE_VISIBLE_ITEMS_EVENT);
        mViewComponent = eventBundle.getInt(ANALYTICS_EVENT_DATA_KEY_VIEW_COMPONENT);
        mViewAction = eventBundle.getInt(ANALYTICS_EVENT_DATA_KEY_VIEW_ACTION);
        mViewActionMode = eventBundle.getInt(ANALYTICS_EVENT_DATA_KEY_VIEW_ACTION_MODE);
        mNodeId = eventBundle.getString(ANALYTICS_EVENT_DATA_KEY_PARENT_NODE_ID);
        mItemsIds = eventBundle.getStringArrayList(ANALYTICS_EVENT_DATA_KEY_ITEM_IDS);
    }

    public int getViewComponent() {
        return mViewComponent;
    }

    public int getViewAction() {
        return mViewAction;
    }

    public int getViewActionMode() {
        return mViewActionMode;
    }

    @Nullable
    public String getNodeId() {
        return mNodeId;
    }

    @Nullable
    @SuppressWarnings("NullableCollection")
    public List<String> getItemsIds() {
        return mItemsIds;
    }

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