129 lines
3.3 KiB
Java
129 lines
3.3 KiB
Java
/*
|
|
* Copyright (C) 2013 Google Inc.
|
|
*
|
|
* 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 com.google.example.games.basegameutils;
|
|
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.util.Log;
|
|
|
|
import com.google.android.gms.common.api.GoogleApiClient;
|
|
|
|
public class CloudSave implements GameHelper.GameHelperListener {
|
|
|
|
// The game helper object. This class is mainly a wrapper around this object.
|
|
protected GameHelper mHelper;
|
|
|
|
// Requested clients. By default, that's just the games client.
|
|
public int mRequestedClients = GameHelper.CLIENT_SNAPSHOT;
|
|
|
|
MainActivity parent;
|
|
|
|
/** Constructs a BaseGameActivity with default client (GamesClient). */
|
|
public CloudSave(MainActivity p)
|
|
{
|
|
Log.i("SDL", "CloudSave: initializing");
|
|
parent = p;
|
|
setRequestedClients(GameHelper.CLIENT_SNAPSHOT);
|
|
getGameHelper().setup(this);
|
|
}
|
|
|
|
/**
|
|
* Sets the requested clients. The preferred way to set the requested clients is
|
|
* via the constructor, but this method is available if for some reason your code
|
|
* cannot do this in the constructor. This must be called before onCreate or getGameHelper()
|
|
* in order to have any effect. If called after onCreate()/getGameHelper(), this method
|
|
* is a no-op.
|
|
*
|
|
* @param requestedClients A combination of the flags CLIENT_GAMES, CLIENT_PLUS
|
|
* and CLIENT_APPSTATE, or CLIENT_ALL to request all available clients.
|
|
*/
|
|
public void setRequestedClients(int requestedClients) {
|
|
mRequestedClients = requestedClients;
|
|
}
|
|
|
|
public GameHelper getGameHelper() {
|
|
if (mHelper == null) {
|
|
mHelper = new GameHelper(parent, mRequestedClients);
|
|
}
|
|
return mHelper;
|
|
}
|
|
|
|
public void onStart() {
|
|
mHelper.onStart(parent);
|
|
}
|
|
|
|
public void onStop() {
|
|
mHelper.onStop();
|
|
}
|
|
|
|
public void onActivityResult(int request, int response, Intent data) {
|
|
mHelper.onActivityResult(request, response, data);
|
|
}
|
|
|
|
public void onSignInSucceeded() {
|
|
Log.i("SDL", "CloudSave: onSignInSucceeded()");
|
|
}
|
|
|
|
public void onSignInFailed() {
|
|
Log.i("SDL", "CloudSave: onSignInFailed()");
|
|
}
|
|
|
|
public GoogleApiClient getApiClient() {
|
|
return mHelper.getApiClient();
|
|
}
|
|
|
|
public boolean isSignedIn() {
|
|
return mHelper.isSignedIn();
|
|
}
|
|
|
|
public void beginUserInitiatedSignIn() {
|
|
mHelper.beginUserInitiatedSignIn();
|
|
}
|
|
|
|
public void signOut() {
|
|
mHelper.signOut();
|
|
}
|
|
|
|
public void showAlert(String message) {
|
|
mHelper.makeSimpleDialog(message).show();
|
|
}
|
|
|
|
public void showAlert(String title, String message) {
|
|
mHelper.makeSimpleDialog(title, message).show();
|
|
}
|
|
|
|
public void enableDebugLog(boolean enabled) {
|
|
mHelper.enableDebugLog(enabled);
|
|
}
|
|
|
|
public String getInvitationId() {
|
|
return mHelper.getInvitationId();
|
|
}
|
|
|
|
public void reconnectClient() {
|
|
mHelper.reconnectClient();
|
|
}
|
|
|
|
public boolean hasSignInError() {
|
|
return mHelper.hasSignInError();
|
|
}
|
|
|
|
public GameHelper.SignInFailureReason getSignInError() {
|
|
return mHelper.getSignInError();
|
|
}
|
|
}
|