1
1
package com .hotbitmapgg .moequest .module .commonality ;
2
2
3
- import android .Manifest ;
4
- import android .content .DialogInterface ;
5
- import android .net .Uri ;
6
- import android .os .Bundle ;
7
- import android .os .Environment ;
8
- import android .support .v7 .app .AlertDialog ;
9
- import android .view .View ;
10
- import android .widget .ImageView ;
11
- import android .widget .TextView ;
12
- import android .widget .Toast ;
13
-
3
+ import butterknife .Bind ;
14
4
import com .bumptech .glide .Glide ;
15
5
import com .bumptech .glide .load .engine .DiskCacheStrategy ;
16
6
import com .bumptech .glide .load .resource .drawable .GlideDrawable ;
22
12
import com .hotbitmapgg .moequest .utils .ConstantUtil ;
23
13
import com .hotbitmapgg .moequest .utils .GlideDownloadImageUtil ;
24
14
import com .tbruyelle .rxpermissions .RxPermissions ;
25
-
26
15
import java .io .File ;
27
-
28
- import butterknife .Bind ;
29
16
import rx .Observable ;
30
17
import rx .android .schedulers .AndroidSchedulers ;
31
- import rx .functions .Action1 ;
32
18
import rx .functions .Func1 ;
33
19
import rx .schedulers .Schedulers ;
34
20
import uk .co .senab .photoview .PhotoViewAttacher ;
35
21
22
+ import android .Manifest ;
23
+ import android .net .Uri ;
24
+ import android .os .Bundle ;
25
+ import android .os .Environment ;
26
+ import android .support .v7 .app .AlertDialog ;
27
+ import android .view .View ;
28
+ import android .widget .ImageView ;
29
+ import android .widget .TextView ;
30
+ import android .widget .Toast ;
31
+
36
32
/**
37
33
* Created by hcc on 16/7/5 21:14
38
34
@@ -89,18 +85,11 @@ public void initViews() {
89
85
private void saveImageToGallery () {
90
86
91
87
Observable .just (R .string .app_name )
92
- .compose (this .< Integer > bindToLifecycle ())
88
+ .compose (this .bindToLifecycle ())
93
89
.compose (RxPermissions .getInstance (getActivity ())
94
90
.ensure (Manifest .permission .WRITE_EXTERNAL_STORAGE ))
95
91
.observeOn (Schedulers .io ())
96
- .filter (new Func1 <Boolean , Boolean >() {
97
-
98
- @ Override
99
- public Boolean call (Boolean aBoolean ) {
100
-
101
- return aBoolean ;
102
- }
103
- })
92
+ .filter (aBoolean -> aBoolean )
104
93
.flatMap (new Func1 <Boolean , Observable <Uri >>() {
105
94
106
95
@ Override
@@ -110,23 +99,15 @@ public Observable<Uri> call(Boolean aBoolean) {
110
99
}
111
100
})
112
101
.observeOn (AndroidSchedulers .mainThread ())
113
- .subscribe (new Action1 <Uri >() {
114
-
115
- @ Override
116
- public void call (Uri uri ) {
117
-
118
- File appDir = new File (Environment .getExternalStorageDirectory (),
119
- ConstantUtil .FILE_DIR );
120
- String msg = String .format ("图片已保存至 %s 文件夹" , appDir .getAbsolutePath ());
121
- Toast .makeText (getActivity (), msg , Toast .LENGTH_SHORT ).show ();
122
- }
123
- }, new Action1 <Throwable >() {
102
+ .subscribe (uri -> {
124
103
125
- @ Override
126
- public void call (Throwable throwable ) {
104
+ File appDir = new File (Environment .getExternalStorageDirectory (),
105
+ ConstantUtil .FILE_DIR );
106
+ String msg = String .format ("图片已保存至 %s 文件夹" , appDir .getAbsolutePath ());
107
+ Toast .makeText (getActivity (), msg , Toast .LENGTH_SHORT ).show ();
108
+ }, throwable -> {
127
109
128
- Toast .makeText (getActivity (), "保存失败,请重试" , Toast .LENGTH_SHORT ).show ();
129
- }
110
+ Toast .makeText (getActivity (), "保存失败,请重试" , Toast .LENGTH_SHORT ).show ();
130
111
});
131
112
}
132
113
@@ -154,51 +135,23 @@ public boolean onResourceReady(GlideDrawable resource, String model,
154
135
155
136
156
137
private void setPhotoViewAttacher () {
157
- mPhotoViewAttacher .setOnLongClickListener (new View .OnLongClickListener () {
158
-
159
- @ Override
160
- public boolean onLongClick (View v ) {
161
-
162
- new AlertDialog .Builder (getActivity ())
163
- .setMessage ("是否保存到本地?" )
164
- .setNegativeButton ("取消" , new DialogInterface .OnClickListener () {
165
-
166
- @ Override
167
- public void onClick (DialogInterface dialog , int which ) {
168
-
169
- dialog .cancel ();
170
- }
171
- })
172
- .setPositiveButton ("确定" , new DialogInterface .OnClickListener () {
173
-
174
- @ Override
175
- public void onClick (DialogInterface dialog , int which ) {
176
-
177
- saveImageToGallery ();
178
- dialog .dismiss ();
179
- }
180
- })
181
- .show ();
182
-
183
- return true ;
184
- }
138
+ mPhotoViewAttacher .setOnLongClickListener (v -> {
139
+
140
+ new AlertDialog .Builder (getActivity ())
141
+ .setMessage ("是否保存到本地?" )
142
+ .setNegativeButton ("取消" , (dialog , which ) -> dialog .cancel ())
143
+ .setPositiveButton ("确定" , (dialog , which ) -> {
144
+ saveImageToGallery ();
145
+ dialog .dismiss ();
146
+ })
147
+ .show ();
148
+
149
+ return true ;
185
150
});
186
151
187
- mPhotoViewAttacher .setOnViewTapListener (new PhotoViewAttacher .OnViewTapListener () {
188
-
189
- @ Override
190
- public void onViewTap (View view , float v , float v1 ) {
191
- RxBus .getInstance ().post ("hideAppBar" );
192
- }
193
- });
194
-
195
- mImageError .setOnClickListener (new View .OnClickListener () {
196
-
197
- @ Override
198
- public void onClick (View v ) {
199
- RxBus .getInstance ().post ("hideAppBar" );
200
- }
201
- });
152
+ mPhotoViewAttacher .setOnViewTapListener (
153
+ (view , v , v1 ) -> RxBus .getInstance ().post ("hideAppBar" ));
154
+ mImageError .setOnClickListener (v -> RxBus .getInstance ().post ("hideAppBar" ));
202
155
}
203
156
204
157
0 commit comments