Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Room Park Android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vladislav Bogdashkin
Room Park Android
Commits
f227fe02
Commit
f227fe02
authored
Mar 23, 2020
by
Vladislav Bogdashkin
🎣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
layout for share refactored
parent
76e62401
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
75 additions
and
16 deletions
+75
-16
ScreenController.kt
...al/roompark/presentation/screen/photo/ScreenController.kt
+58
-0
PhotoViewAdapter.kt
...ompark/presentation/screen/photo/util/PhotoViewAdapter.kt
+2
-0
photo_view_screen.xml
app/src/main/res/layout/photo_view_screen.xml
+14
-16
strings.xml
app/src/main/res/values/strings.xml
+1
-0
No files found.
app/src/main/java/com/biganto/visual/roompark/presentation/screen/photo/ScreenController.kt
View file @
f227fe02
package
com.biganto.visual.roompark.presentation.screen.photo
package
com.biganto.visual.roompark.presentation.screen.photo
import
android.content.Intent
import
android.graphics.Bitmap
import
android.graphics.drawable.Drawable
import
android.net.Uri
import
android.os.Bundle
import
android.os.Bundle
import
android.view.View
import
android.view.View
import
android.view.WindowManager
import
android.view.WindowManager
...
@@ -14,11 +18,16 @@ import com.biganto.visual.roompark.base.RoomParkMainActivity
...
@@ -14,11 +18,16 @@ import com.biganto.visual.roompark.base.RoomParkMainActivity
import
com.biganto.visual.roompark.conductor.BigantoBaseController
import
com.biganto.visual.roompark.conductor.BigantoBaseController
import
com.biganto.visual.roompark.conductor.dialogs.ChooseResolutionDialogController
import
com.biganto.visual.roompark.conductor.dialogs.ChooseResolutionDialogController
import
com.biganto.visual.roompark.conductor.dialogs.change_handler.DialogChangeHandler
import
com.biganto.visual.roompark.conductor.dialogs.change_handler.DialogChangeHandler
import
com.biganto.visual.roompark.data.repository.file.FileModule
import
com.biganto.visual.roompark.presentation.screen.photo.util.PhotoPreviewSlider
import
com.biganto.visual.roompark.presentation.screen.photo.util.PhotoPreviewSlider
import
com.biganto.visual.roompark.presentation.screen.photo.util.PhotosAdapter
import
com.biganto.visual.roompark.presentation.screen.photo.util.PhotosAdapter
import
com.bluelinelabs.conductor.RouterTransaction
import
com.bluelinelabs.conductor.RouterTransaction
import
com.bumptech.glide.Glide
import
com.bumptech.glide.request.target.CustomTarget
import
com.bumptech.glide.request.transition.Transition
import
com.google.android.material.textview.MaterialTextView
import
com.google.android.material.textview.MaterialTextView
import
timber.log.Timber
import
timber.log.Timber
import
java.io.FileOutputStream
import
javax.inject.Inject
import
javax.inject.Inject
...
@@ -68,6 +77,55 @@ class PhotoScreenController :
...
@@ -68,6 +77,55 @@ class PhotoScreenController :
handleBack
()
handleBack
()
}
}
@OnClick
(
R
.
id
.
share_image_button
)
fun
onShareImage
(){
val
img
=
(
photoViewPager
.
adapter
as
PhotosAdapter
)
.
getCurrentItem
(
photoViewPager
.
currentItem
)
.
resolutionList
.
maxBy
{
it
.
resHeight
*
it
.
resWidth
}
?.
url
?:
""
Timber
.
d
(
" sssssssssss $img"
)
Glide
.
with
(
photoViewPager
)
.
asBitmap
()
.
load
(
img
)
.
into
(
object
:
CustomTarget
<
Bitmap
>(){
override
fun
onResourceReady
(
resource
:
Bitmap
,
transition
:
Transition
<
in
Bitmap
>?)
{
Timber
.
d
(
" eeee $img"
)
val
uri
=
writeFile
(
"${img.hashCode()}.jpg"
,
resource
)
Timber
.
d
(
" zzz zz zz $uri"
)
Timber
.
d
(
" zzz zz zz ${Uri.parse(uri)}"
)
val
shareIntent
:
Intent
=
Intent
().
apply
{
action
=
Intent
.
ACTION_SEND
putExtra
(
Intent
.
EXTRA_STREAM
,
Uri
.
parse
(
uri
))
putExtra
(
Intent
.
EXTRA_SUBJECT
,
"subject"
);
putExtra
(
Intent
.
EXTRA_TITLE
,
"room park"
);
addFlags
(
Intent
.
FLAG_GRANT_READ_URI_PERMISSION
);
addFlags
(
Intent
.
FLAG_GRANT_WRITE_URI_PERMISSION
);
type
=
"image/jpeg"
;
}
startActivity
(
Intent
.
createChooser
(
shareIntent
,
resources
?.
getText
(
R
.
string
.
share_house_photo
)))
}
override
fun
onLoadCleared
(
placeholder
:
Drawable
?)
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
}
})
}
private
fun
writeFile
(
fileName
:
String
?,
bitmap
:
Bitmap
):
String
{
val
f
=
FileModule
.
getDirectory
(
activity
!!
,
FileModule
.
FileDirectory
.
Albums
(
fileName
))
val
outputStream
=
FileOutputStream
(
f
)
outputStream
.
use
{
bitmap
.
compress
(
Bitmap
.
CompressFormat
.
JPEG
,
100
,
it
)
it
.
flush
()
}
return
f
.
absolutePath
}
override
fun
onAttach
(
view
:
View
)
{
override
fun
onAttach
(
view
:
View
)
{
// tempSystemUiFlag = activity?.window?.decorView?.systemUiVisibility
// tempSystemUiFlag = activity?.window?.decorView?.systemUiVisibility
super
.
onAttach
(
view
)
super
.
onAttach
(
view
)
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/photo/util/PhotoViewAdapter.kt
View file @
f227fe02
...
@@ -34,6 +34,8 @@ class PhotosAdapter : CommonRecyclerAdapter<PhotosViewHolder, PhotoModel>() {
...
@@ -34,6 +34,8 @@ class PhotosAdapter : CommonRecyclerAdapter<PhotosViewHolder, PhotoModel>() {
fun
indexById
(
id
:
Int
):
Int
=
list
.
indexOfFirst
{
it
.
photoId
==
id
}
fun
indexById
(
id
:
Int
):
Int
=
list
.
indexOfFirst
{
it
.
photoId
==
id
}
fun
getCurrentItem
(
pos
:
Int
)
=
list
[
pos
]
override
val
vhKlazz
=
PhotosViewHolder
::
class
override
val
vhKlazz
=
PhotosViewHolder
::
class
...
...
app/src/main/res/layout/photo_view_screen.xml
View file @
f227fe02
...
@@ -52,28 +52,26 @@
...
@@ -52,28 +52,26 @@
app:layout_constraintGuide_end=
"80dp"
/>
app:layout_constraintGuide_end=
"80dp"
/>
<ImageView
<ImageView
android:id=
"@+id/sh
ow_full
_button"
android:id=
"@+id/sh
are_image
_button"
android:layout_width=
"
24
dp"
android:layout_width=
"
40
dp"
android:layout_height=
"
24
dp"
android:layout_height=
"
0
dp"
android:layout_marginStart=
"
16
dp"
android:layout_marginStart=
"
8
dp"
android:layout_marginTop=
"1
6
dp"
android:layout_marginTop=
"1
2
dp"
a
pp:layout_constraintBottom_toBottomOf=
"parent
"
a
ndroid:padding=
"8dp
"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@+id/guideline2"
app:layout_constraintTop_toTopOf=
"@+id/guideline2"
app:layout_constraintVertical_bias=
"0.0"
app:srcCompat=
"@drawable/ic_share"
/>
app:srcCompat=
"@drawable/iic_full_view"
/>
<ImageView
<ImageView
android:id=
"@+id/choose_size_button"
android:id=
"@+id/choose_size_button"
android:layout_width=
"
24
dp"
android:layout_width=
"
40
dp"
android:layout_height=
"
24
dp"
android:layout_height=
"
0
dp"
android:layout_marginTop=
"1
6
dp"
android:layout_marginTop=
"1
2
dp"
android:layout_marginEnd=
"
16
dp"
android:layout_marginEnd=
"
8
dp"
a
pp:layout_constraintBottom_toBottomOf=
"parent
"
a
ndroid:padding=
"8dp
"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@+id/guideline2"
app:layout_constraintTop_toTopOf=
"@+id/guideline2"
app:layout_constraintVertical_bias=
"0.0"
app:srcCompat=
"@drawable/ic_ratio"
/>
app:srcCompat=
"@drawable/iic_full_view"
/>
<com.biganto.visual.roompark.presentation.screen.photo.util.PhotoPreviewSlider
<com.biganto.visual.roompark.presentation.screen.photo.util.PhotoPreviewSlider
android:id=
"@+id/photosPreviewSlider"
android:id=
"@+id/photosPreviewSlider"
...
@@ -87,7 +85,7 @@
...
@@ -87,7 +85,7 @@
android:visibility=
"invisible"
android:visibility=
"invisible"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/choose_size_button"
app:layout_constraintEnd_toStartOf=
"@+id/choose_size_button"
app:layout_constraintStart_toEndOf=
"@+id/sh
ow_full
_button"
app:layout_constraintStart_toEndOf=
"@+id/sh
are_image
_button"
app:layout_constraintTop_toTopOf=
"@+id/guideline2"
app:layout_constraintTop_toTopOf=
"@+id/guideline2"
app:layout_constraintVertical_bias=
"0.0"
/>
app:layout_constraintVertical_bias=
"0.0"
/>
...
...
app/src/main/res/values/strings.xml
View file @
f227fe02
...
@@ -91,6 +91,7 @@
...
@@ -91,6 +91,7 @@
<string
name=
"estate_type_other_short"
>
ОБ.%s
</string>
<string
name=
"estate_type_other_short"
>
ОБ.%s
</string>
<string
name=
"tour_not_allowed"
>
Запуск туров пока недоступен!
</string>
<string
name=
"tour_not_allowed"
>
Запуск туров пока недоступен!
</string>
<string
name=
"content_description_close"
>
Close
</string>
<string
name=
"content_description_close"
>
Close
</string>
<string
name=
"share_house_photo"
>
Поделиться изображением
</string>
<!--endregion-->
<!--endregion-->
</resources>
</resources>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment