mirror of
				https://github.com/KokaKiwi/BarInsta
				synced 2025-11-04 05:25:35 +00:00 
			
		
		
		
	new story menubar; effectively close #553
This commit is contained in:
		
							parent
							
								
									04ee3883ea
								
							
						
					
					
						commit
						4c800835c3
					
				@ -137,14 +137,14 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
    private String[] mentions;
 | 
					    private String[] mentions;
 | 
				
			||||||
    private QuizModel quiz;
 | 
					    private QuizModel quiz;
 | 
				
			||||||
    private SliderModel slider;
 | 
					    private SliderModel slider;
 | 
				
			||||||
    private MenuItem menuDownload;
 | 
					    private MenuItem menuDownload, menuDm, menuProfile;
 | 
				
			||||||
    private MenuItem menuDm;
 | 
					 | 
				
			||||||
    private SimpleExoPlayer player;
 | 
					    private SimpleExoPlayer player;
 | 
				
			||||||
    // private boolean isHashtag;
 | 
					    // private boolean isHashtag;
 | 
				
			||||||
    // private boolean isLoc;
 | 
					    // private boolean isLoc;
 | 
				
			||||||
    // private String highlight;
 | 
					    // private String highlight;
 | 
				
			||||||
    private String actionBarTitle;
 | 
					    private String actionBarTitle, actionBarSubtitle;
 | 
				
			||||||
    private boolean fetching = false, sticking = false, shouldRefresh = true;
 | 
					    private boolean fetching = false, sticking = false, shouldRefresh = true;
 | 
				
			||||||
 | 
					    private boolean downloadVisible = false, dmVisible = false, profileVisible = true;
 | 
				
			||||||
    private int currentFeedStoryIndex;
 | 
					    private int currentFeedStoryIndex;
 | 
				
			||||||
    private double sliderValue;
 | 
					    private double sliderValue;
 | 
				
			||||||
    private StoriesViewModel storiesViewModel;
 | 
					    private StoriesViewModel storiesViewModel;
 | 
				
			||||||
@ -195,8 +195,10 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
        menuInflater.inflate(R.menu.story_menu, menu);
 | 
					        menuInflater.inflate(R.menu.story_menu, menu);
 | 
				
			||||||
        menuDownload = menu.findItem(R.id.action_download);
 | 
					        menuDownload = menu.findItem(R.id.action_download);
 | 
				
			||||||
        menuDm = menu.findItem(R.id.action_dms);
 | 
					        menuDm = menu.findItem(R.id.action_dms);
 | 
				
			||||||
        menuDownload.setVisible(false);
 | 
					        menuProfile = menu.findItem(R.id.action_profile);
 | 
				
			||||||
        menuDm.setVisible(false);
 | 
					        menuDownload.setVisible(downloadVisible);
 | 
				
			||||||
 | 
					        menuDm.setVisible(dmVisible);
 | 
				
			||||||
 | 
					        menuProfile.setVisible(profileVisible);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@ -215,7 +217,8 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
            else
 | 
					            else
 | 
				
			||||||
                ActivityCompat.requestPermissions(requireActivity(), DownloadUtils.PERMS, 8020);
 | 
					                ActivityCompat.requestPermissions(requireActivity(), DownloadUtils.PERMS, 8020);
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        } else if (itemId == R.id.action_dms) {
 | 
					        }
 | 
				
			||||||
 | 
					        if (itemId == R.id.action_dms) {
 | 
				
			||||||
            final EditText input = new EditText(context);
 | 
					            final EditText input = new EditText(context);
 | 
				
			||||||
            input.setHint(R.string.reply_hint);
 | 
					            input.setHint(R.string.reply_hint);
 | 
				
			||||||
            new AlertDialog.Builder(context)
 | 
					            new AlertDialog.Builder(context)
 | 
				
			||||||
@ -259,6 +262,9 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
                    .show();
 | 
					                    .show();
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        if (itemId == R.id.action_profile) {
 | 
				
			||||||
 | 
					            openProfile("@" + currentStory.getUsername());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -281,7 +287,9 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
        final ActionBar actionBar = fragmentActivity.getSupportActionBar();
 | 
					        final ActionBar actionBar = fragmentActivity.getSupportActionBar();
 | 
				
			||||||
        if (actionBar != null) {
 | 
					        if (actionBar != null) {
 | 
				
			||||||
            actionBar.setTitle(actionBarTitle);
 | 
					            actionBar.setTitle(actionBarTitle);
 | 
				
			||||||
 | 
					            actionBar.setSubtitle(actionBarSubtitle);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        setHasOptionsMenu(true);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@ -697,6 +705,10 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
        lastSlidePos = 0;
 | 
					        lastSlidePos = 0;
 | 
				
			||||||
        if (menuDownload != null) menuDownload.setVisible(false);
 | 
					        if (menuDownload != null) menuDownload.setVisible(false);
 | 
				
			||||||
        if (menuDm != null) menuDm.setVisible(false);
 | 
					        if (menuDm != null) menuDm.setVisible(false);
 | 
				
			||||||
 | 
					        if (menuProfile != null) menuProfile.setVisible(false);
 | 
				
			||||||
 | 
					        downloadVisible = false;
 | 
				
			||||||
 | 
					        dmVisible = false;
 | 
				
			||||||
 | 
					        profileVisible = false;
 | 
				
			||||||
        binding.imageViewer.setController(null);
 | 
					        binding.imageViewer.setController(null);
 | 
				
			||||||
        releasePlayer();
 | 
					        releasePlayer();
 | 
				
			||||||
        String currentStoryMediaId = null;
 | 
					        String currentStoryMediaId = null;
 | 
				
			||||||
@ -846,7 +858,6 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        final MediaItemType itemType = currentStory.getItemType();
 | 
					        final MediaItemType itemType = currentStory.getItemType();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (menuDownload != null) menuDownload.setVisible(false);
 | 
					 | 
				
			||||||
        url = itemType == MediaItemType.MEDIA_TYPE_IMAGE ? currentStory.getStoryUrl() : currentStory.getVideoUrl();
 | 
					        url = itemType == MediaItemType.MEDIA_TYPE_IMAGE ? currentStory.getStoryUrl() : currentStory.getVideoUrl();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (itemType != MediaItemType.MEDIA_TYPE_LIVE) {
 | 
					        if (itemType != MediaItemType.MEDIA_TYPE_LIVE) {
 | 
				
			||||||
@ -900,9 +911,10 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
        else setupImage();
 | 
					        else setupImage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        final ActionBar actionBar = fragmentActivity.getSupportActionBar();
 | 
					        final ActionBar actionBar = fragmentActivity.getSupportActionBar();
 | 
				
			||||||
 | 
					        actionBarSubtitle = Utils.datetimeParser.format(new Date(currentStory.getTimestamp() * 1000L));
 | 
				
			||||||
        if (actionBar != null) {
 | 
					        if (actionBar != null) {
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                actionBar.setSubtitle(Utils.datetimeParser.format(new Date(currentStory.getTimestamp() * 1000L)));
 | 
					                actionBar.setSubtitle(actionBarSubtitle);
 | 
				
			||||||
            } catch (Exception e) {
 | 
					            } catch (Exception e) {
 | 
				
			||||||
                Log.e(TAG, "refreshStory: ", e);
 | 
					                Log.e(TAG, "refreshStory: ", e);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@ -948,11 +960,17 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
                                                                                  final ImageInfo imageInfo,
 | 
					                                                                                  final ImageInfo imageInfo,
 | 
				
			||||||
                                                                                  final Animatable animatable) {
 | 
					                                                                                  final Animatable animatable) {
 | 
				
			||||||
                                                          if (menuDownload != null) {
 | 
					                                                          if (menuDownload != null) {
 | 
				
			||||||
 | 
					                                                              downloadVisible = true;
 | 
				
			||||||
                                                              menuDownload.setVisible(true);
 | 
					                                                              menuDownload.setVisible(true);
 | 
				
			||||||
                                                          }
 | 
					                                                          }
 | 
				
			||||||
                                                          if (currentStory.canReply() && menuDm != null) {
 | 
					                                                          if (currentStory.canReply() && menuDm != null) {
 | 
				
			||||||
 | 
					                                                              dmVisible = true;
 | 
				
			||||||
                                                              menuDm.setVisible(true);
 | 
					                                                              menuDm.setVisible(true);
 | 
				
			||||||
                                                          }
 | 
					                                                          }
 | 
				
			||||||
 | 
					                                                          if (!TextUtils.isEmpty(currentStory.getUsername())) {
 | 
				
			||||||
 | 
					                                                              profileVisible = true;
 | 
				
			||||||
 | 
					                                                              menuProfile.setVisible(true);
 | 
				
			||||||
 | 
					                                                          }
 | 
				
			||||||
                                                          binding.progressView.setVisibility(View.GONE);
 | 
					                                                          binding.progressView.setVisibility(View.GONE);
 | 
				
			||||||
                                                      }
 | 
					                                                      }
 | 
				
			||||||
                                                  })
 | 
					                                                  })
 | 
				
			||||||
@ -982,9 +1000,18 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
                                        @Nullable final MediaSource.MediaPeriodId mediaPeriodId,
 | 
					                                        @Nullable final MediaSource.MediaPeriodId mediaPeriodId,
 | 
				
			||||||
                                        @NonNull final LoadEventInfo loadEventInfo,
 | 
					                                        @NonNull final LoadEventInfo loadEventInfo,
 | 
				
			||||||
                                        @NonNull final MediaLoadData mediaLoadData) {
 | 
					                                        @NonNull final MediaLoadData mediaLoadData) {
 | 
				
			||||||
                if (menuDownload != null) menuDownload.setVisible(true);
 | 
					                if (menuDownload != null) {
 | 
				
			||||||
                if (currentStory.canReply() && menuDm != null)
 | 
					                    downloadVisible = true;
 | 
				
			||||||
 | 
					                    menuDownload.setVisible(true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (currentStory.canReply() && menuDm != null) {
 | 
				
			||||||
 | 
					                    dmVisible = true;
 | 
				
			||||||
                    menuDm.setVisible(true);
 | 
					                    menuDm.setVisible(true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (!TextUtils.isEmpty(currentStory.getUsername()) && menuProfile != null) {
 | 
				
			||||||
 | 
					                    profileVisible = true;
 | 
				
			||||||
 | 
					                    menuProfile.setVisible(true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
                binding.progressView.setVisibility(View.GONE);
 | 
					                binding.progressView.setVisibility(View.GONE);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -993,9 +1020,18 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
                                      @Nullable final MediaSource.MediaPeriodId mediaPeriodId,
 | 
					                                      @Nullable final MediaSource.MediaPeriodId mediaPeriodId,
 | 
				
			||||||
                                      @NonNull final LoadEventInfo loadEventInfo,
 | 
					                                      @NonNull final LoadEventInfo loadEventInfo,
 | 
				
			||||||
                                      @NonNull final MediaLoadData mediaLoadData) {
 | 
					                                      @NonNull final MediaLoadData mediaLoadData) {
 | 
				
			||||||
                if (menuDownload != null) menuDownload.setVisible(true);
 | 
					                if (menuDownload != null) {
 | 
				
			||||||
                if (currentStory.canReply() && menuDm != null)
 | 
					                    downloadVisible = true;
 | 
				
			||||||
 | 
					                    menuDownload.setVisible(true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (currentStory.canReply() && menuDm != null) {
 | 
				
			||||||
 | 
					                    dmVisible = true;
 | 
				
			||||||
                    menuDm.setVisible(true);
 | 
					                    menuDm.setVisible(true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (!TextUtils.isEmpty(currentStory.getUsername()) && menuProfile != null) {
 | 
				
			||||||
 | 
					                    profileVisible = true;
 | 
				
			||||||
 | 
					                    menuProfile.setVisible(true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
                binding.progressView.setVisibility(View.VISIBLE);
 | 
					                binding.progressView.setVisibility(View.VISIBLE);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1014,8 +1050,18 @@ public class StoryViewerFragment extends Fragment {
 | 
				
			|||||||
                                    @NonNull final MediaLoadData mediaLoadData,
 | 
					                                    @NonNull final MediaLoadData mediaLoadData,
 | 
				
			||||||
                                    @NonNull final IOException error,
 | 
					                                    @NonNull final IOException error,
 | 
				
			||||||
                                    final boolean wasCanceled) {
 | 
					                                    final boolean wasCanceled) {
 | 
				
			||||||
                if (menuDownload != null) menuDownload.setVisible(false);
 | 
					                if (menuDownload != null) {
 | 
				
			||||||
                if (menuDm != null) menuDm.setVisible(false);
 | 
					                    downloadVisible = false;
 | 
				
			||||||
 | 
					                    menuDownload.setVisible(false);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (menuDm != null) {
 | 
				
			||||||
 | 
					                    dmVisible = false;
 | 
				
			||||||
 | 
					                    menuDm.setVisible(false);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (menuProfile != null) {
 | 
				
			||||||
 | 
					                    profileVisible = false;
 | 
				
			||||||
 | 
					                    menuProfile.setVisible(false);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
                binding.progressView.setVisibility(View.GONE);
 | 
					                binding.progressView.setVisibility(View.GONE);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
				
			|||||||
@ -5,13 +5,18 @@
 | 
				
			|||||||
    <item
 | 
					    <item
 | 
				
			||||||
        android:id="@+id/action_dms"
 | 
					        android:id="@+id/action_dms"
 | 
				
			||||||
        android:icon="@drawable/ic_round_send_24"
 | 
					        android:icon="@drawable/ic_round_send_24"
 | 
				
			||||||
        android:title="@string/action_dms"
 | 
					        android:title="@string/reply_story"
 | 
				
			||||||
        android:titleCondensed="@string/action_dms"
 | 
					        android:titleCondensed="@string/reply_story"
 | 
				
			||||||
        app:showAsAction="always" />
 | 
					        app:showAsAction="never" />
 | 
				
			||||||
 | 
					    <item
 | 
				
			||||||
 | 
					        android:id="@+id/action_profile"
 | 
				
			||||||
 | 
					        android:title="@string/open_profile"
 | 
				
			||||||
 | 
					        android:titleCondensed="@string/open_profile"
 | 
				
			||||||
 | 
					        app:showAsAction="never" />
 | 
				
			||||||
    <item
 | 
					    <item
 | 
				
			||||||
        android:id="@+id/action_download"
 | 
					        android:id="@+id/action_download"
 | 
				
			||||||
        android:icon="@drawable/ic_download"
 | 
					        android:icon="@drawable/ic_download"
 | 
				
			||||||
        android:title="@string/action_download"
 | 
					        android:title="@string/action_download"
 | 
				
			||||||
        android:titleCondensed="@string/action_download"
 | 
					        android:titleCondensed="@string/action_download"
 | 
				
			||||||
        app:showAsAction="always" />
 | 
					        app:showAsAction="never" />
 | 
				
			||||||
</menu>
 | 
					</menu>
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user