This commit is contained in:
Tommaso Berlose 2020-05-04 01:46:22 +02:00
parent dd6b631868
commit 55b3a02da5
11 changed files with 404 additions and 40 deletions

View File

@ -3,16 +3,29 @@ package com.tommasoberlose.anotherwidget.components
import android.content.Context
import android.content.res.ColorStateList
import android.graphics.Color
import android.text.Editable
import android.text.TextWatcher
import android.util.Log
import android.view.View
import android.widget.GridLayout
import androidx.annotation.ColorInt
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import androidx.core.widget.addTextChangedListener
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.tommasoberlose.anotherwidget.R
import com.tommasoberlose.anotherwidget.helpers.ColorHelper
import com.tommasoberlose.anotherwidget.helpers.ColorHelper.isColorDark
import com.tommasoberlose.anotherwidget.utils.expand
import com.tommasoberlose.anotherwidget.utils.reveal
import kotlinx.android.synthetic.main.bottom_sheet_menu_hor.*
import kotlinx.android.synthetic.main.bottom_sheet_menu_hor.view.*
import kotlinx.android.synthetic.main.bottom_sheet_menu_hor.view.color_loader
import kotlinx.android.synthetic.main.color_picker_menu_item.view.*
import kotlinx.coroutines.*
import java.lang.Exception
import java.util.prefs.Preferences
class BottomSheetColorPicker(
context: Context,
@ -22,6 +35,8 @@ class BottomSheetColorPicker(
private val onColorSelected: ((selectedValue: Int) -> Unit)? = null
) : BottomSheetDialog(context, R.style.BottomSheetDialogTheme) {
private val loadingJob: Job? = null
override fun show() {
val view = View.inflate(context, R.layout.bottom_sheet_menu_hor, null)
@ -29,27 +44,45 @@ class BottomSheetColorPicker(
view.header.isVisible = header != null
view.header_text.text = header ?: ""
// Menu
for (@ColorInt color: Int in colors) {
val itemView = View.inflate(context, R.layout.color_picker_menu_item, null)
itemView.color.setCardBackgroundColor(ColorStateList.valueOf(color))
itemView.check.setColorFilter(ContextCompat.getColor(context,
if (color.isColorDark()) android.R.color.white else android.R.color.black
), android.graphics.PorterDuff.Mode.MULTIPLY)
itemView.check.isVisible = selected == color
itemView.color.setOnClickListener {
onColorSelected?.invoke(color)
this.dismiss()
val itemViews: ArrayList<View> = ArrayList()
GlobalScope.launch(Dispatchers.IO) {
for (@ColorInt color: Int in colors) {
val itemView = View.inflate(context, R.layout.color_picker_menu_item, null)
itemView.color.setCardBackgroundColor(ColorStateList.valueOf(color))
itemView.check.setColorFilter(ContextCompat.getColor(context,
if (color.isColorDark()) android.R.color.white else android.R.color.black
), android.graphics.PorterDuff.Mode.MULTIPLY)
itemView.check.isVisible = selected == color
itemView.color.setOnClickListener {
onColorSelected?.invoke(color)
this@BottomSheetColorPicker.dismiss()
}
itemViews.add(itemView)
}
withContext(Dispatchers.Main) {
itemViews.forEach {
view.menu.addView(it, GridLayout.LayoutParams(
GridLayout.spec(GridLayout.UNDEFINED, 1f),
GridLayout.spec(GridLayout.UNDEFINED, 1f)
))
}
color_loader.isVisible = false
view.menu.isVisible = true
this@BottomSheetColorPicker.behavior.state = BottomSheetBehavior.STATE_EXPANDED
}
view.menu.addView(itemView, GridLayout.LayoutParams(
GridLayout.spec(GridLayout.UNDEFINED, 1f),
GridLayout.spec(GridLayout.UNDEFINED, 1f)
)
)
}
// Menu
setContentView(view)
super.show()
}
override fun onStop() {
loadingJob?.cancel()
super.onStop()
}
}

View File

@ -7,12 +7,13 @@ import java.util.*
object AlarmHelper {
fun getNextAlarm(context: Context): String = with(context.getSystemService(Context.ALARM_SERVICE) as AlarmManager) {
val alarm = nextAlarmClock
return if (
nextAlarmClock != null
&& nextAlarmClock.triggerTime - Calendar.getInstance().timeInMillis > 2 * 60 * 1000
&& nextAlarmClock.triggerTime - Calendar.getInstance().timeInMillis < 24 * 60 * 60 * 1000
alarm != null
&& alarm.triggerTime - Calendar.getInstance().timeInMillis > 2 * 60 * 1000
&& alarm.triggerTime - Calendar.getInstance().timeInMillis < 24 * 60 * 60 * 1000
) {
DateFormat.getTimeFormat(context).format(Date(nextAlarmClock.triggerTime))
DateFormat.getTimeFormat(context).format(Date(alarm.triggerTime))
} else {
""
}

View File

@ -29,6 +29,7 @@ import com.tommasoberlose.anotherwidget.ui.activities.SupportDevActivity
import com.tommasoberlose.anotherwidget.ui.viewmodels.MainViewModel
import com.tommasoberlose.anotherwidget.helpers.CalendarHelper
import com.tommasoberlose.anotherwidget.ui.widgets.MainWidget
import com.tommasoberlose.anotherwidget.utils.checkGrantedPermission
import com.tommasoberlose.anotherwidget.utils.openURI
import kotlinx.android.synthetic.main.fragment_advanced_settings.*
import kotlinx.coroutines.delay
@ -86,7 +87,7 @@ class AdvancedSettingsFragment : Fragment() {
})
viewModel.showWallpaper.observe(viewLifecycleOwner, Observer {
show_wallpaper_label.text = if (it && requireActivity().checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
show_wallpaper_label.text = if (it && activity?.checkGrantedPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == true) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
})
}
@ -136,15 +137,15 @@ class AdvancedSettingsFragment : Fragment() {
}
action_translate.setOnClickListener {
requireActivity().openURI("https://github.com/tommasoberlose/another-widget/blob/master/app/src/main/res/values/strings.xml")
activity?.openURI("https://github.com/tommasoberlose/another-widget/blob/master/app/src/main/res/values/strings.xml")
}
action_website.setOnClickListener {
requireActivity().openURI("http://tommasoberlose.com/")
activity?.openURI("http://tommasoberlose.com/")
}
action_feedback.setOnClickListener {
requireActivity().openURI("https://github.com/tommasoberlose/another-widget/issues")
activity?.openURI("https://github.com/tommasoberlose/another-widget/issues")
}
action_help_dev.setOnClickListener {

View File

@ -208,7 +208,7 @@ class CalendarSettingsFragment : Fragment() {
checkReadEventsPermission()
}.show()
} else {
requireActivity().toast(getString(R.string.calendar_settings_list_error))
activity?.toast(getString(R.string.calendar_settings_list_error))
}
}
@ -293,7 +293,7 @@ class CalendarSettingsFragment : Fragment() {
dialog.addOnSelectItemListener { value ->
if (value == "-") {
startActivity(Intent(requireActivity(), CustomDateActivity::class.java))
startActivity(Intent(requireContext(), CustomDateActivity::class.java))
} else {
Preferences.dateFormat = value
}
@ -311,7 +311,7 @@ class CalendarSettingsFragment : Fragment() {
}
private fun checkReadEventsPermission(showEvents: Boolean = Preferences.showEvents) {
if (requireActivity().checkGrantedPermission(Manifest.permission.READ_CALENDAR)) {
if (activity?.checkGrantedPermission(Manifest.permission.READ_CALENDAR) == true) {
show_events_label.text = if (showEvents) getString(R.string.show_events_visible) else getString(R.string.show_events_not_visible)
read_calendar_permission_alert_icon.isVisible = false
CalendarHelper.updateEventList(requireContext())
@ -325,7 +325,7 @@ class CalendarSettingsFragment : Fragment() {
}
private fun requirePermission() {
Dexter.withContext(requireActivity())
Dexter.withContext(requireContext())
.withPermissions(
Manifest.permission.READ_CALENDAR
).withListener(object: MultiplePermissionsListener {

View File

@ -127,7 +127,7 @@ class ClockSettingsFragment : Fragment() {
action_clock_app.setOnClickListener {
if (Preferences.showClock) {
startActivityForResult(Intent(requireActivity(), ChooseApplicationActivity::class.java),
startActivityForResult(Intent(requireContext(), ChooseApplicationActivity::class.java),
RequestCode.CLOCK_APP_REQUEST_CODE.code
)
}

View File

@ -22,8 +22,10 @@ import com.tommasoberlose.anotherwidget.helpers.SettingsStringHelper
import com.tommasoberlose.anotherwidget.ui.activities.MainActivity
import com.tommasoberlose.anotherwidget.ui.viewmodels.MainViewModel
import kotlinx.android.synthetic.main.fragment_general_settings.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
class GeneralSettingsFragment : Fragment() {
@ -33,6 +35,7 @@ class GeneralSettingsFragment : Fragment() {
}
private lateinit var viewModel: MainViewModel
private lateinit var colors: IntArray
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -59,6 +62,12 @@ class GeneralSettingsFragment : Fragment() {
super.onActivityCreated(savedInstanceState)
setupListener()
lifecycleScope.launch(Dispatchers.IO) {
val lazyColors = requireContext().resources.getIntArray(R.array.material_colors)
withContext(Dispatchers.Main) {
colors = lazyColors
}
}
}
@ -140,7 +149,7 @@ class GeneralSettingsFragment : Fragment() {
Color.parseColor(Preferences.textGlobalColor)
}
BottomSheetColorPicker(requireContext(),
colors = requireActivity().resources.getIntArray(R.array.grey),
colors = colors,
header = getString(R.string.settings_font_color_title),
selected = textColor,
onColorSelected = { color: Int ->

View File

@ -132,7 +132,7 @@ class WeatherSettingsFragment : Fragment() {
}
private fun checkLocationPermission() {
if (requireActivity().checkGrantedPermission(Manifest.permission.ACCESS_FINE_LOCATION)) {
if (activity?.checkGrantedPermission(Manifest.permission.ACCESS_FINE_LOCATION) == true) {
location_permission_alert_icon.isVisible = false
WeatherReceiver.setUpdates(requireContext())
} else if (Preferences.showWeather && Preferences.customLocationAdd == "") {
@ -228,7 +228,7 @@ class WeatherSettingsFragment : Fragment() {
}
private fun requirePermission() {
Dexter.withContext(requireActivity())
Dexter.withContext(requireContext())
.withPermissions(
Manifest.permission.ACCESS_FINE_LOCATION
).withListener(object: MultiplePermissionsListener {

View File

@ -49,13 +49,14 @@ class SupportDevViewModel : ViewModel() {
fun handlePurchase(purchase: Purchase) {
if (!purchase.isAcknowledged) {
viewModelScope.launch(Dispatchers.IO) {
val token = purchase.purchaseToken
val acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder()
.setPurchaseToken(purchase.purchaseToken)
.setPurchaseToken(token)
billingClient.acknowledgePurchase(acknowledgePurchaseParams.build())
val consumeParams =
ConsumeParams.newBuilder()
.setPurchaseToken(purchase.purchaseToken)
.setPurchaseToken(token)
.build()
billingClient.consumePurchase(consumeParams)
}

View File

@ -69,6 +69,8 @@
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:inputType="textCapWords"
android:textColor="@color/colorPrimaryText"
android:textColorHint="@color/colorSecondaryText"
android:textAlignment="viewStart"
android:id="@+id/search"
android:gravity="center_vertical|start"

View File

@ -30,10 +30,27 @@
android:layout_marginTop="16dp"
android:background="@color/disabledButtonBackground" />
</LinearLayout>
<GridLayout
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/menu"
android:layout_margin="16dp"
android:columnCount="6"/>
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/menu"
android:visibility="gone"
android:layout_margin="16dp"
android:columnCount="6"/>
<ProgressBar
android:layout_width="32dp"
android:layout_height="32dp"
android:indeterminateTint="@color/colorPrimaryText"
android:indeterminate="true"
android:layout_margin="32dp"
android:layout_centerInParent="true"
android:id="@+id/color_loader" />
</RelativeLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="grey">
<array name="material_colors">
<!-- Grey -->
<item name="grey_0">#FFFFFF</item>
<item name="grey_50">#FAFAFA</item>
<item name="grey_100">#F5F5F5</item>
@ -13,5 +14,304 @@
<item name="grey_800">#424242</item>
<item name="grey_900">#212121</item>
<item name="grey_1000">#000000</item>
<!-- Grey -->
<!-- Red -->
<item name="red_50">#FFEBEE</item>
<item name="red_100">#FFCDD2</item>
<item name="red_200">#EF9A9A</item>
<item name="red_300">#E57373</item>
<item name="red_400">#EF5350</item>
<item name="red_500">#F44336</item>
<item name="red_600">#E53935</item>
<item name="red_700">#D32F2F</item>
<item name="red_800">#C62828</item>
<item name="red_900">#B71C1C</item>
<item name="red_A100">#FF8A80</item>
<item name="red_A200">#FF5252</item>
<item name="red_A400">#FF1744</item>
<item name="red_A700">#D50000</item>
<!-- Red -->
<!-- Pink -->
<item name="pink_50">#FCE4EC</item>
<item name="pink_100">#F8BBD0</item>
<item name="pink_200">#F48FB1</item>
<item name="pink_300">#F06292</item>
<item name="pink_400">#EC407A</item>
<item name="pink_500">#E91E63</item>
<item name="pink_600">#D81B60</item>
<item name="pink_700">#C2185B</item>
<item name="pink_800">#AD1457</item>
<item name="pink_900">#880E4F</item>
<item name="pink_A100">#FF80AB</item>
<item name="pink_A200">#FF4081</item>
<item name="pink_A400">#F50057</item>
<item name="pink_A700">#C51162</item>
<!-- Pink -->
<!-- Purple -->
<item name="purple_50">#F3E5F5</item>
<item name="purple_100">#E1BEE7</item>
<item name="purple_200">#CE93D8</item>
<item name="purple_300">#BA68C8</item>
<item name="purple_400">#AB47BC</item>
<item name="purple_500">#9C27B0</item>
<item name="purple_600">#8E24AA</item>
<item name="purple_700">#7B1FA2</item>
<item name="purple_800">#6A1B9A</item>
<item name="purple_900">#4A148C</item>
<item name="purple_A100">#EA80FC</item>
<item name="purple_A200">#E040FB</item>
<item name="purple_A400">#D500F9</item>
<item name="purple_A700">#AA00FF</item>
<!-- Purple -->
<!-- Deep Purple -->
<item name="dark_purple_50">#EDE7F6</item>
<item name="dark_purple_100">#D1C4E9</item>
<item name="dark_purple_200">#B39DDB</item>
<item name="dark_purple_300">#9575CD</item>
<item name="dark_purple_400">#7E57C2</item>
<item name="dark_purple_500">#673AB7</item>
<item name="dark_purple_600">#5E35B1</item>
<item name="dark_purple_700">#512DA8</item>
<item name="dark_purple_800">#4527A0</item>
<item name="dark_purple_900">#311B92</item>
<item name="dark_purple_A100">#B388FF</item>
<item name="dark_purple_A200">#7C4DFF</item>
<item name="dark_purple_A400">#651FFF</item>
<item name="dark_purple_A700">#6200EA</item>
<!-- Deep Purple -->
<!-- Indigo -->
<item name="indigo_50">#E8EAF6</item>
<item name="indigo_100">#C5CAE9</item>
<item name="indigo_200">#9FA8DA</item>
<item name="indigo_300">#7986CB</item>
<item name="indigo_400">#5C6BC0</item>
<item name="indigo_500">#3F51B5</item>
<item name="indigo_600">#3949AB</item>
<item name="indigo_700">#303F9F</item>
<item name="indigo_800">#283593</item>
<item name="indigo_900">#1A237E</item>
<item name="indigo_A100">#8C9EFF</item>
<item name="indigo_A200">#536DFE</item>
<item name="indigo_A400">#3D5AFE</item>
<item name="indigo_A700">#304FFE</item>
<!-- Indigo -->
<!-- Blue -->
<item name="blue_50">#E3F2FD</item>
<item name="blue_100">#BBDEFB</item>
<item name="blue_200">#90CAF9</item>
<item name="blue_300">#64B5F6</item>
<item name="blue_400">#42A5F5</item>
<item name="blue_500">#2196F3</item>
<item name="blue_600">#1E88E5</item>
<item name="blue_700">#1976D2</item>
<item name="blue_800">#1565C0</item>
<item name="blue_900">#0D47A1</item>
<item name="blue_A100">#82B1FF</item>
<item name="blue_A200">#448AFF</item>
<item name="blue_A400">#2979FF</item>
<item name="blue_A700">#2962FF</item>
<!-- Blue -->
<!-- Light Blue -->
<item name="light_blue_50">#E1F5FE</item>
<item name="light_blue_100">#B3E5FC</item>
<item name="light_blue_200">#81D4FA</item>
<item name="light_blue_300">#4FC3F7</item>
<item name="light_blue_400">#29B6F6</item>
<item name="light_blue_500">#03A9F4</item>
<item name="light_blue_600">#039BE5</item>
<item name="light_blue_700">#0288D1</item>
<item name="light_blue_800">#0277BD</item>
<item name="light_blue_900">#01579B</item>
<item name="light_blue_A100">#80D8FF</item>
<item name="light_blue_A200">#40C4FF</item>
<item name="light_blue_A400">#00B0FF</item>
<item name="light_blue_A700">#0091EA</item>
<!-- Light Blue -->
<!-- Cyan -->
<item name="cyan_50">#E0F7FA</item>
<item name="cyan_100">#B2EBF2</item>
<item name="cyan_200">#80DEEA</item>
<item name="cyan_300">#4DD0E1</item>
<item name="cyan_400">#26C6DA</item>
<item name="cyan_500">#00BCD4</item>
<item name="cyan_600">#00ACC1</item>
<item name="cyan_700">#0097A7</item>
<item name="cyan_800">#00838F</item>
<item name="cyan_900">#006064</item>
<item name="cyan_A100">#84FFFF</item>
<item name="cyan_A200">#18FFFF</item>
<item name="cyan_A400">#00E5FF</item>
<item name="cyan_A700">#00B8D4</item>
<!-- Cyan -->
<!-- Teal -->
<item name="teal_50">#E0F2F1</item>
<item name="teal_100">#B2DFDB</item>
<item name="teal_200">#80CBC4</item>
<item name="teal_300">#4DB6AC</item>
<item name="teal_400">#26A69A</item>
<item name="teal_500">#009688</item>
<item name="teal_600">#00897B</item>
<item name="teal_700">#00796B</item>
<item name="teal_800">#00695C</item>
<item name="teal_900">#004D40</item>
<item name="teal_A100">#A7FFEB</item>
<item name="teal_A200">#64FFDA</item>
<item name="teal_A400">#1DE9B6</item>
<item name="teal_A700">#00BFA5</item>
<!-- Teal -->
<!-- Green -->
<item name="green_50">#E8F5E9</item>
<item name="green_100">#C8E6C9</item>
<item name="green_200">#A5D6A7</item>
<item name="green_300">#81C784</item>
<item name="green_400">#66BB6A</item>
<item name="green_500">#4CAF50</item>
<item name="green_600">#43A047</item>
<item name="green_700">#388E3C</item>
<item name="green_800">#2E7D32</item>
<item name="green_900">#1B5E20</item>
<item name="green_A100">#B9F6CA</item>
<item name="green_A200">#69F0AE</item>
<item name="green_A400">#00E676</item>
<item name="green_A700">#00C853</item>
<!-- Green -->
<!-- Light Green -->
<item name="light_green_50">#F1F8E9</item>
<item name="light_green_100">#DCEDC8</item>
<item name="light_green_200">#C5E1A5</item>
<item name="light_green_300">#AED581</item>
<item name="light_green_400">#9CCC65</item>
<item name="light_green_500">#8BC34A</item>
<item name="light_green_600">#7CB342</item>
<item name="light_green_700">#689F38</item>
<item name="light_green_800">#558B2F</item>
<item name="light_green_900">#33691E</item>
<item name="light_green_A100">#CCFF90</item>
<item name="light_green_A200">#B2FF59</item>
<item name="light_green_A400">#76FF03</item>
<item name="light_green_A700">#64DD17</item>
<!-- Light Green -->
<!-- Lime -->
<item name="lime_50">#F9FBE7</item>
<item name="lime_100">#F0F4C3</item>
<item name="lime_200">#E6EE9C</item>
<item name="lime_300">#DCE775</item>
<item name="lime_400">#D4E157</item>
<item name="lime_500">#CDDC39</item>
<item name="lime_600">#C0CA33</item>
<item name="lime_700">#AFB42B</item>
<item name="lime_800">#9E9D24</item>
<item name="lime_900">#827717</item>
<item name="lime_A100">#F4FF81</item>
<item name="lime_A200">#EEFF41</item>
<item name="lime_A400">#C6FF00</item>
<item name="lime_A700">#AEEA00</item>
<!-- Lime -->
<!-- Yellow -->
<item name="yellow_50">#FFFDE7</item>
<item name="yellow_100">#FFF9C4</item>
<item name="yellow_200">#FFF59D</item>
<item name="yellow_300">#FFF176</item>
<item name="yellow_400">#FFEE58</item>
<item name="yellow_500">#FFEB3B</item>
<item name="yellow_600">#FDD835</item>
<item name="yellow_700">#FBC02D</item>
<item name="yellow_800">#F9A825</item>
<item name="yellow_900">#F57F17</item>
<item name="yellow_A100">#FFFF8D</item>
<item name="yellow_A200">#FFFF00</item>
<item name="yellow_A400">#FFEA00</item>
<item name="yellow_A700">#FFD600</item>
<!-- Yellow -->
<!-- Amber -->
<item name="amber_50">#FFF8E1</item>
<item name="amber_100">#FFECB3</item>
<item name="amber_200">#FFE082</item>
<item name="amber_300">#FFD54F</item>
<item name="amber_400">#FFCA28</item>
<item name="amber_500">#FFC107</item>
<item name="amber_600">#FFB300</item>
<item name="amber_700">#FFA000</item>
<item name="amber_800">#FF8F00</item>
<item name="amber_900">#FF6F00</item>
<item name="amber_A100">#FFE57F</item>
<item name="amber_A200">#FFD740</item>
<item name="amber_A400">#FFC400</item>
<item name="amber_A700">#FFAB00</item>
<!-- Amber -->
<!-- Orange -->
<item name="orange_50">#FFF3E0</item>
<item name="orange_100">#FFE0B2</item>
<item name="orange_200">#FFCC80</item>
<item name="orange_300">#FFB74D</item>
<item name="orange_400">#FFA726</item>
<item name="orange_500">#FF9800</item>
<item name="orange_600">#FB8C00</item>
<item name="orange_700">#F57C00</item>
<item name="orange_800">#EF6C00</item>
<item name="orange_900">#E65100</item>
<item name="orange_A100">#FFD180</item>
<item name="orange_A200">#FFAB40</item>
<item name="orange_A400">#FF9100</item>
<item name="orange_A700">#FF6D00</item>
<!-- Orange -->
<!-- Deep Orange -->
<item name="deep_orange_50">#FBE9E7</item>
<item name="deep_orange_100">#FFCCBC</item>
<item name="deep_orange_200">#FFAB91</item>
<item name="deep_orange_300">#FF8A65</item>
<item name="deep_orange_400">#FF7043</item>
<item name="deep_orange_500">#FF5722</item>
<item name="deep_orange_600">#F4511E</item>
<item name="deep_orange_700">#E64A19</item>
<item name="deep_orange_800">#D84315</item>
<item name="deep_orange_900">#BF360C</item>
<item name="deep_orange_A100">#FF9E80</item>
<item name="deep_orange_A200">#FF6E40</item>
<item name="deep_orange_A400">#FF3D00</item>
<item name="deep_orange_A700">#DD2C00</item>
<!-- Deep Orange -->
<!-- Brown -->
<item name="brown_50">#EFEBE9</item>
<item name="brown_100">#D7CCC8</item>
<item name="brown_200">#BCAAA4</item>
<item name="brown_300">#A1887F</item>
<item name="brown_400">#8D6E63</item>
<item name="brown_500">#795548</item>
<item name="brown_600">#6D4C41</item>
<item name="brown_700">#5D4037</item>
<item name="brown_800">#4E342E</item>
<item name="brown_900">#3E2723</item>
<!-- Brown -->
<!-- Blue Grey -->
<item name="blue_grey_50">#ECEFF1</item>
<item name="blue_grey_100">#CFD8DC</item>
<item name="blue_grey_200">#B0BEC5</item>
<item name="blue_grey_300">#90A4AE</item>
<item name="blue_grey_400">#78909C</item>
<item name="blue_grey_500">#607D8B</item>
<item name="blue_grey_600">#546E7A</item>
<item name="blue_grey_700">#455A64</item>
<item name="blue_grey_800">#37474F</item>
<item name="blue_grey_900">#263238</item>
<!-- Blue Grey -->
</array>
</resources>