diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index e4e7c4a..2fbd952 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/app/build.gradle b/app/build.gradle
index 867aef7..a60f047 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -18,7 +18,7 @@ android {
applicationId "com.tommasoberlose.anotherwidget"
minSdkVersion 23
targetSdkVersion 29
- versionCode 81
+ versionCode 83
versionName "2.0.6"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/app/release/app-release.aab b/app/release/app-release.aab
index 96db4ee..89f83c8 100644
Binary files a/app/release/app-release.aab and b/app/release/app-release.aab differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9bfda14..ad71e4d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -146,6 +146,17 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/CustomNotesDialog.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/CustomNotesDialog.kt
new file mode 100644
index 0000000..296a333
--- /dev/null
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/CustomNotesDialog.kt
@@ -0,0 +1,27 @@
+package com.tommasoberlose.anotherwidget.components
+
+import android.content.Context
+import android.view.View
+import androidx.appcompat.app.AlertDialog
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
+import com.tommasoberlose.anotherwidget.R
+import com.tommasoberlose.anotherwidget.global.Preferences
+import kotlinx.android.synthetic.main.custom_notes_dialog_layout.view.*
+
+class CustomNotesDialog(context: Context) : BottomSheetDialog(context, R.style.BottomSheetDialogTheme) {
+
+ init {
+ val view = View.inflate(context, R.layout.custom_notes_dialog_layout, null)
+ view.notes.setText(Preferences.customNotes)
+
+ view.action_positive.setOnClickListener {
+ Preferences.customNotes = view.notes.text.toString()
+ this.dismiss()
+ }
+
+ view.notes.requestFocus()
+
+ setContentView(view)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/GlanceProviderSortMenu.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/GlanceProviderSortMenu.kt
new file mode 100644
index 0000000..ecb8c74
--- /dev/null
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/GlanceProviderSortMenu.kt
@@ -0,0 +1,97 @@
+package com.tommasoberlose.anotherwidget.components
+
+import android.content.Context
+import android.content.res.ColorStateList
+import android.view.View
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.appcompat.widget.AppCompatImageView
+import androidx.core.content.ContextCompat
+import androidx.core.view.isVisible
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.ItemTouchHelper
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.google.android.material.bottomsheet.BottomSheetBehavior
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.google.android.material.card.MaterialCardView
+import com.tommasoberlose.anotherwidget.R
+import com.tommasoberlose.anotherwidget.helpers.ColorHelper.isColorDark
+import com.tommasoberlose.anotherwidget.helpers.GlanceProviderHelper
+import com.tommasoberlose.anotherwidget.models.GlanceProvider
+import kotlinx.android.synthetic.main.glance_provider_sort_bottom_menu.view.*
+import kotlinx.coroutines.*
+import net.idik.lib.slimadapter.SlimAdapter
+import java.util.*
+import kotlin.collections.ArrayList
+
+class GlanceProviderSortMenu(
+ context: Context
+) : BottomSheetDialog(context, R.style.BottomSheetDialogTheme) {
+
+ private lateinit var adapter: SlimAdapter
+
+ override fun show() {
+ val view = View.inflate(context, R.layout.glance_provider_sort_bottom_menu, null)
+
+ // Header
+ view.header_text.text = context.getString(R.string.settings_sort_glance_providers_title)
+
+ // List
+ adapter = SlimAdapter.create()
+
+ view.menu.setHasFixedSize(true)
+ val mLayoutManager = LinearLayoutManager(context)
+ view.menu.layoutManager = mLayoutManager
+
+ adapter = SlimAdapter.create()
+ adapter
+ .register(R.layout.glance_provider_item) { item, injector ->
+ injector
+ .text(R.id.title, item.title)
+ .with(R.id.icon) {
+ it.setImageDrawable(ContextCompat.getDrawable(context, item.icon))
+ }
+ }
+ .attachTo(view.menu)
+
+ val mIth = ItemTouchHelper(
+ object : ItemTouchHelper.SimpleCallback(
+ ItemTouchHelper.UP or ItemTouchHelper.DOWN,
+ ItemTouchHelper.LEFT
+ ) {
+ override fun onMove(
+ recyclerView: RecyclerView,
+ viewHolder: RecyclerView.ViewHolder, target: RecyclerView.ViewHolder
+ ): Boolean {
+ val fromPos = viewHolder.adapterPosition
+ val toPos = target.adapterPosition
+ // move item in `fromPos` to `toPos` in adapter.
+ adapter.notifyItemMoved(fromPos, toPos)
+
+ val list = GlanceProviderHelper.getGlanceProviders()
+ Collections.swap(list, fromPos, toPos)
+ GlanceProviderHelper.saveGlanceProviderOrder(list)
+ return true
+ }
+
+ override fun onSwiped(
+ viewHolder: RecyclerView.ViewHolder,
+ direction: Int
+ ) {
+ // remove from adapter
+ }
+ })
+
+ mIth.attachToRecyclerView(view.menu)
+
+ adapter.updateData(
+ GlanceProviderHelper.getGlanceProviders()
+ .mapNotNull { GlanceProviderHelper.getGlanceProviderById(context, it) }
+ )
+
+ setContentView(view)
+ super.show()
+ }
+}
+
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/db/EventRepository.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/db/EventRepository.kt
index 680dd9e..282a04b 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/db/EventRepository.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/db/EventRepository.kt
@@ -39,7 +39,7 @@ class EventRepository(val context: Context) {
}
fun saveNextEventData(event: Event) {
- Preferences.nextEventId = event.id
+ Preferences.nextEventId = event.eventID
}
fun getNextEvent(): Event? {
@@ -64,11 +64,11 @@ class EventRepository(val context: Context) {
fun goToNextEvent() {
val eventList = getEvents()
if (eventList.isNotEmpty()) {
- val index = eventList.indexOfFirst { it.id == Preferences.nextEventId }
+ val index = eventList.indexOfFirst { it.eventID == Preferences.nextEventId }
if (index > -1 && index < eventList.size - 1) {
- Preferences.nextEventId = eventList[index + 1]!!.id
+ Preferences.nextEventId = eventList[index + 1]!!.eventID
} else {
- Preferences.nextEventId = eventList.first()!!.id
+ Preferences.nextEventId = eventList.first()!!.eventID
}
} else {
resetNextEventData()
@@ -80,11 +80,11 @@ class EventRepository(val context: Context) {
fun goToPreviousEvent() {
val eventList = getEvents()
if (eventList.isNotEmpty()) {
- val index = eventList.indexOfFirst { it.id == Preferences.nextEventId }
+ val index = eventList.indexOfFirst { it.eventID == Preferences.nextEventId }
if (index > 0) {
- Preferences.nextEventId = eventList[index - 1]!!.id
+ Preferences.nextEventId = eventList[index - 1]!!.eventID
} else {
- Preferences.nextEventId = eventList.last()!!.id
+ Preferences.nextEventId = eventList.last()!!.eventID
}
} else {
resetNextEventData()
@@ -95,11 +95,7 @@ class EventRepository(val context: Context) {
fun getEvents(): RealmResults {
val now = Calendar.getInstance().timeInMillis
- val list = realm.where(Event::class.java).greaterThan("endDate", now).findAll()
- realm.executeTransactionAsync {
- it.where(Event::class.java).lessThanOrEqualTo("endDate", now).findAll().deleteAllFromRealm()
- }
- return list
+ return realm.where(Event::class.java).greaterThan("endDate", now).findAll()
}
fun getEventsCount(): Int = getEvents().size
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/global/Constants.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/global/Constants.kt
index f0fb29c..409479a 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/global/Constants.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/global/Constants.kt
@@ -19,7 +19,7 @@ object Constants {
PLAYING_SONG("PLAYING_SONG"),
NEXT_CLOCK_ALARM("NEXT_CLOCK_ALARM"),
// BATTERY_LEVEL_LOW("BATTERY_LEVEL_LOW"),
-// CUSTOM_INFO("CUSTOM_INFO"),
+ CUSTOM_INFO("CUSTOM_INFO"),
// GOOGLE_FIT_STEPS("GOOGLE_FIT_STEPS")
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt
index c735ec4..8f503e9 100755
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt
@@ -48,6 +48,7 @@ object Preferences : KotprefModel() {
var clockTextColor by stringPref(default = "#FFFFFF")
var clockTextAlpha by stringPref(default = "FF")
+ var showAMPMIndicator by booleanPref(default = true)
// Global
var textMainSize by floatPref(key = "PREF_TEXT_MAIN_SIZE", default = 26f)
@@ -77,8 +78,9 @@ object Preferences : KotprefModel() {
// Glance
var showGlance by booleanPref(default = true)
var enabledGlanceProviderOrder by stringPref(default = "")
- var customInfo by stringPref(default = "")
- var showNextAlarm by booleanPref(default = false)
+ var customNotes by stringPref(default = "")
+ var showNextAlarm by booleanPref(default = true)
+ var showBatteryCharging by booleanPref(default = false)
var isBatteryLevelLow by booleanPref(default = false)
var googleFitSteps by longPref(default = -1)
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/GlanceProviderHelper.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/GlanceProviderHelper.kt
index a1fe438..37f6aac 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/GlanceProviderHelper.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/GlanceProviderHelper.kt
@@ -2,6 +2,7 @@ package com.tommasoberlose.anotherwidget.helpers
import android.content.Context
import com.tommasoberlose.anotherwidget.R
+import com.tommasoberlose.anotherwidget.db.EventRepository
import com.tommasoberlose.anotherwidget.global.Constants
import com.tommasoberlose.anotherwidget.global.Preferences
import com.tommasoberlose.anotherwidget.models.GlanceProvider
@@ -37,40 +38,47 @@ object GlanceProviderHelper {
Constants.GlanceProviderId.NEXT_CLOCK_ALARM -> {
GlanceProvider(providerId.id,
context.getString(R.string.settings_show_next_alarm_title),
- R.drawable.round_alarm,
- context.getString(R.string.settings_show_next_alarm_subtitle)
+ R.drawable.round_alarm
)
}
Constants.GlanceProviderId.PLAYING_SONG -> {
GlanceProvider(providerId.id,
context.getString(R.string.settings_show_music_title),
- R.drawable.round_music_note,
- context.getString(R.string.settings_show_music_enabled_subtitle)
+ R.drawable.round_music_note
+ )
+ }
+ Constants.GlanceProviderId.CUSTOM_INFO -> {
+ GlanceProvider(providerId.id,
+ context.getString(R.string.settings_custom_notes_title),
+ R.drawable.round_notes
)
}
-// Constants.GlanceProviderId.CUSTOM_INFO -> {
-// GlanceProvider(providerId.id,
-// context.getString(R.string.settings_show_next_alarm_title),
-// R.drawable.round_event_note
-// )
-// }
// Constants.GlanceProviderId.BATTERY_LEVEL_LOW -> {
// GlanceProvider(providerId.id,
-// context.getString(R.string.settings_show_next_alarm_title),
+// context.getString(R.string.settings_low_battery_level_title),
// R.drawable.round_battery_charging_full
// )
// }
// Constants.GlanceProviderId.GOOGLE_FIT_STEPS -> {
// GlanceProvider(providerId.id,
-// context.getString(R.string.settings_show_next_alarm_title),
+// context.getString(R.string.settings_daily_steps_title),
// R.drawable.round_directions_walk
// )
// }
- else -> null
}
}
fun saveGlanceProviderOrder(list: ArrayList) {
Preferences.enabledGlanceProviderOrder = list.joinToString(separator = ",")
}
+
+ fun showSpecialWeather(context: Context): Boolean {
+ return EventRepository(context).getEventsCount() == 0 && (
+ (Preferences.showNextAlarm && AlarmHelper.getNextAlarm(context) != "") ||
+ (MediaPlayerHelper.isSomeonePlaying(context)) ||
+ (Preferences.isBatteryLevelLow) ||
+ (Preferences.customNotes.isNotEmpty()) ||
+ (Preferences.googleFitSteps > 0)
+ )
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/WidgetHelper.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/WidgetHelper.kt
index b4f3f18..de30152 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/WidgetHelper.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/WidgetHelper.kt
@@ -53,11 +53,4 @@ object WidgetHelper {
width to second * factor
}
}
-
- fun showSpecialWeather(context: Context): Boolean {
- return EventRepository(context).getEventsCount() == 0 && (
- (Preferences.showNextAlarm && AlarmHelper.getNextAlarm(context) != "") ||
- (MediaPlayerHelper.isSomeonePlaying(context))
- )
- }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/models/GlanceProvider.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/models/GlanceProvider.kt
index b7f8f32..effa263 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/models/GlanceProvider.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/models/GlanceProvider.kt
@@ -3,10 +3,5 @@ package com.tommasoberlose.anotherwidget.models
class GlanceProvider(
val id: String,
val title: String,
- val icon: Int,
- val label: String = "",
- val enabled: Boolean = false,
- val isPermissionRequired: Boolean = false,
- val isPermissionGranted: (() -> Boolean)? = null,
- val requestPermission: (() -> Unit)? = null
+ val icon: Int
)
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/BatteryLevelReceiver.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/BatteryLevelReceiver.kt
new file mode 100644
index 0000000..20c39df
--- /dev/null
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/BatteryLevelReceiver.kt
@@ -0,0 +1,19 @@
+package com.tommasoberlose.anotherwidget.receivers
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.os.BatteryManager
+import com.tommasoberlose.anotherwidget.global.Preferences
+import com.tommasoberlose.anotherwidget.ui.widgets.MainWidget
+
+class BatteryLevelReceiver : BroadcastReceiver() {
+ override fun onReceive(context: Context, intent: Intent) {
+ when(intent.action) {
+ Intent.ACTION_BATTERY_LOW -> Preferences.isBatteryLevelLow = true
+ Intent.ACTION_BATTERY_OKAY -> Preferences.isBatteryLevelLow = false
+ }
+ MainWidget.updateWidget(context)
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/CalendarTabFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/CalendarTabFragment.kt
index a5707ff..1b254c3 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/CalendarTabFragment.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/CalendarTabFragment.kt
@@ -129,7 +129,10 @@ class CalendarTabFragment : Fragment() {
})
viewModel.showNextEvent.observe(viewLifecycleOwner, Observer {
- show_multiple_events_label?.text = if (it) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
+ maintainScrollPosition {
+ show_multiple_events_label?.text =
+ if (it) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
+ }
})
viewModel.dateFormat.observe(viewLifecycleOwner, Observer {
@@ -278,7 +281,7 @@ class CalendarTabFragment : Fragment() {
action_show_until.setOnClickListener {
if (Preferences.showEvents) {
val dialog = BottomSheetMenu(requireContext(), header = getString(R.string.settings_show_until_title)).setSelectedValue(Preferences.showUntil)
- intArrayOf(6,7,0,1,2).forEach {
+ intArrayOf(6,7,0,1,2,3).forEach {
dialog.addItem(getString(SettingsStringHelper.getShowUntilString(it)), it)
}
dialog.addOnSelectItemListener { value ->
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/ClockTabFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/ClockTabFragment.kt
index 9182ff7..d6b42b4 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/ClockTabFragment.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/ClockTabFragment.kt
@@ -104,6 +104,12 @@ class ClockTabFragment : Fragment() {
}
})
+ viewModel.showAMPMIndicator.observe(viewLifecycleOwner, Observer {
+ maintainScrollPosition {
+ ampm_indicator_label?.text = if (it) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
+ }
+ })
+
viewModel.clockTextColor.observe(viewLifecycleOwner, Observer {
maintainScrollPosition {
if (Preferences.clockTextAlpha == "00") {
@@ -168,6 +174,15 @@ class ClockTabFragment : Fragment() {
}.show()
}
+ action_ampm_indicator_size.setOnClickListener {
+ BottomSheetMenu(requireContext(), header = getString(R.string.settings_ampm_indicator_title)).setSelectedValue(Preferences.showAMPMIndicator)
+ .addItem(getString(R.string.settings_visible), true)
+ .addItem(getString(R.string.settings_not_visible), false)
+ .addOnSelectItemListener { value ->
+ Preferences.showAMPMIndicator = value
+ }.show()
+ }
+
action_clock_text_color.setOnClickListener {
BottomSheetColorPicker(requireContext(),
colors = colors,
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/GeneralTabFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/GeneralTabFragment.kt
index cf3e6fe..11ec99a 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/GeneralTabFragment.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/GeneralTabFragment.kt
@@ -148,7 +148,10 @@ class GeneralTabFragment : Fragment() {
})
viewModel.showDividers.observe(viewLifecycleOwner, Observer {
- show_dividers_label?.text = if (it) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
+ maintainScrollPosition {
+ show_dividers_label?.text =
+ if (it) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
+ }
})
}
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/GlanceTabFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/GlanceTabFragment.kt
index 680ce8c..c1d81d6 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/GlanceTabFragment.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/GlanceTabFragment.kt
@@ -7,11 +7,13 @@ import android.content.Intent
import android.content.IntentFilter
import android.content.pm.PackageManager
import android.os.Bundle
+import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
+import androidx.appcompat.app.AlertDialog
import androidx.core.app.NotificationManagerCompat
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
@@ -26,6 +28,8 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.tommasoberlose.anotherwidget.R
import com.tommasoberlose.anotherwidget.components.BottomSheetMenu
+import com.tommasoberlose.anotherwidget.components.CustomNotesDialog
+import com.tommasoberlose.anotherwidget.components.GlanceProviderSortMenu
import com.tommasoberlose.anotherwidget.databinding.FragmentGlanceSettingsBinding
import com.tommasoberlose.anotherwidget.global.Preferences
import com.tommasoberlose.anotherwidget.helpers.AlarmHelper
@@ -48,7 +52,6 @@ class GlanceTabFragment : Fragment() {
}
private lateinit var viewModel: MainViewModel
- private lateinit var adapter: SlimAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -73,65 +76,6 @@ class GlanceTabFragment : Fragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
- list.setHasFixedSize(true)
- val mLayoutManager = LinearLayoutManager(requireContext())
- list.layoutManager = mLayoutManager
-
- adapter = SlimAdapter.create()
- adapter
- .register(R.layout.glance_provider_item) { item, injector ->
- injector
- .text(R.id.title, item)
- }
- .register(R.layout.glance_provider_item) { item, injector ->
- injector
- .text(R.id.title, item.title)
- .with(R.id.icon) {
- it.setImageDrawable(ContextCompat.getDrawable(requireContext(), item.icon))
- }
- .with(R.id.label) {
- it.isVisible = item.label != ""
- it.text = item.label
- }
- }
- .attachTo(list)
-
- adapter.updateData(
- GlanceProviderHelper.getGlanceProviders()
- .mapNotNull { GlanceProviderHelper.getGlanceProviderById(requireContext(), it) }
- )
-
- val mIth = ItemTouchHelper(
- object : ItemTouchHelper.SimpleCallback(
- ItemTouchHelper.UP or ItemTouchHelper.DOWN,
- ItemTouchHelper.LEFT
- ) {
- override fun onMove(
- recyclerView: RecyclerView,
- viewHolder: ViewHolder, target: ViewHolder
- ): Boolean {
- val fromPos = viewHolder.adapterPosition
- val toPos = target.adapterPosition
- // move item in `fromPos` to `toPos` in adapter.
- adapter.notifyItemMoved(fromPos, toPos)
-
- val list = GlanceProviderHelper.getGlanceProviders()
- Collections.swap(list, fromPos, toPos)
- GlanceProviderHelper.saveGlanceProviderOrder(list)
- return true
- }
-
- override fun onSwiped(
- viewHolder: ViewHolder,
- direction: Int
- ) {
- // remove from adapter
- }
- })
-
- mIth.attachToRecyclerView(list)
-
-
setupListener()
updateNextAlarmWarningUi()
}
@@ -142,15 +86,33 @@ class GlanceTabFragment : Fragment() {
) {
viewModel.showGlance.observe(viewLifecycleOwner, Observer {
- binding.isGlanceVisible = it
+ maintainScrollPosition {
+ binding.isGlanceVisible = it
+ }
})
viewModel.showMusic.observe(viewLifecycleOwner, Observer {
- checkNotificationPermission()
+ maintainScrollPosition {
+ checkNotificationPermission()
+ }
})
viewModel.showNextAlarm.observe(viewLifecycleOwner, Observer {
- updateNextAlarmWarningUi()
+ maintainScrollPosition {
+ updateNextAlarmWarningUi()
+ }
+ })
+
+ viewModel.showBatteryCharging.observe(viewLifecycleOwner, Observer {
+ maintainScrollPosition {
+ show_low_battery_level_warning_label?.text = if (it) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
+ }
+ })
+
+ viewModel.customInfo.observe(viewLifecycleOwner, Observer {
+ maintainScrollPosition {
+ show_custom_notes_label?.text = if (it == "") getString(R.string.settings_not_visible) else it
+ }
})
}
@@ -165,6 +127,11 @@ class GlanceTabFragment : Fragment() {
Preferences.showGlance = enabled
}
+ action_sort_glance_providers.setOnClickListener {
+ GlanceProviderSortMenu(requireContext())
+ .show()
+ }
+
action_show_music.setOnClickListener {
if (Preferences.showGlance) {
BottomSheetMenu(
@@ -192,6 +159,26 @@ class GlanceTabFragment : Fragment() {
}.show()
}
}
+
+ action_show_low_battery_level_warning.setOnClickListener {
+ if (Preferences.showGlance) {
+ BottomSheetMenu(
+ requireContext(),
+ header = getString(R.string.settings_low_battery_level_title)
+ ).setSelectedValue(Preferences.showBatteryCharging)
+ .addItem(getString(R.string.settings_visible), true)
+ .addItem(getString(R.string.settings_not_visible), false)
+ .addOnSelectItemListener { value ->
+ Preferences.showBatteryCharging = value
+ }.show()
+ }
+ }
+
+ action_show_custom_notes.setOnClickListener {
+ if (Preferences.showGlance) {
+ CustomNotesDialog(requireContext()).show()
+ }
+ }
}
private fun updateNextAlarmWarningUi() {
@@ -204,15 +191,11 @@ class GlanceTabFragment : Fragment() {
} catch (e: Exception) {
alarm.showIntent?.creatorPackage ?: ""
}
- maintainScrollPosition {
- show_next_alarm_warning.text =
- getString(R.string.next_alarm_warning).format(appNameOrPackage)
- }
+ show_next_alarm_warning.text =
+ getString(R.string.next_alarm_warning).format(appNameOrPackage)
} else {
- maintainScrollPosition {
- show_next_alarm_label?.text = if (Preferences.showNextAlarm) getString(R.string.settings_visible) else getString(
+ show_next_alarm_label?.text = if (Preferences.showNextAlarm) getString(R.string.settings_visible) else getString(
R.string.settings_not_visible)
- }
}
}
}
@@ -237,7 +220,7 @@ class GlanceTabFragment : Fragment() {
if (NotificationManagerCompat.getEnabledListenerPackages(requireContext()).contains(requireContext().packageName)) {
notification_permission_alert?.isVisible = false
MediaPlayerHelper.updatePlayingMediaInfo(requireContext())
- show_music_label?.text = if (Preferences.showMusic) getString(R.string.settings_show_music_enabled_subtitle) else getString(R.string.settings_show_music_disabled_subtitle)
+ show_music_label?.text = if (Preferences.showMusic) getString(R.string.settings_visible) else getString(R.string.settings_not_visible)
} else if (Preferences.showMusic) {
notification_permission_alert?.isVisible = true
show_music_label?.text = getString(R.string.settings_request_notification_access)
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt
index 98ac3d2..56c963e 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt
@@ -160,6 +160,7 @@ class MainFragment : Fragment(), SharedPreferences.OnSharedPreferenceChangeList
TypedValue.COMPLEX_UNIT_SP,
Preferences.clockTextSize.toPixel(requireContext()) / 5 * 2
)
+ time_am_pm.isVisible = Preferences.showAMPMIndicator
// Clock bottom margin
clock_bottom_margin_none.isVisible =
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/viewmodels/MainViewModel.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/viewmodels/MainViewModel.kt
index 901769d..38578c7 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/viewmodels/MainViewModel.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/viewmodels/MainViewModel.kt
@@ -33,6 +33,7 @@ class MainViewModel : ViewModel() {
val clockTextSize = Preferences.asLiveData(Preferences::clockTextSize)
val clockTextColor = Preferences.asLiveData(Preferences::clockTextColor)
val clockTextAlpha = Preferences.asLiveData(Preferences::clockTextAlpha)
+ val showAMPMIndicator = Preferences.asLiveData(Preferences::showAMPMIndicator)
val clockAppName = Preferences.asLiveData(Preferences::clockAppName)
val dateFormat = Preferences.asLiveData(Preferences::dateFormat)
@@ -56,6 +57,8 @@ class MainViewModel : ViewModel() {
val showGlance = Preferences.asLiveData(Preferences::showGlance)
val showMusic = Preferences.asLiveData(Preferences::showMusic)
val showNextAlarm = Preferences.asLiveData(Preferences::showNextAlarm)
+ val showBatteryCharging = Preferences.asLiveData(Preferences::showBatteryCharging)
+ val customInfo = Preferences.asLiveData(Preferences::customNotes)
// Advanced Settings
val darkThemePreference = Preferences.asLiveData(Preferences::darkThemePreference)
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/MainWidget.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/MainWidget.kt
index dd3d996..2f77568 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/MainWidget.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/MainWidget.kt
@@ -261,14 +261,62 @@ class MainWidget : AppWidgetProvider() {
views.setViewVisibility(R.id.empty_layout_rect, View.GONE)
views.setViewVisibility(R.id.calendar_layout_rect, View.VISIBLE)
- } else if (MediaPlayerHelper.isSomeonePlaying(context)) {
- val musicIntent = PendingIntent.getActivity(
- context,
- widgetID,
- IntentHelper.getMusicIntent(context),
- 0
- )
- views.setOnClickPendingIntent(R.id.second_row_rect, musicIntent)
+ } else if (Preferences.showGlance) {
+
+
+
+
+
+ loop@ for (provider:Constants.GlanceProviderId in GlanceProviderHelper.getGlanceProviders()) {
+ when (provider) {
+ Constants.GlanceProviderId.PLAYING_SONG -> {
+ if (MediaPlayerHelper.isSomeonePlaying(context)) {
+ val musicIntent = PendingIntent.getActivity(
+ context,
+ widgetID,
+ IntentHelper.getMusicIntent(context),
+ 0
+ )
+ views.setOnClickPendingIntent(R.id.second_row_rect, musicIntent)
+ break@loop
+ }
+ }
+ Constants.GlanceProviderId.NEXT_CLOCK_ALARM -> {
+ if (Preferences.showNextAlarm && nextAlarm != "") {
+ val alarmIntent = PendingIntent.getActivity(
+ context,
+ widgetID,
+ IntentHelper.getClockIntent(context),
+ 0
+ )
+ views.setOnClickPendingIntent(R.id.second_row_rect, alarmIntent)
+ break@loop
+ }
+ }
+// Constants.GlanceProviderId.BATTERY_LEVEL_LOW -> {
+// if (Preferences.isBatteryLevelLow) {
+// val alarmIntent = PendingIntent.getActivity(
+// context,
+// widgetID,
+// IntentHelper.getClockIntent(context),
+// 0
+// )
+// views.setOnClickPendingIntent(R.id.second_row_rect, alarmIntent)
+// break@loop
+// }
+// }
+ Constants.GlanceProviderId.CUSTOM_INFO -> {
+ if (Preferences.customNotes.isNotEmpty()) {
+ break@loop
+ }
+ }
+// Constants.GlanceProviderId.GOOGLE_FIT_STEPS -> {
+// if (Preferences.googleFitSteps > 0) {
+// break@loop
+// }
+// }
+ }
+ }
views.setImageViewBitmap(
R.id.next_event_rect,
@@ -279,31 +327,8 @@ class MainWidget : AppWidgetProvider() {
R.id.second_row_rect,
BitmapHelper.getBitmapFromView(v.second_row, draw = false)
)
+
views.setViewVisibility(R.id.second_row_rect, View.VISIBLE)
-
- views.setViewVisibility(R.id.empty_layout_rect, View.GONE)
- views.setViewVisibility(R.id.calendar_layout_rect, View.VISIBLE)
- views.setOnClickPendingIntent(R.id.next_event_rect, calPIntent)
- } else if (Preferences.showNextAlarm && nextAlarm != "") {
- val alarmIntent = PendingIntent.getActivity(
- context,
- widgetID,
- IntentHelper.getClockIntent(context),
- 0
- )
- views.setOnClickPendingIntent(R.id.second_row_rect, alarmIntent)
-
- views.setImageViewBitmap(
- R.id.next_event_rect,
- BitmapHelper.getBitmapFromView(v.next_event, draw = false)
- )
-
- views.setImageViewBitmap(
- R.id.second_row_rect,
- BitmapHelper.getBitmapFromView(v.second_row, draw = false)
- )
- views.setViewVisibility(R.id.second_row_rect, View.VISIBLE)
-
views.setViewVisibility(R.id.empty_layout_rect, View.GONE)
views.setViewVisibility(R.id.calendar_layout_rect, View.VISIBLE)
views.setOnClickPendingIntent(R.id.next_event_rect, calPIntent)
@@ -346,7 +371,7 @@ class MainWidget : AppWidgetProvider() {
BitmapHelper.getBitmapFromView(v.calendar_weather, draw = false)
)
- if (WidgetHelper.showSpecialWeather(context)) {
+ if (GlanceProviderHelper.showSpecialWeather(context)) {
views.setViewVisibility(R.id.calendar_weather_rect, View.GONE)
} else {
views.setViewVisibility(R.id.special_weather_rect, View.GONE)
@@ -394,7 +419,7 @@ class MainWidget : AppWidgetProvider() {
views.setOnClickPendingIntent(R.id.time, clockPIntent)
views.setOnClickPendingIntent(R.id.time_am_pm, clockPIntent)
views.setViewVisibility(R.id.time, View.VISIBLE)
- views.setViewVisibility(R.id.time_am_pm, View.VISIBLE)
+ views.setViewVisibility(R.id.time_am_pm, if (Preferences.showAMPMIndicator) View.VISIBLE else View.GONE)
views.setViewVisibility(
R.id.clock_bottom_margin_none,
@@ -499,26 +524,69 @@ class MainWidget : AppWidgetProvider() {
v.empty_layout.visibility = View.GONE
v.calendar_layout.visibility = View.VISIBLE
- } else if (MediaPlayerHelper.isSomeonePlaying(context)) {
- v.second_row_icon.setImageDrawable(
- ContextCompat.getDrawable(
- context,
- R.drawable.round_music_note
- )
- )
+ } else if (Preferences.showGlance) {
+ v.second_row_icon.isVisible = true
+ loop@ for (provider:Constants.GlanceProviderId in GlanceProviderHelper.getGlanceProviders()) {
+ when (provider) {
+ Constants.GlanceProviderId.PLAYING_SONG -> {
+ if (MediaPlayerHelper.isSomeonePlaying(context)) {
+ v.second_row_icon.setImageDrawable(
+ ContextCompat.getDrawable(
+ context,
+ R.drawable.round_music_note
+ )
+ )
+ v.next_event_date.text = MediaPlayerHelper.getMediaInfo()
+ break@loop
+ }
+ }
+ Constants.GlanceProviderId.NEXT_CLOCK_ALARM -> {
+ if (Preferences.showNextAlarm && nextAlarm != "") {
+ v.second_row_icon.setImageDrawable(
+ ContextCompat.getDrawable(
+ context,
+ R.drawable.round_alarm
+ )
+ )
+ v.next_event_date.text = AlarmHelper.getNextAlarm(context)
+ break@loop
+ }
+ }
+// Constants.GlanceProviderId.BATTERY_LEVEL_LOW -> {
+// if (Preferences.isBatteryLevelLow) {
+// v.second_row_icon.setImageDrawable(
+// ContextCompat.getDrawable(
+// context,
+// R.drawable.round_battery_charging_full
+// )
+// )
+// v.next_event_date.text = context.getString(R.string.battery_low_warning)
+// break@loop
+// }
+// }
+ Constants.GlanceProviderId.CUSTOM_INFO -> {
+ if (Preferences.customNotes.isNotEmpty()) {
+ v.second_row_icon.isVisible = false
+ v.next_event_date.text = Preferences.customNotes
+ break@loop
+ }
+ }
+// Constants.GlanceProviderId.GOOGLE_FIT_STEPS -> {
+// if (Preferences.googleFitSteps > 0) {
+// v.second_row_icon.setImageDrawable(
+// ContextCompat.getDrawable(
+// context,
+// R.drawable.round_directions_walk
+// )
+// )
+// v.next_event_date.text = ""
+// break@loop
+// }
+// }
+ }
+ }
+
v.next_event.text = DateHelper.getDateText(context, now)
- v.next_event_date.text = MediaPlayerHelper.getMediaInfo()
- v.empty_layout.visibility = View.GONE
- v.calendar_layout.visibility = View.VISIBLE
- } else if (Preferences.showNextAlarm && nextAlarm != "") {
- v.second_row_icon.setImageDrawable(
- ContextCompat.getDrawable(
- context,
- R.drawable.round_alarm
- )
- )
- v.next_event.text = DateHelper.getDateText(context, now)
- v.next_event_date.text = AlarmHelper.getNextAlarm(context)
v.empty_layout.visibility = View.GONE
v.calendar_layout.visibility = View.VISIBLE
}
@@ -626,7 +694,7 @@ class MainWidget : AppWidgetProvider() {
v.calendar_temp.text = currentTemp
v.special_temp.text = currentTemp
- if (WidgetHelper.showSpecialWeather(context)) {
+ if (GlanceProviderHelper.showSpecialWeather(context)) {
v.calendar_weather.visibility = View.GONE
} else {
v.special_weather.visibility = View.GONE
diff --git a/app/src/main/res/drawable-hdpi/round_flip_to_front_black_18.png b/app/src/main/res/drawable-hdpi/round_flip_to_front_black_18.png
new file mode 100644
index 0000000..b4a990d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_flip_to_front_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_flip_to_front_black_24.png b/app/src/main/res/drawable-hdpi/round_flip_to_front_black_24.png
new file mode 100644
index 0000000..da43b3b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_flip_to_front_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_flip_to_front_black_36.png b/app/src/main/res/drawable-hdpi/round_flip_to_front_black_36.png
new file mode 100644
index 0000000..c106397
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_flip_to_front_black_36.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_flip_to_front_black_48.png b/app/src/main/res/drawable-hdpi/round_flip_to_front_black_48.png
new file mode 100644
index 0000000..0eaf3c9
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_flip_to_front_black_48.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_notes.png b/app/src/main/res/drawable-hdpi/round_notes.png
new file mode 100644
index 0000000..ace48c8
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_notes.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_notes_black_18.png b/app/src/main/res/drawable-hdpi/round_notes_black_18.png
new file mode 100644
index 0000000..ae7cb40
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_notes_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_notes_black_24.png b/app/src/main/res/drawable-hdpi/round_notes_black_24.png
new file mode 100644
index 0000000..0de408f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_notes_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_notes_black_36.png b/app/src/main/res/drawable-hdpi/round_notes_black_36.png
new file mode 100644
index 0000000..b7e6af9
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_notes_black_36.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_sort.png b/app/src/main/res/drawable-hdpi/round_sort.png
new file mode 100644
index 0000000..28e6900
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_sort.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_sort_black_18.png b/app/src/main/res/drawable-hdpi/round_sort_black_18.png
new file mode 100644
index 0000000..85febc6
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_sort_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_sort_black_24.png b/app/src/main/res/drawable-hdpi/round_sort_black_24.png
new file mode 100644
index 0000000..cf7b34b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_sort_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_sort_black_36.png b/app/src/main/res/drawable-hdpi/round_sort_black_36.png
new file mode 100644
index 0000000..c8a58e9
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_sort_black_36.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_sort_by_alpha.png b/app/src/main/res/drawable-hdpi/round_sort_by_alpha.png
new file mode 100644
index 0000000..e98d63c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_sort_by_alpha.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_18.png b/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_18.png
new file mode 100644
index 0000000..947acf5
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_24.png b/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_24.png
new file mode 100644
index 0000000..81a0738
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_48.png b/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_48.png
new file mode 100644
index 0000000..88572d1
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_sort_by_alpha_black_48.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_swap_vert.png b/app/src/main/res/drawable-hdpi/round_swap_vert.png
new file mode 100644
index 0000000..d3a5df2
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_swap_vert.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_swap_vert_black_18.png b/app/src/main/res/drawable-hdpi/round_swap_vert_black_18.png
new file mode 100644
index 0000000..85f506c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_swap_vert_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_swap_vert_black_24.png b/app/src/main/res/drawable-hdpi/round_swap_vert_black_24.png
new file mode 100644
index 0000000..e6b8b70
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_swap_vert_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_swap_vert_black_48.png b/app/src/main/res/drawable-hdpi/round_swap_vert_black_48.png
new file mode 100644
index 0000000..0f2520b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_swap_vert_black_48.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_text_rotate_vertical.png b/app/src/main/res/drawable-hdpi/round_text_rotate_vertical.png
new file mode 100644
index 0000000..59b57a8
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_text_rotate_vertical.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_18.png b/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_18.png
new file mode 100644
index 0000000..9043098
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_24.png b/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_24.png
new file mode 100644
index 0000000..bdcd663
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_36.png b/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_36.png
new file mode 100644
index 0000000..890208a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_text_rotate_vertical_black_36.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_wrap_text.png b/app/src/main/res/drawable-hdpi/round_wrap_text.png
new file mode 100644
index 0000000..06f8c86
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_wrap_text.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_wrap_text_black_18.png b/app/src/main/res/drawable-hdpi/round_wrap_text_black_18.png
new file mode 100644
index 0000000..1e3c33b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_wrap_text_black_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_wrap_text_black_24.png b/app/src/main/res/drawable-hdpi/round_wrap_text_black_24.png
new file mode 100644
index 0000000..aef9add
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_wrap_text_black_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_wrap_text_black_36.png b/app/src/main/res/drawable-hdpi/round_wrap_text_black_36.png
new file mode 100644
index 0000000..76c6692
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_wrap_text_black_36.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_flip_to_front_black_18.png b/app/src/main/res/drawable-mdpi/round_flip_to_front_black_18.png
new file mode 100644
index 0000000..3da5aca
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_flip_to_front_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_flip_to_front_black_24.png b/app/src/main/res/drawable-mdpi/round_flip_to_front_black_24.png
new file mode 100644
index 0000000..e86d090
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_flip_to_front_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_flip_to_front_black_36.png b/app/src/main/res/drawable-mdpi/round_flip_to_front_black_36.png
new file mode 100644
index 0000000..da43b3b
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_flip_to_front_black_36.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_flip_to_front_black_48.png b/app/src/main/res/drawable-mdpi/round_flip_to_front_black_48.png
new file mode 100644
index 0000000..4de54fe
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_flip_to_front_black_48.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_notes.png b/app/src/main/res/drawable-mdpi/round_notes.png
new file mode 100644
index 0000000..a0b7e56
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_notes.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_notes_black_18.png b/app/src/main/res/drawable-mdpi/round_notes_black_18.png
new file mode 100644
index 0000000..9616acb
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_notes_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_notes_black_24.png b/app/src/main/res/drawable-mdpi/round_notes_black_24.png
new file mode 100644
index 0000000..e5ba576
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_notes_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_notes_black_36.png b/app/src/main/res/drawable-mdpi/round_notes_black_36.png
new file mode 100644
index 0000000..0de408f
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_notes_black_36.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_sort.png b/app/src/main/res/drawable-mdpi/round_sort.png
new file mode 100644
index 0000000..e753318
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_sort.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_sort_black_18.png b/app/src/main/res/drawable-mdpi/round_sort_black_18.png
new file mode 100644
index 0000000..d28d553
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_sort_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_sort_black_24.png b/app/src/main/res/drawable-mdpi/round_sort_black_24.png
new file mode 100644
index 0000000..c139907
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_sort_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_sort_black_36.png b/app/src/main/res/drawable-mdpi/round_sort_black_36.png
new file mode 100644
index 0000000..cf7b34b
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_sort_black_36.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_sort_by_alpha.png b/app/src/main/res/drawable-mdpi/round_sort_by_alpha.png
new file mode 100644
index 0000000..81a0738
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_sort_by_alpha.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_18.png b/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_18.png
new file mode 100644
index 0000000..1c83ca4
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_24.png b/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_24.png
new file mode 100644
index 0000000..b256a0e
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_48.png b/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_48.png
new file mode 100644
index 0000000..5130224
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_sort_by_alpha_black_48.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_swap_vert.png b/app/src/main/res/drawable-mdpi/round_swap_vert.png
new file mode 100644
index 0000000..e6b8b70
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_swap_vert.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_swap_vert_black_18.png b/app/src/main/res/drawable-mdpi/round_swap_vert_black_18.png
new file mode 100644
index 0000000..b992e11
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_swap_vert_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_swap_vert_black_24.png b/app/src/main/res/drawable-mdpi/round_swap_vert_black_24.png
new file mode 100644
index 0000000..058de43
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_swap_vert_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_swap_vert_black_48.png b/app/src/main/res/drawable-mdpi/round_swap_vert_black_48.png
new file mode 100644
index 0000000..a674a56
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_swap_vert_black_48.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_text_rotate_vertical.png b/app/src/main/res/drawable-mdpi/round_text_rotate_vertical.png
new file mode 100644
index 0000000..3587d5b
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_text_rotate_vertical.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_18.png b/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_18.png
new file mode 100644
index 0000000..4634ef9
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_24.png b/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_24.png
new file mode 100644
index 0000000..44ddfb8
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_36.png b/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_36.png
new file mode 100644
index 0000000..bdcd663
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_text_rotate_vertical_black_36.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_wrap_text.png b/app/src/main/res/drawable-mdpi/round_wrap_text.png
new file mode 100644
index 0000000..918d5e3
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_wrap_text.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_wrap_text_black_18.png b/app/src/main/res/drawable-mdpi/round_wrap_text_black_18.png
new file mode 100644
index 0000000..0ff883d
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_wrap_text_black_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_wrap_text_black_24.png b/app/src/main/res/drawable-mdpi/round_wrap_text_black_24.png
new file mode 100644
index 0000000..dbf1de4
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_wrap_text_black_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_wrap_text_black_36.png b/app/src/main/res/drawable-mdpi/round_wrap_text_black_36.png
new file mode 100644
index 0000000..aef9add
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_wrap_text_black_36.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_18.png b/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_18.png
new file mode 100644
index 0000000..da43b3b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_24.png b/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_24.png
new file mode 100644
index 0000000..4de54fe
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_36.png b/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_36.png
new file mode 100644
index 0000000..0eaf3c9
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_36.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_48.png b/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_48.png
new file mode 100644
index 0000000..225a6bf
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_flip_to_front_black_48.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_notes.png b/app/src/main/res/drawable-xhdpi/round_notes.png
new file mode 100644
index 0000000..a0cef53
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_notes.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_notes_black_18.png b/app/src/main/res/drawable-xhdpi/round_notes_black_18.png
new file mode 100644
index 0000000..0de408f
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_notes_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_notes_black_24.png b/app/src/main/res/drawable-xhdpi/round_notes_black_24.png
new file mode 100644
index 0000000..a0b7e56
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_notes_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_notes_black_36.png b/app/src/main/res/drawable-xhdpi/round_notes_black_36.png
new file mode 100644
index 0000000..ace48c8
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_notes_black_36.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_sort.png b/app/src/main/res/drawable-xhdpi/round_sort.png
new file mode 100644
index 0000000..7169aca
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_sort.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_sort_black_18.png b/app/src/main/res/drawable-xhdpi/round_sort_black_18.png
new file mode 100644
index 0000000..cf7b34b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_sort_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_sort_black_24.png b/app/src/main/res/drawable-xhdpi/round_sort_black_24.png
new file mode 100644
index 0000000..e753318
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_sort_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_sort_black_36.png b/app/src/main/res/drawable-xhdpi/round_sort_black_36.png
new file mode 100644
index 0000000..28e6900
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_sort_black_36.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_sort_by_alpha.png b/app/src/main/res/drawable-xhdpi/round_sort_by_alpha.png
new file mode 100644
index 0000000..88572d1
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_sort_by_alpha.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_18.png b/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_18.png
new file mode 100644
index 0000000..81a0738
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_24.png b/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_24.png
new file mode 100644
index 0000000..5130224
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_48.png b/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_48.png
new file mode 100644
index 0000000..4bc540a
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_sort_by_alpha_black_48.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_swap_vert.png b/app/src/main/res/drawable-xhdpi/round_swap_vert.png
new file mode 100644
index 0000000..0f2520b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_swap_vert.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_swap_vert_black_18.png b/app/src/main/res/drawable-xhdpi/round_swap_vert_black_18.png
new file mode 100644
index 0000000..e6b8b70
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_swap_vert_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_swap_vert_black_24.png b/app/src/main/res/drawable-xhdpi/round_swap_vert_black_24.png
new file mode 100644
index 0000000..a674a56
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_swap_vert_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_swap_vert_black_48.png b/app/src/main/res/drawable-xhdpi/round_swap_vert_black_48.png
new file mode 100644
index 0000000..2e58d19
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_swap_vert_black_48.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical.png b/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical.png
new file mode 100644
index 0000000..10fbd74
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_18.png b/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_18.png
new file mode 100644
index 0000000..bdcd663
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_24.png b/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_24.png
new file mode 100644
index 0000000..3587d5b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_36.png b/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_36.png
new file mode 100644
index 0000000..59b57a8
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_text_rotate_vertical_black_36.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_wrap_text.png b/app/src/main/res/drawable-xhdpi/round_wrap_text.png
new file mode 100644
index 0000000..a025fa8
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_wrap_text.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_wrap_text_black_18.png b/app/src/main/res/drawable-xhdpi/round_wrap_text_black_18.png
new file mode 100644
index 0000000..aef9add
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_wrap_text_black_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_wrap_text_black_24.png b/app/src/main/res/drawable-xhdpi/round_wrap_text_black_24.png
new file mode 100644
index 0000000..918d5e3
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_wrap_text_black_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_wrap_text_black_36.png b/app/src/main/res/drawable-xhdpi/round_wrap_text_black_36.png
new file mode 100644
index 0000000..06f8c86
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_wrap_text_black_36.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_18.png b/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_18.png
new file mode 100644
index 0000000..c106397
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_24.png b/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_24.png
new file mode 100644
index 0000000..0eaf3c9
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_36.png b/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_36.png
new file mode 100644
index 0000000..28dc37a
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_36.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_48.png b/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_48.png
new file mode 100644
index 0000000..71cec7f
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_flip_to_front_black_48.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_notes.png b/app/src/main/res/drawable-xxhdpi/round_notes.png
new file mode 100644
index 0000000..3ccd4ef
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_notes.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_notes_black_18.png b/app/src/main/res/drawable-xxhdpi/round_notes_black_18.png
new file mode 100644
index 0000000..b7e6af9
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_notes_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_notes_black_24.png b/app/src/main/res/drawable-xxhdpi/round_notes_black_24.png
new file mode 100644
index 0000000..ace48c8
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_notes_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_notes_black_36.png b/app/src/main/res/drawable-xxhdpi/round_notes_black_36.png
new file mode 100644
index 0000000..ea27007
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_notes_black_36.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_sort.png b/app/src/main/res/drawable-xxhdpi/round_sort.png
new file mode 100644
index 0000000..4e562be
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_sort.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_sort_black_18.png b/app/src/main/res/drawable-xxhdpi/round_sort_black_18.png
new file mode 100644
index 0000000..c8a58e9
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_sort_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_sort_black_24.png b/app/src/main/res/drawable-xxhdpi/round_sort_black_24.png
new file mode 100644
index 0000000..28e6900
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_sort_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_sort_black_36.png b/app/src/main/res/drawable-xxhdpi/round_sort_black_36.png
new file mode 100644
index 0000000..f02858b
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_sort_black_36.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha.png b/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha.png
new file mode 100644
index 0000000..8e2729a
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_18.png b/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_18.png
new file mode 100644
index 0000000..e98d63c
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_24.png b/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_24.png
new file mode 100644
index 0000000..88572d1
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_48.png b/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_48.png
new file mode 100644
index 0000000..66426e0
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_sort_by_alpha_black_48.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_swap_vert.png b/app/src/main/res/drawable-xxhdpi/round_swap_vert.png
new file mode 100644
index 0000000..7848c47
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_swap_vert.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_18.png b/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_18.png
new file mode 100644
index 0000000..d3a5df2
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_24.png b/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_24.png
new file mode 100644
index 0000000..0f2520b
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_48.png b/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_48.png
new file mode 100644
index 0000000..0f2bb65
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_swap_vert_black_48.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical.png b/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical.png
new file mode 100644
index 0000000..0a927e3
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_18.png b/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_18.png
new file mode 100644
index 0000000..890208a
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_24.png b/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_24.png
new file mode 100644
index 0000000..59b57a8
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_36.png b/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_36.png
new file mode 100644
index 0000000..0515e04
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_text_rotate_vertical_black_36.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_wrap_text.png b/app/src/main/res/drawable-xxhdpi/round_wrap_text.png
new file mode 100644
index 0000000..98dc7c8
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_wrap_text.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_18.png b/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_18.png
new file mode 100644
index 0000000..76c6692
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_24.png b/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_24.png
new file mode 100644
index 0000000..06f8c86
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_36.png b/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_36.png
new file mode 100644
index 0000000..354c0e7
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_wrap_text_black_36.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_18.png
new file mode 100644
index 0000000..0eaf3c9
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_24.png
new file mode 100644
index 0000000..225a6bf
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_36.png b/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_36.png
new file mode 100644
index 0000000..71cec7f
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_36.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_48.png b/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_48.png
new file mode 100644
index 0000000..4501462
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_flip_to_front_black_48.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_notes.png b/app/src/main/res/drawable-xxxhdpi/round_notes.png
new file mode 100644
index 0000000..c44f777
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_notes.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_notes_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_notes_black_18.png
new file mode 100644
index 0000000..ace48c8
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_notes_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_notes_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_notes_black_24.png
new file mode 100644
index 0000000..a0cef53
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_notes_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_notes_black_36.png b/app/src/main/res/drawable-xxxhdpi/round_notes_black_36.png
new file mode 100644
index 0000000..3ccd4ef
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_notes_black_36.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_sort.png b/app/src/main/res/drawable-xxxhdpi/round_sort.png
new file mode 100644
index 0000000..345e467
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_sort.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_sort_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_sort_black_18.png
new file mode 100644
index 0000000..28e6900
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_sort_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_sort_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_sort_black_24.png
new file mode 100644
index 0000000..7169aca
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_sort_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_sort_black_36.png b/app/src/main/res/drawable-xxxhdpi/round_sort_black_36.png
new file mode 100644
index 0000000..4e562be
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_sort_black_36.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha.png b/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha.png
new file mode 100644
index 0000000..66426e0
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_18.png
new file mode 100644
index 0000000..88572d1
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_24.png
new file mode 100644
index 0000000..4bc540a
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_48.png b/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_48.png
new file mode 100644
index 0000000..d62bc9a
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_sort_by_alpha_black_48.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_swap_vert.png b/app/src/main/res/drawable-xxxhdpi/round_swap_vert.png
new file mode 100644
index 0000000..0f2bb65
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_swap_vert.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_18.png
new file mode 100644
index 0000000..0f2520b
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_24.png
new file mode 100644
index 0000000..2e58d19
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_48.png b/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_48.png
new file mode 100644
index 0000000..4f70abb
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_swap_vert_black_48.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical.png b/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical.png
new file mode 100644
index 0000000..1a941db
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_18.png
new file mode 100644
index 0000000..59b57a8
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_24.png
new file mode 100644
index 0000000..10fbd74
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_36.png b/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_36.png
new file mode 100644
index 0000000..0a927e3
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_text_rotate_vertical_black_36.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_wrap_text.png b/app/src/main/res/drawable-xxxhdpi/round_wrap_text.png
new file mode 100644
index 0000000..680c7a1
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_wrap_text.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_18.png b/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_18.png
new file mode 100644
index 0000000..06f8c86
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_24.png b/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_24.png
new file mode 100644
index 0000000..a025fa8
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_36.png b/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_36.png
new file mode 100644
index 0000000..98dc7c8
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_wrap_text_black_36.png differ
diff --git a/app/src/main/res/drawable/round_flip_to_front.xml b/app/src/main/res/drawable/round_flip_to_front.xml
new file mode 100644
index 0000000..05c8520
--- /dev/null
+++ b/app/src/main/res/drawable/round_flip_to_front.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/round_notes_24.xml b/app/src/main/res/drawable/round_notes_24.xml
new file mode 100644
index 0000000..fdf3ae1
--- /dev/null
+++ b/app/src/main/res/drawable/round_notes_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/round_sort_24.xml b/app/src/main/res/drawable/round_sort_24.xml
new file mode 100644
index 0000000..839bc30
--- /dev/null
+++ b/app/src/main/res/drawable/round_sort_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/round_sort_by_alpha_24.xml b/app/src/main/res/drawable/round_sort_by_alpha_24.xml
new file mode 100644
index 0000000..5dd7bd1
--- /dev/null
+++ b/app/src/main/res/drawable/round_sort_by_alpha_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/round_swap_vert_24.xml b/app/src/main/res/drawable/round_swap_vert_24.xml
new file mode 100644
index 0000000..1af00b0
--- /dev/null
+++ b/app/src/main/res/drawable/round_swap_vert_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/round_text_rotate_vertical_24.xml b/app/src/main/res/drawable/round_text_rotate_vertical_24.xml
new file mode 100644
index 0000000..303272e
--- /dev/null
+++ b/app/src/main/res/drawable/round_text_rotate_vertical_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/round_wrap_text_24.xml b/app/src/main/res/drawable/round_wrap_text_24.xml
new file mode 100644
index 0000000..289eb4d
--- /dev/null
+++ b/app/src/main/res/drawable/round_wrap_text_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/layout/custom_notes_dialog_layout.xml b/app/src/main/res/layout/custom_notes_dialog_layout.xml
new file mode 100644
index 0000000..5007c57
--- /dev/null
+++ b/app/src/main/res/layout/custom_notes_dialog_layout.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_calendar_settings.xml b/app/src/main/res/layout/fragment_calendar_settings.xml
index 6b78859..ff0536e 100644
--- a/app/src/main/res/layout/fragment_calendar_settings.xml
+++ b/app/src/main/res/layout/fragment_calendar_settings.xml
@@ -83,6 +83,20 @@
android:id="@+id/show_events_switch"
android:buttonTint="@color/colorAccent" />
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ android:background="?android:attr/selectableItemBackground"
+ android:gravity="center_vertical"
+ android:id="@+id/action_show_low_battery_level_warning"
+ android:orientation="horizontal">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_weather_settings.xml b/app/src/main/res/layout/fragment_weather_settings.xml
index 00de550..86dbae2 100644
--- a/app/src/main/res/layout/fragment_weather_settings.xml
+++ b/app/src/main/res/layout/fragment_weather_settings.xml
@@ -106,6 +106,20 @@
android:id="@+id/show_weather_switch"
android:buttonTint="@color/colorAccent" />
+
+
-
-
+ app:cardElevation="0dp"
+ app:cardBackgroundColor="@color/colorPrimary"
+ app:cardCornerRadius="9dp">
-
+
+
-
-
+
+
+
+
+ android:background="?attr/selectableItemBackgroundBorderless"
+ android:id="@+id/action_drag"
+ android:src="@drawable/round_drag"
+ android:tint="@color/colorPrimaryText" />
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/glance_provider_sort_bottom_menu.xml b/app/src/main/res/layout/glance_provider_sort_bottom_menu.xml
new file mode 100644
index 0000000..b7a0bae
--- /dev/null
+++ b/app/src/main/res/layout/glance_provider_sort_bottom_menu.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index d56c2da..4e5d99f 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -220,4 +220,11 @@
Show at a glance info
Show multiple provider data when there are no events displayed.
Show text dividers
+ Show the next clock alarm
+ Data source priority
+ Change the data provider importance
+ Custom notes
+ Battery level
+ Daily steps
+ Low battery level
\ No newline at end of file
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index ff060da..8e50cea 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -200,4 +200,11 @@
Show at a glance info
Show multiple provider data when there are no events displayed.
Show text dividers
+ Show the next clock alarm
+ Data source priority
+ Change the data provider importance
+ Custom notes
+ Battery level
+ Daily steps
+ Low battery level
\ No newline at end of file
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index f0dda34..12c3dd4 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -198,5 +198,12 @@
%d integrazioni installate
Mostra notizie rapide
Mostra notizie rapide ottenute da diversi provider
+ Mostra la prossima sveglia
Mostra divisori testo
+ Ordine notizie rapide
+ Cambia l\'ordine di importanza delle notizie
+ Note
+ Livello batteria
+ Passi di oggi
+ Livello batteria basso
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 901e229..ea0b7bd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -31,7 +31,7 @@
Visible
Hidden
Account calendar
- Events
+ Calendar
Weather
Display
Error loading the calendar list
@@ -117,7 +117,7 @@
Clock visibility
Clock is hidden
Clock text size
- Clock Alarm
+ Next clock Alarm
Show the next clock alarm
Text shadow
None
@@ -213,4 +213,11 @@
Show at a glance info
Show multiple provider data when there are no events displayed.
Show text dividers
+ Data source priority
+ Change the data provider importance
+ Custom notes
+ Battery level
+ Daily steps
+ Low battery level
+ Show AM/PM Indicator
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 7929032..243ad95 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -109,8 +109,13 @@
+
\ No newline at end of file
diff --git a/tasksintegration/build/intermediates/bundle_manifest/debug/bundle-manifest/AndroidManifest.xml b/tasksintegration/build/intermediates/bundle_manifest/debug/bundle-manifest/AndroidManifest.xml
index b980f9a..a1bc942 100644
--- a/tasksintegration/build/intermediates/bundle_manifest/debug/bundle-manifest/AndroidManifest.xml
+++ b/tasksintegration/build/intermediates/bundle_manifest/debug/bundle-manifest/AndroidManifest.xml
@@ -3,7 +3,7 @@
xmlns:dist="http://schemas.android.com/apk/distribution"
featureSplit="tasksintegration"
package="com.tommasoberlose.anotherwidget"
- android:versionCode="81"
+ android:versionCode="83"
android:versionName="2.0.6" >
8
9