Merge "Fix crash when pausing DndCondition." into pi-dev
am: e119601136
Change-Id: I93b7cf1cf7ceecb4855469d69e35fb2d95412e1c
This commit is contained in:
@@ -152,7 +152,9 @@ public class DndCondition extends Condition {
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
mManager.getContext().unregisterReceiver(mReceiver);
|
||||
mRegistered = false;
|
||||
if (mRegistered) {
|
||||
mManager.getContext().unregisterReceiver(mReceiver);
|
||||
mRegistered = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.dashboard.conditional;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.reset;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -26,6 +27,7 @@ import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -47,6 +49,7 @@ public class DndConditionTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
FakeFeatureFactory.setupForTest();
|
||||
when(mConditionManager.getContext()).thenReturn(mContext);
|
||||
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
||||
}
|
||||
@@ -90,4 +93,15 @@ public class DndConditionTest {
|
||||
|
||||
verify(mContext).unregisterReceiver(any(DndCondition.Receiver.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPause_noReceiverRegistered_shouldNotUnregisterReceiver() {
|
||||
DndCondition condition = new DndCondition(mConditionManager);
|
||||
condition.onPause();
|
||||
reset(mContext);
|
||||
|
||||
condition.onPause();
|
||||
|
||||
verify(mContext, never()).unregisterReceiver(any(DndCondition.Receiver.class));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user