/*
* Copyright (c) 2012. HappyDroids LLC, All rights reserved.
*/
package com.happydroids.droidtowers.gui.dialogs;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.happydroids.droidtowers.gamestate.server.TowerGameService;
import com.happydroids.droidtowers.gui.Dialog;
import com.happydroids.droidtowers.gui.VibrateClickListener;
import com.happydroids.platform.Platform;
import com.happydroids.security.SecurePreferences;
import static com.badlogic.gdx.Application.ApplicationType.Android;
import static com.badlogic.gdx.Application.ApplicationType.Applet;
public class ReviewDroidTowersPrompt extends Dialog {
public static final String RATING_ADDED = "RatingAdded";
public static final String RATING_TIMES_SINCE_PROMPTED = "RatingTimesSincePrompted";
public static final String RATING_NEVER_ASK_AGAIN = "RatingNeverAskAgain";
public ReviewDroidTowersPrompt(Stage stage) {
super(stage);
String ratingVerb = Gdx.app.getType().equals(Applet) ? "like" : "rate";
setMessage("Hello there!\n\nYou have been playing Droid Towers a few times now.\nWe would love hear any feedback you might have.\n\nWill you " + ratingVerb + " our app?");
addButton("Sure", new VibrateClickListener() {
@Override
public void onClick(InputEvent event, float x, float y) {
gotoMarketForRating();
}
});
addButton("Maybe later", new VibrateClickListener() {
@Override
public void onClick(InputEvent event, float x, float y) {
resetCounter();
}
});
addButton("Never ask again", new VibrateClickListener() {
@Override
public void onClick(InputEvent event, float x, float y) {
neverAskAgain();
}
});
}
private void gotoMarketForRating() {
if (!Gdx.app.getType().equals(Android)) {
Platform.getBrowserUtil().launchWebBrowser("http://on.fb.me/M6pdp1");
} else if (TowerGameService.getDeviceOSMarketName().equalsIgnoreCase("google-play")) {
Platform.getBrowserUtil().launchWebBrowser("market://details?id=com.happydroids.droidtowers");
} else if (TowerGameService.getDeviceOSMarketName().equalsIgnoreCase("amazon")) {
Platform.getBrowserUtil().launchWebBrowser("amzn://apps/android?p=com.happydroids.droidtowers");
}
SecurePreferences preferences = TowerGameService.instance().getPreferences();
preferences.putBoolean(RATING_ADDED, true);
preferences.flush();
dismiss();
}
private void neverAskAgain() {
SecurePreferences preferences = TowerGameService.instance().getPreferences();
preferences.putBoolean(RATING_NEVER_ASK_AGAIN, true);
preferences.flush();
dismiss();
}
private void resetCounter() {
SecurePreferences preferences = TowerGameService.instance().getPreferences();
preferences.putInteger(RATING_TIMES_SINCE_PROMPTED, 0);
preferences.flush();
dismiss();
}
}