Pod status cards, mvp

This commit is contained in:
darken
2021-12-31 17:35:08 +01:00
parent deb513f998
commit 022e0c7405
55 changed files with 1132 additions and 333 deletions
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M4,8h4L8,4L4,4v4zM10,20h4v-4h-4v4zM4,20h4v-4L4,16v4zM4,14h4v-4L4,10v4zM10,14h4v-4h-4v4zM16,4v4h4L20,4h-4zM10,8h4L14,4h-4v4zM16,14h4v-4h-4v4zM16,20h4v-4h-4v4z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M6.2,3.01C4.44,2.89 3,4.42 3,6.19L3,16c0,2.76 2.24,5 5,5h0c2.76,0 5,-2.24 5,-5V8c0,-1.66 1.34,-3 3,-3h0c1.66,0 3,1.34 3,3v7l-0.83,0c-1.61,0 -3.06,1.18 -3.17,2.79c-0.12,1.69 1.16,3.1 2.8,3.21c1.76,0.12 3.2,-1.42 3.2,-3.18L21,8c0,-2.76 -2.24,-5 -5,-5h0c-2.76,0 -5,2.24 -5,5v8c0,1.66 -1.34,3 -3,3l0,0c-1.66,0 -3,-1.34 -3,-3V9l0.83,0C7.44,9 8.89,7.82 9,6.21C9.11,4.53 7.83,3.11 6.2,3.01z" />
</vector>
@@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M9,12a3,5.74 0,1 0,6 0a3,5.74 0,1 0,-6 0z" />
<path
android:fillColor="@android:color/white"
android:pathData="M9.04,16.87C8.71,16.95 8.36,17 8,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5c0.36,0 0.71,0.05 1.04,0.13c0.39,-0.56 0.88,-1.12 1.49,-1.63C9.75,5.19 8.9,5 8,5c-3.86,0 -7,3.14 -7,7s3.14,7 7,7c0.9,0 1.75,-0.19 2.53,-0.5C9.92,17.99 9.43,17.43 9.04,16.87z" />
<path
android:fillColor="@android:color/white"
android:pathData="M16,5c-0.9,0 -1.75,0.19 -2.53,0.5c0.61,0.51 1.1,1.07 1.49,1.63C15.29,7.05 15.64,7 16,7c2.76,0 5,2.24 5,5s-2.24,5 -5,5c-0.36,0 -0.71,-0.05 -1.04,-0.13c-0.39,0.56 -0.88,1.12 -1.49,1.63C14.25,18.81 15.1,19 16,19c3.86,0 7,-3.14 7,-7S19.86,5 16,5z" />
</vector>
@@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M9,12a3,5.74 0,1 0,6 0a3,5.74 0,1 0,-6 0z" />
<path
android:fillColor="@android:color/white"
android:pathData="M7.5,12c0,-0.97 0.23,-4.16 3.03,-6.5C9.75,5.19 8.9,5 8,5c-3.86,0 -7,3.14 -7,7s3.14,7 7,7c0.9,0 1.75,-0.19 2.53,-0.5C7.73,16.16 7.5,12.97 7.5,12z" />
<path
android:fillColor="@android:color/white"
android:pathData="M16,5c-0.9,0 -1.75,0.19 -2.53,0.5c0.61,0.51 1.1,1.07 1.49,1.63C15.29,7.05 15.64,7 16,7c2.76,0 5,2.24 5,5s-2.24,5 -5,5c-0.36,0 -0.71,-0.05 -1.04,-0.13c-0.39,0.56 -0.88,1.12 -1.49,1.63C14.25,18.81 15.1,19 16,19c3.86,0 7,-3.14 7,-7S19.86,5 16,5z" />
</vector>
@@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M9,12a3,5.74 0,1 0,6 0a3,5.74 0,1 0,-6 0z" />
<path
android:fillColor="@android:color/white"
android:pathData="M16.5,12c0,0.97 -0.23,4.16 -3.03,6.5C14.25,18.81 15.1,19 16,19c3.86,0 7,-3.14 7,-7s-3.14,-7 -7,-7c-0.9,0 -1.75,0.19 -2.53,0.5C16.27,7.84 16.5,11.03 16.5,12z" />
<path
android:fillColor="@android:color/white"
android:pathData="M8,19c0.9,0 1.75,-0.19 2.53,-0.5c-0.61,-0.51 -1.1,-1.07 -1.49,-1.63C8.71,16.95 8.36,17 8,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5c0.36,0 0.71,0.05 1.04,0.13c0.39,-0.56 0.88,-1.12 1.49,-1.63C9.75,5.19 8.9,5 8,5c-3.86,0 -7,3.14 -7,7S4.14,19 8,19z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M17,4h3v16h-3zM5,14h3v6L5,20zM11,9h3v11h-3z" />
</vector>
+1 -1
View File
@@ -9,7 +9,7 @@
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host"
android:name="eu.darken.capod.main.ui.MainFragment"
android:name="eu.darken.capod.main.ui.overview.OverviewFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView 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/card"
style="@style/MyCardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="8dp"
tools:context=".main.ui.MainActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/card_content"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/name"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:gravity="center_vertical"
app:drawableLeftCompat="@drawable/ic_baseline_earbuds_24"
app:layout_constraintBottom_toTopOf="@id/barrier_top"
app:layout_constraintEnd_toStartOf="@id/reception"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:text="Apple AirPods Pro" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/reception"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:gravity="center"
app:drawableRightCompat="@drawable/ic_baseline_signal_cellular_alt_24"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/name"
app:layout_constraintTop_toTopOf="parent"
tools:text="Yours (RSSI -61)" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="top"
app:constraint_referenced_ids="pod_left,pod_case,pod_right" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/pod_left"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:gravity="center_horizontal"
app:drawableTopCompat="@drawable/ic_baseline_pod_left_24"
app:layout_constraintBottom_toTopOf="@id/barrier_bottom"
app:layout_constraintEnd_toStartOf="@id/pod_case"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/barrier_top"
app:layout_constraintVertical_bias="0.0"
tools:text="Left pod\n100%\n(Primary)" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/pod_case"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="8dp"
android:gravity="center_horizontal"
app:drawableTopCompat="@drawable/ic_baseline_pod_case_24"
app:layout_constraintBottom_toTopOf="@id/barrier_bottom"
app:layout_constraintEnd_toStartOf="@id/pod_right"
app:layout_constraintStart_toEndOf="@id/pod_left"
app:layout_constraintTop_toBottomOf="@id/barrier_top"
app:layout_constraintVertical_bias="0.0"
tools:text="Case\n50%" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/pod_right"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="16dp"
android:gravity="center_horizontal"
app:drawableTopCompat="@drawable/ic_baseline_pod_right_24"
app:layout_constraintBottom_toTopOf="@id/barrier_bottom"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/pod_case"
app:layout_constraintTop_toBottomOf="@id/barrier_top"
app:layout_constraintVertical_bias="0.0"
tools:text="R 90%" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier_bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="pod_left,pod_case,pod_right" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/status"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:gravity="center_vertical"
app:drawableLeftCompat="@drawable/ic_baseline_apps_24"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/barrier_bottom"
tools:text="Music Active, Case Closed" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView 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/card"
style="@style/MyCardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".main.ui.MainActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/card_content"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/name"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintEnd_toStartOf="@id/reception"
app:layout_constraintHorizontal_bias="0.49"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Unknown Device" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/reception"
style="@style/TextAppearance.MaterialComponents.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/name"
app:layout_constraintTop_toTopOf="parent"
tools:text="RSSI -100 dbM" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/rawdata_label"
style="@style/TextAppearance.MaterialComponents.Caption"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:text="@string/pods_unknown_raw_data_label"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/name" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/rawdata"
style="@style/TextAppearance.MaterialComponents.Body1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/rawdata_label"
tools:text="07 19 01 0E 20 75 AA B2 31 00 00 2A 46 AF 17 F7 59 C2 71 B8 CA 37 5D 72 5C 15 68" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
+1 -1
View File
@@ -7,7 +7,7 @@
<fragment
android:id="@+id/overviewFragment"
android:name="eu.darken.capod.main.ui.MainFragment"
android:name="eu.darken.capod.main.ui.overview.OverviewFragment"
tools:layout="@layout/main_fragment">
</fragment>
+33
View File
@@ -16,4 +16,37 @@
<string name="debug_debuglog_file_label">Recorded log file</string>
<string name="debug_debuglog_record_action">Record debug log</string>
<string name="general_settings_label">Settings</string>
<string name="permission_bluetooth_label">BLUETOOTH</string>
<string name="permission_bluetooth_description">Allows applications to connect to paired bluetooth devices.</string>
<string name="permission_access_fine_location_description">Allows an app to access precise location.</string>
<string name="permission_access_fine_location_label">ACCESS_FINE_LOCATION</string>
<string name="pods_dual_left_label">Left pod</string>
<string name="pods_dual_right_label">Right pod</string>
<string name="pods_case_status_label">Case</string>
<string name="pods_case_status_open_label">Open</string>
<string name="pods_case_status_closed_label">Closed</string>
<string name="general_value_not_available_label">N/A</string>
<string name="pods_unknown_raw_data_label">Raw data</string>
<string name="general_value_unknown_label">Unknown</string>
<string name="pods_reception_x_label">Reception %s</string>
<string name="pods_device_color_white_label">White</string>
<string name="pods_device_color_yellow_label">Yellow</string>
<string name="pods_device_color_light_blue_label">Light blue</string>
<string name="pods_device_color_dark_blue_label">Dark blue</string>
<string name="pods_device_color_space_gray_label">Space gray</string>
<string name="pods_device_color_rose_gold_label">Rose gold</string>
<string name="pods_device_color_gold_label">Gold</string>
<string name="pods_device_color_silver_label">Silver</string>
<string name="pods_device_color_gray_label">Gray</string>
<string name="pods_device_color_pink_label">Pink</string>
<string name="pods_device_color_blue_label">Blue</string>
<string name="pods_device_color_red_label">Red</string>
<string name="pods_device_color_black_label">Black</string>
<string name="pods_connection_state_disconnected_label">Disconnected</string>
<string name="pods_connection_state_idle_label">Idle</string>
<string name="pods_connection_state_music_label">Music</string>
<string name="pods_connection_state_call_label">Call</string>
<string name="pods_connection_state_ringing_label">Ringing</string>
<string name="pods_connection_state_hanging_up_label">Hanging up</string>
<string name="pods_status_x_label">Status %s</string>
</resources>