NewPipe-app-android/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.kt

81 lines
3.0 KiB
Kotlin

package org.schabi.newpipe.download
import android.content.Intent
import android.os.Bundle
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
import android.view.ViewTreeObserver.OnGlobalLayoutListener
import androidx.appcompat.app.ActionBar
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.FragmentTransaction
import org.schabi.newpipe.R
import org.schabi.newpipe.databinding.ActivityDownloaderBinding
import org.schabi.newpipe.util.DeviceUtils
import org.schabi.newpipe.util.Localization
import org.schabi.newpipe.util.ThemeHelper
import org.schabi.newpipe.views.FocusOverlayView
import us.shandian.giga.service.DownloadManagerService
import us.shandian.giga.ui.fragment.MissionsFragment
class DownloadActivity() : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// Service
val i: Intent = Intent()
i.setClass(this, DownloadManagerService::class.java)
startService(i)
Localization.assureCorrectAppLanguage(this)
ThemeHelper.setTheme(this)
super.onCreate(savedInstanceState)
val downloaderBinding: ActivityDownloaderBinding = ActivityDownloaderBinding.inflate(getLayoutInflater())
setContentView(downloaderBinding.getRoot())
setSupportActionBar(downloaderBinding.toolbarLayout.toolbar)
val actionBar: ActionBar? = getSupportActionBar()
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true)
actionBar.setTitle(R.string.downloads_title)
actionBar.setDisplayShowTitleEnabled(true)
}
getWindow().getDecorView().getViewTreeObserver()
.addOnGlobalLayoutListener(object : OnGlobalLayoutListener {
public override fun onGlobalLayout() {
updateFragments()
getWindow().getDecorView().getViewTreeObserver().removeOnGlobalLayoutListener(this)
}
})
if (DeviceUtils.isTv(this)) {
FocusOverlayView.Companion.setupFocusObserver(this)
}
}
private fun updateFragments() {
val fragment: MissionsFragment = MissionsFragment()
getSupportFragmentManager().beginTransaction()
.replace(R.id.frame, fragment, MISSIONS_FRAGMENT_TAG)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
.commit()
}
public override fun onCreateOptionsMenu(menu: Menu): Boolean {
super.onCreateOptionsMenu(menu)
val inflater: MenuInflater = getMenuInflater()
inflater.inflate(R.menu.download_menu, menu)
return true
}
public override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.getItemId()) {
android.R.id.home -> {
onBackPressed()
return true
}
else -> return super.onOptionsItemSelected(item)
}
}
companion object {
private val MISSIONS_FRAGMENT_TAG: String = "fragment_tag"
}
}