Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.app.Dialog;
- import android.content.Context;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.net.Uri;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- public class AppNag {
- public final static String APP_TITLE = "Pencil Touch";
- public final static String APP_PNAME = "com.sprucewerk.penciltouch";
- private final static int DAYS_UNTIL_PROMPT = 1;
- private final static int LAUNCHES_UNTIL_PROMPT = 3;
- public static void app_launched(Context mContext) {
- SharedPreferences prefs = mContext.getSharedPreferences("appnag", 0);
- SharedPreferences.Editor editor = prefs.edit();
- // Increment launch counter
- long launch_count = prefs.getLong("launch_count", 0) + 1;
- editor.putLong("launch_count", launch_count);
- // Get date of first launch
- Long date_firstLaunch = prefs.getLong("date_firstlaunch", 0);
- if (date_firstLaunch == 0) {
- date_firstLaunch = System.currentTimeMillis();
- editor.putLong("date_firstlaunch", date_firstLaunch);
- }
- // Wait at least n days before opening
- if (launch_count >= LAUNCHES_UNTIL_PROMPT) {
- if (System.currentTimeMillis() >= date_firstLaunch +
- (DAYS_UNTIL_PROMPT * 24 * 60 * 60 * 1000)) {
- showRateDialog(mContext, editor);
- }
- }
- editor.commit();
- }
- public static void showRateDialog(final Context mContext, final SharedPreferences.Editor editor) {
- final Dialog dialog = new Dialog(mContext);
- dialog.setTitle("Get " + APP_TITLE +" Pro. Now!");
- LinearLayout ll = new LinearLayout(mContext);
- ll.setOrientation(LinearLayout.VERTICAL);
- TextView tv = new TextView(mContext);
- tv.setText("If you enjoy using " + APP_TITLE +
- ", get the Pro version. Get more effects, more fun, more support, more updates...!");
- tv.setWidth(240);
- tv.setPadding(4, 0, 4, 10);
- ll.addView(tv);
- Button b1 = new Button(mContext);
- b1.setText("Get " + APP_TITLE+" Pro");
- b1.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- mContext.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + APP_PNAME)));
- dialog.dismiss();
- }
- });
- ll.addView(b1);
- Button b2 = new Button(mContext);
- b2.setText("Next Time");
- b2.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- dialog.dismiss();
- }
- });
- ll.addView(b2);
- dialog.setContentView(ll);
- dialog.show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement