Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
c8ee2c3
fix: add error handling for storage directory retrieval on Android
nini22P Jul 16, 2025
bb2f036
feat: add system UI hide timer for video playback
nini22P Jul 16, 2025
b4b2815
update app icon
nini22P Jul 28, 2025
ee6cb50
fix trim_logo and rename logo
nini22P Jul 28, 2025
861b865
update dependencies
nini22P Jul 28, 2025
d40523a
refactor: remove redundant System UI overlay style setting and centra…
nini22P Jul 28, 2025
889d65b
feat: refactor player handling in Home widget and update IrisPlayer t…
nini22P Jul 29, 2025
b0ab589
refactor: split keyboard and touch events into hooks
nini22P Aug 17, 2025
e103c5e
feat: improve uri and find subtitle
nini22P Sep 13, 2025
5935b77
restore PlayerHost
nini22P Sep 13, 2025
0cd9fd7
fix: update gesture and keyboardEvent
nini22P Sep 13, 2025
c8fcb7f
feat: improve fvp player
nini22P Sep 13, 2025
2722aef
refactor: overhaul player architecture and state management
nini22P Sep 14, 2025
d7f9ec1
improve long press check
nini22P Sep 14, 2025
18c9f0f
disable flutter_hooks_lint
nini22P Sep 14, 2025
849f5ee
feat: refactor player components to use provider
nini22P Sep 14, 2025
1f26c5d
feat: improve window resize
nini22P Sep 15, 2025
e340bb1
fix: improve uri builder
nini22P Sep 15, 2025
6c9023f
feat: improve gesture, add speed selector
nini22P Sep 15, 2025
7815811
feat: add swipe to close popup
nini22P Sep 15, 2025
4a3189f
fix: check rate on speed selector
nini22P Sep 15, 2025
b6598f7
feat: improve WebDAV storage configuration entry, display WebDAV port…
nini22P Sep 16, 2025
9855975
fix some bugs
nini22P Sep 16, 2025
6ba646f
fix: popup widget rebuild bug
nini22P Sep 16, 2025
8147caa
move codes
nini22P Sep 16, 2025
2fe6ba6
update audio ui
nini22P Sep 16, 2025
df763f2
feat: improve the performance of the user interface and file list
nini22P Sep 17, 2025
75daa34
update audio ui
nini22P Sep 17, 2025
77a3598
refactor: replace files_filter with inline logic and fix content types
nini22P Sep 17, 2025
b394221
remove SystemUiOverlayStyle, update volume slider track height
nini22P Sep 17, 2025
717ffd1
update changelog
nini22P Sep 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:

jobs:
build-windows:
runs-on: windows-latest
runs-on: windows-2022
steps:
- name: Clone repository
uses: actions/checkout@v4
Expand Down
56 changes: 41 additions & 15 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
## v1.5.0

### Changelog

* Updated app icon
* Added a stop and an exit button
* Added a playback-speed selector that activates with a touch-and-hold gesture
* Fixed URI handling
* Improved stability and performance

### 更新日志

* 更换应用图标
* 添加停止按钮和退出按钮
* 添加触控长按激活的播放速度选择器
* 修复 uri 处理
* 优化了稳定性和性能

## v1.4.2

### Changelog
Expand All @@ -10,7 +28,6 @@
* 修复音频封面问题
* 改进 uri 处理


## v1.4.1

### Changelog
Expand All @@ -21,7 +38,6 @@

* FTP 串流使用动态 url


## v1.4.0

### Changelog
Expand All @@ -38,7 +54,6 @@
* Windows 版本存储列表支持远程磁盘和网络快捷方式
* 添加 Windows 版本安装器


## v1.3.4

### Changelog
Expand All @@ -53,7 +68,6 @@
* 添加播放速度按钮。
* 添加快捷键:帧进 `+`,帧退 `-`。


## v1.3.3

### Changelog
Expand All @@ -64,7 +78,6 @@

* 修复启动后无法继续播放的问题


## v1.3.2

### Changelog
Expand All @@ -75,7 +88,6 @@

* 添加 WebDAV 存储时支持自定义 https 端口


## v1.3.1

### Changelog
Expand All @@ -88,7 +100,6 @@
* Windows 版本数据保存位置已修改为 `C:\Users\<user>\AppData\Roaming\nini22P\iris`
* 更新上游依赖,修复 FVP 播放器后端切换字幕的问题


## v1.3.0

### Changelog
Expand All @@ -100,25 +111,27 @@
* Improved some visual effects

### 更新日志

* 添加 [FVP](https://github.com/wang-bin/fvp) 播放器后端(实验性,有未知bug)
* 添加音量调整
* 添加文件排序
* 添加快捷键:提升音量( `Arrow Up` )、降低音量( `Arrow Down` )、静音(`Ctrl + M`)、切换窗口置顶( `F10` )、关闭当前媒体文件( `Ctrl + C` )、退出应用( `Alt + X` )
* 改进了部分视觉效果


## v1.2.1

### Changelog

* Split APKs by architecture to reduce installation size.

### 更新日志
* 拆分不同架构的 APK 以减小安装包大小

* 拆分不同架构的 APK 以减小安装包大小

## v1.2.0

### Changelog

* Support jumping to video playback from external clicks (Windows version can play by command line or dragging files to the window)
* Support adjusting brightness and volume gestures (Brightness gestures are not available on Windows version)
* Support playing online links
Expand All @@ -128,6 +141,7 @@
* Improved some visual effects

### 更新日志

* 支持从外部点击视频跳转播放(Windows 版本可以通过命令行或者拖拽文件到窗口播放)
* 支持调整亮度和音量手势(Windows 版本调整亮度手势不可用)
* 支持播放在线链接
Expand All @@ -136,70 +150,82 @@
* 改进 WebDAV 测试连接功能
* 改进了部分视觉效果


## v1.1.1

### Changelog

* Restore old update method for windows version (Double-click the `iris-updater.bat` in the same directory as the executable file to upgrade if you have problems updating.)

### 更新日志
* windows 版本恢复为旧的更新方式(更新出问题的可双击打开可执行文件同级目录下的 `iris-updater.bat` 升级)

* windows 版本恢复为旧的更新方式(更新出问题的可双击打开可执行文件同级目录下的 `iris-updater.bat` 升级)

## v1.1.0

### Breaking Changes

* All configurations will be cleared. Please reconfigure

### Changlog

* Display all local storage
* Support playback history
* Support random playback
* Support loop playback
* Support video zoom

### 重大变更

* 所有配置将被清空,请重新配置

### 更新日志

* 显示所有本地存储
* 支持播放历史
* 支持随机播放
* 支持循环播放
* 支持视频缩放


## v1.0.3

### Changelog

* Improve Windows version installation updates
* Fixes an issue where subtitles may not be found

### 更新日志

* 改进 Windows 版本安装更新
* 修复可能无法找到字幕的问题


## v1.0.2

### Changelog

* Support for switching built-in audio tracks
* Reduce package size for Windows version

### 更新日志

* 支持切换内置音轨
* 减小 Windows 版本包体大小


## v1.0.1

### Changelog

* Windows version support auto update

### 更新日志
* Windows 版本支持自动更新

* Windows 版本支持自动更新

## v1.0.0

### Changelog

* Supports WebDAV and local storage video playback

### 更新日志

* 支持 WebDAV 和本地存储视频播放
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<img height="100px" width="100px" alt="icon" src="./assets/images/icon.svg"/>
<img height="100px" width="100px" alt="logo" src="./assets/images/logo.png"/>

# IRIS - A lightweight video player

Expand Down
2 changes: 1 addition & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<img height="100px" width="100px" alt="icon" src="./assets/images/icon.svg"/>
<img height="100px" width="100px" alt="logo" src="./assets/images/logo.png"/>

# IRIS - 轻量级视频播放器

Expand Down
2 changes: 2 additions & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,7 @@ linter:
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
analyzer:
plugins:
# - custom_lint
errors:
invalid_annotation_target: ignore
5 changes: 4 additions & 1 deletion android/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,7 @@ key.properties
**/*.keystore
**/*.jks

/app/src/main/assets/flutter_assets
/app/src/main/assets/flutter_assets

.kotlin
build
7 changes: 3 additions & 4 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import java.io.File
import java.nio.file.Files
import java.security.MessageDigest

Expand All @@ -21,12 +20,12 @@ android {
ndkVersion = "27.0.12077973"

compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
jvmTarget = JavaVersion.VERSION_17
}

defaultConfig {
Expand Down
Binary file modified android/app/src/main/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Diff not rendered.
Diff not rendered.
Diff not rendered.
4 changes: 2 additions & 2 deletions android/app/src/main/res/values/ic_launcher_background.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#ffffff</color>
<resources>
<color name="ic_launcher_background">#2F2F2F</color>
</resources>
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
4 changes: 2 additions & 2 deletions android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.7.1" apply false
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
id "com.android.application" version "8.12.0" apply false
id "org.jetbrains.kotlin.android" version "2.2.20" apply false
}

include ":app"
Binary file removed assets/images/icon.png
Diff not rendered.
19 changes: 0 additions & 19 deletions assets/images/icon.svg
Diff not rendered.
Binary file added assets/images/logo.png
Binary file added assets/images/logo_transparent.png
2 changes: 1 addition & 1 deletion inno.iss
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "IRIS"
#define MyAppVersion "1.4.1"
#define MyAppVersion "1.5.0"
#define MyAppPublisher "nini22P"
#define MyAppURL "https://github.com/nini22P/iris"
#define MyAppExeName "iris.exe"
Expand Down
19 changes: 19 additions & 0 deletions lib/globals.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,22 @@ String? initUri;
PermissionStatus? storagePermissionStatus;
final moreMenuKey = GlobalKey<PopupMenuButtonState>();
final rateMenuKey = GlobalKey<PopupMenuButtonState>();
const double speedSelectorItemWidth = 64.0;
const List<double> speedStops = [
0.25,
0.5,
0.75,
1.0,
1.25,
1.5,
1.75,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0,
8.0,
9.0,
10.0,
];
Loading