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