1
1
package com.hsmnzaydn.waaperhd.ui.image_detail
2
2
3
+ import android.Manifest
4
+ import android.content.Intent
5
+ import android.graphics.Bitmap
6
+ import android.net.Uri
3
7
import android.os.Bundle
8
+ import android.os.Environment
9
+ import android.util.Log
4
10
import com.basefy.base_mvp.BaseFragment
5
11
import com.basefy.core_utility.CoreImageloaderUtility
6
12
import com.hsmnzaydn.waaperhd.databinding.FragmentImageDetailBinding
7
13
import com.hsmnzaydn.waaperhd.ui.controller
8
14
import com.hsmnzaydn.waaperhd.utility.BundleConstant
9
- import ozaydin.serkan.com.image_zoom_view.ImageViewZoomConfig
10
- import ozaydin.serkan.com.image_zoom_view.ImageViewZoomConfig.ImageViewZoomConfigSaveMethod
15
+ import com.karumi.dexter.Dexter
16
+ import com.karumi.dexter.MultiplePermissionsReport
17
+ import com.karumi.dexter.PermissionToken
18
+ import com.karumi.dexter.listener.PermissionDeniedResponse
19
+ import com.karumi.dexter.listener.PermissionGrantedResponse
20
+ import com.karumi.dexter.listener.PermissionRequest
21
+ import com.karumi.dexter.listener.multi.MultiplePermissionsListener
22
+ import com.karumi.dexter.listener.single.PermissionListener
23
+ import kotlinx.android.synthetic.main.fragment_image_detail.*
24
+ import java.io.File
25
+ import java.io.FileOutputStream
26
+ import java.util.*
11
27
import javax.inject.Inject
12
28
13
29
@@ -23,28 +39,100 @@ class ImageDetailFragment : BaseFragment<FragmentImageDetailBinding>(), ImageDet
23
39
24
40
25
41
presenter.getImage(arguments?.getString(BundleConstant .IMAGE_ID_BUNDLE ))
26
- var config = ImageViewZoomConfig ()
27
-
28
- val imageViewZoomConfigSaveMethod =
29
- ImageViewZoomConfigSaveMethod .always // You can use always
30
-
31
- config.setImageViewZoomConfigSaveMethod(imageViewZoomConfigSaveMethod)
32
-
33
-
34
- binding!! .fragmentDetailImageViewZoom.setConfig(config)
35
-
36
42
binding?.fragmentImageDetailToolbar!! .onClickBackIcon(controller)
37
43
38
44
39
-
40
45
}
41
46
42
47
override fun setImageData (image : com.hsmnzaydn.waaperhd.image.domain.entities.Image .ImageDetail ? ) {
43
- CoreImageloaderUtility .imageLoaderWithCacheFitWithLoading(
48
+ CoreImageloaderUtility .imageLoaderWithCacheFitWithLoading(
44
49
activity!! , image?.imagePath,
45
- binding!! .fragmentDetailImageViewZoom,
46
- binding!! .fragmentImageDetailProgressbar
47
- )
50
+ binding!! .fragmentDetailImageViewZoom,
51
+ binding!! .fragmentImageDetailProgressbar
52
+ )
53
+
54
+ fragment_image_detail_floatActionButton.setOnClickListener {
55
+
56
+ CoreImageloaderUtility .getImageBitmap(
57
+ activity!! ,
58
+ image!! .imagePath!! ,
59
+ fileCallback = {
60
+ var filename = UUID .randomUUID()
61
+ var file =
62
+ File (Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_PICTURES ).getAbsolutePath().toString() + File .separator + " folderName" )
63
+ if (! file.exists()) {
64
+ file.mkdir()
65
+ }
66
+ file =
67
+ File (Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_PICTURES ).getAbsolutePath().toString() + File .separator + " folderName" + File .separator + filename + " .jpg" )
68
+ try {
69
+ val out = FileOutputStream (file)
70
+ it.compress(Bitmap .CompressFormat .PNG , 90 , out )
71
+ out .flush()
72
+ out .close()
73
+
74
+ val intentShareFile = Intent (Intent .ACTION_SEND )
75
+
76
+ if (file.exists()) {
77
+ intentShareFile.type = " application/pdf"
78
+ intentShareFile.putExtra(
79
+ Intent .EXTRA_STREAM ,
80
+ Uri .parse(" file://${file.absolutePath} " )
81
+ )
82
+ intentShareFile.putExtra(
83
+ Intent .EXTRA_SUBJECT ,
84
+ " Sharing File..."
85
+ )
86
+ intentShareFile.putExtra(
87
+ Intent .EXTRA_TEXT ,
88
+ " Sharing File..."
89
+ )
90
+ startActivity(
91
+ Intent .createChooser(
92
+ intentShareFile,
93
+ " Share File"
94
+ )
95
+ )
96
+ }
97
+ } catch (exception: Exception ) {
98
+ exception.printStackTrace()
99
+ Log .e(" ImageViewZoom" , exception.message)
100
+
101
+ }
102
+ })
103
+ Dexter .withContext(activity)
104
+ .withPermissions(Manifest .permission.WRITE_EXTERNAL_STORAGE ,
105
+ Manifest .permission.READ_EXTERNAL_STORAGE )
106
+ .withListener(object : PermissionListener , MultiplePermissionsListener {
107
+ override fun onPermissionGranted (p0 : PermissionGrantedResponse ? ) {
108
+
109
+
110
+
111
+ }
112
+
113
+ override fun onPermissionRationaleShouldBeShown (
114
+ p0 : PermissionRequest ? ,
115
+ p1 : PermissionToken ?
116
+ ) {
117
+ Log .d(" veri" ," veri" )
118
+ }
119
+
120
+ override fun onPermissionDenied (p0 : PermissionDeniedResponse ? ) {
121
+ Log .d(" veri" ," veri" )
122
+ }
123
+
124
+ override fun onPermissionsChecked (p0 : MultiplePermissionsReport ? ) {
125
+ }
126
+
127
+ override fun onPermissionRationaleShouldBeShown (
128
+ p0 : MutableList <PermissionRequest >? ,
129
+ p1 : PermissionToken ?
130
+ ) {
131
+
132
+ }
133
+ })
134
+
135
+ }
48
136
49
137
}
50
138
0 commit comments