Android Open Source - Freebloks-Android Rate App Dialog From Project Back to project page Freebloks-Android .
License The source code is released under:
GNU General Public License
If you think the Android project Freebloks-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package de.saschahlusiak.freebloks.game;
/ / w w w . j a v a 2 s . c o m
import de.saschahlusiak.freebloks.Global;
import de.saschahlusiak.freebloks.R;
import de.saschahlusiak.freebloks.donate.DonateActivity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
public class RateAppDialog extends Dialog {
private static final String tag = RateAppDialog.class.getSimpleName();
SharedPreferences prefs;
public RateAppDialog(Context context) {
super (context, R.style.Theme_Freebloks_Light_Dialog);
prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rate_app_dialog);
setTitle(R.string.rate_freebloks_title);
findViewById(R.id.ok).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("android.intent.action.VIEW" , Uri.parse(Global.getMarketURLString(getContext().getPackageName())));
Editor editor = prefs.edit();
editor.putBoolean("rate_show_again" , false);
editor.commit();
dismiss();
getContext().startActivity(intent);
}
});
findViewById(R.id.later).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
findViewById(R.id.no).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Editor editor = prefs.edit();
editor.putBoolean("rate_show_again" , false);
editor.commit();
dismiss();
}
});
findViewById(R.id.link).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getContext(), DonateActivity.class);
getContext().startActivity(intent);
}
});
}
public static boolean checkShowRateDialog(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
long starts = prefs.getLong("rate_number_of_starts" , 0);
long first_started = prefs.getLong("rate_first_started" , 0);
Editor editor = prefs.edit();
boolean show = false;
starts++;
if (prefs.getBoolean("rate_show_again" , true)) {
if (first_started <= 0) {
first_started = System.currentTimeMillis();
}
Log.d(tag, "started " + starts + " times" );
Log.d(tag, "elapsed time since first start: " + (System.currentTimeMillis() - first_started));
if (starts >= Global.RATE_MIN_STARTS)
starts = Global.RATE_MIN_STARTS;
if (starts >= Global.RATE_MIN_STARTS && (System.currentTimeMillis() - first_started >= Global.RATE_MIN_ELAPSED)) {
starts = 0;
first_started = System.currentTimeMillis();
show = true;
}
editor.putLong("rate_first_started" , first_started);
}
editor.putLong("rate_number_of_starts" , starts);
editor.commit();
return show;
}
}
Java Source Code List com.google.example.games.basegameutils.BaseGameActivity.java com.google.example.games.basegameutils.GameHelperUtils.java com.google.example.games.basegameutils.GameHelper.java de.saschahlusiak.freebloks.AboutActivity.java de.saschahlusiak.freebloks.Global.java de.saschahlusiak.freebloks.backup.FreebloksBackupAgent.java de.saschahlusiak.freebloks.controller.GameMode.java de.saschahlusiak.freebloks.controller.JNIServer.java de.saschahlusiak.freebloks.controller.PlayerData.java de.saschahlusiak.freebloks.controller.SpielClientInterface.java de.saschahlusiak.freebloks.controller.SpielClient.java de.saschahlusiak.freebloks.controller.Spielleiter.java de.saschahlusiak.freebloks.database.FreebloksDBOpenHandler.java de.saschahlusiak.freebloks.database.FreebloksDB.java de.saschahlusiak.freebloks.database.HighscoreDB.java de.saschahlusiak.freebloks.donate.DonateActivity.java de.saschahlusiak.freebloks.game.ActivityInterface.java de.saschahlusiak.freebloks.game.AddScoreTask.java de.saschahlusiak.freebloks.game.CustomGameDialog.java de.saschahlusiak.freebloks.game.FreebloksActivity.java de.saschahlusiak.freebloks.game.GameFinishActivity.java de.saschahlusiak.freebloks.game.GameMenu.java de.saschahlusiak.freebloks.game.RateAppDialog.java de.saschahlusiak.freebloks.game.RetainedConfig.java de.saschahlusiak.freebloks.game.SpielClientThread.java de.saschahlusiak.freebloks.lobby.ChatEntry.java de.saschahlusiak.freebloks.lobby.ChatListAdapter.java de.saschahlusiak.freebloks.lobby.ColorAdapter.java de.saschahlusiak.freebloks.lobby.LobbyDialog.java de.saschahlusiak.freebloks.model.Player.java de.saschahlusiak.freebloks.model.Spiel.java de.saschahlusiak.freebloks.model.Stone.java de.saschahlusiak.freebloks.model.Turn.java de.saschahlusiak.freebloks.model.Turnpool.java de.saschahlusiak.freebloks.network.NET_CHAT.java de.saschahlusiak.freebloks.network.NET_CURRENT_PLAYER.java de.saschahlusiak.freebloks.network.NET_GAME_FINISH.java de.saschahlusiak.freebloks.network.NET_GRANT_PLAYER.java de.saschahlusiak.freebloks.network.NET_HEADER.java de.saschahlusiak.freebloks.network.NET_REQUEST_GAME_MODE.java de.saschahlusiak.freebloks.network.NET_REQUEST_HINT.java de.saschahlusiak.freebloks.network.NET_REQUEST_PLAYER.java de.saschahlusiak.freebloks.network.NET_REQUEST_UNDO.java de.saschahlusiak.freebloks.network.NET_REVOKE_PLAYER.java de.saschahlusiak.freebloks.network.NET_SERVER_STATUS.java de.saschahlusiak.freebloks.network.NET_SET_STONE.java de.saschahlusiak.freebloks.network.NET_START_GAME.java de.saschahlusiak.freebloks.network.NET_UNDO_STONE.java de.saschahlusiak.freebloks.network.Network.java de.saschahlusiak.freebloks.preferences.AboutFragment.java de.saschahlusiak.freebloks.preferences.DisplayFragment.java de.saschahlusiak.freebloks.preferences.FreebloksPreferences.java de.saschahlusiak.freebloks.preferences.InterfaceFragment.java de.saschahlusiak.freebloks.preferences.MiscFragment.java de.saschahlusiak.freebloks.preferences.StatisticsFragment.java de.saschahlusiak.freebloks.preferences.ThemePreference.java de.saschahlusiak.freebloks.stats.StatisticsActivity.java de.saschahlusiak.freebloks.stats.StatisticsAdapter.java de.saschahlusiak.freebloks.view.BackgroundRenderer.java de.saschahlusiak.freebloks.view.BoardRenderer.java de.saschahlusiak.freebloks.view.Freebloks3DView.java de.saschahlusiak.freebloks.view.FreebloksRenderer.java de.saschahlusiak.freebloks.view.SimpleModel.java de.saschahlusiak.freebloks.view.effects.AbsEffect.java de.saschahlusiak.freebloks.view.effects.AbsStoneEffect.java de.saschahlusiak.freebloks.view.effects.BoardStoneGlowEffect.java de.saschahlusiak.freebloks.view.effects.EffectSet.java de.saschahlusiak.freebloks.view.effects.Effect.java de.saschahlusiak.freebloks.view.effects.PhysicalStoneEffect.java de.saschahlusiak.freebloks.view.effects.StoneFadeEffect.java de.saschahlusiak.freebloks.view.effects.StoneRollEffect.java de.saschahlusiak.freebloks.view.effects.StoneUndoEffect.java de.saschahlusiak.freebloks.view.model.Board.java de.saschahlusiak.freebloks.view.model.CurrentStone.java de.saschahlusiak.freebloks.view.model.Intro.java de.saschahlusiak.freebloks.view.model.Sounds.java de.saschahlusiak.freebloks.view.model.Theme.java de.saschahlusiak.freebloks.view.model.ViewElement.java de.saschahlusiak.freebloks.view.model.ViewModel.java de.saschahlusiak.freebloks.view.model.Wheel.java