diff --git a/app/build.gradle b/app/build.gradle index cfda8bc..53b0094 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,14 +6,13 @@ plugins { } android { - compileSdkVersion 30 + compileSdkVersion 32 defaultConfig { applicationId "org.libre.agosto.p2play" minSdkVersion 26 - //noinspection OldTargetApi - targetSdkVersion 28 - versionCode 8 - versionName "0.5.2" + targetSdkVersion 32 + versionCode 9 + versionName "0.6.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { @@ -22,7 +21,6 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - buildToolsVersion '30.0.2' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 @@ -31,6 +29,7 @@ android { checkReleaseBuilds false abortOnError false } + namespace 'org.libre.agosto.p2play' } dependencies { @@ -40,7 +39,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'com.google.android.material:material:1.4.0' + implementation 'com.google.android.material:material:1.6.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.5.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e83f1ca..1078c0e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + @@ -13,10 +12,12 @@ android:supportsRtl="true" android:theme="@style/Theme.P2play"> + android:theme="@style/Theme.P2play.NoActionBar" + android:exported="false" /> + android:theme="@style/Theme.P2play.NoActionBar" + android:exported="true"> @@ -25,22 +26,26 @@ + android:theme="@style/Theme.P2play.NoActionBar" + android:exported="false" /> + android:theme="@style/Theme.P2play.NoActionBar" + android:exported="false" /> - - - + android:theme="@style/Theme.P2play.NoActionBar" + android:exported="false" /> + + + + android:theme="@style/Theme.P2play" + android:exported="false"/> \ No newline at end of file diff --git a/app/src/main/java/org/libre/agosto/p2play/MainActivity.kt b/app/src/main/java/org/libre/agosto/p2play/MainActivity.kt index 5d05638..7efe98b 100644 --- a/app/src/main/java/org/libre/agosto/p2play/MainActivity.kt +++ b/app/src/main/java/org/libre/agosto/p2play/MainActivity.kt @@ -50,8 +50,6 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte .setAction("Action", null).show() } */ - - val toggle = ActionBarDrawerToggle(this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) drawer_layout.addDrawerListener(toggle) toggle.syncState() @@ -376,6 +374,8 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte myMenu.findItem(R.id.action_logout).isVisible = true } + } else { + nav_view.menu.findItem(R.id.ml).isVisible = false } } @@ -394,7 +394,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte this.refresh() ManagerSingleton.Toast(getString(R.string.logout_msg), this) - + setSideData() } private fun loadMore(){ diff --git a/app/src/main/java/org/libre/agosto/p2play/adapters/CommentariesAdapter.kt b/app/src/main/java/org/libre/agosto/p2play/adapters/CommentariesAdapter.kt index be36410..b1b679c 100644 --- a/app/src/main/java/org/libre/agosto/p2play/adapters/CommentariesAdapter.kt +++ b/app/src/main/java/org/libre/agosto/p2play/adapters/CommentariesAdapter.kt @@ -1,6 +1,7 @@ package org.libre.agosto.p2play.adapters import android.content.Context +import android.content.Intent import androidx.recyclerview.widget.RecyclerView import android.text.Html import android.view.LayoutInflater @@ -9,6 +10,7 @@ import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView import com.squareup.picasso.Picasso +import kotlinx.android.synthetic.main.view_video.view.userImg import org.libre.agosto.p2play.* import org.libre.agosto.p2play.models.CommentaryModel @@ -42,6 +44,7 @@ class CommentariesAdapter(private val myDataset: ArrayList) : // create a new view val view = LayoutInflater.from(parent.context) .inflate(R.layout.view_commentary, parent, false) as View + // set the view's size, margins, paddings and layout parameters return ViewHolder(view) } @@ -63,6 +66,12 @@ class CommentariesAdapter(private val myDataset: ArrayList) : holder.commentary.text = Html.fromHtml(myDataset[position].commentary) + // TODO: Support for view and account (is different than a video channel) + // holder.userImg.setOnClickListener { + // val intent = Intent(holder.context, ChannelActivity::class.java) + // intent.putExtra("channel", myDataset[position].getAccount()) + // holder.context.startActivity(intent) + // } } // Return the size of your dataset (invoked by the layout manager) diff --git a/app/src/main/java/org/libre/agosto/p2play/adapters/VideosAdapter.kt b/app/src/main/java/org/libre/agosto/p2play/adapters/VideosAdapter.kt index 6e75709..51f1de9 100644 --- a/app/src/main/java/org/libre/agosto/p2play/adapters/VideosAdapter.kt +++ b/app/src/main/java/org/libre/agosto/p2play/adapters/VideosAdapter.kt @@ -56,11 +56,12 @@ class VideosAdapter(private val myDataset: ArrayList) : // - get element from your dataset at this position // - replace the contents of the view with that element holder.tittle.text = myDataset[position].name + holder.tittle.setOnClickListener { + this.launchChannelActivity(myDataset[position] as Serializable, holder.context) + } Picasso.get().load("https://"+ManagerSingleton.url+myDataset[position].thumbUrl).into(holder.thumb) holder.thumb.setOnClickListener { - val intent = Intent(holder.context, ReproductorActivity::class.java) - intent.putExtra("video", myDataset[position] as Serializable) - holder.context.startActivity(intent) + this.launchChannelActivity(myDataset[position] as Serializable, holder.context) } holder.userImg.setOnClickListener { @@ -98,5 +99,9 @@ class VideosAdapter(private val myDataset: ArrayList) : notifyItemRangeInserted(lastPos, newItems.size) } - + private fun launchChannelActivity (data: Serializable, context: Context) { + val intent = Intent(context, ReproductorActivity::class.java) + intent.putExtra("video", data) + context.startActivity(intent) + } } \ No newline at end of file diff --git a/app/src/main/java/org/libre/agosto/p2play/models/CommentaryModel.kt b/app/src/main/java/org/libre/agosto/p2play/models/CommentaryModel.kt index 55543c2..cf83884 100644 --- a/app/src/main/java/org/libre/agosto/p2play/models/CommentaryModel.kt +++ b/app/src/main/java/org/libre/agosto/p2play/models/CommentaryModel.kt @@ -11,7 +11,8 @@ class CommentaryModel ( var userImageUrl: String = "", var commentary: String = "", var userHost: String = "", - var replies: Int = 0 + var replies: Int = 0, + var nameChannel: String = "" ) { fun parseCommentary(data: JsonReader) { data.beginObject() @@ -46,6 +47,7 @@ class CommentaryModel ( } "uuid" -> this.userUuid = data.nextString() "host" -> this.userHost = data.nextString() + "name" -> this.nameChannel = data.nextString() else -> data.skipValue() } } @@ -56,4 +58,9 @@ class CommentaryModel ( } data.endObject() } + + fun getAccount(): String { + return "$nameChannel@$userHost" + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/view_video.xml b/app/src/main/res/layout/view_video.xml index 2a69422..fef3772 100644 --- a/app/src/main/res/layout/view_video.xml +++ b/app/src/main/res/layout/view_video.xml @@ -16,12 +16,15 @@ + android:layout_height="match_parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent">