Archived
TODO implement custom Chrome tabs
This commit is contained in:
@@ -29,7 +29,6 @@ class MainActivity : AppCompatActivity() {
|
||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
|
||||
|
||||
setSupportActionBar(binding.toolbar)
|
||||
|
||||
val navController = findNavController(R.id.nav_host_fragment_content_main)
|
||||
@@ -37,9 +36,10 @@ class MainActivity : AppCompatActivity() {
|
||||
setupActionBarWithNavController(navController, appBarConfiguration)
|
||||
|
||||
binding.fab.setOnClickListener { view ->
|
||||
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
|
||||
.setAnchorView(R.id.fab)
|
||||
.setAction("Action", null).show()
|
||||
findNavController(R.id.nav_host_fragment_content_main).navigate(R.id.action_FirstFragment_to_SecondFragment)
|
||||
// Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
|
||||
// .setAnchorView(R.id.fab)
|
||||
// .setAction("Action", null).show()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.denizk0461.studip.adapter
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.denizk0461.studip.data.StudIPEvent
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
import com.denizk0461.studip.databinding.ItemEventBinding
|
||||
|
||||
class StudIPEventAdapter(private val events: List<StudIPEvent>) : RecyclerView.Adapter<StudIPEventAdapter.EventViewHolder>() {
|
||||
|
||||
@@ -4,7 +4,7 @@ import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.denizk0461.studip.data.StudIPEvent
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
import com.denizk0461.studip.databinding.ItemEventPageBinding
|
||||
|
||||
class StudIPEventPageAdapter(private val events: List<StudIPEvent>) : RecyclerView.Adapter<StudIPEventPageAdapter.EventPageViewHolder>() {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.denizk0461.studip.data
|
||||
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
|
||||
object DummyData {
|
||||
|
||||
val events: Array<StudIPEvent> = arrayOf(
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.denizk0461.studip.data
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
|
||||
class StudIPScraper : WebViewClient() {
|
||||
|
||||
fun parse(context: Context) {
|
||||
|
||||
// val res = Jsoup.connect("https://elearning.uni-bremen.de/index.php?again=yes")
|
||||
// .data("loginname", "deniz7", "password", "xSh4d0wZ3r0_+nbrmn")
|
||||
// .method(Connection.Method.POST)
|
||||
// .execute()
|
||||
// val doc = Jsoup.connect("https://elearning.uni-bremen.de/dispatch.php/calendar/schedule").get()
|
||||
// Log.d("HELLO", doc.toString())
|
||||
}
|
||||
|
||||
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
||||
super.onPageStarted(view, url, favicon)
|
||||
|
||||
}
|
||||
|
||||
override fun onPageFinished(view: WebView?, url: String?) {
|
||||
super.onPageFinished(view, url)
|
||||
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import com.denizk0461.studip.data.StudIPEvent
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
|
||||
@Dao
|
||||
interface EventDAO {
|
||||
|
||||
@@ -4,7 +4,7 @@ import android.content.Context
|
||||
import androidx.room.Database
|
||||
import androidx.room.Room
|
||||
import androidx.room.RoomDatabase
|
||||
import com.denizk0461.studip.data.StudIPEvent
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
|
||||
@Database(entities = [StudIPEvent::class], version = 1)
|
||||
abstract class EventDatabase : RoomDatabase() {
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.denizk0461.studip.db
|
||||
|
||||
import android.app.Application
|
||||
import androidx.lifecycle.LiveData
|
||||
import com.denizk0461.studip.data.StudIPEvent
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
|
||||
class EventRepository(app: Application) {
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.PagerSnapHelper
|
||||
import com.denizk0461.studip.adapter.StudIPEventPageAdapter
|
||||
import com.denizk0461.studip.data.DummyData
|
||||
import com.denizk0461.studip.data.StudIPScraper
|
||||
import com.denizk0461.studip.databinding.FragmentEventBinding
|
||||
import com.denizk0461.studip.viewmodel.EventViewModel
|
||||
|
||||
@@ -47,6 +48,8 @@ class EventFragment : Fragment() {
|
||||
binding.recyclerView.scheduleLayoutAnimation()
|
||||
}
|
||||
|
||||
viewModel.doAsync { StudIPScraper().parse(requireContext()) }
|
||||
|
||||
// binding.buttonFirst.setOnClickListener {
|
||||
// findNavController().navigate(R.id.action_FirstFragment_to_SecondFragment)
|
||||
// }
|
||||
|
||||
@@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.webkit.WebChromeClient
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.denizk0461.studip.R
|
||||
import com.denizk0461.studip.databinding.FragmentSecondBinding
|
||||
@@ -23,7 +24,7 @@ class SecondFragment : Fragment() {
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
): View {
|
||||
|
||||
_binding = FragmentSecondBinding.inflate(inflater, container, false)
|
||||
return binding.root
|
||||
@@ -33,9 +34,12 @@ class SecondFragment : Fragment() {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
binding.buttonSecond.setOnClickListener {
|
||||
findNavController().navigate(R.id.action_SecondFragment_to_FirstFragment)
|
||||
}
|
||||
// binding.buttonSecond.setOnClickListener {
|
||||
// findNavController().navigate(R.id.action_SecondFragment_to_FirstFragment)
|
||||
// }
|
||||
|
||||
binding.webview.webChromeClient = WebChromeClient()
|
||||
binding.webview.loadUrl("https://elearning.uni-bremen.de/index.php?again=yes")
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.denizk0461.studip.data
|
||||
package com.denizk0461.studip.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.Ignore
|
||||
@@ -2,7 +2,7 @@ package com.denizk0461.studip.viewmodel
|
||||
|
||||
import android.app.Application
|
||||
import androidx.lifecycle.LiveData
|
||||
import com.denizk0461.studip.data.StudIPEvent
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
|
||||
class EventViewModel(app: Application) : TemplateViewModel(app) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user