OSDN Git Service

Fixing Trusted Credentials Settings crash
authorZoltan Szatmary-Ban <szatmz@google.com>
Wed, 10 Sep 2014 11:22:36 +0000 (12:22 +0100)
committerZoltan Szatmary-Ban <szatmz@google.com>
Wed, 10 Sep 2014 11:22:36 +0000 (12:22 +0100)
List adapter's getCount method did not check for the case of uninitialised
data. This CL fixes that.

Bug:17437943
Change-Id: I72d7f2c92aa380b1aaafe0658bd920017ff23906

src/com/android/settings/TrustedCredentialsSettings.java

index ad95b45..4efbe02 100644 (file)
@@ -278,7 +278,11 @@ public class TrustedCredentialsSettings extends Fragment {
         }
         @Override
         public int getChildrenCount(int groupPosition) {
-            return mData.mCertHoldersByUserId.valueAt(groupPosition).size();
+            List<CertHolder> certHolders = mData.mCertHoldersByUserId.valueAt(groupPosition);
+            if (certHolders != null) {
+                return certHolders.size();
+            }
+            return 0;
         }
         @Override
         public UserHandle getGroup(int groupPosition) {
@@ -366,7 +370,11 @@ public class TrustedCredentialsSettings extends Fragment {
             mData.new AliasLoader().execute();
         }
         @Override public int getCount() {
-            return mData.mCertHoldersByUserId.valueAt(0).size();
+            List<CertHolder> certHolders = mData.mCertHoldersByUserId.valueAt(0);
+            if (certHolders != null) {
+                return certHolders.size();
+            }
+            return 0;
         }
         @Override public CertHolder getItem(int position) {
             return mData.mCertHoldersByUserId.valueAt(0).get(position);