mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 03:06:59 +08:00
@@ -1,5 +1,6 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.example.piliplus">
|
package="com.example.piliplus">
|
||||||
|
|
||||||
<queries>
|
<queries>
|
||||||
<intent>
|
<intent>
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
@@ -16,8 +17,7 @@
|
|||||||
</queries>
|
</queries>
|
||||||
<queries>
|
<queries>
|
||||||
<intent>
|
<intent>
|
||||||
<action android:name=
|
<action android:name="android.support.customtabs.action.CustomTabsService" />
|
||||||
"android.support.customtabs.action.CustomTabsService" />
|
|
||||||
</intent>
|
</intent>
|
||||||
</queries>
|
</queries>
|
||||||
|
|
||||||
@@ -35,56 +35,62 @@
|
|||||||
</intent>
|
</intent>
|
||||||
</queries>
|
</queries>
|
||||||
|
|
||||||
<application
|
<application xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:label="@string/app_name"
|
|
||||||
android:name="${applicationName}"
|
android:name="${applicationName}"
|
||||||
android:icon="@mipmap/ic_launcher"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:enableOnBackInvokedCallback="false"
|
|
||||||
android:allowBackup="false"
|
android:allowBackup="false"
|
||||||
|
android:enableOnBackInvokedCallback="false"
|
||||||
android:fullBackupContent="false"
|
android:fullBackupContent="false"
|
||||||
|
android:icon="@mipmap/ic_launcher"
|
||||||
|
android:label="@string/app_name"
|
||||||
tools:replace="android:allowBackup">
|
tools:replace="android:allowBackup">
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="io.flutter.embedding.android.EnableImpeller"
|
android:name="io.flutter.embedding.android.EnableImpeller"
|
||||||
android:value="false" />
|
android:value="false" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:exported="true"
|
|
||||||
android:launchMode="singleTask"
|
|
||||||
android:theme="@style/LaunchTheme"
|
|
||||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||||
|
android:exported="true"
|
||||||
android:hardwareAccelerated="true"
|
android:hardwareAccelerated="true"
|
||||||
android:windowSoftInputMode="adjustResize"
|
android:launchMode="singleTask"
|
||||||
android:supportsPictureInPicture="true"
|
|
||||||
android:resizeableActivity="true"
|
android:resizeableActivity="true"
|
||||||
>
|
android:supportsPictureInPicture="true"
|
||||||
|
android:theme="@style/LaunchTheme"
|
||||||
|
android:windowSoftInputMode="adjustResize">
|
||||||
|
|
||||||
<meta-data android:name="flutter_deeplinking_enabled" android:value="false" />
|
<meta-data
|
||||||
|
android:name="android.app.shortcuts"
|
||||||
|
android:resource="@xml/shortcuts" />
|
||||||
|
|
||||||
|
<meta-data
|
||||||
|
android:name="flutter_deeplinking_enabled"
|
||||||
|
android:value="false" />
|
||||||
|
|
||||||
<!-- Specifies an Android theme to apply to this Activity as soon as
|
<!-- Specifies an Android theme to apply to this Activity as soon as
|
||||||
the Android process has started. This theme is visible to the user
|
the Android process has started. This theme is visible to the user
|
||||||
while the Flutter UI initializes. After that, this theme continues
|
while the Flutter UI initializes. After that, this theme continues
|
||||||
to determine the Window background behind the Flutter UI. -->
|
to determine the Window background behind the Flutter UI. -->
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="io.flutter.embedding.android.NormalTheme"
|
android:name="io.flutter.embedding.android.NormalTheme"
|
||||||
android:resource="@style/NormalTheme"
|
android:resource="@style/NormalTheme" />
|
||||||
/>
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="android.intent.category.LAUNCHER"/>
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:label="PiliPlus">
|
<intent-filter android:label="PiliPlus">
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
<data android:scheme="http"/>
|
|
||||||
<data android:scheme="https"/>
|
<data android:scheme="http" />
|
||||||
<data android:host="*.bilibili.com"/>
|
<data android:scheme="https" />
|
||||||
<data android:host="*.bilibili.cn"/>
|
<data android:host="*.bilibili.com" />
|
||||||
<data android:host="*.bilibili.tv"/>
|
<data android:host="*.bilibili.cn" />
|
||||||
<data android:host="bilibili.com"/>
|
<data android:host="*.bilibili.tv" />
|
||||||
<data android:host="bilibili.cn"/>
|
<data android:host="bilibili.com" />
|
||||||
<data android:host="bilibili.tv"/>
|
<data android:host="bilibili.cn" />
|
||||||
|
<data android:host="bilibili.tv" />
|
||||||
<data android:host="b23.tv" />
|
<data android:host="b23.tv" />
|
||||||
<!--<data android:host="live.bilibili.com"/>-->
|
<!--<data android:host="live.bilibili.com"/>-->
|
||||||
<!--<data android:host="www.bilibili.com"/>-->
|
<!--<data android:host="www.bilibili.com"/>-->
|
||||||
@@ -100,36 +106,56 @@
|
|||||||
<intent-filter android:label="PiliPlus">
|
<intent-filter android:label="PiliPlus">
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
<action android:name="android.intent.action.SEARCH" />
|
<action android:name="android.intent.action.SEARCH" />
|
||||||
|
<action android:name="com.example.piliplus.SHORTCUT" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
<data android:scheme="bilibili"/>
|
|
||||||
|
<data android:scheme="bilibili" />
|
||||||
|
<data android:host="download" />
|
||||||
<data android:host="forward" />
|
<data android:host="forward" />
|
||||||
<data android:host="comment"
|
<data
|
||||||
|
android:host="comment"
|
||||||
android:pathPattern="/detail/.*/.*/.*" />
|
android:pathPattern="/detail/.*/.*/.*" />
|
||||||
<data android:host="uper" />
|
<data android:host="uper" />
|
||||||
<data android:host="article"
|
<data
|
||||||
|
android:host="article"
|
||||||
android:pathPattern="/readlist" />
|
android:pathPattern="/readlist" />
|
||||||
<data android:host="opus" />
|
<data android:host="opus" />
|
||||||
<data android:host="advertise" android:path="/home" />
|
<data
|
||||||
|
android:host="advertise"
|
||||||
|
android:path="/home" />
|
||||||
<data android:host="clip" />
|
<data android:host="clip" />
|
||||||
<data android:host="search" android:pathPattern=".*" />
|
<data
|
||||||
|
android:host="search"
|
||||||
|
android:pathPattern=".*" />
|
||||||
<data android:host="stardust-search" />
|
<data android:host="stardust-search" />
|
||||||
<data android:host="music" />
|
<data android:host="music" />
|
||||||
<data android:host="cheese" />
|
<data android:host="cheese" />
|
||||||
<data android:host="bangumi"
|
<data
|
||||||
|
android:host="bangumi"
|
||||||
android:pathPattern="/season.*" />
|
android:pathPattern="/season.*" />
|
||||||
<data android:host="bangumi" android:pathPattern="/.*" />
|
<data
|
||||||
<data android:host="pictureshow"
|
android:host="bangumi"
|
||||||
|
android:pathPattern="/.*" />
|
||||||
|
<data
|
||||||
|
android:host="pictureshow"
|
||||||
android:pathPrefix="/creative_center" />
|
android:pathPrefix="/creative_center" />
|
||||||
<data android:host="cliparea" />
|
<data android:host="cliparea" />
|
||||||
<data android:host="im" />
|
<data android:host="im" />
|
||||||
<data android:host="im" android:path="/notifications" />
|
<data
|
||||||
|
android:host="im"
|
||||||
|
android:path="/notifications" />
|
||||||
<data android:host="following" />
|
<data android:host="following" />
|
||||||
<data android:host="following"
|
<data
|
||||||
|
android:host="following"
|
||||||
android:pathPattern="/detail/.*" />
|
android:pathPattern="/detail/.*" />
|
||||||
<data android:host="following"
|
<data
|
||||||
|
android:host="following"
|
||||||
android:path="/publishInfo/" />
|
android:path="/publishInfo/" />
|
||||||
<data android:host="laser" android:pathPattern="/.*" />
|
<data
|
||||||
|
android:host="laser"
|
||||||
|
android:pathPattern="/.*" />
|
||||||
<data android:host="livearea" />
|
<data android:host="livearea" />
|
||||||
<data android:host="live" />
|
<data android:host="live" />
|
||||||
<data android:host="catalog" />
|
<data android:host="catalog" />
|
||||||
@@ -147,28 +173,44 @@
|
|||||||
<data android:host="video" />
|
<data android:host="video" />
|
||||||
<data android:host="story" />
|
<data android:host="story" />
|
||||||
<data android:host="podcast" />
|
<data android:host="podcast" />
|
||||||
<data android:host="main" android:path="/favorite" />
|
<data
|
||||||
<data android:host="pgc" android:path="/theater/match" />
|
android:host="main"
|
||||||
<data android:host="pgc" android:path="/theater/square" />
|
android:path="/favorite" />
|
||||||
<data android:host="m.bilibili.com"
|
<data
|
||||||
|
android:host="pgc"
|
||||||
|
android:path="/theater/match" />
|
||||||
|
<data
|
||||||
|
android:host="pgc"
|
||||||
|
android:path="/theater/square" />
|
||||||
|
<data
|
||||||
|
android:host="m.bilibili.com"
|
||||||
android:path="/topic-detail" />
|
android:path="/topic-detail" />
|
||||||
<data android:host="article" />
|
<data android:host="article" />
|
||||||
<data android:host="pegasus"
|
<data
|
||||||
|
android:host="pegasus"
|
||||||
android:pathPattern="/channel/v2/.*" />
|
android:pathPattern="/channel/v2/.*" />
|
||||||
<data android:host="feed" android:pathPattern="/channel" />
|
<data
|
||||||
|
android:host="feed"
|
||||||
|
android:pathPattern="/channel" />
|
||||||
<data android:host="vip" />
|
<data android:host="vip" />
|
||||||
<data android:host="user_center" android:path="/vip" />
|
<data
|
||||||
|
android:host="user_center"
|
||||||
|
android:path="/vip" />
|
||||||
<data android:host="history" />
|
<data android:host="history" />
|
||||||
<data android:host="charge" android:path="/rank" />
|
<data
|
||||||
|
android:host="charge"
|
||||||
|
android:path="/rank" />
|
||||||
<data android:host="assistant" />
|
<data android:host="assistant" />
|
||||||
<data android:host="feedback" />
|
<data android:host="feedback" />
|
||||||
<data android:host="auth" android:path="/launch" />
|
<data
|
||||||
|
android:host="auth"
|
||||||
|
android:path="/launch" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<service
|
<service
|
||||||
android:name="com.ryanheise.audioservice.AudioService"
|
android:name="com.ryanheise.audioservice.AudioService"
|
||||||
|
android:exported="true"
|
||||||
android:foregroundServiceType="mediaPlayback"
|
android:foregroundServiceType="mediaPlayback"
|
||||||
android:exported="true"
|
|
||||||
tools:ignore="Instantiatable">
|
tools:ignore="Instantiatable">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.media.browse.MediaBrowserService" />
|
<action android:name="android.media.browse.MediaBrowserService" />
|
||||||
@@ -177,32 +219,37 @@
|
|||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.yalantis.ucrop.UCropActivity"
|
android:name="com.yalantis.ucrop.UCropActivity"
|
||||||
android:theme="@style/Ucrop.CropTheme"/>
|
android:theme="@style/Ucrop.CropTheme" />
|
||||||
|
|
||||||
<receiver
|
<receiver
|
||||||
android:name="com.ryanheise.audioservice.MediaButtonReceiver"
|
android:name="com.ryanheise.audioservice.MediaButtonReceiver"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
tools:ignore="Instantiatable">
|
tools:ignore="Instantiatable">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MEDIA_BUTTON" />
|
<action android:name="android.intent.action.MEDIA_BUTTON" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
<!-- Don't delete the meta-data below.
|
<!-- Don't delete the meta-data below.
|
||||||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="flutterEmbedding"
|
android:name="flutterEmbedding"
|
||||||
android:value="2" />
|
android:value="2" />
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
|
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32"/>
|
<uses-permission
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28"/>
|
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
android:maxSdkVersion="32" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
<uses-permission
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"/>
|
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
android:maxSdkVersion="28" />
|
||||||
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
||||||
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||||
<!--
|
<!--
|
||||||
Media access permissions.
|
Media access permissions.
|
||||||
Android 13 or higher.
|
Android 13 or higher.
|
||||||
@@ -210,5 +257,5 @@
|
|||||||
-->
|
-->
|
||||||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
||||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
||||||
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
10
android/app/src/main/res/drawable/download.xml
Normal file
10
android/app/src/main/res/drawable/download.xml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24.0"
|
||||||
|
android:viewportHeight="24.0">
|
||||||
|
<path
|
||||||
|
android:fillColor="#515151"
|
||||||
|
android:pathData="M16.59 9H15V4c0-.55-.45-1-1-1h-4c-.55 0-1 .45-1 1v5H7.41c-.89 0-1.34 1.08-.71 1.71l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.63-.63.19-1.71-.7-1.71zM5 19c0 .55.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1H6c-.55 0-1 .45-1 1z" />
|
||||||
|
</vector>
|
||||||
10
android/app/src/main/res/drawable/search.xml
Normal file
10
android/app/src/main/res/drawable/search.xml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24.0"
|
||||||
|
android:viewportHeight="24.0">
|
||||||
|
<path
|
||||||
|
android:fillColor="#515151"
|
||||||
|
android:pathData="M15.5 14h-.79l-.28-.27c1.2-1.4 1.82-3.31 1.48-5.34-.47-2.78-2.79-5-5.59-5.34-4.23-.52-7.79 3.04-7.27 7.27.34 2.8 2.56 5.12 5.34 5.59 2.03.34 3.94-.28 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" />
|
||||||
|
</vector>
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">PiliPlus</string>
|
<string name="app_name">PiliPlus</string>
|
||||||
|
<string name="search">搜索</string>
|
||||||
|
<string name="offline_video">离线视频</string>
|
||||||
</resources>
|
</resources>
|
||||||
20
android/app/src/main/res/xml-v25/shortcuts.xml
Normal file
20
android/app/src/main/res/xml-v25/shortcuts.xml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<shortcut
|
||||||
|
android:icon="@drawable/search"
|
||||||
|
android:shortcutId="search"
|
||||||
|
android:shortcutLongLabel="@string/search"
|
||||||
|
android:shortcutShortLabel="@string/search">
|
||||||
|
<intent
|
||||||
|
android:action="com.example.piliplus.SHORTCUT"
|
||||||
|
android:data="bilibili://search" />
|
||||||
|
</shortcut>
|
||||||
|
<shortcut
|
||||||
|
android:icon="@drawable/download"
|
||||||
|
android:shortcutId="offline_video"
|
||||||
|
android:shortcutLongLabel="@string/offline_video"
|
||||||
|
android:shortcutShortLabel="@string/offline_video">
|
||||||
|
<intent
|
||||||
|
android:action="com.example.piliplus.SHORTCUT"
|
||||||
|
android:data="bilibili://download" />
|
||||||
|
</shortcut>
|
||||||
|
</shortcuts>
|
||||||
@@ -397,6 +397,9 @@ abstract final class PiliScheme {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
case 'download':
|
||||||
|
Get.toNamed('/download');
|
||||||
|
return true;
|
||||||
default:
|
default:
|
||||||
if (!selfHandle) {
|
if (!selfHandle) {
|
||||||
// if (kDebugMode) debugPrint('$uri');
|
// if (kDebugMode) debugPrint('$uri');
|
||||||
|
|||||||
Reference in New Issue
Block a user