35
35
import androidx .lifecycle .MutableLiveData ;
36
36
import androidx .lifecycle .Observer ;
37
37
import androidx .lifecycle .ViewModelProvider ;
38
+ import androidx .navigation .NavBackStackEntry ;
38
39
import androidx .navigation .NavController ;
39
40
import androidx .navigation .NavDirections ;
40
41
import androidx .navigation .fragment .NavHostFragment ;
53
54
import java .util .Set ;
54
55
55
56
import awais .instagrabber .R ;
57
+ import awais .instagrabber .UserSearchNavGraphDirections ;
56
58
import awais .instagrabber .activities .MainActivity ;
57
59
import awais .instagrabber .adapters .FeedAdapterV2 ;
58
60
import awais .instagrabber .adapters .HighlightsAdapter ;
67
69
import awais .instagrabber .dialogs .PostsLayoutPreferencesDialogFragment ;
68
70
import awais .instagrabber .dialogs .ProfilePicDialogFragment ;
69
71
import awais .instagrabber .fragments .PostViewV2Fragment ;
72
+ import awais .instagrabber .fragments .UserSearchFragment ;
73
+ import awais .instagrabber .fragments .UserSearchFragmentDirections ;
70
74
import awais .instagrabber .managers .DirectMessagesManager ;
71
75
import awais .instagrabber .managers .InboxManager ;
72
76
import awais .instagrabber .models .HighlightModel ;
@@ -126,8 +130,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
126
130
private HighlightsViewModel highlightsViewModel ;
127
131
private MenuItem blockMenuItem , restrictMenuItem , chainingMenuItem ;
128
132
private MenuItem muteStoriesMenuItem , mutePostsMenuItem , removeFollowerMenuItem ;
129
- private MenuItem shareLinkMenuItem ;
130
- // private MenuItem shareDmMenuItem;
133
+ private MenuItem shareLinkMenuItem , shareDmMenuItem ;
131
134
private boolean accountIsUpdated = false ;
132
135
private boolean postsSetupDone = false ;
133
136
private Set <Media > selectedFeedModels ;
@@ -141,7 +144,6 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
141
144
private ProfileFragmentViewModel viewModel ;
142
145
private String csrfToken ;
143
146
private String deviceUuid ;
144
- private MutableLiveData <Object > backStackSavedStateCollectionLiveData ;
145
147
private MutableLiveData <Object > backStackSavedStateResultLiveData ;
146
148
147
149
private final ServiceCallback <FriendshipChangeResponse > changeCb = new ServiceCallback <FriendshipChangeResponse >() {
@@ -334,7 +336,6 @@ public void onSelectionEnd() {
334
336
}
335
337
}
336
338
// clear result
337
- backStackSavedStateCollectionLiveData .postValue (null );
338
339
backStackSavedStateResultLiveData .postValue (null );
339
340
};
340
341
@@ -466,10 +467,10 @@ public void onCreateOptionsMenu(@NonNull final Menu menu, @NonNull final MenuInf
466
467
if (shareLinkMenuItem != null ) {
467
468
shareLinkMenuItem .setVisible (profileModel != null && !TextUtils .isEmpty (profileModel .getUsername ()));
468
469
}
469
- // shareDmMenuItem = menu.findItem(R.id.share_dm);
470
- // if (shareDmMenuItem != null) {
471
- // shareDmMenuItem.setVisible(profileModel != null && profileModel.getPk() != 0L);
472
- // }
470
+ shareDmMenuItem = menu .findItem (R .id .share_dm );
471
+ if (shareDmMenuItem != null ) {
472
+ shareDmMenuItem .setVisible (profileModel != null && profileModel .getPk () != 0L );
473
+ }
473
474
}
474
475
475
476
@ Override
@@ -582,21 +583,20 @@ public boolean onOptionsItemSelected(@NonNull final MenuItem item) {
582
583
startActivity (Intent .createChooser (sharingIntent , null ));
583
584
return true ;
584
585
} else if (itemId == R .id .share_dm ) {
585
- // final UserSearchNavGraphDirections.ActionGlobalUserSearch actionGlobalUserSearch = UserSearchFragmentDirections
586
- // .actionGlobalUserSearch()
587
- // .setTitle(getString(R.string.share))
588
- // .setActionLabel(getString(R.string.send))
589
- // .setShowGroups(true)
590
- // .setMultiple(true)
591
- // .setSearchMode(UserSearchFragment.SearchMode.RAVEN);
592
- // final NavController navController = NavHostFragment.findNavController(ProfileFragment.this);
593
- // try {
594
- // navController.navigate(actionGlobalUserSearch);
595
- // } catch (Exception e) {
596
- // Log.e(TAG, "setupShare: ", e);
597
- // }
598
- // return true;
599
- return false ;
586
+ final UserSearchNavGraphDirections .ActionGlobalUserSearch actionGlobalUserSearch = UserSearchFragmentDirections
587
+ .actionGlobalUserSearch ()
588
+ .setTitle (getString (R .string .share ))
589
+ .setActionLabel (getString (R .string .send ))
590
+ .setShowGroups (true )
591
+ .setMultiple (true )
592
+ .setSearchMode (UserSearchFragment .SearchMode .RAVEN );
593
+ final NavController navController = NavHostFragment .findNavController (ProfileFragment .this );
594
+ try {
595
+ navController .navigate (actionGlobalUserSearch );
596
+ } catch (Exception e ) {
597
+ Log .e (TAG , "setupShare: " , e );
598
+ }
599
+ return true ;
600
600
}
601
601
return super .onOptionsItemSelected (item );
602
602
}
@@ -608,6 +608,17 @@ public void onRefresh() {
608
608
fetchProfileDetails ();
609
609
}
610
610
611
+ @ Override
612
+ public void onResume () {
613
+ super .onResume ();
614
+ final NavController navController = NavHostFragment .findNavController (this );
615
+ final NavBackStackEntry backStackEntry = navController .getCurrentBackStackEntry ();
616
+ if (backStackEntry != null ) {
617
+ backStackSavedStateResultLiveData = backStackEntry .getSavedStateHandle ().getLiveData ("result" );
618
+ backStackSavedStateResultLiveData .observe (getViewLifecycleOwner (), backStackSavedStateObserver );
619
+ }
620
+ }
621
+
611
622
@ Override
612
623
public void onDestroy () {
613
624
super .onDestroy ();
@@ -1061,9 +1072,9 @@ private void setupButtons(final long profileId) {
1061
1072
if (shareLinkMenuItem != null ) {
1062
1073
shareLinkMenuItem .setVisible (!TextUtils .isEmpty (profileModel .getUsername ()));
1063
1074
}
1064
- // if (shareDmMenuItem != null) {
1065
- // shareDmMenuItem.setVisible(profileModel.getPk() != 0L);
1066
- // }
1075
+ if (shareDmMenuItem != null ) {
1076
+ shareDmMenuItem .setVisible (profileModel .getPk () != 0L );
1077
+ }
1067
1078
}
1068
1079
}
1069
1080
0 commit comments