public final class

ActiveTileIdentifier

extends java.lang.Object

 java.lang.Object

↳androidx.wear.tiles.ActiveTileIdentifier

Gradle dependencies

compile group: 'androidx.wear.tiles', name: 'tiles', version: '1.4.0'

  • groupId: androidx.wear.tiles
  • artifactId: tiles
  • version: 1.4.0

Artifact androidx.wear.tiles:tiles:1.4.0 it located at Google repository (https://maven.google.com/)

Overview

Tile information containing the tile instance ID and component name for identifying a tile instance.

Summary

Constructors
publicActiveTileIdentifier(ComponentName componentName, int instanceId)

Methods
public ComponentNamegetComponentName()

Component name of the tile provider.

public intgetInstanceId()

Tile ID for identifying an active tile instance.

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public ActiveTileIdentifier(ComponentName componentName, int instanceId)

Methods

public ComponentName getComponentName()

Component name of the tile provider.

public int getInstanceId()

Tile ID for identifying an active tile instance.

Source

/*
 * Copyright 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.wear.tiles;

import android.content.ComponentName;

import androidx.annotation.NonNull;

/**
 * Tile information containing the tile instance ID and component name for identifying a tile
 * instance.
 */
public final class ActiveTileIdentifier {
    private final ComponentName mComponentName;
    private final int mInstanceId;

    public ActiveTileIdentifier(@NonNull ComponentName componentName, int instanceId) {
        this.mComponentName = componentName;
        this.mInstanceId = instanceId;
    }

    /** Component name of the tile provider. */
    @NonNull
    public ComponentName getComponentName() {
        return mComponentName;
    }

    /** Tile ID for identifying an active tile instance. */
    public int getInstanceId() {
        return mInstanceId;
    }

    /**
     * Return a String that unambiguously describes both the tile id and component name contained in
     * the ActiveTileIdentifier. You can later recover the ActiveTileIdentifier from this string
     * through {@code unflattenFromString(String)}.
     *
     * @return Returns a new String holding the tile id, package and class names. This is
     *     represented as the tileId, concatenated with a ':' and then the component name flattened
     *     to string.
     */
    @NonNull
    String flattenToString() {
        return mInstanceId + ":" + mComponentName.flattenToString();
    }

    /**
     * Recover an ActiveTileIdentifier from a String that was previously created with {@code
     * flattenToString()}. It splits the string at the first ':', taking the part before as the tile
     * id and the part after as component name flattened to string.
     *
     * @param string The String that was returned by {@code flattenToString()}.
     * @return Returns a new ActiveTileIdentifier containing the tile id and component name that
     *     were encoded in {@code string}.
     */
    @NonNull
    static ActiveTileIdentifier unflattenFromString(@NonNull String string) {
        int delimiterIndex = string.indexOf(":");
        return new ActiveTileIdentifier(
                ComponentName.unflattenFromString(string.substring(delimiterIndex + 1)),
                Integer.parseInt(string.substring(0, delimiterIndex)));
    }
}