added terminate app button
This commit is contained in:
parent
660cab7702
commit
506929b453
8 changed files with 39 additions and 24 deletions
|
|
@ -13,38 +13,26 @@ import android.os.Build
|
|||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.util.Log
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.WindowInsets
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.ui.AppBarConfiguration
|
||||
import androidx.navigation.ui.setupActionBarWithNavController
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
import com.deniscerri.ytdlnis.database.viewmodel.ResultViewModel
|
||||
import com.deniscerri.ytdlnis.databinding.ActivityMainBinding
|
||||
import com.deniscerri.ytdlnis.ui.HomeFragment
|
||||
import com.deniscerri.ytdlnis.ui.downloads.DownloadQueueActivity
|
||||
import com.deniscerri.ytdlnis.ui.downloads.HistoryFragment
|
||||
import com.deniscerri.ytdlnis.ui.more.MoreFragment
|
||||
import com.deniscerri.ytdlnis.ui.more.settings.SettingsActivity
|
||||
import com.deniscerri.ytdlnis.util.UpdateUtil
|
||||
import com.google.android.material.appbar.MaterialToolbar
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import java.io.BufferedReader
|
||||
import java.io.File
|
||||
import java.io.InputStreamReader
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi
|
|||
private var resultsList: List<ResultItem?>? = null
|
||||
private var selectedObjects: ArrayList<ResultItem>? = null
|
||||
private var fileUtil: FileUtil? = null
|
||||
private var firstBoot = true
|
||||
private var quickLaunchSheet = false
|
||||
private var sharedPreferences: SharedPreferences? = null
|
||||
private var _binding : FragmentHomeBinding? = null
|
||||
|
||||
|
|
@ -93,6 +93,7 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi
|
|||
fragmentView = inflater.inflate(R.layout.fragment_home, container, false)
|
||||
activity = getActivity()
|
||||
mainActivity = activity as MainActivity?
|
||||
quickLaunchSheet = false
|
||||
|
||||
return fragmentView
|
||||
}
|
||||
|
|
@ -147,14 +148,14 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi
|
|||
}
|
||||
}else if (resultViewModel.itemCount.value!! == 1){
|
||||
if (sharedPreferences!!.getBoolean("download_card", true)){
|
||||
if(it.size == 1 && !firstBoot && parentFragmentManager.findFragmentByTag("downloadSingleSheet") == null){
|
||||
if(it.size == 1 && quickLaunchSheet && parentFragmentManager.findFragmentByTag("downloadSingleSheet") == null){
|
||||
showSingleDownloadSheet(it[0], DownloadViewModel.Type.valueOf(sharedPreferences!!.getString("preferred_download_type", "video")!!))
|
||||
}
|
||||
}
|
||||
}else{
|
||||
downloadAllFabCoordinator!!.visibility = GONE
|
||||
}
|
||||
firstBoot = false
|
||||
quickLaunchSheet = true
|
||||
}
|
||||
|
||||
resultViewModel.loadingItems.observe(viewLifecycleOwner){
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import com.deniscerri.ytdlnis.databinding.FragmentHomeBinding
|
|||
import com.deniscerri.ytdlnis.ui.downloads.DownloadQueueActivity
|
||||
import com.deniscerri.ytdlnis.ui.more.downloadLogs.DownloadLogListActivity
|
||||
import com.deniscerri.ytdlnis.ui.more.settings.SettingsActivity
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
class MoreFragment : Fragment() {
|
||||
private lateinit var mainSharedPreferences: SharedPreferences
|
||||
|
|
@ -25,6 +26,7 @@ class MoreFragment : Fragment() {
|
|||
private lateinit var logs: TextView
|
||||
private lateinit var commandTemplates: TextView
|
||||
private lateinit var downloadQueue: TextView
|
||||
private lateinit var terminateApp: TextView
|
||||
private lateinit var settings: TextView
|
||||
private lateinit var mainActivity: MainActivity
|
||||
override fun onCreateView(
|
||||
|
|
@ -44,10 +46,18 @@ class MoreFragment : Fragment() {
|
|||
logs = view.findViewById(R.id.logs)
|
||||
commandTemplates = view.findViewById(R.id.command_templates)
|
||||
downloadQueue = view.findViewById(R.id.download_queue)
|
||||
terminateApp = view.findViewById(R.id.terminate)
|
||||
settings = view.findViewById(R.id.settings)
|
||||
|
||||
val navHostFragment = parentFragmentManager.findFragmentById(R.id.frame_layout)
|
||||
|
||||
if (mainSharedPreferences.getBoolean("log_downloads", false)) {
|
||||
logs.visibility = View.VISIBLE
|
||||
}else {
|
||||
logs.visibility = View.GONE
|
||||
}
|
||||
|
||||
|
||||
terminal.setOnClickListener {
|
||||
val intent = Intent(context, TerminalActivity::class.java)
|
||||
startActivity(intent)
|
||||
|
|
@ -68,6 +78,10 @@ class MoreFragment : Fragment() {
|
|||
startActivity(intent)
|
||||
}
|
||||
|
||||
terminateApp.setOnClickListener {
|
||||
exitProcess(0)
|
||||
}
|
||||
|
||||
settings.setOnClickListener {
|
||||
val intent = Intent(context, SettingsActivity::class.java)
|
||||
startActivity(intent)
|
||||
|
|
@ -79,13 +93,4 @@ class MoreFragment : Fragment() {
|
|||
const val TAG = "MoreFragment"
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (mainSharedPreferences.getBoolean("log_downloads", false)) {
|
||||
logs.visibility = View.VISIBLE
|
||||
}else {
|
||||
logs.visibility = View.GONE
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
5
app/src/main/res/drawable/ic_power.xml
Normal file
5
app/src/main/res/drawable/ic_power.xml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<vector android:height="24dp"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="?android:colorAccent" android:pathData="M13,3h-2v10h2L13,3zM17.83,5.17l-1.42,1.42C17.99,7.86 19,9.81 19,12c0,3.87 -3.13,7 -7,7s-7,-3.13 -7,-7c0,-2.19 1.01,-4.14 2.58,-5.42L6.17,5.17C4.23,6.82 3,9.26 3,12c0,4.97 4.03,9 9,9s9,-4.03 9,-9c0,-2.74 -1.23,-5.18 -3.17,-6.83z"/>
|
||||
</vector>
|
||||
|
|
@ -34,6 +34,7 @@
|
|||
app:layout_constraintHorizontal_weight="0.3"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:background="?attr/colorSurfaceVariant"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="H,16:9"
|
||||
app:layout_constraintEnd_toStartOf="@+id/download_item_data"
|
||||
|
|
|
|||
|
|
@ -69,6 +69,19 @@
|
|||
android:paddingHorizontal="15dp"
|
||||
app:drawableLeftCompat="@drawable/ic_concurrent_downloads" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/terminate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="35dp"
|
||||
android:textSize="16sp"
|
||||
android:paddingVertical="15dp"
|
||||
android:text="@string/kill_app"
|
||||
android:textStyle="bold"
|
||||
android:paddingHorizontal="15dp"
|
||||
app:drawableLeftCompat="@drawable/ic_power" />
|
||||
|
||||
|
||||
<View style="@style/Divider.Horizontal" />
|
||||
|
||||
<TextView
|
||||
|
|
|
|||
|
|
@ -176,4 +176,5 @@
|
|||
<string name="link_you_copied">Linku i kopjuar</string>
|
||||
<string name="restrict_filenames">Limito Titujt</string>
|
||||
<string name="restrict_filenames_summary">Limito emrin e skedarit me vetëm me karakteret ASCII, dhe shmag \"&\" dhe hapësirat në emrin e skedarit</string>
|
||||
<string name="kill_app">Ndalo Aplikacionin</string>
|
||||
</resources>
|
||||
|
|
@ -183,4 +183,5 @@
|
|||
<string name="link_you_copied">Link you copied</string>
|
||||
<string name="restrict_filenames">Restrict Filenames</string>
|
||||
<string name="restrict_filenames_summary"><![CDATA[Restrict filenames to only ASCII characters, and avoid \"&\" and spaces in filenames]]></string>
|
||||
<string name="kill_app">Terminate App</string>
|
||||
</resources>
|
||||
Loading…
Reference in a new issue