mirror of
https://github.com/Matte23/circolapp.git
synced 2025-12-06 07:29:10 +00:00
Add buttons for view and download circulars
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
package="net.underdesk.circolapp">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
|
||||
@@ -18,10 +18,15 @@
|
||||
|
||||
package net.underdesk.circolapp.adapters
|
||||
|
||||
import android.app.DownloadManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Environment
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageButton
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import kotlinx.android.synthetic.main.item_circular.view.*
|
||||
@@ -37,6 +42,10 @@ class CircularLetterAdapter(private val circulars: List<Circular>) :
|
||||
var title: TextView = view.circular_title_textview
|
||||
var number: TextView = view.circular_number_textview
|
||||
var date: TextView = view.circular_date_textview
|
||||
var viewButton: ImageButton = view.circular_view_button
|
||||
var downloadButton: ImageButton = view.circular_download_button
|
||||
var favouriteButton: ImageButton = view.circular_favourite_button
|
||||
var reminderButton: ImageButton = view.circular_reminder_button
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CircularLetterViewHolder {
|
||||
@@ -51,6 +60,23 @@ class CircularLetterAdapter(private val circulars: List<Circular>) :
|
||||
holder.number.text = context.getString(R.string.notification_title, circulars[position].id)
|
||||
holder.title.text = circulars[position].name
|
||||
holder.date.text = circulars[position].date
|
||||
|
||||
holder.viewButton.setOnClickListener {
|
||||
val viewIntent = Intent(Intent.ACTION_VIEW)
|
||||
viewIntent.setDataAndType(Uri.parse(circulars[position].url), "application/pdf")
|
||||
context.startActivity(viewIntent)
|
||||
}
|
||||
|
||||
holder.downloadButton.setOnClickListener {
|
||||
val request = DownloadManager.Request(Uri.parse(circulars[position].url))
|
||||
request.setTitle(circulars[position].name)
|
||||
request.setDestinationInExternalPublicDir(
|
||||
Environment.DIRECTORY_DOWNLOADS,
|
||||
"Circolapp/" + circulars[position].id + ".pdf"
|
||||
)
|
||||
|
||||
(context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager).enqueue(request)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemCount() = circulars.size
|
||||
|
||||
10
app/src/main/res/drawable/baseline_get_app_24.xml
Executable file
10
app/src/main/res/drawable/baseline_get_app_24.xml
Executable file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/>
|
||||
</vector>
|
||||
10
app/src/main/res/drawable/baseline_notifications_24.xml
Executable file
10
app/src/main/res/drawable/baseline_notifications_24.xml
Executable file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z"/>
|
||||
</vector>
|
||||
11
app/src/main/res/drawable/baseline_star_24.xml
Normal file
11
app/src/main/res/drawable/baseline_star_24.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z" />
|
||||
</vector>
|
||||
|
||||
10
app/src/main/res/drawable/baseline_visibility_24.xml
Executable file
10
app/src/main/res/drawable/baseline_visibility_24.xml
Executable file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z"/>
|
||||
</vector>
|
||||
@@ -29,8 +29,7 @@
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@+id/circular_view_button"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/circular_number_textview" />
|
||||
@@ -45,6 +44,54 @@
|
||||
app:layout_constraintStart_toEndOf="@+id/circular_number_textview"
|
||||
app:layout_constraintTop_toTopOf="@+id/circular_number_textview" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/circular_view_button"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:src="@drawable/baseline_visibility_24"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/circular_download_button"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:src="@drawable/baseline_get_app_24"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/circular_guideline"
|
||||
app:layout_constraintStart_toEndOf="@+id/circular_view_button" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/circular_favourite_button"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/baseline_star_24"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/circular_reminder_button"
|
||||
app:layout_constraintStart_toStartOf="@+id/circular_guideline" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/circular_reminder_button"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:src="@drawable/baseline_notifications_24"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/circular_guideline"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
Reference in New Issue
Block a user