Fix a bug where device index is not skipped correct.
When checking language/build fingerprint to skip reindex, language check was comparing Locale object and String object, so they would never be equal, so we accidentally reindex every time. - Switched Objects.equal to TextUtils.equal, this catches the error at compiler level. Bug: 80065409 Test: compile/robotest Change-Id: I2b3c68bb1c2fd876338f42321605567d7e64d64b
This commit is contained in:
@@ -23,7 +23,6 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.job.JobScheduler;
|
||||
import android.os.Build;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
@@ -113,15 +112,19 @@ public class DeviceIndexFeatureProviderTest {
|
||||
|
||||
@Test
|
||||
public void updateIndex_enabled_provisioned_sameBuild_sameLang_shouldNotIndex() {
|
||||
// Enabled
|
||||
when(mProvider.isIndexingEnabled()).thenReturn(true);
|
||||
// Provisioned
|
||||
Settings.Global.putInt(mActivity.getContentResolver(),
|
||||
Settings.Global.DEVICE_PROVISIONED, 1);
|
||||
// Same build and same language
|
||||
DeviceIndexFeatureProvider.setIndexState(mActivity);
|
||||
JobScheduler jobScheduler = mock(JobScheduler.class);
|
||||
when(mProvider.isIndexingEnabled()).thenReturn(true);
|
||||
|
||||
final JobScheduler jobScheduler = mock(JobScheduler.class);
|
||||
when(mActivity.getSystemService(JobScheduler.class)).thenReturn(jobScheduler);
|
||||
|
||||
mProvider.updateIndex(mActivity, false);
|
||||
|
||||
verify(mProvider, never()).index(any(), any(), any(), any(), any());
|
||||
verify(jobScheduler, never()).schedule(any());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user