Skip to content

Commit 288dca6

Browse files
committed
commit
1 parent 7b6a291 commit 288dca6

9 files changed

Lines changed: 258 additions & 54 deletions

File tree

app/build.gradle

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,13 @@ android {
3434
dependencies {
3535
implementation fileTree(dir: 'libs', include: ['*.jar'])
3636
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
37-
implementation 'androidx.appcompat:appcompat:1.1.0'
38-
implementation 'androidx.core:core-ktx:1.2.0'
39-
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
37+
implementation 'androidx.appcompat:appcompat:1.2.0'
38+
implementation 'androidx.core:core-ktx:1.3.2'
39+
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
40+
implementation 'com.github.ssseasonnn:Yasha:1.1.1'
41+
4042
testImplementation 'junit:junit:4.12'
41-
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
42-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
43+
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
44+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
4345
implementation project(path: ':downloadx')
4446
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package zlc.season.downloadxdemo
2+
3+
import android.os.Bundle
4+
import androidx.appcompat.app.AppCompatActivity
5+
import zlc.season.downloadxdemo.databinding.ActivityDetailBinding
6+
7+
class DetailActivity : AppCompatActivity() {
8+
val binding by lazy { ActivityDetailBinding.inflate(layoutInflater) }
9+
10+
override fun onCreate(savedInstanceState: Bundle?) {
11+
super.onCreate(savedInstanceState)
12+
setContentView(binding.root)
13+
14+
}
15+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package zlc.season.downloadxdemo
2+
3+
import android.os.Bundle
4+
import androidx.appcompat.app.AppCompatActivity
5+
import zlc.season.downloadxdemo.databinding.ActivityHistoryBinding
6+
7+
class HistoryActivity : AppCompatActivity() {
8+
val binding by lazy { ActivityHistoryBinding.inflate(layoutInflater) }
9+
10+
override fun onCreate(savedInstanceState: Bundle?) {
11+
super.onCreate(savedInstanceState)
12+
setContentView(binding.root)
13+
}
14+
}

app/src/main/java/zlc/season/downloadxdemo/MainActivity.kt

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,29 @@ import zlc.season.downloadx.download
99
import zlc.season.downloadx.utils.log
1010
import zlc.season.downloadxdemo.databinding.ActivityMainBinding
1111

12-
class MainActivity : AppCompatActivity(), CoroutineScope by MainScope() {
12+
class MainActivity : AppCompatActivity() {
1313
val binding by lazy { ActivityMainBinding.inflate(layoutInflater) }
1414

1515
override fun onCreate(savedInstanceState: Bundle?) {
1616
super.onCreate(savedInstanceState)
1717
setContentView(binding.root)
1818

19-
val task = download(RE)
20-
task.state()
21-
.onEach { "Main state: $it".log() }
22-
.launchIn(this)
23-
24-
task.progress()
25-
.onEach { "Main progress: ${it.percentStr()}".log() }
26-
.launchIn(this)
27-
28-
binding.button.setOnClickListener {
29-
task.start()
30-
}
31-
32-
binding.button1.setOnClickListener {
33-
task.stop()
34-
}
35-
}
36-
37-
override fun onPause() {
38-
super.onPause()
39-
cancel()
19+
// val task = download(RE)
20+
// task.state()
21+
// .onEach { "Main state: $it".log() }
22+
// .launchIn(this)
23+
//
24+
// task.progress()
25+
// .onEach { "Main progress: ${it.percentStr()}".log() }
26+
// .launchIn(this)
27+
//
28+
// binding.button.setOnClickListener {
29+
// task.start()
30+
// }
31+
//
32+
// binding.button1.setOnClickListener {
33+
// task.stop()
34+
// }
4035
}
4136
}
4237

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools"
5+
android:layout_width="match_parent"
6+
android:layout_height="match_parent">
7+
8+
<ImageView
9+
android:layout_width="match_parent"
10+
android:layout_height="match_parent"
11+
app:layout_constraintBottom_toBottomOf="parent"
12+
app:layout_constraintEnd_toEndOf="parent"
13+
app:layout_constraintStart_toStartOf="parent"
14+
app:layout_constraintTop_toTopOf="parent"
15+
tools:background="@android:color/darker_gray" />
16+
17+
<ImageView
18+
android:id="@+id/icon"
19+
android:layout_width="90dp"
20+
android:layout_height="90dp"
21+
android:layout_marginTop="120dp"
22+
app:layout_constraintEnd_toEndOf="parent"
23+
app:layout_constraintStart_toStartOf="parent"
24+
app:layout_constraintTop_toTopOf="parent"
25+
tools:background="@color/colorAccent" />
26+
27+
<TextView
28+
android:id="@+id/title"
29+
android:layout_width="wrap_content"
30+
android:layout_height="wrap_content"
31+
android:layout_marginTop="8dp"
32+
android:textColor="@android:color/black"
33+
android:textSize="20sp"
34+
app:layout_constraintEnd_toEndOf="parent"
35+
app:layout_constraintStart_toStartOf="parent"
36+
app:layout_constraintTop_toBottomOf="@+id/icon"
37+
tools:text="title" />
38+
39+
<TextView
40+
android:id="@+id/desc"
41+
android:layout_width="0dp"
42+
android:layout_height="0dp"
43+
android:layout_marginStart="10dp"
44+
android:layout_marginLeft="10dp"
45+
android:layout_marginTop="16dp"
46+
android:layout_marginEnd="10dp"
47+
android:layout_marginBottom="10dp"
48+
app:layout_constraintBottom_toBottomOf="parent"
49+
app:layout_constraintEnd_toEndOf="parent"
50+
app:layout_constraintStart_toStartOf="parent"
51+
app:layout_constraintTop_toBottomOf="@+id/title"
52+
tools:text="desc" />
53+
54+
<Button
55+
android:id="@+id/button"
56+
android:layout_width="0dp"
57+
android:layout_height="wrap_content"
58+
android:layout_marginStart="10dp"
59+
android:layout_marginEnd="10dp"
60+
android:layout_marginBottom="10dp"
61+
app:layout_constraintBottom_toBottomOf="parent"
62+
app:layout_constraintEnd_toEndOf="parent"
63+
app:layout_constraintStart_toStartOf="parent" />
64+
</androidx.constraintlayout.widget.ConstraintLayout>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
android:layout_width="match_parent"
5+
android:layout_height="match_parent">
6+
7+
<androidx.recyclerview.widget.RecyclerView
8+
android:id="@+id/recycler_view"
9+
android:layout_width="match_parent"
10+
android:layout_height="match_parent"
11+
app:layout_constraintBottom_toBottomOf="parent"
12+
app:layout_constraintEnd_toEndOf="parent"
13+
app:layout_constraintStart_toStartOf="parent"
14+
app:layout_constraintTop_toTopOf="parent" />
15+
</androidx.constraintlayout.widget.ConstraintLayout>

app/src/main/res/layout/activity_main.xml

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,12 @@
66
android:layout_height="match_parent"
77
tools:context=".MainActivity">
88

9-
<TextView
10-
android:id="@+id/textView"
11-
android:layout_width="wrap_content"
12-
android:layout_height="wrap_content"
13-
android:layout_marginTop="16dp"
14-
android:text="Hello World!"
15-
app:layout_constraintLeft_toLeftOf="parent"
16-
app:layout_constraintRight_toRightOf="parent"
17-
app:layout_constraintTop_toTopOf="parent" />
18-
19-
<Button
20-
android:id="@+id/button"
21-
android:layout_width="wrap_content"
22-
android:layout_height="wrap_content"
23-
android:layout_marginTop="50dp"
24-
android:text="START"
25-
app:layout_constraintEnd_toEndOf="parent"
26-
app:layout_constraintStart_toStartOf="parent"
27-
app:layout_constraintTop_toBottomOf="@+id/textView" />
28-
29-
<Button
30-
android:id="@+id/button1"
31-
android:layout_width="wrap_content"
32-
android:layout_height="wrap_content"
33-
android:layout_marginTop="100dp"
34-
android:text="STOP"
9+
<androidx.recyclerview.widget.RecyclerView
10+
android:id="@+id/recycler_view"
11+
android:layout_width="match_parent"
12+
android:layout_height="match_parent"
13+
app:layout_constraintBottom_toBottomOf="parent"
3514
app:layout_constraintEnd_toEndOf="parent"
3615
app:layout_constraintStart_toStartOf="parent"
37-
app:layout_constraintTop_toBottomOf="@+id/textView" />
16+
app:layout_constraintTop_toTopOf="parent" />
3817
</androidx.constraintlayout.widget.ConstraintLayout>
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools"
5+
android:layout_width="match_parent"
6+
android:layout_height="wrap_content"
7+
android:layout_marginTop="5dp"
8+
android:layout_marginBottom="5dp">
9+
10+
<ImageView
11+
android:id="@+id/icon"
12+
android:layout_width="70dp"
13+
android:layout_height="70dp"
14+
android:layout_marginLeft="20dp"
15+
app:layout_constraintBottom_toBottomOf="parent"
16+
app:layout_constraintStart_toStartOf="parent"
17+
app:layout_constraintTop_toTopOf="parent"
18+
tools:src="@color/colorAccent" />
19+
20+
<TextView
21+
android:id="@+id/title"
22+
android:layout_width="0dp"
23+
android:layout_height="wrap_content"
24+
android:layout_marginStart="10dp"
25+
android:layout_marginLeft="10dp"
26+
android:layout_marginEnd="10dp"
27+
android:layout_marginRight="10dp"
28+
android:textColor="@android:color/black"
29+
android:textSize="20sp"
30+
app:layout_constraintEnd_toStartOf="@+id/button"
31+
app:layout_constraintStart_toEndOf="@+id/icon"
32+
app:layout_constraintTop_toTopOf="@+id/icon"
33+
tools:text="title" />
34+
35+
<TextView
36+
android:id="@+id/desc"
37+
android:layout_width="0dp"
38+
android:layout_height="0dp"
39+
android:layout_marginStart="10dp"
40+
android:layout_marginLeft="10dp"
41+
android:layout_marginTop="2dp"
42+
android:layout_marginEnd="10dp"
43+
android:layout_marginRight="10dp"
44+
android:gravity="center_vertical"
45+
app:layout_constraintBottom_toBottomOf="@+id/icon"
46+
app:layout_constraintEnd_toStartOf="@+id/button"
47+
app:layout_constraintStart_toEndOf="@+id/icon"
48+
app:layout_constraintTop_toBottomOf="@+id/title"
49+
tools:text="desc" />
50+
51+
<Button
52+
android:id="@+id/button"
53+
android:layout_width="70dp"
54+
android:layout_height="wrap_content"
55+
android:layout_marginRight="20dp"
56+
app:layout_constraintBottom_toBottomOf="@+id/icon"
57+
app:layout_constraintEnd_toEndOf="parent"
58+
app:layout_constraintTop_toTopOf="@+id/icon"
59+
tools:text="下载" />
60+
</androidx.constraintlayout.widget.ConstraintLayout>
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools"
5+
android:layout_width="match_parent"
6+
android:layout_height="wrap_content"
7+
android:layout_marginTop="5dp"
8+
android:layout_marginBottom="5dp">
9+
10+
<ImageView
11+
android:id="@+id/icon"
12+
android:layout_width="70dp"
13+
android:layout_height="70dp"
14+
android:layout_marginLeft="20dp"
15+
app:layout_constraintBottom_toBottomOf="parent"
16+
app:layout_constraintStart_toStartOf="parent"
17+
app:layout_constraintTop_toTopOf="parent"
18+
tools:src="@color/colorAccent" />
19+
20+
<TextView
21+
android:id="@+id/title"
22+
android:layout_width="0dp"
23+
android:layout_height="wrap_content"
24+
android:layout_marginStart="10dp"
25+
android:layout_marginLeft="10dp"
26+
android:layout_marginEnd="10dp"
27+
android:layout_marginRight="10dp"
28+
android:textColor="@android:color/black"
29+
android:textSize="20sp"
30+
app:layout_constraintEnd_toStartOf="@+id/button"
31+
app:layout_constraintStart_toEndOf="@+id/icon"
32+
app:layout_constraintTop_toTopOf="@+id/icon"
33+
tools:text="title" />
34+
35+
<ProgressBar
36+
android:id="@+id/progress"
37+
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
38+
android:layout_width="0dp"
39+
android:layout_height="0dp"
40+
android:layout_marginStart="10dp"
41+
android:layout_marginLeft="10dp"
42+
android:layout_marginTop="2dp"
43+
android:layout_marginEnd="10dp"
44+
android:layout_marginRight="10dp"
45+
app:layout_constraintBottom_toBottomOf="@+id/icon"
46+
app:layout_constraintEnd_toStartOf="@+id/button"
47+
app:layout_constraintStart_toEndOf="@+id/icon"
48+
app:layout_constraintTop_toBottomOf="@+id/title"
49+
tools:progress="50" />
50+
51+
<Button
52+
android:id="@+id/button"
53+
android:layout_width="70dp"
54+
android:layout_height="wrap_content"
55+
android:layout_marginRight="20dp"
56+
app:layout_constraintBottom_toBottomOf="@+id/icon"
57+
app:layout_constraintEnd_toEndOf="parent"
58+
app:layout_constraintTop_toTopOf="@+id/icon"
59+
tools:text="下载" />
60+
</androidx.constraintlayout.widget.ConstraintLayout>

0 commit comments

Comments
 (0)