diff --git a/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt b/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt index a9aa628f7874a1a465dbabf6e708570868e5d27f..6b70ff61e5711f632999761ecbe6d39df141418b 100644 --- a/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt +++ b/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt @@ -33,6 +33,7 @@ import androidx.fragment.app.Fragment import de.ccc.events.badge.card10.CARD10_BLUETOOTH_MAC_PREFIX import de.ccc.events.badge.card10.R import de.ccc.events.badge.card10.common.ConnectionService +import de.ccc.events.badge.card10.filetransfer.FileTransferFragment import de.ccc.events.badge.card10.hatchery.AppListFragment import de.ccc.events.badge.card10.mood.MoodFragment import de.ccc.events.badge.card10.scanner.ScannerFragment @@ -46,27 +47,23 @@ class MainFragment : Fragment() { inflater.inflate(R.layout.main_fragment, container, false) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + button_pair.setOnClickListener { startFragment(ScannerFragment()) } + button_mood.setOnClickListener { startFragment(MoodFragment()) } + button_beautiful.setOnClickListener { startFragment(BeautifulFragment()) } + button_hatchery.setOnClickListener { startFragment(AppListFragment()) } + button_send.setOnClickListener { startFragment(FileTransferFragment()) } + val bondedCard10s = bluetoothAdapter.bondedDevices.filter { it.address.startsWith(CARD10_BLUETOOTH_MAC_PREFIX, true) } + if (bondedCard10s.isNotEmpty()) { - val device = bondedCard10s.get(0) + val device = bondedCard10s[0] label_status.text = getString(R.string.main_label_paired, device.name, device.address) - container_paired.visibility = View.VISIBLE - } else { - label_status.text = getString(R.string.main_label_not_connected) - container_paired.visibility = View.GONE - } - - if (ConnectionService.isConnected()) { showConnectedView(view) } else { + label_status.text = getString(R.string.main_label_not_connected) showDisconnectedView(view) } - - button_pair.setOnClickListener { startFragment(ScannerFragment()) } - button_mood.setOnClickListener { startFragment(MoodFragment()) } - button_beautiful.setOnClickListener { startFragment(BeautifulFragment()) } - button_hatchery.setOnClickListener { startFragment(AppListFragment()) } } private fun startFragment(fragment: Fragment) { @@ -79,19 +76,10 @@ class MainFragment : Fragment() { private fun showConnectedView(view: View) { view.findViewById<ConstraintLayout>(R.id.container_connected).visibility = View.VISIBLE view.findViewById<ConstraintLayout>(R.id.container_disconnected).visibility = View.GONE - - val buttonSend = view.findViewById<Button>(R.id.button_send) - buttonSend.setOnClickListener { - // TODO: Open file transfer fragment - } } private fun showDisconnectedView(view: View) { view.findViewById<ConstraintLayout>(R.id.container_connected).visibility = View.GONE view.findViewById<ConstraintLayout>(R.id.container_disconnected).visibility = View.VISIBLE - val buttonConnect = view.findViewById<Button>(R.id.button_connect) - buttonConnect.setOnClickListener { - // TODO: Open scan fragment - } } } diff --git a/app/src/main/res/layout/main_fragment.xml b/app/src/main/res/layout/main_fragment.xml index 04ffb99f50b5f19976d426e7296f1475573dfaa3..47570e796ad82a7945bc39807ea31814a8860df7 100644 --- a/app/src/main/res/layout/main_fragment.xml +++ b/app/src/main/res/layout/main_fragment.xml @@ -24,77 +24,67 @@ app:layout_constraintTop_toBottomOf="@+id/image_logo"/> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="0dp" app:layout_constraintTop_toBottomOf="@+id/label_status" + app:layout_constraintBottom_toBottomOf="parent" android:id="@+id/container_disconnected"> <Button android:id="@+id/button_pair" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="pair" + android:text="@string/main_button_pair" + android:layout_marginTop="@dimen/main_label_margin" + style="@style/MainButton" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent"/> - <Button android:id="@+id/button_connect" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/main_button_connect" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintLeft_toRightOf="@id/button_pair"/> - </androidx.constraintlayout.widget.ConstraintLayout> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - app:layout_constraintTop_toBottomOf="@id/container_disconnected" - android:id="@+id/container_paired"> - - <Button android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/main_label_margin" - android:id="@+id/button_mood" - android:text="@string/main_button_mood" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" - /> - - <Button android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/main_label_margin" - android:id="@+id/button_beautiful" - android:text="Beautiful" - app:layout_constraintTop_toBottomOf="@id/button_mood" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" - /> - </androidx.constraintlayout.widget.ConstraintLayout> - - <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="0dp" app:layout_constraintTop_toBottomOf="@+id/label_status" android:id="@+id/container_connected"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/main_label_margin" + style="@style/MainButton" android:id="@+id/button_hatchery" android:text="@string/main_button_browse_apps" - app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/main_label_margin" + android:layout_marginTop="@dimen/main_button_margin" + style="@style/MainButton" android:id="@+id/button_send" android:text="@string/main_button_send_file" - app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/button_hatchery"/> + + <Button android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/main_button_margin" + style="@style/MainButton" + android:id="@+id/button_mood" + android:text="@string/main_button_mood" + app:layout_constraintTop_toBottomOf="@+id/button_send" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent"/> + + <Button android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/main_button_margin" + style="@style/MainButton" + android:id="@+id/button_beautiful" + android:text="@string/main_button_beautiful" + app:layout_constraintTop_toBottomOf="@+id/button_mood" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent"/> + </androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout> + diff --git a/app/src/main/res/values/dimensions.xml b/app/src/main/res/values/dimensions.xml index 96a7a7f5ae928389d77a59e7d640ffcd6e950b20..9d3852ddac2326519ee115bc885caa70752968bb 100644 --- a/app/src/main/res/values/dimensions.xml +++ b/app/src/main/res/values/dimensions.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="activity_padding">24dp</dimen> + <dimen name="logo_margin_bottom">24dp</dimen> - <dimen name="main_label_margin">24dp</dimen> + <dimen name="main_label_margin">32dp</dimen> + <dimen name="main_button_margin">16dp</dimen> + <dimen name="send_label_margin">24dp</dimen> <dimen name="app_list_item_padding">16dp</dimen> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ac827b1a52fe6f327cbc69176a6ce0cf2e1ec7fd..d60870217ca95260e4575784bca3562c60b2e4b8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,10 +4,12 @@ <string name="main_label_paired">You are paired to %1$s (%2$s)</string> <string name="main_label_not_connected">You are currently not connected to your card10.</string> <string name="main_label_status">You are connected to %1$s (%2$s)</string> - <string name="main_button_connect">Connect</string> + <string name="main_button_pair">Pair</string> + <string name="main_button_manage_pairings">Manage Paired Devices</string> <string name="main_button_browse_apps">Browse Apps</string> <string name="main_button_send_file">Send File</string> <string name="main_button_mood">Change Mood</string> + <string name="main_button_beautiful">Beautiful</string> <string name="file_transfer_button_pick_file">Select</string> <string name="file_transfer_button_start_transfer">Start</string> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5885930df6d10edf3d6df40d6556297d11f953da..4fc9ecb1545e905714d346611b6e1547380acc59 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -8,4 +8,8 @@ <item name="colorAccent">@color/colorAccent</item> </style> + <style name="MainButton" parent="Widget.AppCompat.Button.Colored"> + <item name="android:minWidth">200dp</item> + </style> + </resources>