From 983593688c47463e4e786230e765d5c3b46c7d11 Mon Sep 17 00:00:00 2001
From: Isira Seneviratne <isirasen96@gmail.com>
Date: Mon, 11 May 2020 08:20:20 +0000
Subject: [PATCH] Remove unused API level checks.

---
 .../java/org/fdroid/fdroid/UpdateService.java | 14 +--------
 .../fdroid/compat/PackageManagerCompat.java   |  4 +--
 .../fdroid/fdroid/data/FDroidProvider.java    | 24 ++-------------
 .../installer/DefaultInstallerActivity.java   | 30 +++----------------
 4 files changed, 8 insertions(+), 64 deletions(-)

diff --git a/app/src/main/java/org/fdroid/fdroid/UpdateService.java b/app/src/main/java/org/fdroid/fdroid/UpdateService.java
index 9c45db4f9..b81397a4b 100644
--- a/app/src/main/java/org/fdroid/fdroid/UpdateService.java
+++ b/app/src/main/java/org/fdroid/fdroid/UpdateService.java
@@ -41,6 +41,7 @@ import android.support.v4.content.LocalBroadcastManager;
 import android.text.TextUtils;
 import android.util.Log;
 import android.widget.Toast;
+
 import org.fdroid.fdroid.data.Apk;
 import org.fdroid.fdroid.data.ApkProvider;
 import org.fdroid.fdroid.data.App;
@@ -53,7 +54,6 @@ import org.fdroid.fdroid.data.Schema;
 import org.fdroid.fdroid.installer.InstallManagerService;
 import org.fdroid.fdroid.net.BluetoothDownloader;
 import org.fdroid.fdroid.net.ConnectivityMonitorService;
-import org.fdroid.fdroid.views.main.MainActivity;
 
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
@@ -265,18 +265,6 @@ public class UpdateService extends JobIntentService {
                 .setCategory(NotificationCompat.CATEGORY_SERVICE)
                 .setContentTitle(getString(R.string.update_notification_title));
         appUpdateStatusManager = AppUpdateStatusManager.getInstance(this);
-
-        // Android docs are a little sketchy, however it seems that Gingerbread is the last
-        // sdk that made a content intent mandatory:
-        //
-        //   http://stackoverflow.com/a/20032920
-        //
-        if (Build.VERSION.SDK_INT <= 10) {
-            Intent pendingIntent = new Intent(this, MainActivity.class);
-            pendingIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            notificationBuilder.setContentIntent(
-                    PendingIntent.getActivity(this, 0, pendingIntent, PendingIntent.FLAG_UPDATE_CURRENT));
-        }
     }
 
     @Override
diff --git a/app/src/main/java/org/fdroid/fdroid/compat/PackageManagerCompat.java b/app/src/main/java/org/fdroid/fdroid/compat/PackageManagerCompat.java
index e5a726770..6c2c18c4e 100644
--- a/app/src/main/java/org/fdroid/fdroid/compat/PackageManagerCompat.java
+++ b/app/src/main/java/org/fdroid/fdroid/compat/PackageManagerCompat.java
@@ -1,10 +1,10 @@
 package org.fdroid.fdroid.compat;
 
-import android.annotation.TargetApi;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.Build;
 import android.util.Log;
+
 import org.fdroid.fdroid.BuildConfig;
 import org.fdroid.fdroid.Utils;
 import org.fdroid.fdroid.installer.PrivilegedInstaller;
@@ -27,9 +27,7 @@ public class PackageManagerCompat {
 
     private static final String TAG = "PackageManagerCompat";
 
-    @TargetApi(11)
     public static void setInstaller(Context context, PackageManager mPm, String packageName) {
-        if (Build.VERSION.SDK_INT < 11) return;
         try {
             if (Build.VERSION.SDK_INT >= 24 && PrivilegedInstaller.isDefault(context)) {
                 mPm.setInstallerPackageName(packageName, PrivilegedInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME);
diff --git a/app/src/main/java/org/fdroid/fdroid/data/FDroidProvider.java b/app/src/main/java/org/fdroid/fdroid/data/FDroidProvider.java
index 1b4567ae3..a30030a1a 100644
--- a/app/src/main/java/org/fdroid/fdroid/data/FDroidProvider.java
+++ b/app/src/main/java/org/fdroid/fdroid/data/FDroidProvider.java
@@ -1,6 +1,5 @@
 package org.fdroid.fdroid.data;
 
-import android.annotation.TargetApi;
 import android.content.ContentProvider;
 import android.content.ContentProviderOperation;
 import android.content.ContentProviderResult;
@@ -9,14 +8,11 @@ import android.content.OperationApplicationException;
 import android.content.UriMatcher;
 import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
-import android.os.Build;
 import android.support.annotation.NonNull;
+
 import org.fdroid.fdroid.BuildConfig;
 
 import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
 
 public abstract class FDroidProvider extends ContentProvider {
 
@@ -105,25 +101,9 @@ public abstract class FDroidProvider extends ContentProvider {
         return sb.toString();
     }
 
-    @TargetApi(11)
-    private Set<String> getKeySet(ContentValues values) {
-
-        if (Build.VERSION.SDK_INT >= 11) {
-            return values.keySet();
-        }
-
-        Set<String> keySet = new HashSet<>();
-        for (Map.Entry<String, Object> item : values.valueSet()) {
-            String key = item.getKey();
-            keySet.add(key);
-        }
-        return keySet;
-
-    }
-
     protected void validateFields(String[] validFields, ContentValues values)
             throws IllegalArgumentException {
-        for (final String key : getKeySet(values)) {
+        for (final String key : values.keySet()) {
             boolean isValid = false;
             for (final String validKey : validFields) {
                 if (validKey.equals(key)) {
diff --git a/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java b/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java
index 60367f4bb..f72bf28c5 100644
--- a/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java
+++ b/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java
@@ -31,6 +31,7 @@ import android.os.Build;
 import android.os.Bundle;
 import android.support.v4.app.FragmentActivity;
 import android.util.Log;
+
 import org.fdroid.fdroid.R;
 import org.fdroid.fdroid.data.Apk;
 
@@ -96,10 +97,7 @@ public class DefaultInstallerActivity extends FragmentActivity {
         // works only when being installed as system-app
         // https://code.google.com/p/android/issues/detail?id=42253
 
-        if (Build.VERSION.SDK_INT < 14) {
-            intent.setAction(Intent.ACTION_VIEW);
-            intent.setDataAndType(uri, "application/vnd.android.package-archive");
-        } else if (Build.VERSION.SDK_INT < 16) {
+        if (Build.VERSION.SDK_INT < 16) {
             intent.setAction(Intent.ACTION_INSTALL_PACKAGE);
             intent.setData(uri);
             intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
@@ -145,12 +143,8 @@ public class DefaultInstallerActivity extends FragmentActivity {
         Intent intent = new Intent();
         intent.setData(uri);
 
-        if (Build.VERSION.SDK_INT < 14) {
-            intent.setAction(Intent.ACTION_DELETE);
-        } else {
-            intent.setAction(Intent.ACTION_UNINSTALL_PACKAGE);
-            intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
-        }
+        intent.setAction(Intent.ACTION_UNINSTALL_PACKAGE);
+        intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
 
         try {
             startActivityForResult(intent, REQUEST_CODE_UNINSTALL);
@@ -166,16 +160,6 @@ public class DefaultInstallerActivity extends FragmentActivity {
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {
             case REQUEST_CODE_INSTALL:
-                /**
-                 * resultCode is always 0 on Android < 4.0. See
-                 * com.android.packageinstaller.PackageInstallerActivity: setResult is
-                 * never executed on Androids < 4.0
-                 */
-                if (Build.VERSION.SDK_INT < 14) {
-                    installer.sendBroadcastInstall(canonicalUri, Installer.ACTION_INSTALL_COMPLETE);
-                    break;
-                }
-
                 switch (resultCode) {
                     case Activity.RESULT_OK:
                         installer.sendBroadcastInstall(canonicalUri,
@@ -196,12 +180,6 @@ public class DefaultInstallerActivity extends FragmentActivity {
 
                 break;
             case REQUEST_CODE_UNINSTALL:
-                // resultCode is always 0 on Android < 4.0.
-                if (Build.VERSION.SDK_INT < 14) {
-                    installer.sendBroadcastUninstall(Installer.ACTION_UNINSTALL_COMPLETE);
-                    break;
-                }
-
                 switch (resultCode) {
                     case Activity.RESULT_OK:
                         installer.sendBroadcastUninstall(Installer.ACTION_UNINSTALL_COMPLETE);