From be07fad8f1cd4f8da47c4f111afd51fed4a61652 Mon Sep 17 00:00:00 2001 From: rebelonion <87634197+rebelonion@users.noreply.github.com> Date: Mon, 25 Mar 2024 22:08:51 -0500 Subject: [PATCH] fix: layout tweaks for upcoming widget --- app/src/main/AndroidManifest.xml | 8 +-- ...ctory.kt => UpcomingRemoteViewsFactory.kt} | 18 ++--- ...rvice.kt => UpcomingRemoteViewsService.kt} | 6 +- ...entlyAiringWidget.kt => UpcomingWidget.kt} | 14 ++-- ....kt => UpcomingWidgetConfigureActivity.kt} | 70 +++++++++---------- ..._airing_widget.xml => upcoming_widget.xml} | 4 +- ...ng_widget.xml => item_upcoming_widget.xml} | 7 +- ..._airing_widget.xml => upcoming_widget.xml} | 4 +- ...gure.xml => upcoming_widget_configure.xml} | 0 app/src/main/res/values/strings.xml | 3 +- .../xml-v31/currently_airing_widget_info.xml | 13 ---- .../main/res/xml-v31/upcoming_widget_info.xml | 13 ++++ .../res/xml/currently_airing_widget_info.xml | 12 ---- app/src/main/res/xml/upcoming_widget_info.xml | 12 ++++ 14 files changed, 93 insertions(+), 91 deletions(-) rename app/src/main/java/ani/dantotsu/widgets/{CurrentlyAiringRemoteViewsFactory.kt => UpcomingRemoteViewsFactory.kt} (87%) rename app/src/main/java/ani/dantotsu/widgets/{CurrentlyAiringRemoteViewsService.kt => UpcomingRemoteViewsService.kt} (50%) rename app/src/main/java/ani/dantotsu/widgets/{CurrentlyAiringWidget.kt => UpcomingWidget.kt} (90%) rename app/src/main/java/ani/dantotsu/widgets/{CurrentlyAiringWidgetConfigureActivity.kt => UpcomingWidgetConfigureActivity.kt} (67%) rename app/src/main/res/layout-v26/{currently_airing_widget.xml => upcoming_widget.xml} (96%) rename app/src/main/res/layout/{item_currently_airing_widget.xml => item_upcoming_widget.xml} (91%) rename app/src/main/res/layout/{currently_airing_widget.xml => upcoming_widget.xml} (96%) rename app/src/main/res/layout/{currently_airing_widget_configure.xml => upcoming_widget_configure.xml} (100%) delete mode 100644 app/src/main/res/xml-v31/currently_airing_widget_info.xml create mode 100644 app/src/main/res/xml-v31/upcoming_widget_info.xml delete mode 100644 app/src/main/res/xml/currently_airing_widget_info.xml create mode 100644 app/src/main/res/xml/upcoming_widget_info.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0401d77f..cabc2051 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -62,7 +62,7 @@ tools:targetApi="tiramisu"> @@ -70,10 +70,10 @@ + android:resource="@xml/upcoming_widget_info" /> @@ -347,7 +347,7 @@ () private var refreshing = false private val prefs = - context.getSharedPreferences(CurrentlyAiringWidget.PREFS_NAME, Context.MODE_PRIVATE) + context.getSharedPreferences(UpcomingWidget.PREFS_NAME, Context.MODE_PRIVATE) override fun onCreate() { - Logger.log("CurrentlyAiringRemoteViewsFactory onCreate") + Logger.log("UpcomingRemoteViewsFactory onCreate") fillWidgetItems() } @@ -44,7 +44,7 @@ class CurrentlyAiringRemoteViewsFactory(private val context: Context) : override fun onDataSetChanged() { if (refreshing) return - Logger.log("CurrentlyAiringRemoteViewsFactory onDataSetChanged") + Logger.log("UpcomingRemoteViewsFactory onDataSetChanged") widgetItems.clear() fillWidgetItems() @@ -78,12 +78,12 @@ class CurrentlyAiringRemoteViewsFactory(private val context: Context) : } override fun getViewAt(position: Int): RemoteViews { - Logger.log("CurrentlyAiringRemoteViewsFactory getViewAt") + Logger.log("UpcomingRemoteViewsFactory getViewAt") val item = widgetItems[position] - val titleTextColor = prefs.getInt(CurrentlyAiringWidget.PREF_TITLE_TEXT_COLOR, Color.WHITE) + val titleTextColor = prefs.getInt(UpcomingWidget.PREF_TITLE_TEXT_COLOR, Color.WHITE) val countdownTextColor = - prefs.getInt(CurrentlyAiringWidget.PREF_COUNTDOWN_TEXT_COLOR, Color.WHITE) - val rv = RemoteViews(context.packageName, R.layout.item_currently_airing_widget).apply { + prefs.getInt(UpcomingWidget.PREF_COUNTDOWN_TEXT_COLOR, Color.WHITE) + val rv = RemoteViews(context.packageName, R.layout.item_upcoming_widget).apply { setTextViewText(R.id.text_show_title, item.title) setTextViewText(R.id.text_show_countdown, item.countdown) setTextColor(R.id.text_show_title, titleTextColor) @@ -138,7 +138,7 @@ class CurrentlyAiringRemoteViewsFactory(private val context: Context) : override fun getLoadingView(): RemoteViews { - return RemoteViews(context.packageName, R.layout.item_currently_airing_widget) + return RemoteViews(context.packageName, R.layout.item_upcoming_widget) } override fun getViewTypeCount(): Int { diff --git a/app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringRemoteViewsService.kt b/app/src/main/java/ani/dantotsu/widgets/UpcomingRemoteViewsService.kt similarity index 50% rename from app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringRemoteViewsService.kt rename to app/src/main/java/ani/dantotsu/widgets/UpcomingRemoteViewsService.kt index 4d042b33..95e563c3 100644 --- a/app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringRemoteViewsService.kt +++ b/app/src/main/java/ani/dantotsu/widgets/UpcomingRemoteViewsService.kt @@ -4,9 +4,9 @@ import android.content.Intent import android.widget.RemoteViewsService import ani.dantotsu.util.Logger -class CurrentlyAiringRemoteViewsService : RemoteViewsService() { +class UpcomingRemoteViewsService : RemoteViewsService() { override fun onGetViewFactory(intent: Intent): RemoteViewsFactory { - Logger.log("CurrentlyAiringRemoteViewsFactory onGetViewFactory") - return CurrentlyAiringRemoteViewsFactory(applicationContext) + Logger.log("UpcomingRemoteViewsFactory onGetViewFactory") + return UpcomingRemoteViewsFactory(applicationContext) } } diff --git a/app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringWidget.kt b/app/src/main/java/ani/dantotsu/widgets/UpcomingWidget.kt similarity index 90% rename from app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringWidget.kt rename to app/src/main/java/ani/dantotsu/widgets/UpcomingWidget.kt index f1b6528a..b3a4dad6 100644 --- a/app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringWidget.kt +++ b/app/src/main/java/ani/dantotsu/widgets/UpcomingWidget.kt @@ -19,9 +19,9 @@ import ani.dantotsu.R /** * Implementation of App Widget functionality. - * App Widget Configuration implemented in [CurrentlyAiringWidgetConfigureActivity] + * App Widget Configuration implemented in [UpcomingWidgetConfigureActivity] */ -class CurrentlyAiringWidget : AppWidgetProvider() { +class UpcomingWidget : AppWidgetProvider() { override fun onUpdate( context: Context, appWidgetManager: AppWidgetManager, @@ -62,7 +62,7 @@ class CurrentlyAiringWidget : AppWidgetProvider() { val titleTextColor = prefs.getInt(PREF_TITLE_TEXT_COLOR, Color.WHITE) val countdownTextColor = prefs.getInt(PREF_COUNTDOWN_TEXT_COLOR, Color.WHITE) - val intent = Intent(context, CurrentlyAiringRemoteViewsService::class.java).apply { + val intent = Intent(context, UpcomingRemoteViewsService::class.java).apply { putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId) data = Uri.parse(toUri(Intent.URI_INTENT_SCHEME)) } @@ -77,7 +77,7 @@ class CurrentlyAiringWidget : AppWidgetProvider() { intentTemplate.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK intentTemplate.putExtra("fromWidget", true) - val views = RemoteViews(context.packageName, R.layout.currently_airing_widget).apply { + val views = RemoteViews(context.packageName, R.layout.upcoming_widget).apply { setImageViewBitmap(R.id.backgroundView, convertDrawableToBitmap(gradientDrawable)) setTextColor(R.id.text_show_title, titleTextColor) setTextColor(R.id.text_show_countdown, countdownTextColor) @@ -98,7 +98,7 @@ class CurrentlyAiringWidget : AppWidgetProvider() { PendingIntent.getActivity( context, 1, - Intent(context, CurrentlyAiringWidgetConfigureActivity::class.java).apply { + Intent(context, UpcomingWidgetConfigureActivity::class.java).apply { putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId) }, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE @@ -118,7 +118,7 @@ class CurrentlyAiringWidget : AppWidgetProvider() { return bitmap } - const val PREFS_NAME = "ani.dantotsu.widgets.CurrentlyAiringWidget" + const val PREFS_NAME = "ani.dantotsu.widgets.UpcomingWidget" const val PREF_BACKGROUND_COLOR = "background_color" const val PREF_BACKGROUND_FADE = "background_fade" const val PREF_TITLE_TEXT_COLOR = "title_text_color" @@ -131,7 +131,7 @@ internal fun updateAppWidget( appWidgetManager: AppWidgetManager, appWidgetId: Int ) { - val views = CurrentlyAiringWidget.updateAppWidget(context, appWidgetId) + val views = UpcomingWidget.updateAppWidget(context, appWidgetId) appWidgetManager.updateAppWidget(appWidgetId, views) appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetId, R.id.widgetListView) } \ No newline at end of file diff --git a/app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringWidgetConfigureActivity.kt b/app/src/main/java/ani/dantotsu/widgets/UpcomingWidgetConfigureActivity.kt similarity index 67% rename from app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringWidgetConfigureActivity.kt rename to app/src/main/java/ani/dantotsu/widgets/UpcomingWidgetConfigureActivity.kt index 9041f2a7..cee06321 100644 --- a/app/src/main/java/ani/dantotsu/widgets/CurrentlyAiringWidgetConfigureActivity.kt +++ b/app/src/main/java/ani/dantotsu/widgets/UpcomingWidgetConfigureActivity.kt @@ -9,20 +9,20 @@ import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import ani.dantotsu.R -import ani.dantotsu.databinding.CurrentlyAiringWidgetConfigureBinding +import ani.dantotsu.databinding.UpcomingWidgetConfigureBinding import ani.dantotsu.themes.ThemeManager import eltos.simpledialogfragment.SimpleDialog import eltos.simpledialogfragment.color.SimpleColorDialog /** - * The configuration screen for the [CurrentlyAiringWidget] AppWidget. + * The configuration screen for the [UpcomingWidget] AppWidget. */ -class CurrentlyAiringWidgetConfigureActivity : AppCompatActivity(), +class UpcomingWidgetConfigureActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListener { private var appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID private var onClickListener = View.OnClickListener { - val context = this@CurrentlyAiringWidgetConfigureActivity + val context = this@UpcomingWidgetConfigureActivity val appWidgetManager = AppWidgetManager.getInstance(context) updateAppWidget( @@ -36,28 +36,28 @@ class CurrentlyAiringWidgetConfigureActivity : AppCompatActivity(), setResult(RESULT_OK, resultValue) finish() } - private lateinit var binding: CurrentlyAiringWidgetConfigureBinding + private lateinit var binding: UpcomingWidgetConfigureBinding public override fun onCreate(icicle: Bundle?) { ThemeManager(this).applyTheme() super.onCreate(icicle) setResult(RESULT_CANCELED) - binding = CurrentlyAiringWidgetConfigureBinding.inflate(layoutInflater) + binding = UpcomingWidgetConfigureBinding.inflate(layoutInflater) setContentView(binding.root) - val prefs = getSharedPreferences(CurrentlyAiringWidget.PREFS_NAME, Context.MODE_PRIVATE) + val prefs = getSharedPreferences(UpcomingWidget.PREFS_NAME, Context.MODE_PRIVATE) binding.topBackgroundButton.setOnClickListener { - val tag = CurrentlyAiringWidget.PREF_BACKGROUND_COLOR + val tag = UpcomingWidget.PREF_BACKGROUND_COLOR SimpleColorDialog().title(R.string.custom_theme) .colorPreset( prefs.getInt( - CurrentlyAiringWidget.PREF_BACKGROUND_COLOR, + UpcomingWidget.PREF_BACKGROUND_COLOR, ContextCompat.getColor(this, R.color.theme) ) ) .colors( - this@CurrentlyAiringWidgetConfigureActivity, + this@UpcomingWidgetConfigureActivity, SimpleColorDialog.MATERIAL_COLOR_PALLET ) .allowCustom(true) @@ -65,14 +65,14 @@ class CurrentlyAiringWidgetConfigureActivity : AppCompatActivity(), .gridNumColumn(5) .choiceMode(SimpleColorDialog.SINGLE_CHOICE) .neg() - .show(this@CurrentlyAiringWidgetConfigureActivity, tag) + .show(this@UpcomingWidgetConfigureActivity, tag) } binding.bottomBackgroundButton.setOnClickListener { - val tag = CurrentlyAiringWidget.PREF_BACKGROUND_FADE + val tag = UpcomingWidget.PREF_BACKGROUND_FADE SimpleColorDialog().title(R.string.custom_theme) - .colorPreset(prefs.getInt(CurrentlyAiringWidget.PREF_BACKGROUND_FADE, Color.GRAY)) + .colorPreset(prefs.getInt(UpcomingWidget.PREF_BACKGROUND_FADE, Color.GRAY)) .colors( - this@CurrentlyAiringWidgetConfigureActivity, + this@UpcomingWidgetConfigureActivity, SimpleColorDialog.MATERIAL_COLOR_PALLET ) .allowCustom(true) @@ -80,14 +80,14 @@ class CurrentlyAiringWidgetConfigureActivity : AppCompatActivity(), .gridNumColumn(5) .choiceMode(SimpleColorDialog.SINGLE_CHOICE) .neg() - .show(this@CurrentlyAiringWidgetConfigureActivity, tag) + .show(this@UpcomingWidgetConfigureActivity, tag) } binding.titleColorButton.setOnClickListener { - val tag = CurrentlyAiringWidget.PREF_TITLE_TEXT_COLOR + val tag = UpcomingWidget.PREF_TITLE_TEXT_COLOR SimpleColorDialog().title(R.string.custom_theme) - .colorPreset(prefs.getInt(CurrentlyAiringWidget.PREF_TITLE_TEXT_COLOR, Color.WHITE)) + .colorPreset(prefs.getInt(UpcomingWidget.PREF_TITLE_TEXT_COLOR, Color.WHITE)) .colors( - this@CurrentlyAiringWidgetConfigureActivity, + this@UpcomingWidgetConfigureActivity, SimpleColorDialog.MATERIAL_COLOR_PALLET ) .allowCustom(true) @@ -95,19 +95,19 @@ class CurrentlyAiringWidgetConfigureActivity : AppCompatActivity(), .gridNumColumn(5) .choiceMode(SimpleColorDialog.SINGLE_CHOICE) .neg() - .show(this@CurrentlyAiringWidgetConfigureActivity, tag) + .show(this@UpcomingWidgetConfigureActivity, tag) } binding.countdownColorButton.setOnClickListener { - val tag = CurrentlyAiringWidget.PREF_COUNTDOWN_TEXT_COLOR + val tag = UpcomingWidget.PREF_COUNTDOWN_TEXT_COLOR SimpleColorDialog().title(R.string.custom_theme) .colorPreset( prefs.getInt( - CurrentlyAiringWidget.PREF_COUNTDOWN_TEXT_COLOR, + UpcomingWidget.PREF_COUNTDOWN_TEXT_COLOR, Color.WHITE ) ) .colors( - this@CurrentlyAiringWidgetConfigureActivity, + this@UpcomingWidgetConfigureActivity, SimpleColorDialog.MATERIAL_COLOR_PALLET ) .allowCustom(true) @@ -115,7 +115,7 @@ class CurrentlyAiringWidgetConfigureActivity : AppCompatActivity(), .gridNumColumn(5) .choiceMode(SimpleColorDialog.SINGLE_CHOICE) .neg() - .show(this@CurrentlyAiringWidgetConfigureActivity, tag) + .show(this@UpcomingWidgetConfigureActivity, tag) } binding.addButton.setOnClickListener(onClickListener) @@ -137,49 +137,49 @@ class CurrentlyAiringWidgetConfigureActivity : AppCompatActivity(), override fun onResult(dialogTag: String, which: Int, extras: Bundle): Boolean { if (which == SimpleDialog.OnDialogResultListener.BUTTON_POSITIVE) { when (dialogTag) { - CurrentlyAiringWidget.PREF_BACKGROUND_COLOR -> { + UpcomingWidget.PREF_BACKGROUND_COLOR -> { getSharedPreferences( - CurrentlyAiringWidget.PREFS_NAME, + UpcomingWidget.PREFS_NAME, Context.MODE_PRIVATE ).edit() .putInt( - CurrentlyAiringWidget.PREF_BACKGROUND_COLOR, + UpcomingWidget.PREF_BACKGROUND_COLOR, extras.getInt(SimpleColorDialog.COLOR) ) .apply() } - CurrentlyAiringWidget.PREF_BACKGROUND_FADE -> { + UpcomingWidget.PREF_BACKGROUND_FADE -> { getSharedPreferences( - CurrentlyAiringWidget.PREFS_NAME, + UpcomingWidget.PREFS_NAME, Context.MODE_PRIVATE ).edit() .putInt( - CurrentlyAiringWidget.PREF_BACKGROUND_FADE, + UpcomingWidget.PREF_BACKGROUND_FADE, extras.getInt(SimpleColorDialog.COLOR) ) .apply() } - CurrentlyAiringWidget.PREF_TITLE_TEXT_COLOR -> { + UpcomingWidget.PREF_TITLE_TEXT_COLOR -> { getSharedPreferences( - CurrentlyAiringWidget.PREFS_NAME, + UpcomingWidget.PREFS_NAME, Context.MODE_PRIVATE ).edit() .putInt( - CurrentlyAiringWidget.PREF_TITLE_TEXT_COLOR, + UpcomingWidget.PREF_TITLE_TEXT_COLOR, extras.getInt(SimpleColorDialog.COLOR) ) .apply() } - CurrentlyAiringWidget.PREF_COUNTDOWN_TEXT_COLOR -> { + UpcomingWidget.PREF_COUNTDOWN_TEXT_COLOR -> { getSharedPreferences( - CurrentlyAiringWidget.PREFS_NAME, + UpcomingWidget.PREFS_NAME, Context.MODE_PRIVATE ).edit() .putInt( - CurrentlyAiringWidget.PREF_COUNTDOWN_TEXT_COLOR, + UpcomingWidget.PREF_COUNTDOWN_TEXT_COLOR, extras.getInt(SimpleColorDialog.COLOR) ) .apply() diff --git a/app/src/main/res/layout-v26/currently_airing_widget.xml b/app/src/main/res/layout-v26/upcoming_widget.xml similarity index 96% rename from app/src/main/res/layout-v26/currently_airing_widget.xml rename to app/src/main/res/layout-v26/upcoming_widget.xml index 83385916..5d90bdfc 100644 --- a/app/src/main/res/layout-v26/currently_airing_widget.xml +++ b/app/src/main/res/layout-v26/upcoming_widget.xml @@ -16,7 +16,7 @@ android:id="@+id/widgetContainer" android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="16dp"> + android:padding="8dp"> diff --git a/app/src/main/res/layout/item_currently_airing_widget.xml b/app/src/main/res/layout/item_upcoming_widget.xml similarity index 91% rename from app/src/main/res/layout/item_currently_airing_widget.xml rename to app/src/main/res/layout/item_upcoming_widget.xml index b9a9c772..0265c096 100644 --- a/app/src/main/res/layout/item_currently_airing_widget.xml +++ b/app/src/main/res/layout/item_upcoming_widget.xml @@ -6,11 +6,12 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:gravity="center_vertical" android:orientation="horizontal" - android:padding="8dp"> + android:paddingTop="4dp" + android:paddingBottom="4dp"> @@ -30,7 +31,7 @@ android:fontFamily="@font/poppins_bold" android:text="" android:textColor="@color/bg_white" - android:maxLines="3" + android:maxLines="2" android:ellipsize="end" android:textSize="16sp" /> diff --git a/app/src/main/res/layout/currently_airing_widget.xml b/app/src/main/res/layout/upcoming_widget.xml similarity index 96% rename from app/src/main/res/layout/currently_airing_widget.xml rename to app/src/main/res/layout/upcoming_widget.xml index ba270b77..209b300e 100644 --- a/app/src/main/res/layout/currently_airing_widget.xml +++ b/app/src/main/res/layout/upcoming_widget.xml @@ -16,7 +16,7 @@ android:id="@+id/widgetContainer" android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="16dp"> + android:padding="8dp"> diff --git a/app/src/main/res/layout/currently_airing_widget_configure.xml b/app/src/main/res/layout/upcoming_widget_configure.xml similarity index 100% rename from app/src/main/res/layout/currently_airing_widget_configure.xml rename to app/src/main/res/layout/upcoming_widget_configure.xml diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 661ede07..a039eeda 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -678,6 +678,7 @@ Configure Add widget This is an app widget description + Upcoming Anime Airing Image animeDownloads Delete all Anime downloads @@ -720,7 +721,7 @@ Mutual Success - Currently Airing + Upcoming No shows to display Extension Name version diff --git a/app/src/main/res/xml-v31/currently_airing_widget_info.xml b/app/src/main/res/xml-v31/currently_airing_widget_info.xml deleted file mode 100644 index 48b1e2a9..00000000 --- a/app/src/main/res/xml-v31/currently_airing_widget_info.xml +++ /dev/null @@ -1,13 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/xml-v31/upcoming_widget_info.xml b/app/src/main/res/xml-v31/upcoming_widget_info.xml new file mode 100644 index 00000000..a35ddf7a --- /dev/null +++ b/app/src/main/res/xml-v31/upcoming_widget_info.xml @@ -0,0 +1,13 @@ + + \ No newline at end of file diff --git a/app/src/main/res/xml/currently_airing_widget_info.xml b/app/src/main/res/xml/currently_airing_widget_info.xml deleted file mode 100644 index cd9a907d..00000000 --- a/app/src/main/res/xml/currently_airing_widget_info.xml +++ /dev/null @@ -1,12 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/xml/upcoming_widget_info.xml b/app/src/main/res/xml/upcoming_widget_info.xml new file mode 100644 index 00000000..f5ba402c --- /dev/null +++ b/app/src/main/res/xml/upcoming_widget_info.xml @@ -0,0 +1,12 @@ + + \ No newline at end of file