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">
|
package="net.underdesk.circolapp">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
|
|||||||
@@ -18,10 +18,15 @@
|
|||||||
|
|
||||||
package net.underdesk.circolapp.adapters
|
package net.underdesk.circolapp.adapters
|
||||||
|
|
||||||
|
import android.app.DownloadManager
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
|
import android.os.Environment
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.widget.ImageButton
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import kotlinx.android.synthetic.main.item_circular.view.*
|
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 title: TextView = view.circular_title_textview
|
||||||
var number: TextView = view.circular_number_textview
|
var number: TextView = view.circular_number_textview
|
||||||
var date: TextView = view.circular_date_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 {
|
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.number.text = context.getString(R.string.notification_title, circulars[position].id)
|
||||||
holder.title.text = circulars[position].name
|
holder.title.text = circulars[position].name
|
||||||
holder.date.text = circulars[position].date
|
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
|
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_marginStart="8dp"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginTop="4dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
app:layout_constraintBottom_toTopOf="@+id/circular_view_button"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/circular_number_textview" />
|
app:layout_constraintTop_toBottomOf="@+id/circular_number_textview" />
|
||||||
@@ -45,6 +44,54 @@
|
|||||||
app:layout_constraintStart_toEndOf="@+id/circular_number_textview"
|
app:layout_constraintStart_toEndOf="@+id/circular_number_textview"
|
||||||
app:layout_constraintTop_toTopOf="@+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.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
Reference in New Issue
Block a user