Move photo pin drawable to xml layout

Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
This commit is contained in:
ZetaTom 2023-09-04 11:19:52 +02:00 committed by Andy Scherzinger
parent 7212b092d6
commit fc5994c243
No known key found for this signature in database
GPG key ID: 6CADC7E3523C308B
3 changed files with 56 additions and 35 deletions

View file

@ -27,7 +27,6 @@ import android.graphics.drawable.LayerDrawable
import android.net.Uri
import android.os.Bundle
import android.os.Parcelable
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@ -246,7 +245,7 @@ class ImageDetailFragment : Fragment(), Injectable {
}
val markerOverlay = ItemizedIconOverlay(
mutableListOf(OverlayItem("Location", "", location)),
mutableListOf(OverlayItem(null, null, location)),
imagePinDrawable(context),
markerOnGestureListener(latitude, longitude),
context
@ -340,28 +339,16 @@ class ImageDetailFragment : Fragment(), Injectable {
}
}
@Suppress("MagicNumber")
private fun imagePinDrawable(context: Context): LayerDrawable {
val drawable = ContextCompat.getDrawable(context, R.drawable.photo_pin) as LayerDrawable
val bitmap =
ThumbnailsCacheManager.getBitmapFromDiskCache(ThumbnailsCacheManager.PREFIX_THUMBNAIL + file.remoteId)
val foreground = BitmapUtils.bitmapToCircularBitmapDrawable(resources, bitmap)
val background = ContextCompat.getDrawable(context, R.drawable.photo_pin)
val layerDrawable = if (foreground != null) {
LayerDrawable(arrayOf(background, foreground))
} else {
val d = ContextCompat.getDrawable(context, R.drawable.file_image)
LayerDrawable(arrayOf(background, d))
BitmapUtils.bitmapToCircularBitmapDrawable(resources, bitmap)?.let {
drawable.setDrawable(1, it)
}
val dp = DisplayUtils.convertDpToPixel(2f, context)
layerDrawable.apply {
setLayerSize(1, 38 * dp, 38 * dp)
setLayerSize(0, 40 * dp, 47 * dp)
setLayerInsetTop(1, dp)
setLayerGravity(1, Gravity.CENTER_HORIZONTAL)
}
return layerDrawable
return drawable
}
/**

View file

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Nextcloud Android client application
@ -18,19 +19,16 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="40dp"
android:height="46.61dp"
android:viewportWidth="40"
android:viewportHeight="46.61">
<path
android:fillColor="@color/grey_600"
android:pathData="M1.523,20a18.477,18.477 0,1 0,36.954 0a18.477,18.477 0,1 0,-36.954 0z"
android:strokeWidth="3.0454"
android:strokeColor="@color/grey_600" />
<path
android:fillColor="@color/grey_600"
android:pathData="m1.5,20c0,17.795 18.5,25 18.5,25s18.5,-7.205 18.5,-25"
android:strokeWidth="3"
android:strokeColor="@color/grey_600" />
</vector>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:width="80dp"
android:height="94dp"
android:drawable="@drawable/photo_pin_background" />
<item
android:id="@+id/photo_pin_image"
android:width="76dp"
android:height="76dp"
android:drawable="@drawable/outline_image_24"
android:gravity="center_horizontal"
android:top="2dp" />
</layer-list>

View file

@ -0,0 +1,36 @@
<!--
Nextcloud Android client application
@author ZetaTom
Copyright (C) 2023 ZetaTom
Copyright (C) 2023 Nextcloud GmbH
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="40dp"
android:height="46.61dp"
android:viewportWidth="40"
android:viewportHeight="46.61">
<path
android:fillColor="@color/grey_600"
android:pathData="M1.523,20a18.477,18.477 0,1 0,36.954 0a18.477,18.477 0,1 0,-36.954 0z"
android:strokeWidth="3.0454"
android:strokeColor="@color/grey_600" />
<path
android:fillColor="@color/grey_600"
android:pathData="m1.5,20c0,17.795 18.5,25 18.5,25s18.5,-7.205 18.5,-25"
android:strokeWidth="3"
android:strokeColor="@color/grey_600" />
</vector>