Browse Source

graphic resources & widget prepare

Milan Jurkulak 3 năm trước cách đây
mục cha
commit
9c363de212
55 tập tin đã thay đổi với 136 bổ sung và 28 xóa
  1. 1 1
      app/src/main/AndroidManifest.xml
  2. BIN
      app/src/main/res/drawable/audio_player_default_show_bg.png
  3. BIN
      app/src/main/res/drawable/background.png
  4. BIN
      app/src/main/res/drawable/bgcase.9.png
  5. BIN
      app/src/main/res/drawable/cat_audio_cd.png
  6. BIN
      app/src/main/res/drawable/cat_burn.png
  7. BIN
      app/src/main/res/drawable/cat_cam.png
  8. BIN
      app/src/main/res/drawable/cat_ear_phone.png
  9. BIN
      app/src/main/res/drawable/cat_equilizer.png
  10. BIN
      app/src/main/res/drawable/cat_keys.png
  11. BIN
      app/src/main/res/drawable/cat_mic.png
  12. BIN
      app/src/main/res/drawable/cat_moniter.png
  13. BIN
      app/src/main/res/drawable/cat_movies.png
  14. BIN
      app/src/main/res/drawable/cat_pictures.png
  15. BIN
      app/src/main/res/drawable/cat_remote.png
  16. BIN
      app/src/main/res/drawable/cat_stand_phone.png
  17. BIN
      app/src/main/res/drawable/cat_tv.png
  18. BIN
      app/src/main/res/drawable/cat_videos.png
  19. BIN
      app/src/main/res/drawable/cat_volume.png
  20. BIN
      app/src/main/res/drawable/clock_0.png
  21. BIN
      app/src/main/res/drawable/clock_1.png
  22. BIN
      app/src/main/res/drawable/clock_2.png
  23. BIN
      app/src/main/res/drawable/clock_3.png
  24. BIN
      app/src/main/res/drawable/clock_4.png
  25. BIN
      app/src/main/res/drawable/clock_5.png
  26. BIN
      app/src/main/res/drawable/clock_6.png
  27. BIN
      app/src/main/res/drawable/clock_7.png
  28. BIN
      app/src/main/res/drawable/clock_8.png
  29. BIN
      app/src/main/res/drawable/clock_9.png
  30. BIN
      app/src/main/res/drawable/clock_colon.png
  31. BIN
      app/src/main/res/drawable/clock_colon_hidden.png
  32. BIN
      app/src/main/res/drawable/ic_action_play.png
  33. BIN
      app/src/main/res/drawable/ic_notif_info.png
  34. BIN
      app/src/main/res/drawable/loading.png
  35. BIN
      app/src/main/res/drawable/pause.png
  36. BIN
      app/src/main/res/drawable/pause_button.png
  37. BIN
      app/src/main/res/drawable/play_button.png
  38. 24 0
      app/src/main/res/drawable/shape_circle.xml
  39. 22 0
      app/src/main/res/drawable/shape_round_square.xml
  40. BIN
      app/src/main/res/drawable/thumb_episode_frame.png
  41. BIN
      app/src/main/res/drawable/vp_milink_v5_normal.png
  42. BIN
      app/src/main/res/drawable/vp_tips_left.png
  43. BIN
      app/src/main/res/drawable/vp_tips_left_v5.png
  44. BIN
      app/src/main/res/drawable/vp_tips_right.png
  45. BIN
      app/src/main/res/drawable/vp_tips_right_v5.png
  46. BIN
      app/src/main/res/drawable/vp_vertical_progressbar_thumb_v5.png
  47. BIN
      app/src/main/res/drawable/vp_videoplay_progress_indicator.png
  48. BIN
      app/src/main/res/drawable/vp_videoplay_progress_indicator_big.png
  49. BIN
      app/src/main/res/drawable/vp_videoplay_progress_indicator_big_press.png
  50. BIN
      app/src/main/res/drawable/vp_videoplay_progress_indicator_press.png
  51. 61 3
      app/src/main/res/layout/widget_loading_layout.xml
  52. 15 0
      app/src/main/res/xml/main_app_widget_info.xml
  53. 0 11
      app/src/main/res/xml/my_app_widget_info.xml
  54. 13 1
      tvlib/src/main/kotlin/org/mjdev/tvlib/activity/ComposableActivity.kt
  55. 0 12
      tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/navigation/NavDrawerContent.kt

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -99,7 +99,7 @@
 
             <meta-data
                 android:name="android.appwidget.provider"
-                android:resource="@xml/my_app_widget_info" />
+                android:resource="@xml/main_app_widget_info" />
 
         </receiver>
 

BIN
app/src/main/res/drawable/audio_player_default_show_bg.png


BIN
app/src/main/res/drawable/background.png


BIN
app/src/main/res/drawable/bgcase.9.png


BIN
app/src/main/res/drawable/cat_audio_cd.png


BIN
app/src/main/res/drawable/cat_burn.png


BIN
app/src/main/res/drawable/cat_cam.png


BIN
app/src/main/res/drawable/cat_ear_phone.png


BIN
app/src/main/res/drawable/cat_equilizer.png


BIN
app/src/main/res/drawable/cat_keys.png


BIN
app/src/main/res/drawable/cat_mic.png


BIN
app/src/main/res/drawable/cat_moniter.png


BIN
app/src/main/res/drawable/cat_movies.png


BIN
app/src/main/res/drawable/cat_pictures.png


BIN
app/src/main/res/drawable/cat_remote.png


BIN
app/src/main/res/drawable/cat_stand_phone.png


BIN
app/src/main/res/drawable/cat_tv.png


BIN
app/src/main/res/drawable/cat_videos.png


BIN
app/src/main/res/drawable/cat_volume.png


BIN
app/src/main/res/drawable/clock_0.png


BIN
app/src/main/res/drawable/clock_1.png


BIN
app/src/main/res/drawable/clock_2.png


BIN
app/src/main/res/drawable/clock_3.png


BIN
app/src/main/res/drawable/clock_4.png


BIN
app/src/main/res/drawable/clock_5.png


BIN
app/src/main/res/drawable/clock_6.png


BIN
app/src/main/res/drawable/clock_7.png


BIN
app/src/main/res/drawable/clock_8.png


BIN
app/src/main/res/drawable/clock_9.png


BIN
app/src/main/res/drawable/clock_colon.png


BIN
app/src/main/res/drawable/clock_colon_hidden.png


BIN
app/src/main/res/drawable/ic_action_play.png


BIN
app/src/main/res/drawable/ic_notif_info.png


BIN
app/src/main/res/drawable/loading.png


BIN
app/src/main/res/drawable/pause.png


BIN
app/src/main/res/drawable/pause_button.png


BIN
app/src/main/res/drawable/play_button.png


+ 24 - 0
app/src/main/res/drawable/shape_circle.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~  Copyright (c) Milan Jurkulák 2023.
+  ~  Contact:
+  ~  e: mimoccc@gmail.com
+  ~  e: mj@mjdev.org
+  ~  w: https://mjdev.org
+  -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:bottom="3dp"
+        android:left="0dp"
+        android:right="0dp"
+        android:top="0dp">
+        <shape android:shape="oval">
+            <gradient
+                android:angle="0"
+                android:gradientRadius="80%p"
+                android:type="radial"
+                android:centerColor="#c0808080"
+                android:endColor="#c0000000"
+                />
+        </shape>
+    </item>
+</layer-list>

+ 22 - 0
app/src/main/res/drawable/shape_round_square.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~  Copyright (c) Milan Jurkulák 2023.
+  ~  Contact:
+  ~  e: mimoccc@gmail.com
+  ~  e: mj@mjdev.org
+  ~  w: https://mjdev.org
+  -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:bottom="3dp"
+        android:left="0dp"
+        android:right="0dp"
+        android:top="0dp">
+        <shape android:shape="rectangle">
+            <gradient
+                android:angle="240"
+                android:type="linear"
+                android:endColor="#ff000000"
+                android:startColor="#80000000" />
+        </shape>
+    </item>
+</layer-list>

BIN
app/src/main/res/drawable/thumb_episode_frame.png


BIN
app/src/main/res/drawable/vp_milink_v5_normal.png


BIN
app/src/main/res/drawable/vp_tips_left.png


BIN
app/src/main/res/drawable/vp_tips_left_v5.png


BIN
app/src/main/res/drawable/vp_tips_right.png


BIN
app/src/main/res/drawable/vp_tips_right_v5.png


BIN
app/src/main/res/drawable/vp_vertical_progressbar_thumb_v5.png


BIN
app/src/main/res/drawable/vp_videoplay_progress_indicator.png


BIN
app/src/main/res/drawable/vp_videoplay_progress_indicator_big.png


BIN
app/src/main/res/drawable/vp_videoplay_progress_indicator_big_press.png


BIN
app/src/main/res/drawable/vp_videoplay_progress_indicator_press.png


+ 61 - 3
app/src/main/res/layout/widget_loading_layout.xml

@@ -5,10 +5,68 @@
   ~  e: mj@mjdev.org
   ~  w: https://mjdev.org
   -->
-
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:layout_gravity="center"
+    android:background="@drawable/shape_round_square"
+    android:foreground="@drawable/bgcase"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        tools:ignore="UselessParent">
+
+        <ImageView
+            android:id="@+id/image_album_art"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_margin="8dp"
+            android:background="@drawable/shape_round_square"
+            android:contentDescription="@null" />
+
+    </FrameLayout>
+
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="bottom|center_horizontal"
+        android:contentDescription="@null"
+        android:src="@drawable/audio_player_default_show_bg" />
+
+    <ImageView
+        android:id="@+id/bt_info"
+        android:layout_width="32dp"
+        android:layout_height="32dp"
+        android:layout_gravity="end"
+        android:layout_margin="16dp"
+        android:contentDescription="@null"
+        android:src="@drawable/ic_notif_info"
+        android:tint="@color/black"
+        app:tint="@color/black"
+        tools:ignore="UseAppTint,ImageContrastCheck" />
+
+    <LinearLayout
+        android:id="@+id/exo_controller"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="bottom|center_horizontal"
+        android:layout_marginBottom="32dp">
+
+        <ImageView
+            android:adjustViewBounds="true"
+            android:id="@+id/bt_play_pause"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:background="@drawable/shape_circle"
+            android:contentDescription="@null"
+            android:src="@drawable/ic_action_play" />
+
+    </LinearLayout>
 
 </FrameLayout>

+ 15 - 0
app/src/main/res/xml/main_app_widget_info.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~  Copyright (c) Milan Jurkulák 2023.
+  ~  Contact:
+  ~  e: mimoccc@gmail.com
+  ~  e: mj@mjdev.org
+  ~  w: https://mjdev.org
+  -->
+<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:initialLayout="@layout/widget_loading_layout"
+    android:previewLayout="@layout/widget_loading_layout"
+    android:resizeMode="horizontal|vertical"
+    android:targetCellWidth="5"
+    android:targetCellHeight="5"
+    tools:ignore="UnusedAttribute" />

+ 0 - 11
app/src/main/res/xml/my_app_widget_info.xml

@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!--
-  ~  Copyright (c) Milan Jurkulák 2023.
-  ~  Contact:
-  ~  e: mimoccc@gmail.com
-  ~  e: mj@mjdev.org
-  ~  w: https://mjdev.org
-  -->
-
-<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
-    android:initialLayout="@layout/widget_loading_layout">
-</appwidget-provider>

+ 13 - 1
tvlib/src/main/kotlin/org/mjdev/tvlib/activity/ComposableActivity.kt

@@ -22,6 +22,7 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.RectangleShape
 import androidx.compose.ui.graphics.Shape
+import androidx.compose.ui.input.pointer.pointerInput
 import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.dp
 import androidx.core.view.WindowCompat
@@ -33,6 +34,7 @@ import com.github.anrwatchdog.ANRWatchDog
 import org.mjdev.tvlib.BuildConfig
 import org.mjdev.tvlib.annotations.TvPreview
 import org.mjdev.tvlib.extensions.ContextExt.isATv
+import org.mjdev.tvlib.extensions.ModifierExt.detectSwipe
 import org.mjdev.tvlib.extensions.NavExt.rememberNavControllerEx
 import org.mjdev.tvlib.extensions.NavGraphBuilderExt.screen
 import org.mjdev.tvlib.navigation.NavGraphBuilderEx
@@ -76,7 +78,17 @@ open class ComposableActivity : ComponentActivity() {
             Surface(
                 modifier = Modifier
                     .background(backgroundColor, backgroundShape)
-                    .fillMaxSize(),
+                    .fillMaxSize()
+                    .pointerInput(Unit) {
+                        detectSwipe(
+                            onSwipeRight = {
+                                navController.openMenu()
+                            },
+                            onSwipeLeft = {
+                                navController.closeMenu()
+                            }
+                        )
+                    },
                 shape = RectangleShape,
                 colors = NonInteractiveSurfaceDefaults.colors(
                     containerColor = backgroundColor

+ 0 - 12
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/navigation/NavDrawerContent.kt

@@ -24,13 +24,11 @@ import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.Shape
-import androidx.compose.ui.input.pointer.pointerInput
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import androidx.tv.material3.ExperimentalTvMaterial3Api
 import org.mjdev.tvlib.extensions.ComposeExt.isClosed
 import org.mjdev.tvlib.extensions.ComposeExt.isPortraitMode
-import org.mjdev.tvlib.extensions.ModifierExt.detectSwipe
 import org.mjdev.tvlib.extensions.ModifierExt.recomposeHighlighter
 import org.mjdev.tvlib.extensions.NavControllerExt.open
 import org.mjdev.tvlib.extensions.NavExt.rememberNavControllerEx
@@ -97,16 +95,6 @@ fun NavDrawerContent(
                     backgroundColor
                 }, shape
             )
-            .pointerInput(Unit) {
-                detectSwipe(
-                    onSwipeRight = {
-                        navController.openMenu()
-                    },
-                    onSwipeLeft = {
-                        navController.closeMenu()
-                    }
-                )
-            }
             .padding(0.dp, 4.dp, 0.dp, 4.dp)
             .fillMaxHeight(),
     ) {