OSDN Git Service

Merge "Fix NPE crash in UsageAccessDetails"
authorDoris Ling <dling@google.com>
Thu, 21 Sep 2017 19:24:52 +0000 (19:24 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Thu, 21 Sep 2017 19:24:52 +0000 (19:24 +0000)
am: cd959f28a0

Change-Id: I21f898f7ec8fd67d4f29d73491b4ac57cad7a252

1  2 
src/com/android/settings/applications/AppInfoBase.java
tests/robotests/src/com/android/settings/applications/UsageAccessDetailsTest.java

  
  package com.android.settings.applications;
  
 +import static org.mockito.ArgumentMatchers.nullable;
 +import static org.mockito.Matchers.eq;
 +import static org.mockito.Mockito.verify;
 +
  import android.content.Context;
+ import android.os.RemoteException;
  
  import com.android.internal.logging.nano.MetricsProto;
 -import com.android.settings.SettingsRobolectricTestRunner;
 +import com.android.settings.testutils.SettingsRobolectricTestRunner;
  import com.android.settings.TestConfig;
  import com.android.settings.testutils.FakeFeatureFactory;
  
@@@ -62,7 -63,14 +63,14 @@@ public class UsageAccessDetailsTest 
                  eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_USAGE_VIEW_ALLOW), eq("app"));
  
          mFragment.logSpecialPermissionChange(false, "app");
 -        verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
 +        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
                  eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_USAGE_VIEW_DENY), eq("app"));
      }
+     @Test
+     public void refreshUi_nullPackageInfo_shouldNotCrash() throws RemoteException {
+         mFragment.mPackageInfo = null;
+         mFragment.refreshUi();
+         // should not crash
+     }
  }