Skip to content

Commit db7c602

Browse files
Maijenburg, GoopherMaijenburg, Goopher
authored andcommitted
Added override positive button clicklistener
1 parent d92e0e1 commit db7c602

File tree

3 files changed

+15
-25
lines changed

3 files changed

+15
-25
lines changed

library/src/main/java/hotchemi/android/rate/AppRate.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ public AppRate setView(View view) {
108108
return this;
109109
}
110110

111-
public AppRate useInAppReviewSystem(boolean useInAppReviewSystem) {
112-
options.setUseInAppReview(useInAppReviewSystem);
111+
public AppRate setPositiveButtonListener(OnClickButtonListener listener) {
112+
options.setPositiveButtonListener(listener);
113113
return this;
114114
}
115115

library/src/main/java/hotchemi/android/rate/DialogManager.java

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,13 @@ static Dialog create(final Context context, final DialogOptions options) {
3636
if (view != null) builder.setView(view);
3737

3838
final OnClickButtonListener listener = options.getListener();
39+
final OnClickButtonListener overridePositiveButtonListener = options.getPositiveButtonListener();
3940

4041
builder.setPositiveButton(options.getPositiveText(context), new DialogInterface.OnClickListener() {
4142
@Override
4243
public void onClick(DialogInterface dialog, int which) {
43-
if (options.isUseInAppReview()) {
44-
ReviewManager rm = ReviewManagerFactory.create(context);
45-
Task<ReviewInfo> request = rm.requestReviewFlow();
46-
request.addOnCompleteListener(task -> {
47-
if (task.isSuccessful()) {
48-
ReviewInfo reviewInfo = task.getResult();
49-
Task<Void> flow = rm.launchReviewFlow((Activity) context, reviewInfo);
50-
flow.addOnCompleteListener(result -> {
51-
52-
});
53-
}
54-
});
55-
44+
if (overridePositiveButtonListener != null) {
45+
overridePositiveButtonListener.onClickButton(which);
5646
} else {
5747
final Intent intentToAppstore = options.getStoreType() == StoreType.GOOGLEPLAY ?
5848
createIntentForGooglePlay(context) : createIntentForAmazonAppstore(context);

library/src/main/java/hotchemi/android/rate/DialogOptions.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ final class DialogOptions {
1616

1717
private boolean cancelable = false;
1818

19-
private boolean useInAppReview = false;
20-
2119
private StoreType storeType = StoreType.GOOGLEPLAY;
2220

2321
private int titleResId = R.string.rate_dialog_title;
@@ -44,6 +42,8 @@ final class DialogOptions {
4442

4543
private Reference<OnClickButtonListener> listener;
4644

45+
private Reference<OnClickButtonListener> overridePositiveButtonListener;
46+
4747
public boolean shouldShowNeutralButton() {
4848
return showNeutralButton;
4949
}
@@ -140,6 +140,14 @@ public void setListener(OnClickButtonListener listener) {
140140
this.listener = new WeakReference<>(listener);
141141
}
142142

143+
public OnClickButtonListener getPositiveButtonListener() {
144+
return overridePositiveButtonListener != null ? overridePositiveButtonListener.get() : null;
145+
}
146+
147+
public void setPositiveButtonListener(OnClickButtonListener listener) {
148+
this.overridePositiveButtonListener = new WeakReference<>(listener);
149+
}
150+
143151
public String getTitleText(Context context) {
144152
if (titleText == null) {
145153
return context.getString(titleResId);
@@ -194,12 +202,4 @@ public String getNegativeText(Context context) {
194202
public void setNegativeText(String negativeText) {
195203
this.negativeText = negativeText;
196204
}
197-
198-
public boolean isUseInAppReview() {
199-
return useInAppReview;
200-
}
201-
202-
public void setUseInAppReview(boolean useInAppReview) {
203-
this.useInAppReview = useInAppReview;
204-
}
205205
}

0 commit comments

Comments
 (0)