Skip to content

Instantly share code, notes, and snippets.

View sajjadyousefnia's full-sized avatar
🤒
Out sick

Sajjad Yousefnia sajjadyousefnia

🤒
Out sick
View GitHub Profile
package com.sands.android.dao.entity
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity(tableName = "download_model")
public data class DownloadModel(
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id")
package com.sands.android.dao
import androidx.room.Dao
import androidx.room.Delete
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import com.sands.android.dao.entity.DownloadModel
import com.sands.android.dao.entity.MdlLastPlay
package com.sands.android.view.activity
import android.Manifest
import android.annotation.SuppressLint
import android.app.DownloadManager
import android.content.BroadcastReceiver
import android.content.Context
import android.content.pm.PackageManager
import android.database.Cursor
import android.net.Uri
package com.sands.android.view.activity
import android.Manifest
import android.annotation.SuppressLint
import android.app.DownloadManager
import android.content.BroadcastReceiver
import android.content.Context
import android.content.pm.PackageManager
import android.database.Cursor
import android.net.Uri
package com.sands.android.view.adapter
import android.app.DownloadManager
import android.content.Context
import android.content.Intent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.core.content.ContextCompat.startActivity
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.material.card.MaterialCardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
package com.sands.android.view.activity
import android.Manifest
import android.annotation.SuppressLint
import android.app.DownloadManager
import android.content.BroadcastReceiver
import android.content.Context
import android.content.IntentFilter
import android.content.pm.PackageManager
import android.database.Cursor
@SuppressLint("Range")
private suspend fun downloadFromScratch() {
try {
val currentDownloadModel = runningDownloadList.last()
val downloadManager = getSystemService(DownloadManager::class.java)
val request =
DownloadManager.Request(currentDownloadModel.url.toUri()).setMimeType("video/*")
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI and DownloadManager.Request.NETWORK_MOBILE)
fun sendPing(address: String): Boolean {
val policy = ThreadPolicy.Builder().permitAll().build()
StrictMode.setThreadPolicy(policy)
return try {
val inetAddress = InetAddress.getByName(address)
inetAddress.isReachable(5000) // Timeout in milliseconds (5 seconds)
} catch (e: Exception) {
false
}
}
@SuppressLint("Range")
private suspend fun downloadFromScratch() {
try {
val downloadManager = getSystemService(DownloadManager::class.java)
val request = DownloadManager.Request(currentUrl.toUri()).setMimeType("video/*")
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI and DownloadManager.Request.NETWORK_MOBILE)
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
.setTitle("در حال دانلود فیلم " + currentTitle).setDestinationInExternalPublicDir(
Environment.DIRECTORY_DOWNLOADS, DOWNLOADS_SUB_DIRECTORY + currentTitle