mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	store isTv value to prevent calculating it again and again
This commit is contained in:
		| @@ -14,17 +14,25 @@ import static android.content.Context.BATTERY_SERVICE; | ||||
| import static android.content.Context.UI_MODE_SERVICE; | ||||
|  | ||||
| public final class AndroidTvUtils { | ||||
|  | ||||
|     private static final String AMAZON_FEATURE_FIRE_TV = "amazon.hardware.fire_tv"; | ||||
|     private static Boolean isTV = null; | ||||
|  | ||||
|     private AndroidTvUtils() { | ||||
|     } | ||||
|  | ||||
|     public static boolean isTv(final Context context) { | ||||
|         if (AndroidTvUtils.isTV != null) { | ||||
|             return AndroidTvUtils.isTV; | ||||
|         } | ||||
|  | ||||
|         PackageManager pm = App.getApp().getPackageManager(); | ||||
|  | ||||
|         // from doc: https://developer.android.com/training/tv/start/hardware.html#runtime-check | ||||
|         boolean isTv = ((UiModeManager) context.getSystemService(UI_MODE_SERVICE)) | ||||
|                 .getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION; | ||||
|                 .getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION | ||||
|                 || pm.hasSystemFeature(AMAZON_FEATURE_FIRE_TV) | ||||
|                 || pm.hasSystemFeature(PackageManager.FEATURE_TELEVISION); | ||||
|  | ||||
|         // from https://stackoverflow.com/a/58932366 | ||||
|         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { | ||||
| @@ -40,9 +48,8 @@ public final class AndroidTvUtils { | ||||
|             isTv = isTv || pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK); | ||||
|         } | ||||
|  | ||||
|         return isTv | ||||
|                 || pm.hasSystemFeature(AMAZON_FEATURE_FIRE_TV) | ||||
|                 || pm.hasSystemFeature(PackageManager.FEATURE_TELEVISION); | ||||
|         AndroidTvUtils.isTV = isTv; | ||||
|         return AndroidTvUtils.isTV; | ||||
|     } | ||||
|  | ||||
|     public static boolean isConfirmKey(final int keyCode) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bopol
					bopol