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 @@