jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/404805 )
Change subject: Follow-up: simplify enabling/disabling of Randomizer save
button.
......................................................................
Follow-up: simplify enabling/disabling of Randomizer save button.
There's no need for a SparseBooleanArray.
Change-Id: I022a69851e281dc28e2085b5b78eef8885c42bff
---
M app/src/main/java/org/wikipedia/random/RandomFragment.java
M app/src/main/java/org/wikipedia/random/RandomItemFragment.java
2 files changed, 16 insertions(+), 27 deletions(-)
Approvals:
jenkins-bot: Verified
Cooltey: Looks good to me, approved
diff --git a/app/src/main/java/org/wikipedia/random/RandomFragment.java
b/app/src/main/java/org/wikipedia/random/RandomFragment.java
index 6bb1356..5a6f95b 100644
--- a/app/src/main/java/org/wikipedia/random/RandomFragment.java
+++ b/app/src/main/java/org/wikipedia/random/RandomFragment.java
@@ -11,7 +11,6 @@
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
-import android.util.SparseBooleanArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -45,13 +44,8 @@
private Unbinder unbinder;
private ExclusiveBottomSheetPresenter bottomSheetPresenter = new
ExclusiveBottomSheetPresenter();
private boolean saveButtonState;
- private SparseBooleanArray loadSatusMap = new SparseBooleanArray();
private ViewPagerListener viewPagerListener = new ViewPagerListener();
@Nullable private RandomizerFunnel funnel;
-
- interface Callback {
- void onChildLoaded();
- }
@NonNull
public static RandomFragment newInstance() {
@@ -71,7 +65,7 @@
randomPager.setPageTransformer(true, new RandomPagerTransformer());
randomPager.addOnPageChangeListener(viewPagerListener);
- enableSaveShareButton(false);
+ updateSaveShareButton();
updateBackButton(0);
if (savedInstanceState != null && randomPager.getCurrentItem() == 0 &&
getTopTitle() != null) {
updateSaveShareButton(getTopTitle());
@@ -169,17 +163,28 @@
}
@SuppressWarnings("magicnumber")
- public void enableSaveShareButton(boolean enable) {
+ public void updateSaveShareButton() {
+ RandomItemFragment f = getTopChild();
+ boolean enable = f != null && f.isLoadComplete();
saveButton.setClickable(enable);
saveButton.setAlpha(enable ? 1f : 0.5f);
}
+ public void onChildLoaded() {
+ updateSaveShareButton();
+ }
+
@Nullable private PageTitle getTopTitle() {
+ RandomItemFragment f = getTopChild();
+ return f == null ? null : f.getTitle();
+ }
+
+ @Nullable private RandomItemFragment getTopChild() {
FragmentManager fm = getFragmentManager();
for (Fragment f : fm.getFragments()) {
if (f instanceof RandomItemFragment
&& ((RandomItemFragment) f).getPagerPosition() ==
randomPager.getCurrentItem()) {
- return ((RandomItemFragment) f).getTitle();
+ return ((RandomItemFragment) f);
}
}
return null;
@@ -198,17 +203,8 @@
@Override
public Fragment getItem(int position) {
-
- loadSatusMap.append(position, false);
RandomItemFragment f = RandomItemFragment.newInstance();
f.setPagerPosition(position);
- f.setCallback(() -> {
- if (randomPager != null && randomPager.getCurrentItem() ==
position) {
- enableSaveShareButton(f.isLoadComplete());
- }
- loadSatusMap.append(position, f.isLoadComplete());
- });
-
return f;
}
}
@@ -270,8 +266,7 @@
}
nextPageSelectedAutomatic = false;
prevPosition = position;
-
- enableSaveShareButton(loadSatusMap.get(position));
+ updateSaveShareButton();
}
@Override
diff --git a/app/src/main/java/org/wikipedia/random/RandomItemFragment.java
b/app/src/main/java/org/wikipedia/random/RandomItemFragment.java
index 619fc74..0efa0c2 100644
--- a/app/src/main/java/org/wikipedia/random/RandomItemFragment.java
+++ b/app/src/main/java/org/wikipedia/random/RandomItemFragment.java
@@ -40,15 +40,10 @@
private int pagerPosition = -1;
private View view;
private boolean loadComplete;
- private RandomFragment.Callback callback;
@NonNull
public static RandomItemFragment newInstance() {
return new RandomItemFragment();
- }
-
- public void setCallback(RandomFragment.Callback cb) {
- callback = cb;
}
public void setPagerPosition(int position) {
@@ -93,9 +88,8 @@
new
RandomSummaryClient().request(WikipediaApp.getInstance().getWikiSite(), new
RandomSummaryClient.Callback() {
@Override
public void onSuccess(@NonNull Call<RbPageSummary> call, @NonNull
RbPageSummary pageSummary) {
-
loadComplete = true;
- callback.onChildLoaded();
+ parent().onChildLoaded();
if (!isAdded()) {
return;
--
To view, visit https://gerrit.wikimedia.org/r/404805
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I022a69851e281dc28e2085b5b78eef8885c42bff
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Cooltey <[email protected]>
Gerrit-Reviewer: Sharvaniharan <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits