mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	fix backstack issue with mediaccc
This commit is contained in:
		| @@ -363,7 +363,8 @@ public class VideoDetailFragment | ||||
|                 } | ||||
|                 break; | ||||
|             case R.id.detail_controls_download: | ||||
|                 if (PermissionHelper.checkStoragePermissions(activity, PermissionHelper.DOWNLOAD_DIALOG_REQUEST_CODE)) { | ||||
|                 if (PermissionHelper.checkStoragePermissions(activity, | ||||
|                         PermissionHelper.DOWNLOAD_DIALOG_REQUEST_CODE)) { | ||||
|                     this.openDownloadDialog(); | ||||
|                 } | ||||
|                 break; | ||||
| @@ -447,7 +448,6 @@ public class VideoDetailFragment | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         //Log.d(TAG, "toggleExpandRelatedVideos() called with: info = [" + info + "], from = [" + INITIAL_RELATED_VIDEOS + "]"); | ||||
|         for (int i = INITIAL_RELATED_VIDEOS; i < info.getRelatedStreams().size(); i++) { | ||||
|             InfoItem item = info.getRelatedStreams().get(i); | ||||
|             //Log.d(TAG, "i = " + i); | ||||
| @@ -520,7 +520,9 @@ public class VideoDetailFragment | ||||
|         infoItemBuilder.setOnStreamSelectedListener(new OnClickGesture<StreamInfoItem>() { | ||||
|             @Override | ||||
|             public void selected(StreamInfoItem selectedItem) { | ||||
|                 selectAndLoadVideo(selectedItem.getServiceId(), selectedItem.getUrl(), selectedItem.getName()); | ||||
|                 selectAndLoadVideo(selectedItem.getServiceId(), | ||||
|                         selectedItem.getUrl(), | ||||
|                         selectedItem.getName()); | ||||
|             } | ||||
|  | ||||
|             @Override | ||||
| @@ -743,10 +745,16 @@ public class VideoDetailFragment | ||||
|         boolean isExternalPlayerEnabled = PreferenceManager.getDefaultSharedPreferences(activity) | ||||
|                 .getBoolean(activity.getString(R.string.use_external_video_player_key), false); | ||||
|  | ||||
|         sortedVideoStreams = ListHelper.getSortedStreamVideosList(activity, info.getVideoStreams(), info.getVideoOnlyStreams(), false); | ||||
|         sortedVideoStreams = ListHelper.getSortedStreamVideosList( | ||||
|                 activity, | ||||
|                 info.getVideoStreams(), | ||||
|                 info.getVideoOnlyStreams(), | ||||
|                 false); | ||||
|         selectedVideoStreamIndex = ListHelper.getDefaultResolutionIndex(activity, sortedVideoStreams); | ||||
|  | ||||
|         final StreamItemAdapter<VideoStream, Stream> streamsAdapter = new StreamItemAdapter<>(activity, new StreamSizeWrapper<>(sortedVideoStreams, activity), isExternalPlayerEnabled); | ||||
|         final StreamItemAdapter<VideoStream, Stream> streamsAdapter = | ||||
|                 new StreamItemAdapter<>(activity, | ||||
|                         new StreamSizeWrapper<>(sortedVideoStreams, activity), isExternalPlayerEnabled); | ||||
|         spinnerToolbar.setAdapter(streamsAdapter); | ||||
|         spinnerToolbar.setSelection(selectedVideoStreamIndex); | ||||
|         spinnerToolbar.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | ||||
| @@ -771,17 +779,17 @@ public class VideoDetailFragment | ||||
|      */ | ||||
|     protected final LinkedList<StackItem> stack = new LinkedList<>(); | ||||
|  | ||||
|     public void clearHistory() { | ||||
|         stack.clear(); | ||||
|     } | ||||
|  | ||||
|     public void pushToStack(int serviceId, String videoUrl, String name) { | ||||
|         if (DEBUG) { | ||||
|             Log.d(TAG, "pushToStack() called with: serviceId = [" + serviceId + "], videoUrl = [" + videoUrl + "], name = [" + name + "]"); | ||||
|             Log.d(TAG, "pushToStack() called with: serviceId = [" | ||||
|                     + serviceId + "], videoUrl = [" + videoUrl + "], name = [" + name + "]"); | ||||
|         } | ||||
|  | ||||
|         if (stack.size() > 0 && stack.peek().getServiceId() == serviceId && stack.peek().getUrl().equals(videoUrl)) { | ||||
|             Log.d(TAG, "pushToStack() called with: serviceId == peek.serviceId = [" + serviceId + "], videoUrl == peek.getUrl = [" + videoUrl + "]"); | ||||
|         if (stack.size() > 0 | ||||
|                 && stack.peek().getServiceId() == serviceId | ||||
|                 && stack.peek().getUrl().equals(videoUrl)) { | ||||
|             Log.d(TAG, "pushToStack() called with: serviceId == peek.serviceId = [" | ||||
|                     + serviceId + "], videoUrl == peek.getUrl = [" + videoUrl + "]"); | ||||
|             return; | ||||
|         } else { | ||||
|             Log.d(TAG, "pushToStack() wasn't equal"); | ||||
| @@ -812,7 +820,11 @@ public class VideoDetailFragment | ||||
|         // Get stack item from the new top | ||||
|         StackItem peek = stack.peek(); | ||||
|  | ||||
|         selectAndLoadVideo(peek.getServiceId(), peek.getUrl(), !TextUtils.isEmpty(peek.getTitle()) ? peek.getTitle() : ""); | ||||
|         selectAndLoadVideo(peek.getServiceId(), | ||||
|                 peek.getUrl(), | ||||
|                 !TextUtils.isEmpty(peek.getTitle()) | ||||
|                         ? peek.getTitle() | ||||
|                         : ""); | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
| @@ -832,9 +844,10 @@ public class VideoDetailFragment | ||||
|     } | ||||
|  | ||||
|     public void prepareAndHandleInfo(final StreamInfo info, boolean scrollToTop) { | ||||
|         if (DEBUG) Log.d(TAG, "prepareAndHandleInfo() called with: info = [" + info + "], scrollToTop = [" + scrollToTop + "]"); | ||||
|         if (DEBUG) Log.d(TAG, "prepareAndHandleInfo() called with: info = [" | ||||
|                 + info + "], scrollToTop = [" + scrollToTop + "]"); | ||||
|  | ||||
|         setInitialData(info.getServiceId(), info.getOriginalUrl(), info.getName()); | ||||
|         setInitialData(info.getServiceId(), info.getUrl(), info.getName()); | ||||
|         pushToStack(serviceId, url, name); | ||||
|         showLoading(); | ||||
|  | ||||
| @@ -1027,7 +1040,8 @@ public class VideoDetailFragment | ||||
|  | ||||
|     private void showContentWithAnimation(long duration, | ||||
|                                           long delay, | ||||
|                                           @FloatRange(from = 0.0f, to = 1.0f) float translationPercent) { | ||||
|                                           @FloatRange(from = 0.0f, to = 1.0f) | ||||
|                                                   float translationPercent) { | ||||
|         int translationY = (int) (getResources().getDisplayMetrics().heightPixels * | ||||
|                 (translationPercent > 0.0f ? translationPercent : .06f)); | ||||
|  | ||||
| @@ -1135,7 +1149,7 @@ public class VideoDetailFragment | ||||
|         super.handleResult(info); | ||||
|  | ||||
|         setInitialData(info.getServiceId(), info.getOriginalUrl(), info.getName()); | ||||
|         pushToStack(serviceId, url, name); | ||||
|         //pushToStack(serviceId, url, name); | ||||
|  | ||||
|         animateView(thumbnailPlayButton, true, 200); | ||||
|         videoTitleTextView.setText(name); | ||||
| @@ -1186,11 +1200,13 @@ public class VideoDetailFragment | ||||
|  | ||||
|         if (info.getDuration() > 0) { | ||||
|             detailDurationView.setText(Localization.getDurationString(info.getDuration())); | ||||
|             detailDurationView.setBackgroundColor(ContextCompat.getColor(activity, R.color.duration_background_color)); | ||||
|             detailDurationView.setBackgroundColor( | ||||
|                     ContextCompat.getColor(activity, R.color.duration_background_color)); | ||||
|             animateView(detailDurationView, true, 100); | ||||
|         } else if (info.getStreamType() == StreamType.LIVE_STREAM) { | ||||
|             detailDurationView.setText(R.string.duration_live); | ||||
|             detailDurationView.setBackgroundColor(ContextCompat.getColor(activity, R.color.live_duration_background_color)); | ||||
|             detailDurationView.setBackgroundColor( | ||||
|                     ContextCompat.getColor(activity, R.color.live_duration_background_color)); | ||||
|             animateView(detailDurationView, true, 100); | ||||
|         } else { | ||||
|             detailDurationView.setVisibility(View.GONE); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Christian Schabesberger
					Christian Schabesberger