From 241d8344341b04fc83ae067bdc4287c83a6678e9 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 1 Jul 2016 14:49:49 +0200 Subject: [PATCH] show a Rate us button to returning users --- .../com/simplemobiletools/camera/Config.java | 8 ++++ .../simplemobiletools/camera/Constants.java | 3 +- .../camera/activities/AboutActivity.java | 44 +++++++++---------- .../camera/activities/MainActivity.java | 2 + app/src/main/res/layout/activity_about.xml | 12 ++++- app/src/main/res/values/strings.xml | 1 + 6 files changed, 46 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/simplemobiletools/camera/Config.java b/app/src/main/java/com/simplemobiletools/camera/Config.java index deb65a90..c7398a52 100644 --- a/app/src/main/java/com/simplemobiletools/camera/Config.java +++ b/app/src/main/java/com/simplemobiletools/camera/Config.java @@ -14,6 +14,14 @@ public class Config { mPrefs = context.getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE); } + public boolean getIsFirstRun() { + return mPrefs.getBoolean(Constants.IS_FIRST_RUN, true); + } + + public void setIsFirstRun(boolean firstRun) { + mPrefs.edit().putBoolean(Constants.IS_FIRST_RUN, firstRun).apply(); + } + public boolean getLongTapEnabled() { return mPrefs.getBoolean(Constants.LONG_TAP, true); } diff --git a/app/src/main/java/com/simplemobiletools/camera/Constants.java b/app/src/main/java/com/simplemobiletools/camera/Constants.java index 17490041..32ef7666 100644 --- a/app/src/main/java/com/simplemobiletools/camera/Constants.java +++ b/app/src/main/java/com/simplemobiletools/camera/Constants.java @@ -5,8 +5,9 @@ public class Constants { public static final int ORIENT_LANDSCAPE_LEFT = 1; public static final int ORIENT_LANDSCAPE_RIGHT = 2; - // Shared preferences + // shared preferences public static final String PREFS_KEY = "Camera"; + public static final String IS_FIRST_RUN = "is_first_run"; public static final String LONG_TAP = "long_tap"; public static final String FOCUS_BEFORE_CAPTURE = "focus_before_capture"; public static final String FORCE_RATIO = "force_ratio"; diff --git a/app/src/main/java/com/simplemobiletools/camera/activities/AboutActivity.java b/app/src/main/java/com/simplemobiletools/camera/activities/AboutActivity.java index 30b3fcb1..153712e4 100644 --- a/app/src/main/java/com/simplemobiletools/camera/activities/AboutActivity.java +++ b/app/src/main/java/com/simplemobiletools/camera/activities/AboutActivity.java @@ -1,5 +1,6 @@ package com.simplemobiletools.camera.activities; +import android.content.ActivityNotFoundException; import android.content.Intent; import android.content.res.Resources; import android.net.Uri; @@ -7,11 +8,11 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.Html; import android.text.method.LinkMovementMethod; -import android.view.Menu; -import android.view.MenuItem; +import android.view.View; import android.widget.TextView; import com.simplemobiletools.camera.BuildConfig; +import com.simplemobiletools.camera.Config; import com.simplemobiletools.camera.R; import java.util.Calendar; @@ -24,8 +25,8 @@ public class AboutActivity extends AppCompatActivity { @BindView(R.id.about_copyright) TextView mCopyright; @BindView(R.id.about_version) TextView mVersion; @BindView(R.id.about_email) TextView mEmailTV; - - private Resources mRes; + @BindView(R.id.about_rate_us) View mRateUs; + private static Resources mRes; @Override protected void onCreate(Bundle savedInstanceState) { @@ -37,24 +38,7 @@ public class AboutActivity extends AppCompatActivity { setupEmail(); setupVersion(); setupCopyright(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.menu, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.settings: - final Intent intent = new Intent(getApplicationContext(), SettingsActivity.class); - startActivity(intent); - return true; - default: - return super.onOptionsItemSelected(item); - } + setupRateUs(); } private void setupEmail() { @@ -77,6 +61,22 @@ public class AboutActivity extends AppCompatActivity { mCopyright.setText(copyrightText); } + private void setupRateUs() { + if (Config.newInstance(getApplicationContext()).getIsFirstRun()) { + mRateUs.setVisibility(View.GONE); + } + } + + @OnClick(R.id.about_rate_us) + public void rateUsClicked() { + final Uri uri = Uri.parse("market://details?id=" + getPackageName()); + try { + startActivity(new Intent(Intent.ACTION_VIEW, uri)); + } catch (ActivityNotFoundException ignored) { + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + getPackageName()))); + } + } + @OnClick(R.id.about_license) public void licenseClicked() { final Intent intent = new Intent(getApplicationContext(), LicenseActivity.class); diff --git a/app/src/main/java/com/simplemobiletools/camera/activities/MainActivity.java b/app/src/main/java/com/simplemobiletools/camera/activities/MainActivity.java index 821ef0eb..77ad944e 100644 --- a/app/src/main/java/com/simplemobiletools/camera/activities/MainActivity.java +++ b/app/src/main/java/com/simplemobiletools/camera/activities/MainActivity.java @@ -26,6 +26,7 @@ import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; +import com.simplemobiletools.camera.Config; import com.simplemobiletools.camera.Constants; import com.simplemobiletools.camera.PhotoProcessor; import com.simplemobiletools.camera.Preview; @@ -480,6 +481,7 @@ public class MainActivity extends AppCompatActivity implements SensorEventListen @Override protected void onDestroy() { super.onDestroy(); + Config.newInstance(getApplicationContext()).setIsFirstRun(false); if (mPreview != null) mPreview.releaseCamera(); } diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 344a5a0d..e74fcd06 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -29,11 +29,21 @@ android:text="@string/email"/> + + Send your feedback or suggestions at: hello@simplemobiletools.com Third party licences + Rate us in the Play Store Follow us at: v %1$s Copyright © Simple Mobile Tools %1$d