Skip to content

Releases: Alvandcode/Alvand-Player

v1.7.4

Choose a tag to compare

@github-actions github-actions released this 02 Oct 12:19

Fixed — ارتفاع ویجت

  • ↕️ ارتفاع ویجت نصف شد: از ۲ خانه به ۱ خانه (حداقل ۶۸dp به‌جای ۱۰۰dp).
    ↕️ Widget is half as tall: 2 cells → 1 cell (68dp minimum instead of 100dp).
  • فاصلهٔ خالی بزرگی که بین نام خواننده و نوار پیشرفت می‌افتاد حذف شد؛ همان فاصله‌گیرِ وزن‌دار باعث می‌شد پنل در ارتفاع زیاد خالی بماند.
  • کاور دیگر کشیده یا بریده نمی‌شود: قاب تیره از پس‌زمینه می‌آید و محتوا بدون تغییر نسبت داخل آن می‌نشیند.
  • در پیش‌نمایش انتخابگر ویجت، زیر نام آهنگ دیگر متن توضیحی بلند نشان داده نمی‌شود.
  • قلم‌ها و ارتفاع کنترل‌ها برای ارتفاع کم بازتنظیم شدند.

Added — ریست اکولایزر

  • ↩️ دکمهٔ «بازگشتی» کنار پریست‌های اکولایزر: هر تنظیمی (پریست، باندها، تقویت باس، تقویت صدا و حذف نویز) را یک‌جا به حالت پیش‌فرض برمی‌گرداند. وقتی همه‌چیز پیش‌فرض است دکمه غیرفعاله.
  • متن ریست در هر دو زبان اضافه شد.

v1.7.3

Choose a tag to compare

@github-actions github-actions released this 01 Oct 16:57

Changed — ویجت فشرده‌تر

  • ↔️ عرض ویجت نصف شد: از ۴ خانه به ۲ خانه (حداقل ۱۵۰dp).
    ↔️ Widget is half as wide: 4 cells → 2 cells (150dp minimum).
  • کاور از ۹۶dp به ۵۶dp باریک شد تا پنل اطلاعات جای بیشتری داشته باشد.
  • فاصله‌ها، اندازهٔ قلم‌ها و آیکون‌ها برای عرض کم بازتنظیم شدند؛ دکمهٔ پخش کمی بزرگ‌تر از بقیه است.
  • ارتفاع پیشنهادی از ۹۶dp به ۱۰۰dp رفت تا ناحیهٔ لمس کنترل‌ها کمی جا بیشتر داشته باشد.

Fixed

  • 🗑 نماد بی‌معنی بالا-راست ویجت حذف شد. آن دایره با گلیف ناشناخته فقط شلوغی بود و هیچ معنایی نداشت.
    🗑 The meaningless badge in the widget's top corner is gone. It carried no information.
  • نوار پیشرفت تقریباً نامرئی بود؛ رنگ ریل پررنگ‌تر شد تا خط واقعاً دیده شود.
  • وقتی مدت آهنگ نامعلوم است (استریم زنده)، دیگر یک نقطهٔ تنها وسط پنل معلق نمی‌افتد.
  • استایل نوار پیشرفت به استایل پلتفرمی تغییر کرد تا روی هر لانچری افقی رندر شود.

v1.7.2

Choose a tag to compare

@github-actions github-actions released this 01 Oct 13:43

Added — ترتیب پلی‌لیست

  • ↕️ جابه‌جایی آهنگ‌های پلی‌لیست با دکمه‌های بالا/پایین روی هر ردیف. ترتیب فوری در UI عوض می‌شود و بعد روی دیسک ذخیره می‌شود.
  • ▶️ تپ روی آهنگ در پلی‌لیست، پخش را از همان‌جا شروع می‌کند (به‌جای همیشه از اول پلی‌لیست).
  • ترتیب ذخیره‌شده بین اجراهای اپ باقی می‌ماند.

Fixed

  • اگر همزمان با جابه‌جایی، آهنگی از جای دیگری حذف یا اضافه شود، ترتیب خراب نمی‌شود؛ عملیات ناسازگار نادیده گرفته می‌شود.
  • بعد از حذف یک آهنگ، شماره‌های ترتیب بقیه یکتا و بدون فاصله می‌مانند.
  • جابه‌جایی با اندیس بیرون از محدوده بی‌اثر است و ترتیب را خراب نمی‌کند.
  • در حالت فارسی، دکمه‌های بالا/پایین خودشان را آینه نمی‌کنند چون معنای عمودی دارند.

v1.7.1

Choose a tag to compare

@github-actions github-actions released this 01 Oct 12:16

Added — پلی‌لیست

  • 🎵 ساخت پلی‌لیست: دکمهٔ «پلی‌لیست جدید» در تب پلی‌لیست‌ها، با نام حداکثر ۶۰ کاراکتر و نام خالیِ ردشده.
  • ➕ افزودن آهنگ به پلی‌لیست با یک دکمه در کنار هر آهنگ، بدون رفتن به منو. آهنگ تکراری بی‌صدا رد نمی‌شود و پیام می‌دهد.
  • 📂 پخش کل پلی‌لیست با یک ضربه روی دکمهٔ پخش کنار هر پلی‌لیست.
  • 🗂 سه تب در شیت کتابخانه: آهنگ‌ها / پلی‌لیست‌ها / تاریخچه — با زیرخط رنگی و حفظ انتخاب هنگام چرخش صفحه.
  • 🕘 تب تاریخچه: پخش دوبارهٔ آهنگ‌های اخیر با شمارندهٔ تعداد دفعات، و پاک کردن تاریخچه.
  • حذف و باز کردن پلی‌لیست برای دیدن و برداشتن آهنگ‌ها.

Fixed

  • پخش از پلی‌لیست و تاریخچه هم اجازهٔ اعلان را می‌گیرد، مثل بقیهٔ راه‌های پخش (روی اندروید ۱۳ به بعد بدون آن پخش درست جواب نمی‌داد).
  • پلی‌لیست و تاریخچهٔ بلند دیگر از شیت بیرون نمی‌زنند؛ ارتفاعشان محدود و اسکرول‌پذیر شد.
  • پلی‌لیست خالی و فایلِ پاک‌شده پیام روشن می‌دهند به‌جای بی‌صدا رد شدن.
  • برچسب تب سوم از «اخیراً» به «تاریخچه» تغییر کرد تا گویاتر باشد.

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 10:45

Added — ویجت هوم‌اسکرین بازطراحی‌شده

  • 🧱 ویجت کارتی: کاور مربعی در یک سر کارت، و در سر دیگر عنوان، خواننده، نوار پیشرفت و پنج کنترل.
    🧱 Card widget: square cover on one side; title, artist, seek line and five controls on the other.
  • ⏱️ نوار پیشرفت زنده: زمان سپری‌شده و نوار پرشدن هر ثانیه به‌روز می‌شود (فقط وقتی ویجت نصب است).
  • 🔁 دکمهٔ تکرار و دکمهٔ علاقه‌مندی به ویجت اضافه شد — هر دو بدون باز کردن اپ کار می‌کنند.
  • 🌗 تم روشن و تیرهٔ ویجت که با تنظیمات سیستم هماهنگ می‌شود.
  • ↔️ چیدمان راست‌به‌چپ برای فارسی: ترتیب کنترل‌ها، جهت نوار پیشرفت و گوشهٔ گرد کاور معکوس می‌شوند.

Fixed — پایداری ویجت

  • باگ مهم: هر بار که کاربر دکمه‌ای از ویجت را می‌زد، سرویس پخش بلافاصله کشته می‌شد و آهنگ قطع می‌شد. حالا سرویس فقط وقتی صف خالی است بسته می‌شود.
  • کاور ویجت از روی فایل استخراج و متناسب با ارتفاع واقعی ویجت برش می‌خورد؛ گوشه‌های گرد داخل خود تصویر ساخته می‌شوند تا روی اندروید ۶ تا ۱۱ هم درست باشند.
  • کش کاور ویجت بایت‌محور شد؛ قبلاً ظرفیتش ۲ بایت بود و عملاً هر ثانیه کاور از دیسک دوباره خوانده می‌شد.
  • درخواست‌های همزمان به‌روزرسانی ویجت هم‌ادغام می‌شوند تا تایمر یک‌ثانیه‌ای صف انباشته نسازد.
  • اگر علاقه‌مندی را از داخل اپ تغییر دهید، ویجت هم بلافاصله تازه می‌شود؛ و تغییر از خود ویجت بعد از نوشتن روی دیسک دیگر برنمی‌گردد.
  • پس از ریستارت لانچر، زمان ویجت از لحظهٔ ذخیره جلو می‌رود و عقب نمی‌ماند.
  • رشته‌های ویجت با زبان انتخابی خود اپ خوانده می‌شوند، نه زبان دستگاه.
  • ویجت دیگر هیچ ارجاعی به تم لانچر ندارد و روی هر لانچری یکسان inflate می‌شود.

v1.6.9

Choose a tag to compare

@github-actions github-actions released this 28 Sep 15:53

Added — تم‌های رنگی

  • 🎨 سه تم رنگی جدید: سلطنتی (بنفش)، غروب (نارنجی) و اقیانوس (فیروزه‌ای) به‌علاوهٔ حالت مینیمال قبلی.
    هر تم رنگ accent خود را در حالت روشن و تیره دارد و کل پالت شیشه‌ای اپ (کارت، شیت، گلس، برق لبه) را به همان رنگ می‌آمیزد.
    🎨 Three new accent themes: Royal (purple), Sunset (orange), Ocean (teal) plus the existing Minimal.
    The whole glass palette is tinted, not just buttons.
  • 🎛️ انتخابگر تم رنگی در دیالوگ تم: شبکهٔ ۲×۲ با پیش‌نمایش گرادیان واقعی و اعمال فوری.
  • پس‌زمینهٔ گرادیانی صفحهٔ پلیر وقتی آهنگی پخش نمی‌شود از رنگ تم استفاده می‌کند؛ اولویت با رنگ کاور است.

Fixed — کیفیت و پایداری

  • تنظیمات خراب‌شده (DataStore corrupt) دیگر اپ را در بومد نمی‌اندازد؛ تنظیمات پیش‌فرض بازیابی می‌شود.
  • آیکون‌های ویجت در تم روشن دیده می‌شوند، دکمه‌های قبلی/بعدی با RTL هماهنگ شدند و contentDescription اضافه شد.
  • رنگ آیکون نوار وضعیت متناسب با تم روشن/تیره اصلاح شد.
  • لینک‌های مستقیم فقط از HTTPS پذیرفته می‌شوند (هم در کد و هم در intent-filterها).
  • تشخیص زبان فعلی، برچسب فرکانس اکولایزر و محاسبهٔ تایمر خواب اصلاح شد.
  • فایل لیریک با UTF-8 سخت‌گیرانه خوانده و در صورت خطا به Windows-1256 برمی‌گردد.
  • Android Auto: صفحه‌بندی browse و سقف Binder، اسکیپ خودکار فایل خراب با سقف تلاش، و کانال اعلان اختصاصی پخش.
  • ویجت هنگام بسته‌شدن سرویس ریست می‌شود و FileProvider بلااستفاده حذف شد.
  • SECURITY.md به کانال گزارش واقعی (GitHub Security Advisory) اشاره می‌کند.

v1.6.8

Choose a tag to compare

@github-actions github-actions released this 26 Sep 16:51

Changed — هاله واقعی

  • 🌫️ حذف نقطه چرخان: دنباله نورانی (که مثل نقطه دور دایره می‌گشت) برداشته شد؛ حالا دو لایه درخشش نرم دور دایره «نفس می‌کشند» و با توقف آهنگ خاموش می‌شوند.
    🌫️ True halo: orbiting comet removed; soft glow layers breathe while playing, off on pause.

Fixed — کیفیت و انتشار

  • تست‌های LRC و تنظیمات Android Backup اصلاح شدند.
  • دریافت خودکار لیریک آنلاین اکنون پیش‌فرض خاموش و از شیت لیریک قابل‌کنترل است.
  • درخواست دسترسی صوتی از CTA انجام می‌شود و برای رد دسترسی مسیر بازیابی و Settings اضافه شد.
  • Lint و Unit Test در CI دیگر report-only نیستند.
  • Build نسخهٔ Release بدون کی‌استور و گواهی معتبر متوقف می‌شود.
  • PR و Release به Jobهای مستقل با دسترسی‌های جدا تقسیم شدند.
  • Gradle Wrapper رسمی همراه checksum توزیع Gradle 8.9 به مخزن اضافه شد.
  • تشخیص پسوند لینک مستقیم اصلاح شد؛ دامنه‌های نقطه‌دار دیگر باعث رد شدن فایل صوتی نمی‌شوند.
  • لیست زبان‌ها، locales_config و منابع به زبان‌های واقعاً ترجمه‌شده (انگلیسی/فارسی) محدود شد.
  • حذف خودکار اطلاعات Room غیرفعال و Schema پایگاه‌داده برای بازبینی تغییرات آینده ثبت شد.
  • کانفیگ امضای Release به خروجی APK متصل شد؛ خروجی با نام unsigned دیگر تولید نمی‌شود.

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 17:27

[Unreleased]

Added — جدید

  • 🔍 Library scanner: songs load automatically once audio permission is
    granted, a «Scan device songs» menu button re-scans on demand (with a result
    toast), and a MediaStore observer silently adds new tracks while the app is
    open. Manual links/files are preserved.
    🔍 اسکنر کتابخانه: لود خودکار بعد از دادن دسترسی، دکمه اسکن دستی در منو
    و دیده‌بان خودکار آهنگ‌های جدید؛ لینک‌ها و فایل‌های دستی حفظ می‌شوند.
  • 🫧 Liquid glass + dark/light theme + custom background: frosted-glass
    cards/sheets, system/light/dark theme picker (DataStore-persisted) and an
    optional user photo behind the player panel (persisted URI permission);
    the art panel keeps one shape with or without cover art.
    🫧 لیکویید گلس + تم روشن/تیره + بکگراند دلخواه: کارت‌ها و شیت‌های
    شیشه‌ای، انتخاب تم سیستم/روشن/تیره و عکس دلخواه زیر کادر پخش؛ فرم کادر
    با کاور یا بدون کاور یکی می‌ماند.

Fixed — رفع‌شده

  • 🔏 Install over previous version: debug APKs from CI are now signed with
    the same stable keystore as release (ephemeral runner debug keys used to
    change every run, forcing an uninstall before every update).
    قدم «Verify APK signatures match» در CI یکسان‌بودن گواهی‌ها را چک می‌کند.
    🔏 نصب آپدیت روی نسخه قبلی: خروجی‌های debug هم با همان کلید ثابت امضا
    می‌شوند؛ دیگر لازم نیست برای هر آپدیت اپ را حذف کنید (یک‌بار آخر حذف/نصب لازم است).

Full Changelog: v1.1.1...v1.2.0

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 11 Sep 15:58

[Unreleased]

Added — جدید

  • 🔍 Library scanner: songs load automatically once audio permission is
    granted, a «Scan device songs» menu button re-scans on demand (with a result
    toast), and a MediaStore observer silently adds new tracks while the app is
    open. Manual links/files are preserved.
    🔍 اسکنر کتابخانه: لود خودکار بعد از دادن دسترسی، دکمه اسکن دستی در منو
    و دیده‌بان خودکار آهنگ‌های جدید؛ لینک‌ها و فایل‌های دستی حفظ می‌شوند.
  • 🫧 Liquid glass + dark/light theme + custom background: frosted-glass
    cards/sheets, system/light/dark theme picker (DataStore-persisted) and an
    optional user photo behind the player panel (persisted URI permission);
    the art panel keeps one shape with or without cover art.
    🫧 لیکویید گلس + تم روشن/تیره + بکگراند دلخواه: کارت‌ها و شیت‌های
    شیشه‌ای، انتخاب تم سیستم/روشن/تیره و عکس دلخواه زیر کادر پخش؛ فرم کادر
    با کاور یا بدون کاور یکی می‌ماند.

Fixed — رفع‌شده

  • 🔏 Install over previous version: debug APKs from CI are now signed with
    the same stable keystore as release (ephemeral runner debug keys used to
    change every run, forcing an uninstall before every update).
    قدم «Verify APK signatures match» در CI یکسان‌بودن گواهی‌ها را چک می‌کند.
    🔏 نصب آپدیت روی نسخه قبلی: خروجی‌های debug هم با همان کلید ثابت امضا
    می‌شوند؛ دیگر لازم نیست برای هر آپدیت اپ را حذف کنید (یک‌بار آخر حذف/نصب لازم است).

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 12:45

[Unreleased]

Added — جدید

  • 🔍 Library scanner: songs load automatically once audio permission is
    granted, a «Scan device songs» menu button re-scans on demand (with a result
    toast), and a MediaStore observer silently adds new tracks while the app is
    open. Manual links/files are preserved.
    🔍 اسکنر کتابخانه: لود خودکار بعد از دادن دسترسی، دکمه اسکن دستی در منو
    و دیده‌بان خودکار آهنگ‌های جدید؛ لینک‌ها و فایل‌های دستی حفظ می‌شوند.
  • 🫧 Liquid glass + dark/light theme + custom background: frosted-glass
    cards/sheets, system/light/dark theme picker (DataStore-persisted) and an
    optional user photo behind the player panel (persisted URI permission);
    the art panel keeps one shape with or without cover art.
    🫧 لیکویید گلس + تم روشن/تیره + بکگراند دلخواه: کارت‌ها و شیت‌های
    شیشه‌ای، انتخاب تم سیستم/روشن/تیره و عکس دلخواه زیر کادر پخش؛ فرم کادر
    با کاور یا بدون کاور یکی می‌ماند.

Fixed — رفع‌شده

  • 🔏 Install over previous version: debug APKs from CI are now signed with
    the same stable keystore as release (ephemeral runner debug keys used to
    change every run, forcing an uninstall before every update).
    قدم «Verify APK signatures match» در CI یکسان‌بودن گواهی‌ها را چک می‌کند.
    🔏 نصب آپدیت روی نسخه قبلی: خروجی‌های debug هم با همان کلید ثابت امضا
    می‌شوند؛ دیگر لازم نیست برای هر آپدیت اپ را حذف کنید (یک‌بار آخر حذف/نصب لازم است).

Full Changelog: latest...v1.1.0