Skip to content

Commit 3f0c3bb

Browse files
ashishkumar468neslihanturan
authored andcommitted
1 parent 9b15a32 commit 3f0c3bb

File tree

2 files changed

+26
-36
lines changed

2 files changed

+26
-36
lines changed

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package fr.free.nrw.commons.contributions;
22

3+
import static fr.free.nrw.commons.contributions.Contribution.STATE_FAILED;
4+
import static fr.free.nrw.commons.contributions.MainActivity.CONTRIBUTIONS_TAB_POSITION;
5+
import static fr.free.nrw.commons.utils.LengthUtils.formatDistanceBetween;
6+
37
import android.Manifest;
48
import android.content.ComponentName;
59
import android.content.Context;
@@ -13,19 +17,12 @@
1317
import android.view.ViewGroup;
1418
import android.widget.CheckBox;
1519
import android.widget.Toast;
16-
1720
import androidx.annotation.NonNull;
1821
import androidx.annotation.Nullable;
1922
import androidx.fragment.app.Fragment;
2023
import androidx.fragment.app.FragmentManager;
2124
import androidx.fragment.app.FragmentManager.OnBackStackChangedListener;
2225
import androidx.fragment.app.FragmentTransaction;
23-
24-
import java.util.ArrayList;
25-
26-
import javax.inject.Inject;
27-
import javax.inject.Named;
28-
2926
import butterknife.BindView;
3027
import butterknife.ButterKnife;
3128
import fr.free.nrw.commons.HandlerService;
@@ -59,12 +56,11 @@
5956
import io.reactivex.android.schedulers.AndroidSchedulers;
6057
import io.reactivex.disposables.CompositeDisposable;
6158
import io.reactivex.schedulers.Schedulers;
59+
import java.util.ArrayList;
60+
import javax.inject.Inject;
61+
import javax.inject.Named;
6262
import timber.log.Timber;
6363

64-
import static fr.free.nrw.commons.contributions.Contribution.STATE_FAILED;
65-
import static fr.free.nrw.commons.contributions.MainActivity.CONTRIBUTIONS_TAB_POSITION;
66-
import static fr.free.nrw.commons.utils.LengthUtils.formatDistanceBetween;
67-
6864
public class ContributionsFragment
6965
extends CommonsDaggerSupportFragment
7066
implements
@@ -259,10 +255,9 @@ public void onAttach(Context context) {
259255
operations on first time fragment attached to an activity. Then they will be retained
260256
until fragment life time ends.
261257
*/
262-
if (!isFragmentAttachedBefore) {
263-
onAuthCookieAcquired(((MainActivity)getActivity()).uploadServiceIntent);
258+
if (!isFragmentAttachedBefore && getActivity() != null) {
259+
onAuthCookieAcquired();
264260
isFragmentAttachedBefore = true;
265-
266261
}
267262
}
268263

@@ -308,19 +303,24 @@ public void onBackStackChanged() {
308303

309304
/**
310305
* Called when onAuthCookieAcquired is called on authenticated parent activity
311-
* @param uploadServiceIntent
312306
*/
313-
void onAuthCookieAcquired(Intent uploadServiceIntent) {
307+
void onAuthCookieAcquired() {
314308
// Since we call onAuthCookieAcquired method from onAttach, isAdded is still false. So don't use it
315309

316310
if (getActivity() != null) { // If fragment is attached to parent activity
317-
getActivity().bindService(uploadServiceIntent, uploadServiceConnection, Context.BIND_AUTO_CREATE);
311+
getActivity().bindService(getUploadServiceIntent(), uploadServiceConnection, Context.BIND_AUTO_CREATE);
318312
isUploadServiceConnected = true;
319313
getActivity().getSupportLoaderManager().initLoader(0, null, contributionsPresenter);
320314
}
321315

322316
}
323317

318+
public Intent getUploadServiceIntent(){
319+
Intent intent = new Intent(getActivity(), UploadService.class);
320+
intent.setAction(UploadService.ACTION_START_SERVICE);
321+
return intent;
322+
}
323+
324324
/**
325325
* Replace whatever is in the current contributionsFragmentContainer view with
326326
* mediaDetailPagerFragment, and preserve previous state in back stack.

app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java

+9-19
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,29 @@
11
package fr.free.nrw.commons.contributions;
22

3+
import static android.content.ContentResolver.requestSync;
4+
35
import android.annotation.SuppressLint;
46
import android.app.AlertDialog;
57
import android.content.ContentResolver;
68
import android.content.Intent;
79
import android.os.Bundle;
8-
import android.os.PersistableBundle;
910
import android.view.LayoutInflater;
1011
import android.view.Menu;
1112
import android.view.MenuInflater;
1213
import android.view.MenuItem;
1314
import android.view.View;
1415
import android.widget.ImageView;
1516
import android.widget.TextView;
16-
1717
import androidx.annotation.Nullable;
1818
import androidx.core.view.GravityCompat;
1919
import androidx.drawerlayout.widget.DrawerLayout;
2020
import androidx.fragment.app.Fragment;
2121
import androidx.fragment.app.FragmentManager;
2222
import androidx.fragment.app.FragmentPagerAdapter;
2323
import androidx.viewpager.widget.ViewPager;
24-
25-
import com.google.android.material.tabs.TabLayout;
26-
27-
import java.util.List;
28-
29-
import javax.inject.Inject;
30-
3124
import butterknife.BindView;
3225
import butterknife.ButterKnife;
26+
import com.google.android.material.tabs.TabLayout;
3327
import fr.free.nrw.commons.BuildConfig;
3428
import fr.free.nrw.commons.R;
3529
import fr.free.nrw.commons.auth.SessionManager;
@@ -45,10 +39,10 @@
4539
import fr.free.nrw.commons.upload.UploadService;
4640
import io.reactivex.android.schedulers.AndroidSchedulers;
4741
import io.reactivex.schedulers.Schedulers;
42+
import java.util.List;
43+
import javax.inject.Inject;
4844
import timber.log.Timber;
4945

50-
import static android.content.ContentResolver.requestSync;
51-
5246
public class MainActivity extends NavigationBaseActivity implements FragmentManager.OnBackStackChangedListener {
5347

5448
@BindView(R.id.tab_layout)
@@ -68,8 +62,6 @@ public class MainActivity extends NavigationBaseActivity implements FragmentMana
6862
QuizChecker quizChecker;
6963

7064

71-
public Intent uploadServiceIntent;
72-
7365
public ContributionsActivityPagerAdapter contributionsActivityPagerAdapter;
7466
public static final int CONTRIBUTIONS_TAB_POSITION = 0;
7567
public static final int NEARBY_TAB_POSITION = 1;
@@ -117,13 +109,13 @@ private void initMain() {
117109
//Do not remove this, this triggers the sync service
118110
ContentResolver.setSyncAutomatically(sessionManager.getCurrentAccount(),BuildConfig.CONTRIBUTION_AUTHORITY,true);
119111
requestSync(sessionManager.getCurrentAccount(), BuildConfig.CONTRIBUTION_AUTHORITY, new Bundle());
120-
uploadServiceIntent = new Intent(this, UploadService.class);
112+
Intent uploadServiceIntent = new Intent(this, UploadService.class);
121113
uploadServiceIntent.setAction(UploadService.ACTION_START_SERVICE);
122114
startService(uploadServiceIntent);
123115

124116
addTabsAndFragments();
125117
if (contributionsActivityPagerAdapter.getItem(0) != null) {
126-
((ContributionsFragment)contributionsActivityPagerAdapter.getItem(0)).onAuthCookieAcquired(uploadServiceIntent);
118+
((ContributionsFragment)contributionsActivityPagerAdapter.getItem(0)).onAuthCookieAcquired();
127119
}
128120
}
129121

@@ -147,10 +139,8 @@ private void addTabsAndFragments() {
147139
.show()
148140
);
149141

150-
if (uploadServiceIntent != null) {
151-
// If auth cookie already acquired notify contrib fragment so that it san operate auth required actions
152-
((ContributionsFragment)contributionsActivityPagerAdapter.getItem(CONTRIBUTIONS_TAB_POSITION)).onAuthCookieAcquired(uploadServiceIntent);
153-
}
142+
((ContributionsFragment) contributionsActivityPagerAdapter
143+
.getItem(CONTRIBUTIONS_TAB_POSITION)).onAuthCookieAcquired();
154144
setTabAndViewPagerSynchronisation();
155145
}
156146

0 commit comments

Comments
 (0)