From 6d9d7cd1fb594ef6c557a0b948e08f635fc77d2c Mon Sep 17 00:00:00 2001 From: MichaelStH Date: Thu, 23 Sep 2021 08:57:44 +0200 Subject: [PATCH 1/3] [feat/040-bluetooth] : drawable icons added + strings resources --- app/src/main/res/drawable/ic_bluetooth.xml | 10 ++++++++++ app/src/main/res/drawable/ic_bluetooth_connected.xml | 10 ++++++++++ app/src/main/res/drawable/ic_bluetooth_disabled.xml | 10 ++++++++++ app/src/main/res/drawable/ic_bluetooth_searching.xml | 10 ++++++++++ app/src/main/res/values/strings.xml | 9 ++++++++- 5 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/drawable/ic_bluetooth.xml create mode 100644 app/src/main/res/drawable/ic_bluetooth_connected.xml create mode 100644 app/src/main/res/drawable/ic_bluetooth_disabled.xml create mode 100644 app/src/main/res/drawable/ic_bluetooth_searching.xml diff --git a/app/src/main/res/drawable/ic_bluetooth.xml b/app/src/main/res/drawable/ic_bluetooth.xml new file mode 100644 index 00000000..2fe20f04 --- /dev/null +++ b/app/src/main/res/drawable/ic_bluetooth.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_bluetooth_connected.xml b/app/src/main/res/drawable/ic_bluetooth_connected.xml new file mode 100644 index 00000000..d84795ae --- /dev/null +++ b/app/src/main/res/drawable/ic_bluetooth_connected.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_bluetooth_disabled.xml b/app/src/main/res/drawable/ic_bluetooth_disabled.xml new file mode 100644 index 00000000..306d8d4b --- /dev/null +++ b/app/src/main/res/drawable/ic_bluetooth_disabled.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_bluetooth_searching.xml b/app/src/main/res/drawable/ic_bluetooth_searching.xml new file mode 100644 index 00000000..36ec22a1 --- /dev/null +++ b/app/src/main/res/drawable/ic_bluetooth_searching.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 23a67c32..00ef65b0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -367,13 +367,20 @@ IdTokenActivity Retrieving an ID Token for the user. - Google Drive + Download Lottie + + Bluetooth + Bluetooth On + Bluetooth Off + Start Discovery + Cancel Discovery + Unable to discover devices \ No newline at end of file From 7c055308c57df307ffd0ca63d4c035c30bbc25ee Mon Sep 17 00:00:00 2001 From: MichaelStH Date: Thu, 23 Sep 2021 08:58:09 +0200 Subject: [PATCH 2/3] [feat/040-bluetooth] : Bluetooth Activity added --- .../thelab/ui/bluetooth/BluetoothActivity.kt | 305 ++++++++++++++++++ .../thelab/ui/bluetooth/BluetoothViewModel.kt | 47 +++ .../main/res/layout/activity_bluetooth.xml | 137 ++++++++ build.gradle | 4 +- 4 files changed, 491 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothActivity.kt create mode 100644 app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothViewModel.kt create mode 100644 app/src/main/res/layout/activity_bluetooth.xml diff --git a/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothActivity.kt b/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothActivity.kt new file mode 100644 index 00000000..b0f42ea8 --- /dev/null +++ b/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothActivity.kt @@ -0,0 +1,305 @@ +package com.riders.thelab.ui.bluetooth + +import android.bluetooth.BluetoothAdapter +import android.bluetooth.BluetoothDevice +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.graphics.drawable.Drawable +import android.os.Bundle +import android.view.View +import android.widget.ArrayAdapter +import android.widget.CompoundButton +import android.widget.ListView +import androidx.activity.viewModels +import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.ContextCompat +import com.riders.thelab.R +import com.riders.thelab.databinding.ActivityBluetoothBinding +import timber.log.Timber + +class BluetoothActivity : AppCompatActivity(), + CompoundButton.OnCheckedChangeListener, View.OnClickListener { + + private var _viewBinding: ActivityBluetoothBinding? = null + + // This property is only valid between onCreateView and + // onDestroyView. + private val binding get() = _viewBinding!! + + private val mViewModel: BluetoothViewModel by viewModels() + + private lateinit var bluetoothDevicesSearchList: ArrayList + + + // Create a BroadcastReceiver for ACTION_FOUND. + private val receiver = object : BroadcastReceiver() { + + override fun onReceive(context: Context, intent: Intent) { + when (intent.action.toString()) { + BluetoothDevice.ACTION_FOUND -> { + Timber.e("BluetoothDevice.ACTION_FOUND") + // Discovery has found a device. Get the BluetoothDevice + // object and its info from the Intent. + val device: BluetoothDevice = + intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)!! + val deviceName = device.name + val deviceHardwareAddress = device.address // MAC address + + Timber.e("name : $deviceName, hardware : $deviceHardwareAddress") + + bluetoothDevicesSearchList.add("name : $deviceName, hardware : $deviceHardwareAddress") + + } + BluetoothAdapter.ACTION_STATE_CHANGED -> { + when (intent.getIntExtra( + BluetoothAdapter.EXTRA_STATE, + BluetoothAdapter.ERROR + )) { + BluetoothAdapter.STATE_OFF -> { + // Bluetooth has been turned off; + Timber.e("BluetoothAdapter.STATE_OFF") + + changeButton( + getString(R.string.bluetooth_unable_to_discover), + ContextCompat.getDrawable( + this@BluetoothActivity, + R.drawable.ic_bluetooth_disabled + )!!, + false + ) + } + BluetoothAdapter.STATE_TURNING_OFF -> { + // Bluetooth is turning off; + Timber.e("BluetoothAdapter.STATE_TURNING_OFF") + binding.progressSearchedDevices.visibility = View.GONE + } + BluetoothAdapter.STATE_ON -> { + // Bluetooth is on + Timber.e("BluetoothAdapter.STATE_ON") + } + BluetoothAdapter.STATE_TURNING_ON -> { + // Bluetooth is turning on + Timber.e("BluetoothAdapter.STATE_TURNING_ON") + } + } + } + + // Discoverability changes + BluetoothAdapter.ACTION_DISCOVERY_STARTED -> { + Timber.e("BluetoothAdapter.ACTION_DISCOVERY_STARTED") + + } + BluetoothAdapter.ACTION_DISCOVERY_FINISHED -> { + Timber.e("BluetoothAdapter.ACTION_DISCOVERY_FINISHED") + + binding.progressSearchedDevices.visibility = View.GONE + + bindListView(binding.lvSearchedDevices, bluetoothDevicesSearchList) + + + changeButton( + getString(R.string.bluetooth_start_discovery), + ContextCompat.getDrawable( + this@BluetoothActivity, + R.drawable.ic_bluetooth + )!!, + true + ) + } + BluetoothAdapter.ACTION_SCAN_MODE_CHANGED -> { + when (intent.getIntExtra( + BluetoothAdapter.EXTRA_SCAN_MODE, + BluetoothAdapter.ERROR + )) { + BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE -> { + Timber.e("BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE") + } + BluetoothAdapter.SCAN_MODE_CONNECTABLE -> { + Timber.e("BluetoothAdapter.SCAN_MODE_CONNECTABLE") + } + BluetoothAdapter.SCAN_MODE_NONE -> { + Timber.e("BluetoothAdapter.SCAN_MODE_NONE") + } + } + + } + BluetoothDevice.ACTION_ACL_CONNECTED -> { + Timber.e("BluetoothDevice.ACTION_ACL_CONNECTED") + + } + BluetoothDevice.ACTION_ACL_DISCONNECTED -> { + Timber.e("BluetoothDevice.ACTION_ACL_DISCONNECTED") + + } + } + } + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + _viewBinding = ActivityBluetoothBinding.inflate(layoutInflater) + setContentView(binding.root) + + bluetoothDevicesSearchList = mutableListOf() as ArrayList + + binding.switchBluetooth.setOnCheckedChangeListener(this) + binding.btnDiscovery.setOnClickListener(this) + + initViewModelsObservers() + + initSwitch() + initButton() + + val pairedDevices = BluetoothAdapter.getDefaultAdapter().bondedDevices + if (pairedDevices.size > 0) { + + val boundedDevices: ArrayList = mutableListOf() as ArrayList + + for (d in pairedDevices) { + val deviceName = d.name + val macAddress = d.address + Timber.i("paired device: $deviceName at $macAddress") + // do what you need/want this these list items + + boundedDevices.add(deviceName) + } + + bindListView(binding.lvBoundedDevices, boundedDevices) + } + } + + override fun onResume() { + super.onResume() + + // Register for broadcasts when a device is discovered. + val filter = IntentFilter() + filter.addAction(BluetoothDevice.ACTION_FOUND) + // State + filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED) + // Discoverability + filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED) + filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED) + filter.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED) + registerReceiver(receiver, filter) + } + + override fun onStop() { + super.onStop() + + mViewModel.stopDiscovery() + } + + override fun onDestroy() { + super.onDestroy() + Timber.e("onDestroy()") + _viewBinding = null + + // Don't forget to unregister the ACTION_FOUND receiver. + unregisterReceiver(receiver) + } + + private fun initViewModelsObservers() { + mViewModel.getBluetoothEnabled().observe(this, { + Timber.d("getBluetoothEnabled().observe : $it") + binding.switchBluetooth.isChecked = it + binding.switchBluetooth.text = + if (!it) getString(R.string.bluetooth_off) else getString(R.string.bluetooth_on) + + changeButton( + if (!it) getString(R.string.bluetooth_unable_to_discover) else getString(R.string.bluetooth_start_discovery), + if (!it) ContextCompat.getDrawable( + this@BluetoothActivity, + R.drawable.ic_bluetooth_disabled + )!! else ContextCompat.getDrawable( + this@BluetoothActivity, + R.drawable.ic_bluetooth + )!!, + it + ) + }) + } + + private fun initSwitch() { + binding.switchBluetooth.text = + if (!mViewModel.getBluetoothState()) getString(R.string.bluetooth_off) else getString(R.string.bluetooth_on) + binding.switchBluetooth.isChecked = mViewModel.getBluetoothState() + } + + private fun initButton() { + val isBluetoothEnabled = mViewModel.getBluetoothState() + changeButton( + if (!isBluetoothEnabled) getString(R.string.bluetooth_unable_to_discover) else getString( + R.string.bluetooth_start_discovery + ), + if (!isBluetoothEnabled) ContextCompat.getDrawable( + this@BluetoothActivity, + R.drawable.ic_bluetooth_disabled + )!! else ContextCompat.getDrawable( + this@BluetoothActivity, + R.drawable.ic_bluetooth + )!!, + isBluetoothEnabled + ) + } + + private fun changeButton(buttonText: String, icon: Drawable, enabled: Boolean) { + binding.btnDiscovery.isEnabled = enabled + binding.btnDiscovery.text = buttonText + binding.btnDiscovery.icon = icon + } + + private fun bindListView(listView: View, data: ArrayList) { + (listView as ListView).adapter = + ArrayAdapter( + this@BluetoothActivity, + android.R.layout.simple_list_item_1, + data + ) + } + + override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) { + if (binding.switchBluetooth.isShown) { + mViewModel.setBluetooth(isChecked) + } + } + + override fun onClick(view: View?) { + when (view?.id) { + + R.id.btn_discovery -> { + val bluetoothAdapter: BluetoothAdapter = BluetoothAdapter.getDefaultAdapter() + + if (!bluetoothAdapter.isEnabled) { + Timber.e("Bluetooth not enable cannot start discovery") + } else { + + if (!bluetoothAdapter.isDiscovering) { + bluetoothAdapter.startDiscovery() + changeButton( + getString(R.string.bluetooth_cancel_discovery), + ContextCompat.getDrawable( + this@BluetoothActivity, + R.drawable.ic_bluetooth_searching + )!!, + true + ) + binding.progressSearchedDevices.visibility = View.VISIBLE + } else { + bluetoothAdapter.cancelDiscovery() + changeButton( + getString(R.string.bluetooth_start_discovery), + ContextCompat.getDrawable( + this@BluetoothActivity, + R.drawable.ic_bluetooth + )!!, + true + ) + binding.progressSearchedDevices.visibility = View.GONE + } + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothViewModel.kt b/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothViewModel.kt new file mode 100644 index 00000000..e8c1aa0c --- /dev/null +++ b/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothViewModel.kt @@ -0,0 +1,47 @@ +package com.riders.thelab.ui.bluetooth + +import android.bluetooth.BluetoothAdapter +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel + + +class BluetoothViewModel : ViewModel() { + + private val isBluetoothEnabled: MutableLiveData = MutableLiveData() + + + fun getBluetoothEnabled(): LiveData { + return isBluetoothEnabled + } + + fun setBluetooth(enable: Boolean) { + val bluetoothAdapter = BluetoothAdapter.getDefaultAdapter() + val isEnabled = bluetoothAdapter.isEnabled + if (enable && !isEnabled) { + isBluetoothEnabled.value = bluetoothAdapter.enable() + } else if (!enable && isEnabled) { + isBluetoothEnabled.value = bluetoothAdapter.disable() + } + // No need to change bluetooth state + // isBluetoothEnabled.value = true + } + + fun getBluetoothState(): Boolean { + val bluetoothAdapter: BluetoothAdapter = BluetoothAdapter.getDefaultAdapter() + return bluetoothAdapter.isEnabled + } + + fun startDiscovery() { + val bluetoothAdapter: BluetoothAdapter = BluetoothAdapter.getDefaultAdapter() + + if (!bluetoothAdapter.isDiscovering) { + bluetoothAdapter.startDiscovery() + } + } + + fun stopDiscovery() { + val bluetoothAdapter: BluetoothAdapter = BluetoothAdapter.getDefaultAdapter() + bluetoothAdapter.cancelDiscovery() + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_bluetooth.xml b/app/src/main/res/layout/activity_bluetooth.xml new file mode 100644 index 00000000..123db2e3 --- /dev/null +++ b/app/src/main/res/layout/activity_bluetooth.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index f7b85358..bcf2a37b 100644 --- a/build.gradle +++ b/build.gradle @@ -7,8 +7,8 @@ ext { // version information versionMajor = 10 - versionMinor = 6 - versionPatch = 1 + versionMinor = 7 + versionPatch = 0 versionName = "${versionMajor}.${versionMinor}.${versionPatch}" // Kotlin From 744f94915e25d343810e022103c2a248ea06229f Mon Sep 17 00:00:00 2001 From: MichaelStH Date: Thu, 23 Sep 2021 09:20:42 +0200 Subject: [PATCH 3/3] [feat/040-bluetooth] : Bluetooth feature done --- app/src/main/AndroidManifest.xml | 7 +++ .../thelab/ui/bluetooth/BluetoothActivity.kt | 13 +++++ .../thelab/ui/download/DownloadActivity.kt | 10 ++++ .../thelab/ui/mainactivity/MainActivity.kt | 16 ++++--- .../riders/thelab/utils/AppBuilderUtils.kt | 18 +++++++ .../main/res/drawable/horizontal_gradient.xml | 13 +++++ .../main/res/drawable/vertical_gradient.xml | 13 +++++ .../main/res/layout/activity_bluetooth.xml | 2 +- app/src/main/res/values/arrays.xml | 48 ++++++++++++++++--- app/src/main/res/values/colors.xml | 1 - build.gradle | 2 +- 11 files changed, 128 insertions(+), 15 deletions(-) create mode 100644 app/src/main/res/drawable/horizontal_gradient.xml create mode 100644 app/src/main/res/drawable/vertical_gradient.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d9cbfe2a..7bbfc395 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -378,6 +378,13 @@ android:label="@string/activity_title_lottie" android:parentActivityName=".ui.mainactivity.MainActivity" android:screenOrientation="fullSensor" /> + + diff --git a/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothActivity.kt b/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothActivity.kt index b0f42ea8..6271592c 100644 --- a/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothActivity.kt +++ b/app/src/main/java/com/riders/thelab/ui/bluetooth/BluetoothActivity.kt @@ -8,6 +8,7 @@ import android.content.Intent import android.content.IntentFilter import android.graphics.drawable.Drawable import android.os.Bundle +import android.view.MenuItem import android.view.View import android.widget.ArrayAdapter import android.widget.CompoundButton @@ -16,6 +17,8 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import com.riders.thelab.R +import com.riders.thelab.core.utils.UIManager +import com.riders.thelab.data.local.bean.SnackBarType import com.riders.thelab.databinding.ActivityBluetoothBinding import timber.log.Timber @@ -185,6 +188,16 @@ class BluetoothActivity : AppCompatActivity(), registerReceiver(receiver, filter) } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + when (item.itemId) { + android.R.id.home -> { + onBackPressed() + } + } + return true + } + override fun onStop() { super.onStop() diff --git a/app/src/main/java/com/riders/thelab/ui/download/DownloadActivity.kt b/app/src/main/java/com/riders/thelab/ui/download/DownloadActivity.kt index 0a6ec264..83e13606 100644 --- a/app/src/main/java/com/riders/thelab/ui/download/DownloadActivity.kt +++ b/app/src/main/java/com/riders/thelab/ui/download/DownloadActivity.kt @@ -2,6 +2,7 @@ package com.riders.thelab.ui.download import android.annotation.SuppressLint import android.os.Bundle +import android.view.MenuItem import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat @@ -42,6 +43,15 @@ class DownloadActivity downloadFile() } + override fun onOptionsItemSelected(item: MenuItem): Boolean { + when (item.itemId) { + android.R.id.home -> { + onBackPressed() + } + } + return true + } + override fun onDestroy() { super.onDestroy() Timber.e("onDestroy()") diff --git a/app/src/main/java/com/riders/thelab/ui/mainactivity/MainActivity.kt b/app/src/main/java/com/riders/thelab/ui/mainactivity/MainActivity.kt index b55d84e4..cf2afe2a 100644 --- a/app/src/main/java/com/riders/thelab/ui/mainactivity/MainActivity.kt +++ b/app/src/main/java/com/riders/thelab/ui/mainactivity/MainActivity.kt @@ -940,12 +940,16 @@ class MainActivity : AppCompatActivity(), if (!LabCompatibilityManager.isTablet(this)) runOnUiThread { - UIManager.updateToolbarIcon( - this@MainActivity, - menu!!, - R.id.action_connection_settings, - if (isConnected) R.drawable.ic_wifi else R.drawable.ic_wifi_off - ) + try { + UIManager.updateToolbarIcon( + this@MainActivity, + menu!!, + R.id.action_connection_settings, + if (isConnected) R.drawable.ic_wifi else R.drawable.ic_wifi_off + ) + } catch (exception: Exception) { + exception.printStackTrace() + } } } diff --git a/app/src/main/java/com/riders/thelab/utils/AppBuilderUtils.kt b/app/src/main/java/com/riders/thelab/utils/AppBuilderUtils.kt index 312d9ba0..f15a0d47 100644 --- a/app/src/main/java/com/riders/thelab/utils/AppBuilderUtils.kt +++ b/app/src/main/java/com/riders/thelab/utils/AppBuilderUtils.kt @@ -7,6 +7,7 @@ import com.riders.thelab.R import com.riders.thelab.data.local.model.app.App import com.riders.thelab.data.local.model.app.AppBuilder import com.riders.thelab.ui.biometric.BiometricActivity +import com.riders.thelab.ui.bluetooth.BluetoothActivity import com.riders.thelab.ui.builtin.BuiltInWebViewActivity import com.riders.thelab.ui.colors.ColorActivity import com.riders.thelab.ui.contacts.ContactsActivity @@ -420,6 +421,23 @@ class AppBuilderUtils { .build() list.add(lottie) + // Bluetooth + val bluetooth = + AppBuilder + .withId(27L) + .withActivityTitle("Bluetooth") + .withActivityDescription("Bluetooth feature, retrieve bounded devices and scan available bluetooth connections...") + .withActivityIcon( + getDrawableFromIntResource( + context, + R.drawable.ic_bluetooth + ) + ) + .withActivityClass(BluetoothActivity::class.java) + .build() + list.add(bluetooth) + + // Wip val wip = AppBuilder diff --git a/app/src/main/res/drawable/horizontal_gradient.xml b/app/src/main/res/drawable/horizontal_gradient.xml new file mode 100644 index 00000000..02412830 --- /dev/null +++ b/app/src/main/res/drawable/horizontal_gradient.xml @@ -0,0 +1,13 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/vertical_gradient.xml b/app/src/main/res/drawable/vertical_gradient.xml new file mode 100644 index 00000000..76ec92f4 --- /dev/null +++ b/app/src/main/res/drawable/vertical_gradient.xml @@ -0,0 +1,13 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_bluetooth.xml b/app/src/main/res/layout/activity_bluetooth.xml index 123db2e3..e1ae682c 100644 --- a/app/src/main/res/layout/activity_bluetooth.xml +++ b/app/src/main/res/layout/activity_bluetooth.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - app:cardBackgroundColor="@color/colorPrimary"> + app:cardBackgroundColor="@color/default_dark"> - + + #a854d4 - + <!– dots active colors –> @color/white @color/white @color/white - + #e4b5fc @color/dot_light_screen1 @color/dot_light_screen2 @color/dot_light_screen3 - + @color/dot_light_screen4 @color/dot_dark_screen1 @color/dot_dark_screen2 @color/dot_dark_screen3 - + @color/dot_dark_screen4 + --> + + + + #d1395c + #14a895 + #2278d4 + #a854d4 + + + #f98da5 + #8cf9eb + #93c6fd + #e4b5fc + + + @color/dot_light_screen1 + @color/dot_light_screen2 + @color/dot_light_screen3 + @color/dot_light_screen4 + + + @color/dot_dark_screen1 + @color/dot_dark_screen2 + @color/dot_dark_screen3 + @color/dot_dark_screen4 + + + + + @color/dot_dark_screen3 + @color/warning + @color/dot_dark_screen1 + @color/adminDashboardSelectedItemAccent + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 2f13a83b..797f3a4e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -186,5 +186,4 @@ #3395ff #c873f4 - \ No newline at end of file diff --git a/build.gradle b/build.gradle index bcf2a37b..18bf817a 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ ext { // version information versionMajor = 10 versionMinor = 7 - versionPatch = 0 + versionPatch = 1 versionName = "${versionMajor}.${versionMinor}.${versionPatch}" // Kotlin