show a Rate us button to returning users

This commit is contained in:
tibbi 2016-07-01 14:49:49 +02:00
parent 529902e512
commit 241d834434
6 changed files with 46 additions and 24 deletions

View File

@ -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);
}

View File

@ -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";

View File

@ -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);

View File

@ -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();
}

View File

@ -29,11 +29,21 @@
android:text="@string/email"/>
<TextView
android:id="@+id/about_license"
android:id="@+id/about_rate_us"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_email"
android:layout_marginTop="@dimen/activity_margin"
android:paddingTop="@dimen/activity_margin"
android:text="@string/rate_us_underlined"
android:textColor="@color/colorPrimary"/>
<TextView
android:id="@+id/about_license"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_rate_us"
android:layout_marginTop="@dimen/activity_margin"
android:paddingBottom="@dimen/activity_margin"
android:paddingTop="@dimen/activity_margin"
android:text="@string/third_party_licences_underlined"

View File

@ -26,6 +26,7 @@
<string name="email_label">Send your feedback or suggestions at:</string>
<string name="email">hello@simplemobiletools.com</string>
<string name="third_party_licences_underlined"><u>Third party licences</u></string>
<string name="rate_us_underlined"><u>Rate us in the Play Store</u></string>
<string name="follow_us">Follow us at:</string>
<string name="version">v %1$s</string>
<string name="copyright">Copyright © Simple Mobile Tools %1$d</string>