mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 15:23:00 +00:00 
			
		
		
		
	Merge remote-tracking branch 'upstream/dev' into directOnBackground
This commit is contained in:
		| @@ -41,6 +41,7 @@ import org.schabi.newpipe.player.playqueue.PlayQueue; | |||||||
| import org.schabi.newpipe.player.playqueue.PlaylistPlayQueue; | import org.schabi.newpipe.player.playqueue.PlaylistPlayQueue; | ||||||
| import org.schabi.newpipe.player.playqueue.SinglePlayQueue; | import org.schabi.newpipe.player.playqueue.SinglePlayQueue; | ||||||
| import org.schabi.newpipe.report.UserAction; | import org.schabi.newpipe.report.UserAction; | ||||||
|  | import org.schabi.newpipe.util.Constants; | ||||||
| import org.schabi.newpipe.util.ExtractorHelper; | import org.schabi.newpipe.util.ExtractorHelper; | ||||||
| import org.schabi.newpipe.util.ListHelper; | import org.schabi.newpipe.util.ListHelper; | ||||||
| import org.schabi.newpipe.util.NavigationHelper; | import org.schabi.newpipe.util.NavigationHelper; | ||||||
| @@ -96,7 +97,7 @@ public class RouterActivity extends AppCompatActivity { | |||||||
|             currentUrl = getUrl(getIntent()); |             currentUrl = getUrl(getIntent()); | ||||||
|  |  | ||||||
|             if (TextUtils.isEmpty(currentUrl)) { |             if (TextUtils.isEmpty(currentUrl)) { | ||||||
|                 Toast.makeText(this, R.string.invalid_url_toast, Toast.LENGTH_LONG).show(); |                 handleText(); | ||||||
|                 finish(); |                 finish(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @@ -357,6 +358,15 @@ public class RouterActivity extends AppCompatActivity { | |||||||
|         positiveButton.setEnabled(state); |         positiveButton.setEnabled(state); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     private void handleText(){ | ||||||
|  |         String searchString = getIntent().getStringExtra(Intent.EXTRA_TEXT); | ||||||
|  |         int serviceId = getIntent().getIntExtra(Constants.KEY_SERVICE_ID, 0); | ||||||
|  |         Intent intent = new Intent(getThemeWrapperContext(), MainActivity.class); | ||||||
|  |         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||||
|  |         startActivity(intent); | ||||||
|  |         NavigationHelper.openSearch(getThemeWrapperContext(),serviceId,searchString); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     private void handleChoice(final String selectedChoiceKey) { |     private void handleChoice(final String selectedChoiceKey) { | ||||||
|         final List<String> validChoicesList = Arrays.asList(getResources().getStringArray(R.array.preferred_open_action_values_list)); |         final List<String> validChoicesList = Arrays.asList(getResources().getStringArray(R.array.preferred_open_action_values_list)); | ||||||
|         if (validChoicesList.contains(selectedChoiceKey)) { |         if (validChoicesList.contains(selectedChoiceKey)) { | ||||||
|   | |||||||
| @@ -275,6 +275,8 @@ public final class BackgroundPlayer extends Service { | |||||||
|     protected class BasePlayerImpl extends BasePlayer { |     protected class BasePlayerImpl extends BasePlayer { | ||||||
|  |  | ||||||
|         @NonNull final private AudioPlaybackResolver resolver; |         @NonNull final private AudioPlaybackResolver resolver; | ||||||
|  |         private int cachedDuration; | ||||||
|  |         private String cachedDurationString; | ||||||
|  |  | ||||||
|         BasePlayerImpl(Context context) { |         BasePlayerImpl(Context context) { | ||||||
|             super(context); |             super(context); | ||||||
| @@ -349,10 +351,14 @@ public final class BackgroundPlayer extends Service { | |||||||
|  |  | ||||||
|             if (!shouldUpdateOnProgress) return; |             if (!shouldUpdateOnProgress) return; | ||||||
|             resetNotification(); |             resetNotification(); | ||||||
|             if(Build.VERSION.SDK_INT >= 26 /*Oreo*/) updateNotificationThumbnail(); |             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O /*Oreo*/) updateNotificationThumbnail(); | ||||||
|             if (bigNotRemoteView != null) { |             if (bigNotRemoteView != null) { | ||||||
|  |                 if(cachedDuration != duration) { | ||||||
|  |                     cachedDuration = duration; | ||||||
|  |                     cachedDurationString = getTimeString(duration); | ||||||
|  |                 } | ||||||
|                 bigNotRemoteView.setProgressBar(R.id.notificationProgressBar, duration, currentProgress, false); |                 bigNotRemoteView.setProgressBar(R.id.notificationProgressBar, duration, currentProgress, false); | ||||||
|                 bigNotRemoteView.setTextViewText(R.id.notificationTime, getTimeString(currentProgress) + " / " + getTimeString(duration)); |                 bigNotRemoteView.setTextViewText(R.id.notificationTime, getTimeString(currentProgress) + " / " + cachedDurationString); | ||||||
|             } |             } | ||||||
|             if (notRemoteView != null) { |             if (notRemoteView != null) { | ||||||
|                 notRemoteView.setProgressBar(R.id.notificationProgressBar, duration, currentProgress, false); |                 notRemoteView.setProgressBar(R.id.notificationProgressBar, duration, currentProgress, false); | ||||||
|   | |||||||
| @@ -70,10 +70,10 @@ public class PlayerHelper { | |||||||
|     //////////////////////////////////////////////////////////////////////////// |     //////////////////////////////////////////////////////////////////////////// | ||||||
|  |  | ||||||
|     public static String getTimeString(int milliSeconds) { |     public static String getTimeString(int milliSeconds) { | ||||||
|         long seconds = (milliSeconds % 60000L) / 1000L; |         int seconds = (milliSeconds % 60000) / 1000; | ||||||
|         long minutes = (milliSeconds % 3600000L) / 60000L; |         int minutes = (milliSeconds % 3600000) / 60000; | ||||||
|         long hours = (milliSeconds % 86400000L) / 3600000L; |         int hours = (milliSeconds % 86400000) / 3600000; | ||||||
|         long days = (milliSeconds % (86400000L * 7L)) / 86400000L; |         int days = (milliSeconds % (86400000 * 7)) / 86400000; | ||||||
|  |  | ||||||
|         stringBuilder.setLength(0); |         stringBuilder.setLength(0); | ||||||
|         return days > 0 ? stringFormatter.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds).toString() |         return days > 0 ? stringFormatter.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds).toString() | ||||||
|   | |||||||
| @@ -1,49 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <android.support.design.widget.CoordinatorLayout |  | ||||||
|     xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:id="@+id/main_content" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     android:fitsSystemWindows="true" |  | ||||||
|     tools:context="org.schabi.newpipe.history.HistoryActivity"> |  | ||||||
|  |  | ||||||
|     <android.support.design.widget.AppBarLayout |  | ||||||
|         android:id="@+id/appbar" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:theme="@style/ThemeOverlay.AppCompat.ActionBar" |  | ||||||
|         app:popupTheme="@style/ThemeOverlay.AppCompat.ActionBar"> |  | ||||||
|  |  | ||||||
|         <android.support.v7.widget.Toolbar |  | ||||||
|             android:id="@+id/toolbar" |  | ||||||
|             android:layout_width="match_parent" |  | ||||||
|             android:layout_height="?attr/actionBarSize" |  | ||||||
|             android:layout_weight="1" |  | ||||||
|             android:background="?attr/colorPrimary" |  | ||||||
|             app:layout_scrollFlags="scroll|enterAlways" |  | ||||||
|             app:title="@string/app_name"/> |  | ||||||
|  |  | ||||||
|         <android.support.design.widget.TabLayout |  | ||||||
|             android:id="@+id/tabs" |  | ||||||
|             android:layout_width="match_parent" |  | ||||||
|             android:layout_height="wrap_content"/> |  | ||||||
|  |  | ||||||
|     </android.support.design.widget.AppBarLayout> |  | ||||||
|  |  | ||||||
|     <android.support.v4.view.ViewPager |  | ||||||
|         android:id="@+id/container" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         app:layout_behavior="@string/appbar_scrolling_view_behavior"/> |  | ||||||
|  |  | ||||||
|     <android.support.design.widget.FloatingActionButton |  | ||||||
|         android:id="@+id/fab" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_gravity="end|bottom" |  | ||||||
|         android:layout_margin="@dimen/fab_margin" |  | ||||||
|         app:srcCompat="?attr/clear_history"/> |  | ||||||
|  |  | ||||||
| </android.support.design.widget.CoordinatorLayout> |  | ||||||
| @@ -1,27 +0,0 @@ | |||||||
| <merge xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     tools:context=".player.old.PlayVideoActivity" |  | ||||||
|     android:gravity="center"> |  | ||||||
|  |  | ||||||
|     <VideoView android:id="@+id/video_view" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         android:layout_gravity="center" |  | ||||||
|         android:focusable="false"/> |  | ||||||
|  |  | ||||||
|     <Button android:id="@+id/content_button" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         android:background="@null" |  | ||||||
|         android:focusable="false"/> |  | ||||||
|  |  | ||||||
|     <ProgressBar android:id="@+id/play_video_progress_bar" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:indeterminate="true" |  | ||||||
|         android:layout_gravity="center" |  | ||||||
|         android:focusable="false"/> |  | ||||||
|  |  | ||||||
| </merge> |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| <FrameLayout |  | ||||||
|     xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:id="@+id/constraintLayout" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     tools:context="org.schabi.newpipe.history.HistoryFragment"> |  | ||||||
|  |  | ||||||
|     <android.support.v7.widget.RecyclerView |  | ||||||
|         android:id="@+id/history_view" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         tools:listitem="@layout/item_search_history"/> |  | ||||||
|  |  | ||||||
|     <TextView |  | ||||||
|         android:id="@+id/history_empty" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_gravity="center" |  | ||||||
|         android:text="@string/history_empty" |  | ||||||
|         android:textAppearance="?android:attr/textAppearanceMedium" |  | ||||||
|         android:visibility="gone" |  | ||||||
|         tools:visibility="visible"/> |  | ||||||
|  |  | ||||||
|     <include |  | ||||||
|         android:id="@+id/history_disabled_view" |  | ||||||
|         layout="@layout/history_disabled_view" |  | ||||||
|         android:visibility="gone"/> |  | ||||||
|  |  | ||||||
| </FrameLayout> |  | ||||||
		Reference in New Issue
	
	Block a user
	 Robin
					Robin