Skip to content

Commit

Permalink
ysp
Browse files Browse the repository at this point in the history
  • Loading branch information
lizongying committed Jun 7, 2024
1 parent e55584c commit f4c1db3
Show file tree
Hide file tree
Showing 14 changed files with 122 additions and 3 deletions.
4 changes: 4 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
## 更新日誌

### v2.1.2

*

### v2.1.1

* 平衡聲音
Expand Down
Binary file modified app/src/main/cpp/arm64-v8a/libnative.so
Binary file not shown.
Binary file modified app/src/main/cpp/armeabi-v7a/libnative.so
Binary file not shown.
24 changes: 24 additions & 0 deletions app/src/main/java/com/lizongying/mytv/ConfirmationFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,37 @@ package com.lizongying.mytv
import android.app.AlertDialog
import android.app.Dialog
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import com.lizongying.mytv.databinding.ConfirmationBinding

class ConfirmationFragment(
private val listener: ConfirmationListener,
private val message: String,
private val update: Boolean
) : DialogFragment() {
//
// private var _binding: ConfirmationBinding? = null
// private val binding get() = _binding!!
//
// override fun onCreateView(
// inflater: LayoutInflater, container: ViewGroup?,
// savedInstanceState: Bundle?
// ): View {
// _binding = ConfirmationBinding.inflate(inflater, container, false)
// return binding.root
// }
//
// fun updateProgress(progress: Int) {
// binding.progressBar.progress = progress
// }
//
// override fun onDestroyView() {
// super.onDestroyView()
// _binding = null
// }

override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return activity?.let {
Expand Down
10 changes: 10 additions & 0 deletions app/src/main/java/com/lizongying/mytv/MyTVApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ import android.content.Context
import android.content.res.Resources
import android.util.DisplayMetrics
import android.view.WindowManager
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.ViewModelStore
import androidx.multidex.MultiDex
import com.lizongying.mytv.models.MyViewModel


class MyTVApplication : Application() {
Expand All @@ -23,6 +26,8 @@ class MyTVApplication : Application() {
private var density = 2.0f
private var scale = 1.0f

lateinit var myViewModel: MyViewModel

override fun onCreate() {
super.onCreate()

Expand Down Expand Up @@ -60,6 +65,11 @@ class MyTVApplication : Application() {

deviation = width - Resources.getSystem().displayMetrics.widthPixels
scale = Resources.getSystem().displayMetrics.scaledDensity

myViewModel = ViewModelProvider(
ViewModelStore(),
ViewModelProvider.NewInstanceFactory()
)[MyViewModel::class.java]
}

fun getDisplayMetrics(): DisplayMetrics {
Expand Down
18 changes: 18 additions & 0 deletions app/src/main/java/com/lizongying/mytv/SettingFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@ import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.View.GONE
import android.view.View.VISIBLE
import android.view.ViewGroup
import android.view.WindowManager
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import androidx.core.view.marginEnd
import androidx.core.view.marginTop
import androidx.fragment.app.DialogFragment
Expand Down Expand Up @@ -159,6 +162,21 @@ class SettingFragment : DialogFragment() {
requireActivity().finishAffinity()
}

// val myViewModel = application.myViewModel
// application.myViewModel.downloadProgress.observe(viewLifecycleOwner) { _ ->
// val downloadProgress = myViewModel.downloadProgress.value
// if (downloadProgress != null) {
// if (downloadProgress == 100) {
// binding.progressBar.visibility = GONE
// } else {
// if (!binding.progressBar.isVisible) {
// binding.progressBar.visibility = VISIBLE
// }
// binding.progressBar.progress = downloadProgress
// }
// }
// }

updateManager = UpdateManager(context, context.appVersionCode)

return binding.root
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/lizongying/mytv/UpdateManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class UpdateManager(
release = releaseRequest.getRelease()
val code = release?.version_code
if (code != null) {
if (code.toLong() > versionCode) {
if (code.toLong() >= versionCode) {
text = "最新版本:${release?.version_name}"
update = true
} else {
Expand Down
8 changes: 8 additions & 0 deletions app/src/main/java/com/lizongying/mytv/UpdateWorker.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import androidx.core.app.NotificationCompat
import androidx.core.content.FileProvider
import androidx.work.CoroutineWorker
import androidx.work.WorkerParameters
import com.lizongying.mytv.models.MyViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.io.File
Expand All @@ -22,13 +23,18 @@ class UpdateWorker(context: Context, params: WorkerParameters) : CoroutineWorker
private lateinit var notificationManager: NotificationManager
private lateinit var notificationBuilder: NotificationCompat.Builder

private lateinit var myViewModel: MyViewModel

override suspend fun doWork(): Result {
val downloadUrl = inputData.getString("DOWNLOAD_URL") ?: return Result.failure()
val apkFileName = inputData.getString("APK_FILENAME") ?: return Result.failure()
val versionName = inputData.getString("VERSION_NAME") ?: return Result.failure()

showNotification(applicationContext)

val app = applicationContext as MyTVApplication
myViewModel = app.myViewModel

return withContext(Dispatchers.IO) {
try {
downloadAndInstall(applicationContext, downloadUrl, apkFileName, versionName)
Expand Down Expand Up @@ -96,6 +102,8 @@ class UpdateWorker(context: Context, params: WorkerParameters) : CoroutineWorker

if (bytesTotal > 0) {
val progress = (bytesDownloaded * 100L / bytesTotal).toInt()
Log.i(TAG, "progress $progress")
// myViewModel.setDownloadProgress(progress)
notificationBuilder.setProgress(100, progress, false)
notificationManager.notify(1, notificationBuilder.build())
}
Expand Down
4 changes: 3 additions & 1 deletion app/src/main/java/com/lizongying/mytv/api/ApiClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import okhttp3.TlsVersion
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.converter.protobuf.ProtoConverterFactory
import java.net.InetSocketAddress
import java.net.Proxy
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager
Expand Down Expand Up @@ -166,7 +168,7 @@ class ApiClient {
val sslContext = SSLContext.getInstance("SSL")
sslContext.init(null, trustAllCerts, java.security.SecureRandom())

// val proxy = Proxy(Proxy.Type.HTTP, InetSocketAddress("10.0.2.2", 8888))
val proxy = Proxy(Proxy.Type.HTTP, InetSocketAddress("10.0.2.2", 8888))

val builder = OkHttpClient.Builder()
.sslSocketFactory(sslContext.socketFactory, trustAllCerts[0] as X509TrustManager)
Expand Down
19 changes: 19 additions & 0 deletions app/src/main/java/com/lizongying/mytv/models/MyViewModel.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.lizongying.mytv.models

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel

class MyViewModel : ViewModel() {
private var _downloadProgress = MutableLiveData<Int>()
val downloadProgress: LiveData<Int>
get() = _downloadProgress

fun setDownloadProgress(progress: Int) {
_downloadProgress.value = progress
}

init {
_downloadProgress.value = 0
}
}
24 changes: 24 additions & 0 deletions app/src/main/res/layout/confirmation.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<!-- res/layout/fragment_progress_dialog.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:padding="20dp">

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/start_update"
tools:text="开始更新">
</Button>
<androidx.core.widget.ContentLoadingProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="false"
android:max="100"
android:progress="0"
android:progressDrawable="@android:drawable/progress_horizontal" />
</LinearLayout>
9 changes: 9 additions & 0 deletions app/src/main/res/layout/setting.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,15 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<!-- <androidx.core.widget.ContentLoadingProgressBar-->
<!-- android:id="@+id/progressBar"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:indeterminate="false"-->
<!-- android:max="100"-->
<!-- android:progress="0"-->
<!-- android:visibility="gone"-->
<!-- android:progressDrawable="@android:drawable/progress_horizontal" />-->
<Button
android:id="@+id/clear"
android:layout_width="wrap_content"
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@
<string name="title_time">显示时间</string>
<string name="clear">恢复默认</string>
<string name="exit">退出应用</string>
<string name="start_update">开始更新</string>
</resources>
2 changes: 1 addition & 1 deletion version.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"version_code": 33620224, "version_name": "v2.1.1"}
{"version_code": 33620480, "version_name": "v2.1.2"}

0 comments on commit f4c1db3

Please sign in to comment.