Change files layout

This commit is contained in:
stonegate 2020-05-07 00:50:32 +08:00
parent 0d82290e33
commit 5f75ace725
43 changed files with 132 additions and 126 deletions

View File

@ -16,9 +16,6 @@ jobs:
- run: echo $ENCODED_KEYSTORE | base64 -di > ${HOME}/keystore.jks
- run: echo 'export KEYSTORE=${HOME}/keystore.jks' >> $BASH_ENV
- run: dart tool/env.dart
- run:
name: Build the Android bundle
command: flutter build appbundle --no-shrink
- run:
name: Build the Android version
command: flutter build apk --split-per-abi --no-shrink

View File

@ -12,11 +12,11 @@ import 'package:tuple/tuple.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:tsacdop/class/audiostate.dart';
import 'package:tsacdop/class/episodebrief.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'package:tsacdop/util/context_extension.dart';
import 'package:tsacdop/util/custompaint.dart';
import '../state/audiostate.dart';
import '../type/episodebrief.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../util/context_extension.dart';
import '../util/custompaint.dart';
import 'episodedownload.dart';
class EpisodeDetail extends StatefulWidget {

View File

@ -8,10 +8,11 @@ import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:connectivity/connectivity.dart';
import 'package:tsacdop/class/download_state.dart';
import 'package:tsacdop/class/episodebrief.dart';
import 'package:tsacdop/class/audiostate.dart';
import 'package:tsacdop/class/settingstate.dart';
import '../state/download_state.dart';
import '../state/audiostate.dart';
import '../state/settingstate.dart';
import '../type/episodebrief.dart';
class DownloadButton extends StatefulWidget {
final EpisodeBrief episode;

View File

@ -10,11 +10,11 @@ import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:fluttertoast/fluttertoast.dart';
import '../../class/searchpodcast.dart';
import '../../class/subscribe_podcast.dart';
import '../../util/context_extension.dart';
import '../../webfeed/webfeed.dart';
import '../../.env.dart';
import '../type/searchpodcast.dart';
import '../state/subscribe_podcast.dart';
import '../util/context_extension.dart';
import '../webfeed/webfeed.dart';
import '../.env.dart';
class MyHomePageDelegate extends SearchDelegate<int> {
final String searchFieldLabel;

View File

@ -4,22 +4,21 @@ import 'dart:math' as math;
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:marquee/marquee.dart';
import 'package:tsacdop/home/playlist.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'package:tuple/tuple.dart';
import 'package:audio_service/audio_service.dart';
import 'package:line_icons/line_icons.dart';
import 'package:tsacdop/class/episodebrief.dart';
import 'package:tsacdop/class/audiostate.dart';
import 'package:tsacdop/episodes/episodedetail.dart';
import 'package:tsacdop/home/audiopanel.dart';
import 'package:tsacdop/util/pageroute.dart';
import 'package:tsacdop/util/colorize.dart';
import 'package:tsacdop/util/context_extension.dart';
import 'package:tsacdop/util/custompaint.dart';
import '../type/episodebrief.dart';
import '../state/audiostate.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../util/pageroute.dart';
import '../util/colorize.dart';
import '../util/context_extension.dart';
import '../util/custompaint.dart';
import '../util/customslider.dart';
import '../episodes/episodedetail.dart';
import 'playlist.dart';
import 'audiopanel.dart';
final List<BoxShadow> _customShadow = [
BoxShadow(blurRadius: 26, offset: Offset(-6, -6), color: Colors.white),

View File

@ -1,9 +1,10 @@
import 'dart:io';
import 'package:provider/provider.dart';
import 'package:flutter/material.dart';
import 'package:tsacdop/class/download_state.dart';
import 'package:tsacdop/episodes/episodedetail.dart';
import 'package:tsacdop/util/pageroute.dart';
import '../state/download_state.dart';
import '../episodes/episodedetail.dart';
import '../util/pageroute.dart';
class DownloadList extends StatefulWidget {
DownloadList({Key key}) : super(key: key);

View File

@ -4,26 +4,25 @@ import 'dart:io';
import 'package:flutter/material.dart' hide NestedScrollView;
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:tsacdop/class/download_state.dart';
import 'package:tsacdop/class/podcast_group.dart';
import 'package:tsacdop/home/playlist.dart';
import 'package:tuple/tuple.dart';
import 'package:extended_nested_scroll_view/extended_nested_scroll_view.dart';
import 'package:line_icons/line_icons.dart';
import 'package:fluttertoast/fluttertoast.dart';
import '../class/audiostate.dart';
import '../class/episodebrief.dart';
import '../state/audiostate.dart';
import '../type/episodebrief.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../util/episodegrid.dart';
import '../util/mypopupmenu.dart';
import '../util/context_extension.dart';
import '../util/custompaint.dart';
import '../home/appbar/importompl.dart';
import '../home/audioplayer.dart';
import 'appbar/addpodcast.dart';
import 'appbar/popupmenu.dart';
import '../state/download_state.dart';
import '../state/podcast_group.dart';
import 'playlist.dart';
import 'importompl.dart';
import 'audioplayer.dart';
import 'addpodcast.dart';
import 'popupmenu.dart';
import 'home_groups.dart';
import 'download_list.dart';

View File

@ -5,21 +5,21 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:tsacdop/class/audiostate.dart';
import 'package:tsacdop/util/custompaint.dart';
import 'package:tuple/tuple.dart';
import 'package:line_icons/line_icons.dart';
import '../class/episodebrief.dart';
import '../class/podcast_group.dart';
import '../class/podcastlocal.dart';
import '../type/episodebrief.dart';
import '../state/podcast_group.dart';
import '../type/podcastlocal.dart';
import '../state/audiostate.dart';
import '../util/custompaint.dart';
import '../util/pageroute.dart';
import '../util/colorize.dart';
import '../util/context_extension.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../episodes/episodedetail.dart';
import '../podcasts/podcastdetail.dart';
import '../podcasts/podcastmanage.dart';
import '../util/pageroute.dart';
import '../util/colorize.dart';
import '../util/context_extension.dart';
class ScrollPodcasts extends StatefulWidget {
@override

View File

@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../class/podcast_group.dart';
import '../../class/subscribe_podcast.dart';
import '../../class/refresh_podcast.dart';
import '../../util/context_extension.dart';
import '../state/podcast_group.dart';
import '../state/subscribe_podcast.dart';
import '../state/refresh_podcast.dart';
import '../util/context_extension.dart';
class Import extends StatelessWidget {
Widget importColumn(String text, BuildContext context) {

View File

@ -8,8 +8,8 @@ import 'package:tuple/tuple.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:line_icons/line_icons.dart';
import '../class/audiostate.dart';
import '../class/episodebrief.dart';
import '../state/audiostate.dart';
import '../type/episodebrief.dart';
import '../util/context_extension.dart';
import '../util/custompaint.dart';

View File

@ -3,8 +3,7 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:tsacdop/class/refresh_podcast.dart';
import 'package:tsacdop/class/subscribe_podcast.dart';
import 'package:tsacdop/local_storage/key_value_storage.dart';
import 'package:xml/xml.dart' as xml;
import 'package:file_picker/file_picker.dart';
@ -13,7 +12,9 @@ import 'package:fluttertoast/fluttertoast.dart';
import 'package:line_icons/line_icons.dart';
import 'package:intl/intl.dart';
import 'package:tsacdop/settings/settting.dart';
import '../settings/settting.dart';
import '../state/refresh_podcast.dart';
import '../state/subscribe_podcast.dart';
import 'about.dart';
class OmplOutline {

View File

@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:tsacdop/class/settingstate.dart';
import 'package:tsacdop/home/home.dart';
import 'package:tsacdop/util/pageroute.dart';
import '../state/settingstate.dart';
import '../home/home.dart';
import '../util/pageroute.dart';
import 'fourthpage.dart';
import 'secondpage.dart';
import 'thirdpage.dart';

View File

@ -1,7 +1,8 @@
import 'dart:async';
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:tsacdop/class/podcast_group.dart';
import '../state/podcast_group.dart';
const String autoPlayKey = 'autoPlay';
const String autoAddKey = 'autoAdd';

View File

@ -4,11 +4,11 @@ import 'package:path/path.dart';
import 'package:intl/intl.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:dio/dio.dart';
import 'package:tsacdop/class/podcastlocal.dart';
import 'package:tsacdop/class/audiostate.dart';
import 'package:tsacdop/class/episodebrief.dart';
import 'package:tsacdop/webfeed/webfeed.dart';
import 'package:tsacdop/class/sub_history.dart';
import '../type/podcastlocal.dart';
import '../state/audiostate.dart';
import '../type/episodebrief.dart';
import '../webfeed/webfeed.dart';
import '../type/sub_history.dart';
class DBHelper {
static Database _db;

View File

@ -3,12 +3,12 @@ import 'package:provider/provider.dart';
import 'package:flutter/services.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'class/podcast_group.dart';
import 'class/audiostate.dart';
import 'class/settingstate.dart';
import 'class/download_state.dart';
import 'class/refresh_podcast.dart';
import 'class/subscribe_podcast.dart';
import 'state/podcast_group.dart';
import 'state/audiostate.dart';
import 'state/settingstate.dart';
import 'state/download_state.dart';
import 'state/refresh_podcast.dart';
import 'state/subscribe_podcast.dart';
import 'home/home.dart';
import 'intro_slider/app_intro.dart';

View File

@ -5,8 +5,6 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:html/parser.dart';
import 'package:tsacdop/class/audiostate.dart';
import 'package:tsacdop/class/podcast_group.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
@ -14,15 +12,17 @@ import 'package:provider/provider.dart';
import 'package:line_icons/line_icons.dart';
import 'package:cached_network_image/cached_network_image.dart';
import '../class/podcastlocal.dart';
import '../class/episodebrief.dart';
import '../type/podcastlocal.dart';
import '../type/episodebrief.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../util/episodegrid.dart';
import '../home/audioplayer.dart';
import '../class/fireside_data.dart';
import '../type/fireside_data.dart';
import '../util/colorize.dart';
import '../util/context_extension.dart';
import '../util/custompaint.dart';
import '../state/audiostate.dart';
import '../state/podcast_group.dart';
class PodcastDetail extends StatefulWidget {
PodcastDetail({Key key, this.podcastLocal}) : super(key: key);

View File

@ -7,8 +7,8 @@ import 'package:flutter/services.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart';
import '../class/podcast_group.dart';
import '../class/podcastlocal.dart';
import '../state/podcast_group.dart';
import '../type/podcastlocal.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../podcasts/podcastdetail.dart';
import '../util/pageroute.dart';

View File

@ -7,12 +7,12 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:flutter_html/flutter_html.dart';
import 'package:provider/provider.dart';
import 'package:tsacdop/class/podcast_group.dart';
import 'package:tsacdop/class/podcastlocal.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'package:tsacdop/podcasts/podcastdetail.dart';
import 'package:tsacdop/util/pageroute.dart';
import '../state/podcast_group.dart';
import '../type/podcastlocal.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../podcasts/podcastdetail.dart';
import '../util/pageroute.dart';
class AboutPodcast extends StatefulWidget {
final PodcastLocal podcastLocal;

View File

@ -6,11 +6,12 @@ import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:line_icons/line_icons.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:tsacdop/class/podcast_group.dart';
import 'package:tsacdop/podcasts/podcastgroup.dart';
import 'package:tsacdop/podcasts/podcastlist.dart';
import 'package:tsacdop/util/pageroute.dart';
import 'package:tsacdop/util/context_extension.dart';
import '../state/podcast_group.dart';
import '../podcasts/podcastgroup.dart';
import '../podcasts/podcastlist.dart';
import '../util/pageroute.dart';
import '../util/context_extension.dart';
import 'custom_tabview.dart';
class PodcastManage extends StatefulWidget {

View File

@ -6,8 +6,9 @@ import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:path_provider/path_provider.dart';
import 'package:line_icons/line_icons.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:tsacdop/class/episodebrief.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import '../type/episodebrief.dart';
import '../local_storage/sqflite_localpodcast.dart';
class DownloadsManage extends StatefulWidget {
@override

View File

@ -2,9 +2,10 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:fl_chart/fl_chart.dart';
import 'package:intl/intl.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'package:tsacdop/class/audiostate.dart';
import 'package:tsacdop/class/sub_history.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../state/audiostate.dart';
import '../type/sub_history.dart';
class PlayedHistory extends StatefulWidget {
@override

View File

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import '../class/audiostate.dart';
import '../state/audiostate.dart';
class PlaySetting extends StatelessWidget {
@override

View File

@ -5,15 +5,15 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:path/path.dart';
import 'package:line_icons/line_icons.dart';
import 'package:tsacdop/class/podcastlocal.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:path_provider/path_provider.dart';
import 'package:flutter_file_dialog/flutter_file_dialog.dart';
import 'package:tsacdop/util/ompl_build.dart';
import 'package:tsacdop/util/context_extension.dart';
import 'package:tsacdop/intro_slider/app_intro.dart';
import '../util/ompl_build.dart';
import '../util/context_extension.dart';
import '../intro_slider/app_intro.dart';
import '../type/podcastlocal.dart';
import '../local_storage/sqflite_localpodcast.dart';
import 'theme.dart';
import 'storage.dart';
import 'history.dart';

View File

@ -2,8 +2,9 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:tsacdop/settings/downloads_manage.dart';
import 'package:tsacdop/class/settingstate.dart';
import '../settings/downloads_manage.dart';
import '../state/settingstate.dart';
import '../local_storage/key_value_storage.dart';
import '../util/context_extension.dart';

View File

@ -2,7 +2,8 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:tuple/tuple.dart';
import 'package:tsacdop/class/settingstate.dart';
import '../state/settingstate.dart';
class SyncingSetting extends StatelessWidget {
@override

View File

@ -2,8 +2,9 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
import 'package:tsacdop/class/settingstate.dart';
import 'package:tsacdop/util/context_extension.dart';
import '../state/settingstate.dart';
import '../util/context_extension.dart';
class ThemeSetting extends StatelessWidget {
@override

View File

@ -4,9 +4,9 @@ import 'package:flutter/foundation.dart';
import 'package:audio_service/audio_service.dart';
import 'package:just_audio/just_audio.dart';
import 'package:rxdart/rxdart.dart';
import 'package:tsacdop/class/episodebrief.dart';
import 'package:tsacdop/local_storage/key_value_storage.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import '../type/episodebrief.dart';
import '../local_storage/key_value_storage.dart';
import '../local_storage/sqflite_localpodcast.dart';
MediaControl playControl = MediaControl(
androidIcon: 'drawable/ic_stat_play_circle_filled',

View File

@ -9,7 +9,7 @@ import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart' as path;
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'episodebrief.dart';
import '../type/episodebrief.dart';
class EpisodeTask {
final String taskId;

View File

@ -5,7 +5,8 @@ import 'package:flutter/material.dart';
import 'package:tsacdop/local_storage/key_value_storage.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'package:uuid/uuid.dart';
import 'package:tsacdop/class/podcastlocal.dart';
import '../type/podcastlocal.dart';
class GroupEntity {
final String name;

View File

@ -5,7 +5,7 @@ import 'package:flutter_isolate/flutter_isolate.dart';
import 'package:tsacdop/local_storage/key_value_storage.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'podcastlocal.dart';
import '../type/podcastlocal.dart';
enum RefreshState { none, fetch, error }

View File

@ -1,10 +1,10 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:tsacdop/class/podcastlocal.dart';
import 'package:workmanager/workmanager.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import 'package:tsacdop/local_storage/key_value_storage.dart';
import '../local_storage/sqflite_localpodcast.dart';
import '../local_storage/key_value_storage.dart';
import '../type/podcastlocal.dart';
void callbackDispatcher() {
Workmanager.executeTask((task, inputData) async {

View File

@ -11,8 +11,8 @@ import 'package:flutter_isolate/flutter_isolate.dart';
import '../webfeed/webfeed.dart';
import '../local_storage/sqflite_localpodcast.dart';
import 'fireside_data.dart';
import 'podcastlocal.dart';
import '../type/fireside_data.dart';
import '../type/podcastlocal.dart';
enum SubscribeState { none, start, subscribe, fetch, stop, exist, error }

View File

@ -10,13 +10,13 @@ import 'package:fluttertoast/fluttertoast.dart';
import 'package:auto_animated/auto_animated.dart';
import 'open_container.dart';
import 'package:tsacdop/class/audiostate.dart';
import 'package:tsacdop/class/episodebrief.dart';
import 'package:tsacdop/episodes/episodedetail.dart';
import 'package:tsacdop/util/colorize.dart';
import 'package:tsacdop/util/context_extension.dart';
import 'package:tsacdop/util/custompaint.dart';
import 'package:tsacdop/local_storage/sqflite_localpodcast.dart';
import '../state/audiostate.dart';
import '../type/episodebrief.dart';
import '../episodes/episodedetail.dart';
import '../local_storage/sqflite_localpodcast.dart';
import 'colorize.dart';
import 'context_extension.dart';
import 'custompaint.dart';
enum Layout { two, three }

View File

@ -1,5 +1,5 @@
import 'package:tsacdop/class/podcastlocal.dart';
import 'package:xml/xml.dart' as xml;
import '../type/podcastlocal.dart';
omplBuilder(List<PodcastLocal> podcasts) {
var builder = xml.XmlBuilder();

View File

@ -1,7 +1,7 @@
name: tsacdop
description: An easy-use podacasts player.
version: 0.2.1
version: 0.2.2
environment:
sdk: ">=2.6.0 <3.0.0"