Skip to content

Commit 8a63144

Browse files
Merge pull request commons-app#256 from misaochan/fix-nearby-bugs
Fix bugs with Nearby NPE and switch statements falling through
2 parents 03c5896 + b3fd357 commit 8a63144

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
117117
if (ContextCompat.checkSelfPermission(this.getActivity(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
118118
//See http://stackoverflow.com/questions/33169455/onrequestpermissionsresult-not-being-called-in-dialog-fragment
119119
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
120-
return false;
120+
return true;
121121
} else {
122122
controller.startGalleryPick();
123123
return true;
@@ -155,15 +155,17 @@ public boolean onOptionsItemSelected(MenuItem item) {
155155
if (ContextCompat.checkSelfPermission(this.getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
156156
//See http://stackoverflow.com/questions/33169455/onrequestpermissionsresult-not-being-called-in-dialog-fragment
157157
requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 2);
158-
return false;
158+
return true;
159159
} else {
160160
Intent nearbyIntent = new Intent(getActivity(), NearbyActivity.class);
161161
startActivity(nearbyIntent);
162+
return true;
162163
}
163164
}
164165
else {
165166
Intent nearbyIntent = new Intent(getActivity(), NearbyActivity.class);
166167
startActivity(nearbyIntent);
168+
return true;
167169
}
168170
case R.id.menu_refresh:
169171
((SourceRefresher)getActivity()).refreshSource();
@@ -183,6 +185,7 @@ public void onRequestPermissionsResult(int requestCode, String permissions[], in
183185
controller.startGalleryPick();
184186
}
185187
}
188+
break;
186189
// 2 = Location allowed when 'nearby places' selected
187190
case 2: {
188191
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
@@ -191,6 +194,7 @@ public void onRequestPermissionsResult(int requestCode, String permissions[], in
191194
startActivity(nearbyIntent);
192195
}
193196
}
197+
break;
194198
}
195199
}
196200

app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,11 @@ private void lockScreenOrientation() {
165165
}
166166

167167
private void unlockScreenOrientation() {
168-
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
168+
try {
169+
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
170+
} catch (NullPointerException e){
171+
Log.e(TAG, "NPE: ", e);
172+
}
169173
}
170174

171175
private class NearbyAdapter extends ArrayAdapter<Place> {

0 commit comments

Comments
 (0)