mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 15:23:00 +00:00 
			
		
		
		
	Merge pull request #6313 from Isira-Seneviratne/Update_Room_to_2.3.0
Update Room to 2.3.0.
This commit is contained in:
		| @@ -102,7 +102,7 @@ ext { | ||||
|     checkstyleVersion = '8.38' | ||||
|  | ||||
|     androidxLifecycleVersion = '2.2.0' | ||||
|     androidxRoomVersion = '2.3.0-alpha03' | ||||
|     androidxRoomVersion = '2.3.0' | ||||
|  | ||||
|     icepickVersion = '3.2.0' | ||||
|     exoPlayerVersion = '2.12.3' | ||||
|   | ||||
| @@ -1,64 +0,0 @@ | ||||
| package org.schabi.newpipe.database; | ||||
|  | ||||
| import androidx.room.TypeConverter; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.stream.StreamType; | ||||
| import org.schabi.newpipe.local.subscription.FeedGroupIcon; | ||||
|  | ||||
| import java.time.Instant; | ||||
| import java.time.OffsetDateTime; | ||||
| import java.time.ZoneOffset; | ||||
|  | ||||
| public final class Converters { | ||||
|     private Converters() { } | ||||
|  | ||||
|     /** | ||||
|      * Convert a long value to a {@link OffsetDateTime}. | ||||
|      * | ||||
|      * @param value the long value | ||||
|      * @return the {@code OffsetDateTime} | ||||
|      */ | ||||
|     @TypeConverter | ||||
|     public static OffsetDateTime offsetDateTimeFromTimestamp(final Long value) { | ||||
|         return value == null ? null : OffsetDateTime.ofInstant(Instant.ofEpochMilli(value), | ||||
|                 ZoneOffset.UTC); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Convert a {@link OffsetDateTime} to a long value. | ||||
|      * | ||||
|      * @param offsetDateTime the {@code OffsetDateTime} | ||||
|      * @return the long value | ||||
|      */ | ||||
|     @TypeConverter | ||||
|     public static Long offsetDateTimeToTimestamp(final OffsetDateTime offsetDateTime) { | ||||
|         return offsetDateTime == null ? null : offsetDateTime.withOffsetSameInstant(ZoneOffset.UTC) | ||||
|                 .toInstant().toEpochMilli(); | ||||
|     } | ||||
|  | ||||
|     @TypeConverter | ||||
|     public static StreamType streamTypeOf(final String value) { | ||||
|         return StreamType.valueOf(value); | ||||
|     } | ||||
|  | ||||
|     @TypeConverter | ||||
|     public static String stringOf(final StreamType streamType) { | ||||
|         return streamType.name(); | ||||
|     } | ||||
|  | ||||
|     @TypeConverter | ||||
|     public static Integer integerOf(final FeedGroupIcon feedGroupIcon) { | ||||
|         return feedGroupIcon.getId(); | ||||
|     } | ||||
|  | ||||
|     @TypeConverter | ||||
|     public static FeedGroupIcon feedGroupIconOf(final Integer id) { | ||||
|         for (final FeedGroupIcon icon : FeedGroupIcon.values()) { | ||||
|             if (icon.getId() == id) { | ||||
|                 return icon; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         throw new IllegalArgumentException("There's no feed group icon with the id \"" + id + "\""); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										52
									
								
								app/src/main/java/org/schabi/newpipe/database/Converters.kt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								app/src/main/java/org/schabi/newpipe/database/Converters.kt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| package org.schabi.newpipe.database | ||||
|  | ||||
| import androidx.room.TypeConverter | ||||
| import org.schabi.newpipe.extractor.stream.StreamType | ||||
| import org.schabi.newpipe.local.subscription.FeedGroupIcon | ||||
| import java.time.Instant | ||||
| import java.time.OffsetDateTime | ||||
| import java.time.ZoneOffset | ||||
|  | ||||
| object Converters { | ||||
|     /** | ||||
|      * Convert a long value to a [OffsetDateTime]. | ||||
|      * | ||||
|      * @param value the long value | ||||
|      * @return the `OffsetDateTime` | ||||
|      */ | ||||
|     @TypeConverter | ||||
|     fun offsetDateTimeFromTimestamp(value: Long?): OffsetDateTime? { | ||||
|         return value?.let { OffsetDateTime.ofInstant(Instant.ofEpochMilli(it), ZoneOffset.UTC) } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Convert a [OffsetDateTime] to a long value. | ||||
|      * | ||||
|      * @param offsetDateTime the `OffsetDateTime` | ||||
|      * @return the long value | ||||
|      */ | ||||
|     @TypeConverter | ||||
|     fun offsetDateTimeToTimestamp(offsetDateTime: OffsetDateTime?): Long? { | ||||
|         return offsetDateTime?.withOffsetSameInstant(ZoneOffset.UTC)?.toInstant()?.toEpochMilli() | ||||
|     } | ||||
|  | ||||
|     @TypeConverter | ||||
|     fun streamTypeOf(value: String): StreamType { | ||||
|         return StreamType.valueOf(value) | ||||
|     } | ||||
|  | ||||
|     @TypeConverter | ||||
|     fun stringOf(streamType: StreamType): String { | ||||
|         return streamType.name | ||||
|     } | ||||
|  | ||||
|     @TypeConverter | ||||
|     fun integerOf(feedGroupIcon: FeedGroupIcon): Int { | ||||
|         return feedGroupIcon.id | ||||
|     } | ||||
|  | ||||
|     @TypeConverter | ||||
|     fun feedGroupIconOf(id: Int): FeedGroupIcon { | ||||
|         return FeedGroupIcon.values().first { it.id == id } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Stypox
					Stypox