Skip to content

Commit 06f8bd3

Browse files
author
Kaushik Gopal
committed
fix: avoid use of private api getFragments
Closes #97
1 parent cbd585b commit 06f8bd3

File tree

5 files changed

+24
-33
lines changed

5 files changed

+24
-33
lines changed

app/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ ext {
2121
okhttpVersion = "3.0.1"
2222
retrofitVersion = "2.0.0"
2323
sdkVersion = 24
24-
supportLibVersion = "24.2.1"
24+
supportLibVersion = "25.2.0"
2525
butterKnifeVersion = '8.5.1'
2626
}
2727

app/src/main/java/com/morihacky/android/rxjava/fragments/RotationPersist1Fragment.java

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.morihacky.android.rxjava.fragments;
22

3+
import static android.os.Looper.getMainLooper;
4+
35
import android.os.Bundle;
46
import android.os.Handler;
57
import android.support.annotation.Nullable;
@@ -11,25 +13,21 @@
1113
import butterknife.BindView;
1214
import butterknife.ButterKnife;
1315
import butterknife.OnClick;
16+
import butterknife.Unbinder;
1417
import com.morihacky.android.rxjava.R;
1518
import com.morihacky.android.rxjava.wiring.LogAdapter;
16-
17-
import butterknife.Unbinder;
1819
import io.reactivex.Flowable;
1920
import io.reactivex.disposables.CompositeDisposable;
2021
import io.reactivex.subscribers.DisposableSubscriber;
2122
import java.util.ArrayList;
2223
import java.util.List;
2324
import timber.log.Timber;
2425

25-
26-
import static android.os.Looper.getMainLooper;
27-
2826
public class RotationPersist1Fragment
2927
extends BaseFragment
3028
implements RotationPersist1WorkerFragment.IAmYourMaster {
3129

32-
public static final String FRAG_TAG = RotationPersist1WorkerFragment.class.getName();
30+
public static final String TAG = RotationPersist1Fragment.class.toString();
3331

3432
@BindView(R.id.list_threading_log) ListView _logList;
3533

@@ -48,11 +46,12 @@ public void startOperationFromWorkerFrag() {
4846

4947
FragmentManager fm = getActivity().getSupportFragmentManager();
5048
RotationPersist1WorkerFragment frag =
51-
(RotationPersist1WorkerFragment) fm.findFragmentByTag(FRAG_TAG);
49+
(RotationPersist1WorkerFragment) fm.findFragmentByTag(
50+
RotationPersist1WorkerFragment.TAG);
5251

5352
if (frag == null) {
5453
frag = new RotationPersist1WorkerFragment();
55-
fm.beginTransaction().add(frag, FRAG_TAG).commit();
54+
fm.beginTransaction().add(frag, RotationPersist1WorkerFragment.TAG).commit();
5655
} else {
5756
Timber.d("Worker frag already spawned");
5857
}

app/src/main/java/com/morihacky/android/rxjava/fragments/RotationPersist1WorkerFragment.java

+5-9
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
import io.reactivex.Flowable;
88
import io.reactivex.disposables.Disposable;
99
import io.reactivex.flowables.ConnectableFlowable;
10-
import java.util.List;
1110
import java.util.concurrent.TimeUnit;
1211

1312
public class RotationPersist1WorkerFragment
1413
extends Fragment {
1514

16-
private IAmYourMaster _masterFrag;
15+
public static final String TAG = RotationPersist1WorkerFragment.class.toString();
16+
17+
private IAmYourMaster _masterFrag;
1718
private ConnectableFlowable<Integer> _storedIntsFlowable;
1819
private Disposable _storedIntsDisposable;
1920

@@ -26,14 +27,9 @@ public class RotationPersist1WorkerFragment
2627
public void onAttach(Context context) {
2728
super.onAttach(context);
2829

29-
List<Fragment> frags = ((MainActivity) context)
30+
_masterFrag = (RotationPersist1Fragment) ((MainActivity) context)
3031
.getSupportFragmentManager()
31-
.getFragments();
32-
for (Fragment f : frags) {
33-
if (f instanceof IAmYourMaster) {
34-
_masterFrag = (IAmYourMaster) f;
35-
}
36-
}
32+
.findFragmentByTag(RotationPersist1Fragment.TAG);
3733

3834
if (_masterFrag == null) {
3935
throw new ClassCastException("We did not find a master who can understand us :(");

app/src/main/java/com/morihacky/android/rxjava/fragments/RotationPersist2Fragment.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.morihacky.android.rxjava.fragments;
22

3+
import static android.os.Looper.getMainLooper;
4+
35
import android.os.Bundle;
46
import android.os.Handler;
57
import android.support.annotation.Nullable;
@@ -20,14 +22,11 @@
2022
import java.util.List;
2123
import timber.log.Timber;
2224

23-
24-
import static android.os.Looper.getMainLooper;
25-
2625
public class RotationPersist2Fragment
2726
extends BaseFragment
2827
implements RotationPersist2WorkerFragment.IAmYourMaster {
2928

30-
public static final String FRAG_TAG = RotationPersist2WorkerFragment.class.getName();
29+
public static final String TAG = RotationPersist2Fragment.class.toString();
3130

3231
@BindView(R.id.list_threading_log) ListView _logList;
3332

@@ -44,13 +43,14 @@ public void startOperationFromWorkerFrag() {
4443
_adapter.clear();
4544

4645
FragmentManager fm = getActivity().getSupportFragmentManager();
47-
RotationPersist2WorkerFragment frag = (RotationPersist2WorkerFragment) fm.findFragmentByTag(FRAG_TAG);
46+
RotationPersist2WorkerFragment frag = (RotationPersist2WorkerFragment) fm.findFragmentByTag(
47+
RotationPersist2WorkerFragment.TAG);
4848

4949
if (frag == null) {
5050
frag = new RotationPersist2WorkerFragment();
5151
fm
5252
.beginTransaction()
53-
.add(frag, FRAG_TAG)
53+
.add(frag, RotationPersist2WorkerFragment.TAG)
5454
.commit();
5555
}
5656
else {

app/src/main/java/com/morihacky/android/rxjava/fragments/RotationPersist2WorkerFragment.java

+5-9
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
import com.morihacky.android.rxjava.MainActivity;
77
import io.reactivex.Flowable;
88
import io.reactivex.processors.PublishProcessor;
9-
import java.util.List;
109
import java.util.concurrent.TimeUnit;
1110

1211
public class RotationPersist2WorkerFragment
1312
extends Fragment {
1413

14+
public static final String TAG = RotationPersist2WorkerFragment.class.toString();
15+
1516
private PublishProcessor<Integer> _intStream;
1617
private PublishProcessor<Boolean> _lifeCycleStream;
1718

@@ -27,14 +28,9 @@ public class RotationPersist2WorkerFragment
2728
public void onAttach(Context context) {
2829
super.onAttach(context);
2930

30-
List<Fragment> frags = ((MainActivity) context)
31-
.getSupportFragmentManager()
32-
.getFragments();
33-
for (Fragment f : frags) {
34-
if (f instanceof IAmYourMaster) {
35-
_masterFrag = (IAmYourMaster) f;
36-
}
37-
}
31+
_masterFrag = (RotationPersist2Fragment) ((MainActivity) context)
32+
.getSupportFragmentManager().findFragmentByTag(RotationPersist2Fragment.TAG);
33+
3834

3935
if (_masterFrag == null) {
4036
throw new ClassCastException("We did not find a master who can understand us :(");

0 commit comments

Comments
 (0)