Skip to content

Commit 0fdb004

Browse files
authored
Migrated util module from Java to Kotlin (#5938)
* Rename .java to .kt * Migrated the following files in util module to Kotlin - AbstractTextWatcher - ActivityUtils - CommonsDateUtil - DateUtil * Rename .java to .kt * Migrated the following files in util module to Kotlin - DeviceInfoUtil - ExecutorUtils - FragmentUtils * Rename .java to .kt * Migrated the following files in util module to Kotlin - ImageUtils - ImageUtilsWrapper - LangCodeUtils - LayoutUtils - LengthUtils - LocationUtils - MapUtils * Rename .java to .kt * Migrated all remaining files in util module
1 parent c439143 commit 0fdb004

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1651
-1647
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void initiateCameraPick(Activity activity,
8787
},
8888
R.string.storage_permission_title,
8989
R.string.write_storage_permission_rationale,
90-
PermissionUtils.PERMISSIONS_STORAGE);
90+
PermissionUtils.getPERMISSIONS_STORAGE());
9191
}
9292

9393
/**
@@ -224,7 +224,7 @@ public void initiateCustomGalleryPickWithPermission(final Activity activity, Act
224224
() -> FilePicker.openCustomSelector(activity, resultLauncher, 0),
225225
R.string.storage_permission_title,
226226
R.string.write_storage_permission_rationale,
227-
PermissionUtils.PERMISSIONS_STORAGE);
227+
PermissionUtils.getPERMISSIONS_STORAGE());
228228
}
229229

230230

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import static fr.free.nrw.commons.contributions.Contribution.STATE_PAUSED;
66
import static fr.free.nrw.commons.nearby.fragments.NearbyParentFragment.WLM_URL;
77
import static fr.free.nrw.commons.profile.ProfileActivity.KEY_USERNAME;
8-
import static fr.free.nrw.commons.utils.ImageUtils.IMAGE_OK;
98
import static fr.free.nrw.commons.utils.LengthUtils.computeBearing;
109
import static fr.free.nrw.commons.utils.LengthUtils.formatDistanceBetween;
1110

@@ -23,12 +22,10 @@
2322
import android.view.Menu;
2423
import android.view.MenuInflater;
2524
import android.view.MenuItem;
26-
import android.view.MenuItem.OnMenuItemClickListener;
2725
import android.view.View;
2826
import android.view.ViewGroup;
2927
import android.widget.CheckBox;
3028
import android.widget.ImageView;
31-
import android.widget.LinearLayout;
3229
import android.widget.TextView;
3330
import android.widget.Toast;
3431
import androidx.activity.result.ActivityResultCallback;
@@ -39,7 +36,6 @@
3936
import androidx.fragment.app.Fragment;
4037
import androidx.fragment.app.FragmentManager.OnBackStackChangedListener;
4138
import androidx.fragment.app.FragmentTransaction;
42-
import fr.free.nrw.commons.CommonsApplication;
4339
import fr.free.nrw.commons.Utils;
4440
import fr.free.nrw.commons.auth.SessionManager;
4541
import fr.free.nrw.commons.databinding.FragmentContributionsBinding;

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
package fr.free.nrw.commons.contributions;
22

3-
import android.Manifest.permission;
43
import android.annotation.SuppressLint;
54
import android.app.Activity;
65
import android.content.Context;
76
import android.content.Intent;
87
import android.content.SharedPreferences;
9-
import android.os.Build.VERSION;
10-
import android.os.Build.VERSION_CODES;
118
import android.os.Bundle;
129
import android.view.Menu;
1310
import android.view.MenuItem;
@@ -16,10 +13,8 @@
1613
import androidx.annotation.Nullable;
1714
import androidx.fragment.app.Fragment;
1815
import androidx.fragment.app.FragmentManager;
19-
import androidx.viewpager.widget.ViewPager;
2016
import androidx.work.ExistingWorkPolicy;
2117
import fr.free.nrw.commons.databinding.MainBinding;
22-
import fr.free.nrw.commons.CommonsApplication;
2318
import fr.free.nrw.commons.R;
2419
import fr.free.nrw.commons.WelcomeActivity;
2520
import fr.free.nrw.commons.auth.SessionManager;
@@ -41,7 +36,6 @@
4136
import fr.free.nrw.commons.quiz.QuizChecker;
4237
import fr.free.nrw.commons.settings.SettingsFragment;
4338
import fr.free.nrw.commons.theme.BaseActivity;
44-
import fr.free.nrw.commons.upload.UploadActivity;
4539
import fr.free.nrw.commons.upload.UploadProgressActivity;
4640
import fr.free.nrw.commons.upload.worker.WorkRequestHelper;
4741
import fr.free.nrw.commons.utils.PermissionUtils;

app/src/main/java/fr/free/nrw/commons/delete/DeleteHelper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package fr.free.nrw.commons.delete;
22

33
import static fr.free.nrw.commons.notification.NotificationHelper.NOTIFICATION_DELETE;
4+
import static fr.free.nrw.commons.utils.LangCodeUtils.getLocalizedResources;
45

56
import android.annotation.SuppressLint;
67
import android.content.Context;
7-
import static fr.free.nrw.commons.utils.LangCodeUtils.getLocalizedResources;
88
import android.content.DialogInterface;
99
import android.content.Intent;
1010
import android.net.Uri;
@@ -16,6 +16,7 @@
1616
import fr.free.nrw.commons.auth.csrf.InvalidLoginTokenException;
1717
import fr.free.nrw.commons.notification.NotificationHelper;
1818
import fr.free.nrw.commons.review.ReviewController;
19+
import fr.free.nrw.commons.utils.LangCodeUtils;
1920
import fr.free.nrw.commons.utils.ViewUtilWrapper;
2021
import io.reactivex.Observable;
2122
import io.reactivex.Single;

app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapFragment.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.LOCATION_SLIGHTLY_CHANGED;
55
import static fr.free.nrw.commons.utils.MapUtils.ZOOM_LEVEL;
66

7-
import android.Manifest;
87
import android.Manifest.permission;
98
import android.annotation.SuppressLint;
109
import android.content.BroadcastReceiver;
1110
import android.content.Context;
1211
import android.content.Intent;
1312
import android.content.IntentFilter;
14-
import android.content.pm.PackageManager;
1513
import android.graphics.Bitmap;
1614
import android.graphics.Color;
1715
import android.graphics.Paint;
@@ -21,22 +19,17 @@
2119
import android.location.LocationManager;
2220
import android.os.Bundle;
2321
import android.preference.PreferenceManager;
24-
import android.provider.Settings;
2522
import android.text.Html;
2623
import android.view.LayoutInflater;
2724
import android.view.View;
2825
import android.view.View.OnClickListener;
2926
import android.view.ViewGroup;
30-
import android.widget.Toast;
31-
import androidx.activity.result.ActivityResultCallback;
3227
import androidx.activity.result.ActivityResultLauncher;
3328
import androidx.activity.result.contract.ActivityResultContracts;
3429
import androidx.annotation.NonNull;
3530
import androidx.annotation.Nullable;
36-
import androidx.appcompat.widget.AppCompatTextView;
3731
import androidx.core.content.ContextCompat;
3832
import com.google.android.material.bottomsheet.BottomSheetBehavior;
39-
import com.google.android.material.floatingactionbutton.FloatingActionButton;
4033
import com.google.android.material.snackbar.Snackbar;
4134
import fr.free.nrw.commons.BaseMarker;
4235
import fr.free.nrw.commons.MapController;
@@ -48,7 +41,6 @@
4841
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
4942
import fr.free.nrw.commons.explore.ExploreMapRootFragment;
5043
import fr.free.nrw.commons.explore.paging.LiveDataConverter;
51-
import fr.free.nrw.commons.filepicker.Constants;
5244
import fr.free.nrw.commons.kvstore.JsonKvStore;
5345
import fr.free.nrw.commons.location.LatLng;
5446
import fr.free.nrw.commons.location.LocationPermissionsHelper;
@@ -60,7 +52,6 @@
6052
import fr.free.nrw.commons.utils.DialogUtil;
6153
import fr.free.nrw.commons.utils.MapUtils;
6254
import fr.free.nrw.commons.utils.NetworkUtils;
63-
import fr.free.nrw.commons.utils.PermissionUtils;
6455
import fr.free.nrw.commons.utils.SystemThemeUtils;
6556
import fr.free.nrw.commons.utils.ViewUtil;
6657
import io.reactivex.Observable;
@@ -310,7 +301,7 @@ private void unregisterNetworkReceiver() {
310301
}
311302

312303
private void startMapWithoutPermission() {
313-
lastKnownLocation = MapUtils.defaultLatLng;
304+
lastKnownLocation = MapUtils.getDefaultLatLng();
314305
moveCameraToPosition(
315306
new GeoPoint(lastKnownLocation.getLatitude(), lastKnownLocation.getLongitude()));
316307
presenter.onMapReady(exploreMapController);
@@ -331,7 +322,7 @@ private void performMapReadyActions() {
331322
!locationPermissionsHelper.checkLocationPermission(getActivity())) {
332323
isPermissionDenied = true;
333324
}
334-
lastKnownLocation = MapUtils.defaultLatLng;
325+
lastKnownLocation = MapUtils.getDefaultLatLng();
335326
moveCameraToPosition(
336327
new GeoPoint(lastKnownLocation.getLatitude(), lastKnownLocation.getLongitude()));
337328
presenter.onMapReady(exploreMapController);

app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ public void run() {
318318
}
319319

320320
public void launchZoomActivity(final View view) {
321-
final boolean hasPermission = PermissionUtils.hasPermission(getActivity(), PermissionUtils.PERMISSIONS_STORAGE);
321+
final boolean hasPermission = PermissionUtils.hasPermission(getActivity(), PermissionUtils.getPERMISSIONS_STORAGE());
322322
if (hasPermission) {
323323
launchZoomActivityAfterPermissionCheck(view);
324324
} else {
@@ -328,7 +328,7 @@ public void launchZoomActivity(final View view) {
328328
},
329329
R.string.storage_permission_title,
330330
R.string.read_storage_permission_rationale,
331-
PermissionUtils.PERMISSIONS_STORAGE
331+
PermissionUtils.getPERMISSIONS_STORAGE()
332332
);
333333
}
334334
}

app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import android.view.ViewGroup.LayoutParams;
4444
import android.view.animation.Animation;
4545
import android.view.animation.AnimationUtils;
46-
import android.widget.Button;
4746
import android.widget.Toast;
4847
import androidx.activity.result.ActivityResultCallback;
4948
import androidx.activity.result.ActivityResultLauncher;
@@ -701,7 +700,7 @@ private void startMapWithoutPermission() {
701700
= new LatLng(Double.parseDouble(locationLatLng[0]),
702701
Double.parseDouble(locationLatLng[1]), 1f);
703702
} else {
704-
lastKnownLocation = MapUtils.defaultLatLng;
703+
lastKnownLocation = MapUtils.getDefaultLatLng();
705704
}
706705
if (binding.map != null) {
707706
moveCameraToPosition(
@@ -793,7 +792,7 @@ public void initNearbyFilter() {
793792
hideBottomSheet();
794793
binding.nearbyFilter.searchViewLayout.searchView.setOnQueryTextFocusChangeListener(
795794
(v, hasFocus) -> {
796-
LayoutUtils.setLayoutHeightAllignedToWidth(1.25,
795+
LayoutUtils.setLayoutHeightAlignedToWidth(1.25,
797796
binding.nearbyFilterList.getRoot());
798797
if (hasFocus) {
799798
binding.nearbyFilterList.getRoot().setVisibility(View.VISIBLE);
@@ -834,7 +833,7 @@ public boolean isDarkTheme() {
834833
.getLayoutParams().width = (int) LayoutUtils.getScreenWidth(getActivity(),
835834
0.75);
836835
binding.nearbyFilterList.searchListView.setAdapter(nearbyFilterSearchRecyclerViewAdapter);
837-
LayoutUtils.setLayoutHeightAllignedToWidth(1.25, binding.nearbyFilterList.getRoot());
836+
LayoutUtils.setLayoutHeightAlignedToWidth(1.25, binding.nearbyFilterList.getRoot());
838837
compositeDisposable.add(
839838
RxSearchView.queryTextChanges(binding.nearbyFilter.searchViewLayout.searchView)
840839
.takeUntil(RxView.detaches(binding.nearbyFilter.searchViewLayout.searchView))

app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,10 @@
1111
import static fr.free.nrw.commons.wikidata.WikidataConstants.PLACE_OBJECT;
1212

1313
import android.location.Location;
14-
import android.view.View;
1514
import androidx.annotation.MainThread;
1615
import androidx.annotation.Nullable;
17-
import androidx.work.ExistingWorkPolicy;
1816
import fr.free.nrw.commons.BaseMarker;
1917
import fr.free.nrw.commons.bookmarks.locations.BookmarkLocationsDao;
20-
import fr.free.nrw.commons.contributions.Contribution;
2118
import fr.free.nrw.commons.kvstore.JsonKvStore;
2219
import fr.free.nrw.commons.location.LatLng;
2320
import fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType;
@@ -26,14 +23,10 @@
2623
import fr.free.nrw.commons.nearby.Label;
2724
import fr.free.nrw.commons.nearby.MarkerPlaceGroup;
2825
import fr.free.nrw.commons.nearby.NearbyController;
29-
import fr.free.nrw.commons.nearby.NearbyFilterState;
3026
import fr.free.nrw.commons.nearby.Place;
31-
import fr.free.nrw.commons.nearby.PlaceDao;
3227
import fr.free.nrw.commons.nearby.contract.NearbyParentFragmentContract;
33-
import fr.free.nrw.commons.upload.worker.WorkRequestHelper;
3428
import fr.free.nrw.commons.utils.LocationUtils;
3529
import fr.free.nrw.commons.wikidata.WikidataEditListener;
36-
import io.reactivex.disposables.CompositeDisposable;
3730
import java.lang.reflect.Proxy;
3831
import java.util.List;
3932
import timber.log.Timber;

app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import android.os.Bundle;
1313
import android.text.Editable;
1414
import android.text.TextWatcher;
15-
import android.util.Log;
1615
import android.view.View;
1716
import android.widget.AdapterView;
1817
import android.widget.AdapterView.OnItemClickListener;
@@ -543,7 +542,7 @@ private String getCurrentLanguageCode(final String preferenceKey) {
543542
* First checks for external storage permissions and then sends logs via email
544543
*/
545544
private void checkPermissionsAndSendLogs() {
546-
if (PermissionUtils.hasPermission(getActivity(), PermissionUtils.PERMISSIONS_STORAGE)) {
545+
if (PermissionUtils.hasPermission(getActivity(), PermissionUtils.getPERMISSIONS_STORAGE())) {
547546
commonsLogSender.send(getActivity(), null);
548547
} else {
549548
requestExternalStoragePermissions();
@@ -556,7 +555,7 @@ private void checkPermissionsAndSendLogs() {
556555
*/
557556
private void requestExternalStoragePermissions() {
558557
Dexter.withActivity(getActivity())
559-
.withPermissions(PermissionUtils.PERMISSIONS_STORAGE)
558+
.withPermissions(PermissionUtils.getPERMISSIONS_STORAGE())
560559
.withListener(new MultiplePermissionsListener() {
561560
@Override
562561
public void onPermissionsChecked(MultiplePermissionsReport report) {

app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package fr.free.nrw.commons.upload;
22

33
import static fr.free.nrw.commons.contributions.ContributionController.ACTION_INTERNAL_UPLOADS;
4-
import static fr.free.nrw.commons.utils.PermissionUtils.PERMISSIONS_STORAGE;
54
import static fr.free.nrw.commons.utils.PermissionUtils.checkPermissionsAndPerformAction;
5+
import static fr.free.nrw.commons.utils.PermissionUtils.getPERMISSIONS_STORAGE;
66
import static fr.free.nrw.commons.wikidata.WikidataConstants.PLACE_OBJECT;
77
import static fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE;
88
import static fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE_CATEGORY;
@@ -32,7 +32,6 @@
3232
import androidx.viewpager.widget.PagerAdapter;
3333
import androidx.viewpager.widget.ViewPager;
3434
import androidx.work.ExistingWorkPolicy;
35-
import fr.free.nrw.commons.CommonsApplication;
3635
import fr.free.nrw.commons.R;
3736
import fr.free.nrw.commons.auth.LoginActivity;
3837
import fr.free.nrw.commons.auth.SessionManager;
@@ -277,7 +276,7 @@ protected void checkBlockStatus() {
277276

278277
public void checkStoragePermissions() {
279278
// Check if all required permissions are granted
280-
final boolean hasAllPermissions = PermissionUtils.hasPermission(this, PERMISSIONS_STORAGE);
279+
final boolean hasAllPermissions = PermissionUtils.hasPermission(this, getPERMISSIONS_STORAGE());
281280
final boolean hasPartialAccess = PermissionUtils.hasPartialAccess(this);
282281
if (hasAllPermissions || hasPartialAccess) {
283282
// All required permissions are granted, so enable UI elements and perform actions
@@ -297,7 +296,7 @@ public void checkStoragePermissions() {
297296
},
298297
R.string.storage_permission_title,
299298
R.string.write_storage_permission_rationale_for_image_share,
300-
PERMISSIONS_STORAGE);
299+
getPERMISSIONS_STORAGE());
301300
}
302301
}
303302
/* If all permissions are not granted and a dialog is already showing on screen

0 commit comments

Comments
 (0)