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(); var viewState = ViewState.loading.obs; var offlineList = [].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('来自离线列表'); } }