add very cursed fragment (search for openFragment)
parent
537c5c03aa
commit
0791413efc
|
@ -1,3 +1,8 @@
|
||||||
|
dependencies {
|
||||||
|
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
||||||
|
implementation("com.google.android.material:material:1.4.0")
|
||||||
|
implementation("androidx.recyclerview:recyclerview:1.2.1")
|
||||||
|
}
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 1
|
||||||
|
|
||||||
|
@ -19,4 +24,12 @@ cloudstream {
|
||||||
|
|
||||||
// Set to true to get an 18+ symbol next to the plugin
|
// Set to true to get an 18+ symbol next to the plugin
|
||||||
adult = true
|
adult = true
|
||||||
|
|
||||||
|
requiresResources = true
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
buildFeatures {
|
||||||
|
viewBinding = true
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.example
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||||
|
|
||||||
|
// TODO: Rename parameter arguments, choose names that match
|
||||||
|
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
|
||||||
|
private const val ARG_PARAM1 = "param1"
|
||||||
|
private const val ARG_PARAM2 = "param2"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A simple [Fragment] subclass.
|
||||||
|
* Use the [BlankFragment.newInstance] factory method to
|
||||||
|
* create an instance of this fragment.
|
||||||
|
*/
|
||||||
|
class BlankFragment(val plugin: TestPlugin) : BottomSheetDialogFragment() {
|
||||||
|
// TODO: Rename and change types of parameters
|
||||||
|
private var param1: String? = null
|
||||||
|
private var param2: String? = null
|
||||||
|
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
arguments?.let {
|
||||||
|
param1 = it.getString(ARG_PARAM1)
|
||||||
|
param2 = it.getString(ARG_PARAM2)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
// Inflate the layout for this fragment
|
||||||
|
val id = plugin.resources!!.getIdentifier("fragment_blank", "layout", "com.example")
|
||||||
|
val layout = plugin.resources!!.getLayout(id)
|
||||||
|
return inflater.inflate(layout, container, false)
|
||||||
|
}
|
||||||
|
}
|
|
@ -4,11 +4,16 @@ import com.lagradost.cloudstream3.plugins.CloudstreamPlugin
|
||||||
import com.lagradost.cloudstream3.plugins.Plugin
|
import com.lagradost.cloudstream3.plugins.Plugin
|
||||||
import com.lagradost.cloudstream3.APIHolder
|
import com.lagradost.cloudstream3.APIHolder
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.util.Log
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
|
||||||
@CloudstreamPlugin
|
@CloudstreamPlugin
|
||||||
class TestPlugin: Plugin() {
|
class TestPlugin: Plugin() {
|
||||||
|
var activity: AppCompatActivity? = null
|
||||||
|
|
||||||
override fun load(context: Context) {
|
override fun load(context: Context) {
|
||||||
|
activity = context as AppCompatActivity
|
||||||
// All providers should be added in this manner
|
// All providers should be added in this manner
|
||||||
registerMainAPI(ExampleProvider())
|
registerMainAPI(ExampleProvider(this))
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,12 +1,13 @@
|
||||||
package com.example
|
package com.example
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.lagradost.cloudstream3.TvType
|
import com.lagradost.cloudstream3.TvType
|
||||||
import com.lagradost.cloudstream3.MainAPI
|
import com.lagradost.cloudstream3.MainAPI
|
||||||
import com.lagradost.cloudstream3.SearchResponse
|
import com.lagradost.cloudstream3.SearchResponse
|
||||||
|
|
||||||
class ExampleProvider : MainAPI() { // all providers must be an intstance of MainAPI
|
class ExampleProvider(val plugin: TestPlugin) : MainAPI() { // all providers must be an intstance of MainAPI
|
||||||
override var mainUrl = "https://example.com/"
|
override var mainUrl = "https://example.com/"
|
||||||
override var name = "Example provider"
|
override var name = "Example sex provider"
|
||||||
override val supportedTypes = setOf(TvType.Movie)
|
override val supportedTypes = setOf(TvType.Movie)
|
||||||
|
|
||||||
override var lang = "en"
|
override var lang = "en"
|
||||||
|
@ -16,6 +17,11 @@ class ExampleProvider : MainAPI() { // all providers must be an intstance of Mai
|
||||||
|
|
||||||
// this function gets called when you search for something
|
// this function gets called when you search for something
|
||||||
override suspend fun search(query: String): List<SearchResponse> {
|
override suspend fun search(query: String): List<SearchResponse> {
|
||||||
|
if (query == "openFragment") {
|
||||||
|
val frag = BlankFragment(plugin)
|
||||||
|
frag.show(plugin.activity!!.supportFragmentManager, "sexFrag")
|
||||||
|
}
|
||||||
|
|
||||||
return listOf<SearchResponse>()
|
return listOf<SearchResponse>()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/frameLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context=".BlankFragment">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView2"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="24dp"
|
||||||
|
android:text="Hello Funny fragment!!" />
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/progressBar"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="21dp" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
Loading…
Reference in New Issue