Skip to content

Commit 241d834

Browse files
committed
show a Rate us button to returning users
1 parent 529902e commit 241d834

6 files changed

Lines changed: 46 additions & 24 deletions

File tree

app/src/main/java/com/simplemobiletools/camera/Config.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ public Config(Context context) {
1414
mPrefs = context.getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE);
1515
}
1616

17+
public boolean getIsFirstRun() {
18+
return mPrefs.getBoolean(Constants.IS_FIRST_RUN, true);
19+
}
20+
21+
public void setIsFirstRun(boolean firstRun) {
22+
mPrefs.edit().putBoolean(Constants.IS_FIRST_RUN, firstRun).apply();
23+
}
24+
1725
public boolean getLongTapEnabled() {
1826
return mPrefs.getBoolean(Constants.LONG_TAP, true);
1927
}

app/src/main/java/com/simplemobiletools/camera/Constants.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ public class Constants {
55
public static final int ORIENT_LANDSCAPE_LEFT = 1;
66
public static final int ORIENT_LANDSCAPE_RIGHT = 2;
77

8-
// Shared preferences
8+
// shared preferences
99
public static final String PREFS_KEY = "Camera";
10+
public static final String IS_FIRST_RUN = "is_first_run";
1011
public static final String LONG_TAP = "long_tap";
1112
public static final String FOCUS_BEFORE_CAPTURE = "focus_before_capture";
1213
public static final String FORCE_RATIO = "force_ratio";

app/src/main/java/com/simplemobiletools/camera/activities/AboutActivity.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package com.simplemobiletools.camera.activities;
22

3+
import android.content.ActivityNotFoundException;
34
import android.content.Intent;
45
import android.content.res.Resources;
56
import android.net.Uri;
67
import android.os.Bundle;
78
import android.support.v7.app.AppCompatActivity;
89
import android.text.Html;
910
import android.text.method.LinkMovementMethod;
10-
import android.view.Menu;
11-
import android.view.MenuItem;
11+
import android.view.View;
1212
import android.widget.TextView;
1313

1414
import com.simplemobiletools.camera.BuildConfig;
15+
import com.simplemobiletools.camera.Config;
1516
import com.simplemobiletools.camera.R;
1617

1718
import java.util.Calendar;
@@ -24,8 +25,8 @@ public class AboutActivity extends AppCompatActivity {
2425
@BindView(R.id.about_copyright) TextView mCopyright;
2526
@BindView(R.id.about_version) TextView mVersion;
2627
@BindView(R.id.about_email) TextView mEmailTV;
27-
28-
private Resources mRes;
28+
@BindView(R.id.about_rate_us) View mRateUs;
29+
private static Resources mRes;
2930

3031
@Override
3132
protected void onCreate(Bundle savedInstanceState) {
@@ -37,24 +38,7 @@ protected void onCreate(Bundle savedInstanceState) {
3738
setupEmail();
3839
setupVersion();
3940
setupCopyright();
40-
}
41-
42-
@Override
43-
public boolean onCreateOptionsMenu(Menu menu) {
44-
getMenuInflater().inflate(R.menu.menu, menu);
45-
return true;
46-
}
47-
48-
@Override
49-
public boolean onOptionsItemSelected(MenuItem item) {
50-
switch (item.getItemId()) {
51-
case R.id.settings:
52-
final Intent intent = new Intent(getApplicationContext(), SettingsActivity.class);
53-
startActivity(intent);
54-
return true;
55-
default:
56-
return super.onOptionsItemSelected(item);
57-
}
41+
setupRateUs();
5842
}
5943

6044
private void setupEmail() {
@@ -77,6 +61,22 @@ private void setupCopyright() {
7761
mCopyright.setText(copyrightText);
7862
}
7963

64+
private void setupRateUs() {
65+
if (Config.newInstance(getApplicationContext()).getIsFirstRun()) {
66+
mRateUs.setVisibility(View.GONE);
67+
}
68+
}
69+
70+
@OnClick(R.id.about_rate_us)
71+
public void rateUsClicked() {
72+
final Uri uri = Uri.parse("market://details?id=" + getPackageName());
73+
try {
74+
startActivity(new Intent(Intent.ACTION_VIEW, uri));
75+
} catch (ActivityNotFoundException ignored) {
76+
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + getPackageName())));
77+
}
78+
}
79+
8080
@OnClick(R.id.about_license)
8181
public void licenseClicked() {
8282
final Intent intent = new Intent(getApplicationContext(), LicenseActivity.class);

app/src/main/java/com/simplemobiletools/camera/activities/MainActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import android.widget.RelativeLayout;
2727
import android.widget.TextView;
2828

29+
import com.simplemobiletools.camera.Config;
2930
import com.simplemobiletools.camera.Constants;
3031
import com.simplemobiletools.camera.PhotoProcessor;
3132
import com.simplemobiletools.camera.Preview;
@@ -480,6 +481,7 @@ public void mediaSaved() {
480481
@Override
481482
protected void onDestroy() {
482483
super.onDestroy();
484+
Config.newInstance(getApplicationContext()).setIsFirstRun(false);
483485
if (mPreview != null)
484486
mPreview.releaseCamera();
485487
}

app/src/main/res/layout/activity_about.xml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,21 @@
2929
android:text="@string/email"/>
3030

3131
<TextView
32-
android:id="@+id/about_license"
32+
android:id="@+id/about_rate_us"
3333
android:layout_width="match_parent"
3434
android:layout_height="wrap_content"
3535
android:layout_below="@+id/about_email"
3636
android:layout_marginTop="@dimen/activity_margin"
37+
android:paddingTop="@dimen/activity_margin"
38+
android:text="@string/rate_us_underlined"
39+
android:textColor="@color/colorPrimary"/>
40+
41+
<TextView
42+
android:id="@+id/about_license"
43+
android:layout_width="match_parent"
44+
android:layout_height="wrap_content"
45+
android:layout_below="@+id/about_rate_us"
46+
android:layout_marginTop="@dimen/activity_margin"
3747
android:paddingBottom="@dimen/activity_margin"
3848
android:paddingTop="@dimen/activity_margin"
3949
android:text="@string/third_party_licences_underlined"

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<string name="email_label">Send your feedback or suggestions at:</string>
2727
<string name="email">hello@simplemobiletools.com</string>
2828
<string name="third_party_licences_underlined"><u>Third party licences</u></string>
29+
<string name="rate_us_underlined"><u>Rate us in the Play Store</u></string>
2930
<string name="follow_us">Follow us at:</string>
3031
<string name="version">v %1$s</string>
3132
<string name="copyright">Copyright © Simple Mobile Tools %1$d</string>

0 commit comments

Comments
 (0)