Skip to content

Commit e93bfd6

Browse files
Merge branch 'can-override-package-for-testing' of https://github.com/john-crossley/AppRater into john-crossley-can-override-package-for-testing
Conflicts: AppRaterLibrary/src/main/java/org/codechimp/apprater/AppRater.java gradle.properties
2 parents 457b6de + 0abfb69 commit e93bfd6

File tree

5 files changed

+35
-15
lines changed

5 files changed

+35
-15
lines changed

AppRaterDemo/src/main/java/org/codechimp/appraterdemo/MainActivity.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package org.codechimp.appraterdemo;
22

3-
import org.codechimp.apprater.AmazonMarket;
4-
import org.codechimp.apprater.AppRater;
5-
import org.codechimp.apprater.GoogleMarket;
6-
3+
import android.app.Activity;
74
import android.os.Bundle;
85
import android.view.Menu;
96
import android.view.MenuInflater;
107
import android.view.MenuItem;
118
import android.view.View;
129
import android.view.View.OnClickListener;
1310
import android.widget.Button;
14-
import android.app.Activity;
11+
12+
import org.codechimp.apprater.AppRater;
1513

1614
public class MainActivity extends Activity {
1715

@@ -20,9 +18,10 @@ public class MainActivity extends Activity {
2018
@Override
2119
protected void onCreate(Bundle savedInstanceState) {
2220
super.onCreate(savedInstanceState);
23-
setContentView(R.layout.activity_main);
24-
25-
buttonTest = (Button) findViewById(R.id.button1);
21+
setContentView(R.layout.activity_main);
22+
23+
24+
buttonTest = (Button) findViewById(R.id.button1);
2625

2726
buttonTest.setOnClickListener(new OnClickListener() {
2827
public void onClick(View v) {
@@ -42,6 +41,8 @@ public void onClick(View v) {
4241

4342
// This will keep a track of when the app was first used and whether to show a prompt
4443
// It should be the default implementation of AppRater
44+
45+
AppRater.setPackageName("com.johncrossley");
4546
AppRater.app_launched(this);
4647
}
4748

AppRaterLibrary/src/main/java/org/codechimp/apprater/AmazonMarket.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import android.content.Context;
44
import android.net.Uri;
55

6-
public class AmazonMarket implements Market {
6+
public class AmazonMarket extends Market {
77
private static String marketLink = "http://www.amazon.com/gp/mas/dl/android?p=";
88

99
@Override
1010
public Uri getMarketURI(Context context) {
11-
return Uri.parse(marketLink + context.getPackageName().toString());
11+
return Uri.parse(marketLink + Market.getPackageName(context));
1212
}
1313
}
1414

AppRaterLibrary/src/main/java/org/codechimp/apprater/AppRater.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import android.content.SharedPreferences;
1212
import android.os.Build;
1313
import android.util.Log;
14-
import android.widget.Toast;
1514

1615
public class AppRater {
1716
// Preference Constants
@@ -34,6 +33,8 @@ public class AppRater {
3433
private static boolean isVersionCodeCheckEnabled;
3534
private static boolean isCancelable = true;
3635

36+
private static String packageName;
37+
3738
private static Market market = new GoogleMarket();
3839

3940
/**
@@ -200,6 +201,10 @@ public static void rateNow(final Context context) {
200201
}
201202
}
202203

204+
public static void setPackageName(String packageName) {
205+
AppRater.market.overridePackageName(packageName);
206+
}
207+
203208
/**
204209
* Set an alternate Market, defaults to Google Play
205210
*

AppRaterLibrary/src/main/java/org/codechimp/apprater/GoogleMarket.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import android.content.Context;
44
import android.net.Uri;
55

6-
public class GoogleMarket implements Market {
6+
public class GoogleMarket extends Market {
77
private static String marketLink = "market://details?id=";
88

99
@Override
1010
public Uri getMarketURI(Context context) {
11-
return Uri.parse(marketLink + context.getPackageName().toString());
11+
return Uri.parse(marketLink + Market.getPackageName(context));
1212
}
1313
}

AppRaterLibrary/src/main/java/org/codechimp/apprater/Market.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,20 @@
33
import android.content.Context;
44
import android.net.Uri;
55

6-
public interface Market {
7-
public Uri getMarketURI(Context context);
6+
public abstract class Market {
7+
8+
protected static String packageName;
9+
10+
protected abstract Uri getMarketURI(Context context);
11+
12+
public void overridePackageName(String packageName) {
13+
Market.packageName = packageName;
14+
}
15+
16+
protected static String getPackageName(Context context) {
17+
if (Market.packageName != null) {
18+
return Market.packageName;
19+
}
20+
return context.getPackageName();
21+
}
822
}

0 commit comments

Comments
 (0)