Summary: Constants | Inherited Constants | Methods | Inherited Methods | [Expand All]
public interface

# SnapshotMetadata

implements Freezable<SnapshotMetadata> Parcelable

com.google.android.gms.games.snapshot.SnapshotMetadata

Known Indirect Subclasses SnapshotMetadataEntity
SnapshotMetadataEntity | Data object representing the metadata for a saved game.

## Class Overview

Data interface for the metadata of a saved game.

## Summary

Constants
long | PLAYED_TIME_UNKNOWN | Constant indicating that the played time of a snapshot is unknown.
long | PROGRESS_VALUE_UNKNOWN | Constant indicating that the progress value of a snapshot is unknown.

[Expand] Inherited Constants
From interface android.os.Parcelable
int | CONTENTS_FILE_DESCRIPTOR |
int | PARCELABLE_WRITE_RETURN_VALUE |

Public Methods
abstract float | getCoverImageAspectRatio() Retrieves the aspect ratio of the cover image for this snapshot, if any.
abstract Uri | getCoverImageUri() Retrieves an image URI that can be used to load the snapshot's cover image.
abstract String | getDescription() Retrieves the description of this snapshot.
abstract void | getDescription(CharArrayBuffer dataOut) Loads the snapshot description into the given `CharArrayBuffer`.
abstract String | getDeviceName() Retrieves the name of the device that wrote this snapshot, if known.
abstract Game | getGame() Retrieves the game associated with this snapshot.
abstract long | getLastModifiedTimestamp() Retrieves the last time this snapshot was modified, in millis since epoch.
abstract Player | getOwner() Retrieves the player that owns this snapshot.
abstract long | getPlayedTime() Retrieves the played time of this snapshot in milliseconds.
abstract long | getProgressValue() Retrieves the progress value for this snapshot.
abstract String | getUniqueName() Retrieves the unique identifier of this snapshot.
abstract boolean | hasChangePending() Indicates whether or not this snapshot has any changes pending that have not been uploaded to the server.

[Expand] Inherited Methods
From interface com.google.android.gms.common.data.Freezable
abstract SnapshotMetadata | freeze() Freeze a volatile representation into an immutable representation.
abstract boolean | isDataValid() Check to see if this object is valid for use.
From interface android.os.Parcelable
abstract int | describeContents()
abstract void | writeToParcel(Parcel arg0, int arg1)

## Constants

#### public static final long PLAYED_TIME_UNKNOWN

Constant indicating that the played time of a snapshot is unknown.

Constant Value: -1 (0xffffffffffffffff)

#### public static final long PROGRESS_VALUE_UNKNOWN

Constant indicating that the progress value of a snapshot is unknown.

Constant Value: -1 (0xffffffffffffffff)

## Public Methods

#### public abstract float getCoverImageAspectRatio ()

Retrieves the aspect ratio of the cover image for this snapshot, if any. This is the ratio of width to height, so a value > 1.0f indicates a landscape image while a value < 1.0f indicates a portrait image. If the snapshot has no cover image, this will return 0.0f.

##### Returns

- The aspect ratio of the cover image, or 0.0f if no image is present.

#### public abstract Uri getCoverImageUri ()

Retrieves an image URI that can be used to load the snapshot's cover image. Returns null if the snapshot has no cover image.

To retrieve the Image from the `Uri`, use `ImageManager`.

##### Returns

- A URI that can be used to load this snapshot's cover image, if one is present.

#### public abstract String getDescription ()

Retrieves the description of this snapshot.

##### Returns

- The description of this snapshot.

#### public abstract void getDescription (CharArrayBuffer dataOut)

Loads the snapshot description into the given `CharArrayBuffer`.

##### Parameters

dataOut | The buffer to load the data into.

#### public abstract String getDeviceName ()

Retrieves the name of the device that wrote this snapshot, if known.

##### Returns

- The name of the device that wrote this snapshot, or null if not known.

#### public abstract Game getGame ()

Retrieves the game associated with this snapshot.

##### Returns

- The associated game.

#### public abstract long getLastModifiedTimestamp ()

Retrieves the last time this snapshot was modified, in millis since epoch.

##### Returns

- The last modification time of this snapshot.

#### public abstract Player getOwner ()

Retrieves the player that owns this snapshot.

##### Returns

- The owning player.

#### public abstract long getPlayedTime ()

Retrieves the played time of this snapshot in milliseconds. This value is specified during the update operation. If not known, returns `PLAYED_TIME_UNKNOWN`.

##### Returns

- The played time of this snapshot in milliseconds, or `PLAYED_TIME_UNKNOWN` if not known.

#### public abstract long getProgressValue ()

Retrieves the progress value for this snapshot. Can be used to provide automatic conflict resolution (see `RESOLUTION_POLICY_HIGHEST_PROGRESS`). If not known, returns `PROGRESS_VALUE_UNKNOWN`.

##### Returns

- Progress value for this snapshot, or `PROGRESS_VALUE_UNKNOWN` if not known.

#### public abstract String getUniqueName ()

Retrieves the unique identifier of this snapshot. This value can be passed to `open(GoogleApiClient, SnapshotMetadata)` to open the snapshot for modification.

This name should be unique within the scope of the application.

##### Returns

- Unique identifier of this snapshot.

#### public abstract boolean hasChangePending ()

Indicates whether or not this snapshot has any changes pending that have not been uploaded to the server. Once all changes have been flushed to the server, this will return false.

##### Returns

- Whether or not this snapshot has any outstanding changes.