From ebcc122ea5a6bf48927e19f50cc717b256e5ba7c Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sun, 15 May 2022 15:08:17 +0530 Subject: [PATCH] Pass empty arrays to toArray(). --- .../fdroid/installer/ApkVerifierTest.java | 17 ++++++++-------- .../panic/PanicPreferencesFragment.java | 19 +++++++++--------- .../java/org/fdroid/fdroid/Languages.java | 8 ++++---- .../java/org/fdroid/fdroid/UpdateService.java | 14 ++++++------- .../main/java/org/fdroid/fdroid/data/Apk.java | 10 +++++----- .../main/java/org/fdroid/fdroid/data/App.java | 10 +++++----- .../fdroid/views/RepoDetailsActivity.java | 20 +++++++++---------- 7 files changed, 50 insertions(+), 48 deletions(-) diff --git a/app/src/androidTest/java/org/fdroid/fdroid/installer/ApkVerifierTest.java b/app/src/androidTest/java/org/fdroid/fdroid/installer/ApkVerifierTest.java index b32c4e4b6..1a6b4356b 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/installer/ApkVerifierTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/installer/ApkVerifierTest.java @@ -19,6 +19,10 @@ package org.fdroid.fdroid.installer; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import android.app.Instrumentation; import android.net.Uri; import android.os.Build; @@ -26,6 +30,7 @@ import android.util.Log; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.platform.app.InstrumentationRegistry; + import org.fdroid.fdroid.AssetUtils; import org.fdroid.fdroid.compat.FileCompatTest; import org.fdroid.fdroid.data.Apk; @@ -40,10 +45,6 @@ import java.util.Arrays; import java.util.HashSet; import java.util.TreeSet; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - /** * This test checks the ApkVerifier by parsing a repo from permissionsRepo.xml * and checking the listed permissions against the ones specified in apks' AndroidManifest, @@ -110,14 +111,14 @@ public class ApkVerifierTest { if (Build.VERSION.SDK_INT >= 23) { permissionsList.add("android.permission.ACCESS_FINE_LOCATION"); } - apk.requestedPermissions = permissionsList.toArray(new String[permissionsList.size()]); + apk.requestedPermissions = permissionsList.toArray(new String[0]); Uri uri = Uri.fromFile(minMaxApk); ApkVerifier apkVerifier = new ApkVerifier(instrumentation.getContext(), uri, apk); apkVerifier.verifyApk(); permissionsList.add("ADDITIONAL_PERMISSION"); - apk.requestedPermissions = permissionsList.toArray(new String[permissionsList.size()]); + apk.requestedPermissions = permissionsList.toArray(new String[0]); apkVerifier.verifyApk(); } @@ -307,7 +308,7 @@ public class ApkVerifierTest { + Build.VERSION.SDK_INT + ")"); } } - String[] expectedPermissions = expectedSet.toArray(new String[expectedSet.size()]); + String[] expectedPermissions = expectedSet.toArray(new String[0]); assertTrue(ApkVerifier.requestedPermissionsEqual(expectedPermissions, apk.requestedPermissions)); String[] badPermissions = Arrays.copyOf(expectedPermissions, expectedPermissions.length + 1); @@ -383,7 +384,7 @@ public class ApkVerifierTest { + Build.VERSION.SDK_INT + ")"); } } - String[] expectedPermissions = expectedSet.toArray(new String[expectedSet.size()]); + String[] expectedPermissions = expectedSet.toArray(new String[0]); assertTrue(ApkVerifier.requestedPermissionsEqual(expectedPermissions, apk.requestedPermissions)); expectedSet = new TreeSet<>(Arrays.asList( diff --git a/app/src/full/java/org/fdroid/fdroid/panic/PanicPreferencesFragment.java b/app/src/full/java/org/fdroid/fdroid/panic/PanicPreferencesFragment.java index 9d9e1a62f..e48079b34 100644 --- a/app/src/full/java/org/fdroid/fdroid/panic/PanicPreferencesFragment.java +++ b/app/src/full/java/org/fdroid/fdroid/panic/PanicPreferencesFragment.java @@ -15,13 +15,6 @@ import android.os.Bundle; import android.text.TextUtils; import android.util.TypedValue; -import org.fdroid.fdroid.Preferences; -import org.fdroid.fdroid.R; -import org.fdroid.fdroid.installer.PrivilegedInstaller; - -import java.util.ArrayList; -import java.util.Set; - import androidx.annotation.ColorInt; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; @@ -32,6 +25,14 @@ import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceFragmentCompat; + +import org.fdroid.fdroid.Preferences; +import org.fdroid.fdroid.R; +import org.fdroid.fdroid.installer.PrivilegedInstaller; + +import java.util.ArrayList; +import java.util.Set; + import info.guardianproject.panic.Panic; import info.guardianproject.panic.PanicResponder; @@ -174,8 +175,8 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat entryValues.add(resolveInfo.activityInfo.packageName); } - prefApp.setEntries(entries.toArray(new CharSequence[entries.size()])); - prefApp.setEntryValues(entryValues.toArray(new CharSequence[entryValues.size()])); + prefApp.setEntries(entries.toArray(new CharSequence[0])); + prefApp.setEntryValues(entryValues.toArray(new CharSequence[0])); prefApp.setDefaultValue(Panic.PACKAGE_NAME_NONE); if (entries.size() <= 1) { diff --git a/app/src/main/java/org/fdroid/fdroid/Languages.java b/app/src/main/java/org/fdroid/fdroid/Languages.java index d96ac584f..38f0fa28b 100644 --- a/app/src/main/java/org/fdroid/fdroid/Languages.java +++ b/app/src/main/java/org/fdroid/fdroid/Languages.java @@ -7,6 +7,8 @@ import android.content.res.Resources; import android.os.Build; import android.text.TextUtils; +import androidx.appcompat.app.AppCompatActivity; + import java.util.Arrays; import java.util.Collections; import java.util.LinkedHashSet; @@ -15,8 +17,6 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; -import androidx.appcompat.app.AppCompatActivity; - public final class Languages { public static final String TAG = "Languages"; @@ -136,7 +136,7 @@ public final class Languages { * match what is returned by {@link Languages#getSupportedLocales()}. */ public String[] getAllNames() { - return nameMap.values().toArray(new String[nameMap.size()]); + return nameMap.values().toArray(new String[0]); } /** @@ -144,7 +144,7 @@ public final class Languages { */ public String[] getSupportedLocales() { Set keys = nameMap.keySet(); - return keys.toArray(new String[keys.size()]); + return keys.toArray(new String[0]); } private String capitalize(final String line) { diff --git a/app/src/main/java/org/fdroid/fdroid/UpdateService.java b/app/src/main/java/org/fdroid/fdroid/UpdateService.java index b8b4a16b7..eedfb413b 100644 --- a/app/src/main/java/org/fdroid/fdroid/UpdateService.java +++ b/app/src/main/java/org/fdroid/fdroid/UpdateService.java @@ -34,6 +34,12 @@ import android.text.TextUtils; import android.util.Log; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.core.app.JobIntentService; +import androidx.core.app.NotificationCompat; +import androidx.core.content.ContextCompat; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; + import org.fdroid.CompatibilityChecker; import org.fdroid.CompatibilityCheckerImpl; import org.fdroid.database.DbUpdateChecker; @@ -58,12 +64,6 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.app.JobIntentService; -import androidx.core.app.NotificationCompat; -import androidx.core.content.ContextCompat; -import androidx.localbroadcastmanager.content.LocalBroadcastManager; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.core.Single; import io.reactivex.rxjava3.disposables.Disposable; @@ -296,7 +296,7 @@ public class UpdateService extends JobIntentService { private void sendRepoErrorStatus(int statusCode, ArrayList repoErrors) { Intent intent = new Intent(LOCAL_ACTION_STATUS); intent.putExtra(EXTRA_STATUS_CODE, statusCode); - intent.putExtra(EXTRA_REPO_ERRORS, repoErrors.toArray(new CharSequence[repoErrors.size()])); + intent.putExtra(EXTRA_REPO_ERRORS, repoErrors.toArray(new CharSequence[0])); LocalBroadcastManager.getInstance(this).sendBroadcast(intent); } diff --git a/app/src/main/java/org/fdroid/fdroid/data/Apk.java b/app/src/main/java/org/fdroid/fdroid/data/Apk.java index e6c96f835..d05f47819 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/Apk.java +++ b/app/src/main/java/org/fdroid/fdroid/data/Apk.java @@ -10,6 +10,10 @@ import android.os.Parcelable; import android.text.TextUtils; import android.webkit.MimeTypeMap; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; + import org.fdroid.database.AppManifest; import org.fdroid.database.AppVersion; import org.fdroid.database.Repository; @@ -32,10 +36,6 @@ import java.util.Locale; import java.util.Objects; import java.util.zip.ZipFile; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.VisibleForTesting; - /** * Represents a single package of an application. This represents one particular * package of a given application, for info about the app in general, see @@ -462,7 +462,7 @@ public class Apk implements Comparable, Parcelable { // so we don't make any changes for apps targetting 33 or above } - requestedPermissions = set.toArray(new String[set.size()]); + requestedPermissions = set.toArray(new String[0]); } /** diff --git a/app/src/main/java/org/fdroid/fdroid/data/App.java b/app/src/main/java/org/fdroid/fdroid/data/App.java index f07baf3eb..f6af1f2c7 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -16,6 +16,11 @@ import android.os.Parcelable; import android.text.TextUtils; import android.util.Log; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.os.ConfigurationCompat; +import androidx.core.os.LocaleListCompat; + import com.bumptech.glide.Glide; import com.bumptech.glide.RequestBuilder; @@ -40,11 +45,6 @@ import java.util.Date; import java.util.List; import java.util.Set; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.os.ConfigurationCompat; -import androidx.core.os.LocaleListCompat; - /** * Represents an application, its availability, and its current installed state. * This represents the app in general, for a specific version of this app, see diff --git a/app/src/main/java/org/fdroid/fdroid/views/RepoDetailsActivity.java b/app/src/main/java/org/fdroid/fdroid/views/RepoDetailsActivity.java index ac84e64a1..71eeabf4e 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/RepoDetailsActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/RepoDetailsActivity.java @@ -24,6 +24,16 @@ import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.NavUtils; +import androidx.core.content.ContextCompat; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.google.android.material.appbar.MaterialToolbar; import com.google.android.material.textfield.TextInputLayout; @@ -46,16 +56,6 @@ import java.util.List; import java.util.Locale; import java.util.concurrent.Callable; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.app.AppCompatActivity; -import androidx.core.app.NavUtils; -import androidx.core.content.ContextCompat; -import androidx.localbroadcastmanager.content.LocalBroadcastManager; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.core.Single; import io.reactivex.rxjava3.disposables.Disposable;