diff --git a/app/src/main/java/com/simplemobiletools/flashlight/Config.java b/app/src/main/java/com/simplemobiletools/flashlight/Config.java
new file mode 100644
index 0000000..9dd6934
--- /dev/null
+++ b/app/src/main/java/com/simplemobiletools/flashlight/Config.java
@@ -0,0 +1,26 @@
+package com.simplemobiletools.flashlight;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import com.simplemobiletools.flashlight.activities.Constants;
+
+public class Config {
+ private SharedPreferences mPrefs;
+
+ public static Config newInstance(Context context) {
+ return new Config(context);
+ }
+
+ public Config(Context context) {
+ 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();
+ }
+}
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/activities/AboutActivity.java b/app/src/main/java/com/simplemobiletools/flashlight/activities/AboutActivity.java
index 7e651a0..05b94a8 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/activities/AboutActivity.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/activities/AboutActivity.java
@@ -1,5 +1,6 @@
package com.simplemobiletools.flashlight.activities;
+import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
@@ -7,9 +8,11 @@ import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.text.method.LinkMovementMethod;
+import android.view.View;
import android.widget.TextView;
import com.simplemobiletools.flashlight.BuildConfig;
+import com.simplemobiletools.flashlight.Config;
import com.simplemobiletools.flashlight.R;
import java.util.Calendar;
@@ -22,6 +25,7 @@ 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;
+ @BindView(R.id.about_rate_us) View mRateUs;
private static Resources mRes;
@@ -35,6 +39,7 @@ public class AboutActivity extends AppCompatActivity {
setupEmail();
setupVersion();
setupCopyright();
+ setupRateUs();
}
private void setupEmail() {
@@ -57,6 +62,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/flashlight/activities/Constants.java b/app/src/main/java/com/simplemobiletools/flashlight/activities/Constants.java
new file mode 100644
index 0000000..be1747c
--- /dev/null
+++ b/app/src/main/java/com/simplemobiletools/flashlight/activities/Constants.java
@@ -0,0 +1,7 @@
+package com.simplemobiletools.flashlight.activities;
+
+public class Constants {
+ // shared preferences
+ public static final String PREFS_KEY = "Flashlight";
+ public static final String IS_FIRST_RUN = "is_first_run";
+}
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/activities/MainActivity.java b/app/src/main/java/com/simplemobiletools/flashlight/activities/MainActivity.java
index 9973ca2..a957472 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/activities/MainActivity.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/activities/MainActivity.java
@@ -10,6 +10,7 @@ import android.view.WindowManager;
import android.widget.ImageView;
import com.simplemobiletools.flashlight.BusProvider;
+import com.simplemobiletools.flashlight.Config;
import com.simplemobiletools.flashlight.Events;
import com.simplemobiletools.flashlight.MyCameraImpl;
import com.simplemobiletools.flashlight.R;
@@ -90,8 +91,11 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onDestroy() {
super.onDestroy();
- mCameraImpl.releaseCamera();
- mCameraImpl = null;
+ Config.newInstance(getApplicationContext()).setIsFirstRun(false);
+ if (mCameraImpl != null) {
+ mCameraImpl.releaseCamera();
+ mCameraImpl = null;
+ }
}
@Subscribe
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index 344a5a0..152f60e 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"/>
+
+
+ android:text="Copyright © Simple Mobile Tools 2016"/>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4be9c34..19cba6a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -8,6 +8,7 @@
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