merge: 同步 main 的作者标识提交到 develop

main 的 eaf8fb4 机械性地给全仓加了 // Author 头,develop 侧包名已改 fruitshorts、
并删除了 demo_media/home_feed_category/home_feed_sections 三个文件,故按 develop 口径解决冲突:
保留 fruitshorts 包名与删除结果,补回 Author 头。
This commit is contained in:
jianghaifeng committed 2026-10-17 13:48:31 +08:00
commit 00280ca0da
65 files changed
+129

No files matched your search

+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:async';
import 'package:flutter/material.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/widgets.dart';
import 'package:shared_preferences/shared_preferences.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'json_numbers.dart';
/// 短剧与剧集,字段与后端 `/app/**` 的下发结构对应。
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
class EngagementSnapshot {
const EngagementSnapshot({
this.savedDramaIds = const {},
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
abstract interface class PlayerPort {
Future<void> initialize();
Future<void> play();
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import '../models/drama.dart';
import '../models/home_feed.dart';
import '../remote/catalog_api.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/foundation.dart';
import '../models/drama.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/foundation.dart';
import '../models/engagement_snapshot.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/services.dart';
class PlatformShareService {
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import '../models/drama.dart';
/// A player session has one navigation meaning: browse dramas or browse episodes.
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:async';
import 'package:flutter/foundation.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:video_player/video_player.dart';
import '../../config/app_config.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import '../../l10n/app_localizations.dart';
import '../data/models/drama.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:async';
import 'package:flutter/foundation.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'app.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import '../../core/data/models/drama.dart';
import '../../core/data/repositories/watch_history_repository.dart';
import 'discover_logic.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/material.dart';
import '../../core/data/models/drama.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import '../../core/data/models/drama.dart';
import '../../core/data/repositories/playback_repository.dart';
import '../../core/data/repositories/watch_history_repository.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:async';
import 'package:flutter/material.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import '../../core/data/models/drama.dart';
import 'home_logic.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import '../../core/data/models/drama.dart';
import '../../core/data/repositories/watch_history_repository.dart';
import 'mine_logic.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:async';
import 'package:flutter/material.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import '../../core/data/repositories/watch_history_repository.dart';
import '../../core/data/repositories/playback_repository.dart';
import '../../core/data/services/android_picture_in_picture.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:async';
import 'package:flutter/material.dart';
+2
View File
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:async';
import 'package:flutter/material.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@@ -1,3 +1,5 @@
// Author: fruit.com.cn
import 'dart:async';
import 'package:flutter/foundation.dart';