Skip to content

Commit

Permalink
Merge pull request #21 from BobbyESP/dev
Browse files Browse the repository at this point in the history
  • Loading branch information
BobbyESP authored Feb 23, 2023
2 parents 93bc9c2 + adce184 commit 5ba9eb1
Show file tree
Hide file tree
Showing 34 changed files with 1,182 additions and 122 deletions.
83 changes: 83 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Bug Report
description: Create a report to help us improve
labels: [bug]
body:


- type: checkboxes
id: checklist
attributes:
label: Checklist
description: |
Carefully read and work through this check list in order to prevent the most common mistakes and misuse of Spowlo/spotDL (note that most of the bugs are caused by the spotDL library and we need to report them in their repo):
options:
- label: I've verified that I'm running the latest [**stable version**](https://github.com/JunkFood02/Seal/releases/latest/) of Seal or any later [**preview versions**](https://github.com/JunkFood02/Seal/releases).
required: true
- label: I've checked that the YouTube Music is available in my country.
required: true
- label: I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.
required: true

- type: textarea
attributes:
label: Describe the bug
description:
placeholder: |
A clear and concise description of what the bug is.
validations:
required: false

- type: textarea
attributes:
label: To Reproduce
placeholder: |
Steps to reproduce the behavior:
1.Go to '...'
2.Click on '....'
3.Scroll down to '....'
4.See error
validations:
required: false

- type: textarea
attributes:
label: Error reports
placeholder: |
Click on the displayed error below the text box area to copy it.
validations:
required: true

- type: textarea
attributes:
label: Screenshots & Screen Records
placeholder: |
Screenshots & Screen Records can amp up bug reports.
validations:
required: false

- type: textarea
attributes:
label: Device info
description: |
Please provide some information of the device you are using.
You can get the device info by doing these steps:
1) Open Spowlo
2) Go to settings
3) Click on About
4) Scroll all the way down
5) Click "Version"
6) Paste the info below.
placeholder: |
App version: x.x.x (XxXxX)
Device information: Android XX (API XX)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: X.X.X
validations:
required: false

- type: textarea
attributes:
label: Additional context
description:
placeholder: |
Add any other context about the problem here.
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# disable blank issue creation
blank_issues_enabled: false
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Feature Request
description: Suggest a new feature for the general download mode
title: "[Feature Request]"
labels: [enhancement]
body:
- type: checkboxes
id: checklist
attributes:
label: Checklist
description: |
Even if you're not sure about the answer, feel free to leave it blank and provide us with more information about this request.
options:
- label: This feature I'm requesting is already implemented in spotDL.
required: false
- label: This feature is intended to be a UI/UX update.
required: false
- label: This feature is not going to conflict with many of the existing options.
required: false
- type: textarea
id: description_1
attributes:
label: Is your feature request related to a problem? Please describe it and link to the GitHub issue.
description:
placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: false
- type: textarea
id: description_2
attributes:
label: Describe the solution you'd like
description:
placeholder: A clear and concise description of what you want to include in the app.
validations:
required: false
- type: textarea
id: description_3
attributes:
label: Song/playlist link
description:
placeholder: Please provide us with a link to the video for which this feature might be beneficial.
validations:
required: false
- type: textarea
id: description_4
attributes:
label: Additional context
description:
placeholder: Add any other context or screenshots about the feature request here.
validations:
required: false
render: shell
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ sealed class Version(

val currentVersion: Version = Version.Stable(
versionMajor = 1,
versionMinor = 0,
versionMinor = 1,
versionPatch = 0,
)

Expand Down
168 changes: 168 additions & 0 deletions app/schemas/com.bobbyesp.spowlo.database.AppDatabase/1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
{
"formatVersion": 1,
"database": {
"version": 1,
"identityHash": "78f4ae7565b93534b8ac54a8016a98d3",
"entities": [
{
"tableName": "CommandShortcut",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `option` TEXT NOT NULL)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "option",
"columnName": "option",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"id"
]
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "CommandTemplate",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `template` TEXT NOT NULL)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "template",
"columnName": "template",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"id"
]
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "CookieProfile",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `url` TEXT NOT NULL, `content` TEXT NOT NULL)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "content",
"columnName": "content",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"id"
]
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "DownloadedSongInfo",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `songName` TEXT NOT NULL, `songAuthor` TEXT NOT NULL, `songUrl` TEXT NOT NULL, `thumbnailUrl` TEXT NOT NULL, `songPath` TEXT NOT NULL, `songDuration` REAL NOT NULL DEFAULT 0.0, `extractor` TEXT NOT NULL DEFAULT 'Unknown')",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "songName",
"columnName": "songName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "songAuthor",
"columnName": "songAuthor",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "songUrl",
"columnName": "songUrl",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnailUrl",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "songPath",
"columnName": "songPath",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "songDuration",
"columnName": "songDuration",
"affinity": "REAL",
"notNull": true,
"defaultValue": "0.0"
},
{
"fieldPath": "extractor",
"columnName": "extractor",
"affinity": "TEXT",
"notNull": true,
"defaultValue": "'Unknown'"
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"id"
]
},
"indices": [],
"foreignKeys": []
}
],
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '78f4ae7565b93534b8ac54a8016a98d3')"
]
}
}
22 changes: 1 addition & 21 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
tools:targetApi="tiramisu">
<!-- android:largeHeap="true" -->

<activity
android:name=".MainActivity"
Expand Down Expand Up @@ -100,27 +101,6 @@
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>

<activity
android:name="com.spotify.sdk.android.auth.LoginActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="true">
<intent-filter>
<data android:scheme="spowlo" android:host="spotify-auth" />
</intent-filter>
</activity>

<activity android:name=".features.spotify_api.auth.SpotifyPkceLoginActivityImpl"
android:launchMode="singleTop" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data android:scheme="spowlo" android:host="spotify-pkce" />
</intent-filter>
</activity>
</application>

</manifest>
11 changes: 0 additions & 11 deletions app/src/main/java/com/bobbyesp/spowlo/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -55,17 +55,6 @@ class App : Application() {

applicationScope.launch((Dispatchers.IO)) {
try {
if (!PreferencesUtil.containsKey(TEMPLATE_ID)) {
PreferencesUtil.encodeInt(
TEMPLATE_ID, DatabaseUtil.insertTemplate(
CommandTemplate(
id = 0,
name = context.getString(R.string.custom_command_template),
template = TEMPLATE_EXAMPLE
)
).toInt()
)
}
SpotDL.getInstance().init(this@App)
FFmpeg.getInstance().init(this@App)
DownloaderUtil.getCookiesContentFromDatabase().getOrNull()?.let {
Expand Down
Loading

0 comments on commit 5ba9eb1

Please sign in to comment.