Merge "Address Error Prone warnings." into nyc-andromeda-dev
diff --git a/src/com/android/documentsui/base/Shared.java b/src/com/android/documentsui/base/Shared.java
index 3fab225..c580cee 100644
--- a/src/com/android/documentsui/base/Shared.java
+++ b/src/com/android/documentsui/base/Shared.java
@@ -22,6 +22,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Configuration;
 import android.net.Uri;
 import android.os.Looper;
@@ -202,13 +203,17 @@
             if (info.isSystemApp() || info.isUpdatedSystemApp()) {
                 final String extra = activity.getIntent().getStringExtra(
                         DocumentsContract.EXTRA_PACKAGE_NAME);
-                if (extra != null) {
+                if (extra != null && !TextUtils.isEmpty(extra)) {
                     callingPackage = extra;
                 }
             }
-        } finally {
-            return callingPackage;
+        } catch (NameNotFoundException e) {
+            // Couldn't lookup calling package info. This isn't really
+            // gonna happen, given that we're getting the name of the
+            // calling package from trusty old Activity.getCallingPackage.
+            // For that reason, we ignore this exception.
         }
+        return callingPackage;
     }
 
     /**
diff --git a/src/com/android/documentsui/roots/RootsAccess.java b/src/com/android/documentsui/roots/RootsAccess.java
index 0d0a975..8259337 100644
--- a/src/com/android/documentsui/roots/RootsAccess.java
+++ b/src/com/android/documentsui/roots/RootsAccess.java
@@ -25,6 +25,7 @@
 import com.android.documentsui.base.RootInfo;
 import com.android.documentsui.base.State;
 
+import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -112,7 +113,7 @@
             if (!overlap) {
                 if (DEBUG) Log.v(
                         tag, "Excluding root because: unsupported content types > "
-                        + state.acceptMimes);
+                        + Arrays.toString(state.acceptMimes));
                 continue;
             }
 
diff --git a/src/com/android/documentsui/services/FileOperationService.java b/src/com/android/documentsui/services/FileOperationService.java
index 3fa23c9..d28a578 100644
--- a/src/com/android/documentsui/services/FileOperationService.java
+++ b/src/com/android/documentsui/services/FileOperationService.java
@@ -88,13 +88,13 @@
     // Use a handler to schedule monitor tasks.
     @VisibleForTesting Handler handler;
 
+    @GuardedBy("mRunning")
+    private final Map<String, JobRecord> mRunning = new HashMap<>();
+
     private PowerManager mPowerManager;
     private PowerManager.WakeLock mWakeLock;  // the wake lock, if held.
     private NotificationManager mNotificationManager;
 
-    @GuardedBy("mRunning")
-    private Map<String, JobRecord> mRunning = new HashMap<>();
-
     private int mLastServiceId;
 
     @Override
diff --git a/src/com/android/documentsui/sorting/SortDimension.java b/src/com/android/documentsui/sorting/SortDimension.java
index 9d235a1..6411b98 100644
--- a/src/com/android/documentsui/sorting/SortDimension.java
+++ b/src/com/android/documentsui/sorting/SortDimension.java
@@ -124,6 +124,11 @@
     }
 
     @Override
+    public int hashCode() {
+        return mId;
+    }
+
+    @Override
     public boolean equals(Object o) {
         if (o == null || !(o instanceof SortDimension)) {
             return false;