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
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
mManager.getContext().unregisterReceiver(mReceiver);
|
if (mRegistered) {
|
||||||
mRegistered = false;
|
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.any;
|
||||||
import static org.mockito.Matchers.eq;
|
import static org.mockito.Matchers.eq;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
|
import static org.mockito.Mockito.reset;
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
@@ -26,6 +27,7 @@ import android.content.ComponentName;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
|
||||||
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -47,6 +49,7 @@ public class DndConditionTest {
|
|||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
FakeFeatureFactory.setupForTest();
|
||||||
when(mConditionManager.getContext()).thenReturn(mContext);
|
when(mConditionManager.getContext()).thenReturn(mContext);
|
||||||
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
||||||
}
|
}
|
||||||
@@ -90,4 +93,15 @@ public class DndConditionTest {
|
|||||||
|
|
||||||
verify(mContext).unregisterReceiver(any(DndCondition.Receiver.class));
|
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