Releases: Alvandcode/Alvand-Player
Releases · Alvandcode/Alvand-Player
Release list
v1.7.4
Fixed — ارتفاع ویجت
↕️ ارتفاع ویجت نصف شد: از ۲ خانه به ۱ خانه (حداقل ۶۸dp بهجای ۱۰۰dp).
↕️ Widget is half as tall: 2 cells → 1 cell (68dp minimum instead of 100dp).- فاصلهٔ خالی بزرگی که بین نام خواننده و نوار پیشرفت میافتاد حذف شد؛ همان فاصلهگیرِ وزندار باعث میشد پنل در ارتفاع زیاد خالی بماند.
- کاور دیگر کشیده یا بریده نمیشود: قاب تیره از پسزمینه میآید و محتوا بدون تغییر نسبت داخل آن مینشیند.
- در پیشنمایش انتخابگر ویجت، زیر نام آهنگ دیگر متن توضیحی بلند نشان داده نمیشود.
- قلمها و ارتفاع کنترلها برای ارتفاع کم بازتنظیم شدند.
Added — ریست اکولایزر
- ↩️ دکمهٔ «بازگشتی» کنار پریستهای اکولایزر: هر تنظیمی (پریست، باندها، تقویت باس، تقویت صدا و حذف نویز) را یکجا به حالت پیشفرض برمیگرداند. وقتی همهچیز پیشفرض است دکمه غیرفعاله.
- متن ریست در هر دو زبان اضافه شد.
v1.7.3
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
Added — ترتیب پلیلیست
↕️ جابهجایی آهنگهای پلیلیست با دکمههای بالا/پایین روی هر ردیف. ترتیب فوری در UI عوض میشود و بعد روی دیسک ذخیره میشود.▶️ تپ روی آهنگ در پلیلیست، پخش را از همانجا شروع میکند (بهجای همیشه از اول پلیلیست).- ترتیب ذخیرهشده بین اجراهای اپ باقی میماند.
Fixed
- اگر همزمان با جابهجایی، آهنگی از جای دیگری حذف یا اضافه شود، ترتیب خراب نمیشود؛ عملیات ناسازگار نادیده گرفته میشود.
- بعد از حذف یک آهنگ، شمارههای ترتیب بقیه یکتا و بدون فاصله میمانند.
- جابهجایی با اندیس بیرون از محدوده بیاثر است و ترتیب را خراب نمیکند.
- در حالت فارسی، دکمههای بالا/پایین خودشان را آینه نمیکنند چون معنای عمودی دارند.
v1.7.1
Added — پلیلیست
- 🎵 ساخت پلیلیست: دکمهٔ «پلیلیست جدید» در تب پلیلیستها، با نام حداکثر ۶۰ کاراکتر و نام خالیِ ردشده.
- ➕ افزودن آهنگ به پلیلیست با یک دکمه در کنار هر آهنگ، بدون رفتن به منو. آهنگ تکراری بیصدا رد نمیشود و پیام میدهد.
- 📂 پخش کل پلیلیست با یک ضربه روی دکمهٔ پخش کنار هر پلیلیست.
- 🗂 سه تب در شیت کتابخانه: آهنگها / پلیلیستها / تاریخچه — با زیرخط رنگی و حفظ انتخاب هنگام چرخش صفحه.
- 🕘 تب تاریخچه: پخش دوبارهٔ آهنگهای اخیر با شمارندهٔ تعداد دفعات، و پاک کردن تاریخچه.
- حذف و باز کردن پلیلیست برای دیدن و برداشتن آهنگها.
Fixed
- پخش از پلیلیست و تاریخچه هم اجازهٔ اعلان را میگیرد، مثل بقیهٔ راههای پخش (روی اندروید ۱۳ به بعد بدون آن پخش درست جواب نمیداد).
- پلیلیست و تاریخچهٔ بلند دیگر از شیت بیرون نمیزنند؛ ارتفاعشان محدود و اسکرولپذیر شد.
- پلیلیست خالی و فایلِ پاکشده پیام روشن میدهند بهجای بیصدا رد شدن.
- برچسب تب سوم از «اخیراً» به «تاریخچه» تغییر کرد تا گویاتر باشد.
v1.7.0
Added — ویجت هوماسکرین بازطراحیشده
- 🧱 ویجت کارتی: کاور مربعی در یک سر کارت، و در سر دیگر عنوان، خواننده، نوار پیشرفت و پنج کنترل.
🧱 Card widget: square cover on one side; title, artist, seek line and five controls on the other. - ⏱️ نوار پیشرفت زنده: زمان سپریشده و نوار پرشدن هر ثانیه بهروز میشود (فقط وقتی ویجت نصب است).
- 🔁 دکمهٔ تکرار و دکمهٔ علاقهمندی به ویجت اضافه شد — هر دو بدون باز کردن اپ کار میکنند.
- 🌗 تم روشن و تیرهٔ ویجت که با تنظیمات سیستم هماهنگ میشود.
↔️ چیدمان راستبهچپ برای فارسی: ترتیب کنترلها، جهت نوار پیشرفت و گوشهٔ گرد کاور معکوس میشوند.
Fixed — پایداری ویجت
- باگ مهم: هر بار که کاربر دکمهای از ویجت را میزد، سرویس پخش بلافاصله کشته میشد و آهنگ قطع میشد. حالا سرویس فقط وقتی صف خالی است بسته میشود.
- کاور ویجت از روی فایل استخراج و متناسب با ارتفاع واقعی ویجت برش میخورد؛ گوشههای گرد داخل خود تصویر ساخته میشوند تا روی اندروید ۶ تا ۱۱ هم درست باشند.
- کش کاور ویجت بایتمحور شد؛ قبلاً ظرفیتش ۲ بایت بود و عملاً هر ثانیه کاور از دیسک دوباره خوانده میشد.
- درخواستهای همزمان بهروزرسانی ویجت همادغام میشوند تا تایمر یکثانیهای صف انباشته نسازد.
- اگر علاقهمندی را از داخل اپ تغییر دهید، ویجت هم بلافاصله تازه میشود؛ و تغییر از خود ویجت بعد از نوشتن روی دیسک دیگر برنمیگردد.
- پس از ریستارت لانچر، زمان ویجت از لحظهٔ ذخیره جلو میرود و عقب نمیماند.
- رشتههای ویجت با زبان انتخابی خود اپ خوانده میشوند، نه زبان دستگاه.
- ویجت دیگر هیچ ارجاعی به تم لانچر ندارد و روی هر لانچری یکسان inflate میشود.
v1.6.9
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
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
[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
[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
[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