44import android .content .Context ;
55import android .content .Intent ;
66import android .os .Bundle ;
7+ import android .view .Menu ;
8+ import android .view .MenuInflater ;
9+ import android .view .MenuItem ;
10+ import android .view .MotionEvent ;
711import android .view .View ;
812import android .widget .Button ;
9- import android .widget .ImageView ;
1013import android .widget .ProgressBar ;
1114import android .widget .TextView ;
12-
13- import com .facebook .drawee .view .SimpleDraweeView ;
14- import com .google .android .material .navigation .NavigationView ;
15- import com .viewpagerindicator .CirclePageIndicator ;
16-
17- import java .util .ArrayList ;
18-
19- import javax .inject .Inject ;
20-
2115import androidx .appcompat .widget .Toolbar ;
2216import androidx .drawerlayout .widget .DrawerLayout ;
2317import butterknife .BindView ;
2418import butterknife .ButterKnife ;
19+ import com .facebook .drawee .view .SimpleDraweeView ;
20+ import com .google .android .material .navigation .NavigationView ;
21+ import com .viewpagerindicator .CirclePageIndicator ;
2522import fr .free .nrw .commons .Media ;
2623import fr .free .nrw .commons .R ;
2724import fr .free .nrw .commons .auth .AuthenticatedActivity ;
3229import io .reactivex .android .schedulers .AndroidSchedulers ;
3330import io .reactivex .disposables .CompositeDisposable ;
3431import io .reactivex .schedulers .Schedulers ;
32+ import java .util .ArrayList ;
33+ import javax .inject .Inject ;
3534
3635public class ReviewActivity extends AuthenticatedActivity {
3736
38- @ BindView (R .id .reviewPagerIndicator )
37+ @ BindView (R .id .pager_indicator_review )
3938 public CirclePageIndicator pagerIndicator ;
4039 @ BindView (R .id .toolbar )
4140 Toolbar toolbar ;
4241 @ BindView (R .id .navigation_view )
4342 NavigationView navigationView ;
4443 @ BindView (R .id .drawer_layout )
4544 DrawerLayout drawerLayout ;
46- @ BindView (R .id .reviewPager )
45+ @ BindView (R .id .view_pager_review )
4746 ReviewViewPager reviewPager ;
4847 @ BindView (R .id .skip_image )
49- Button skip_image_button ;
50- @ BindView (R .id .imageView )
48+ Button btnSkipImage ;
49+ @ BindView (R .id .review_image_view )
5150 SimpleDraweeView simpleDraweeView ;
52- @ BindView (R .id .progressBar )
51+ @ BindView (R .id .pb_review_image )
5352 ProgressBar progressBar ;
54- @ BindView (R .id .imageCaption )
53+ @ BindView (R .id .tv_image_caption )
5554 TextView imageCaption ;
56- @ BindView (R .id .skip_image_info )
57- ImageView skipImageInfo ;
58- @ BindView (R .id .review_image_info )
59- ImageView reviewImageInfo ;
6055 public ReviewPagerAdapter reviewPagerAdapter ;
6156 public ReviewController reviewController ;
6257 @ Inject
@@ -96,6 +91,7 @@ protected void onCreate(Bundle savedInstanceState) {
9691 super .onCreate (savedInstanceState );
9792 setContentView (R .layout .activity_review );
9893 ButterKnife .bind (this );
94+ setSupportActionBar (toolbar );
9995 initDrawer ();
10096
10197 reviewController = new ReviewController (deleteHelper , this );
@@ -108,9 +104,17 @@ protected void onCreate(Bundle savedInstanceState) {
108104
109105 runRandomizer (); //Run randomizer whenever everything is ready so that a first random image will be added
110106
111- skip_image_button .setOnClickListener (view -> runRandomizer ());
112- skipImageInfo .setOnClickListener (view -> showSkipImageInfo ());
113- reviewImageInfo .setOnClickListener (view -> showReviewImageInfo ());
107+ btnSkipImage .setOnClickListener (view -> runRandomizer ());
108+
109+ btnSkipImage .setOnTouchListener ((view , event ) -> {
110+ if (event .getAction () == MotionEvent .ACTION_UP && event .getRawX () >= (
111+ btnSkipImage .getRight () - btnSkipImage
112+ .getCompoundDrawables ()[2 ].getBounds ().width ())) {
113+ showSkipImageInfo ();
114+ return true ;
115+ }
116+ return false ;
117+ });
114118 }
115119
116120 @ SuppressLint ("CheckResult" )
@@ -187,4 +191,22 @@ public void showReviewImageInfo() {
187191 null ,
188192 null );
189193 }
194+
195+
196+ @ Override
197+ public boolean onCreateOptionsMenu (Menu menu ) {
198+ MenuInflater inflater = getMenuInflater ();
199+ inflater .inflate (R .menu .menu_review_activty , menu );
200+ return super .onCreateOptionsMenu (menu );
201+ }
202+
203+ @ Override
204+ public boolean onOptionsItemSelected (MenuItem item ) {
205+ switch (item .getItemId ()) {
206+ case R .id .menu_image_info :
207+ showReviewImageInfo ();
208+ return true ;
209+ }
210+ return super .onOptionsItemSelected (item );
211+ }
190212}
0 commit comments