39 lines
1.2 KiB
Dart
39 lines
1.2 KiB
Dart
import 'package:get/get.dart';
|
|
import 'package:tone_snap/ads/interstitial_ad_manager.dart';
|
|
import 'package:tone_snap/components/view_state_widget.dart';
|
|
import 'package:tone_snap/data/enum/ad_scenes.dart';
|
|
import 'package:tone_snap/data/models/music_model.dart';
|
|
import 'package:tone_snap/data/storage/offline_box.dart';
|
|
import 'package:tone_snap/firebase/firebase_analytics_manager.dart';
|
|
import 'package:tone_snap/routes/app_routes.dart';
|
|
|
|
class OfflineController extends GetxController {
|
|
static OfflineController get to => Get.find<OfflineController>();
|
|
var viewState = ViewState.loading.obs;
|
|
var offlineList = <MusicModel>[].obs;
|
|
|
|
@override
|
|
void onReady() {
|
|
super.onReady();
|
|
getOfflineList();
|
|
}
|
|
|
|
void getOfflineList() {
|
|
offlineList.value = OfflineBox().getReversedList();
|
|
viewState.value = offlineList.isNotEmpty ? ViewState.normal : ViewState.empty;
|
|
}
|
|
|
|
void onTapItem(MusicModel model) {
|
|
InterstitialAdManager().showAdIfAvailable(
|
|
AdScenes.play.name,
|
|
onTap: () {
|
|
Get.toNamed(AppRoutes.playPage, arguments: {
|
|
'videoId': model.videoId,
|
|
'playList': offlineList,
|
|
});
|
|
},
|
|
);
|
|
FirebaseAnalyticsManager.logSongClick('来自离线列表');
|
|
}
|
|
}
|