Merge "Fix NPE during unit test"
This commit is contained in:
committed by
Android (Google) Code Review
commit
bd825f408b
@@ -22,12 +22,13 @@ import android.content.Context;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.provider.Settings;
|
||||
import androidx.preference.SwitchPreference;
|
||||
import androidx.preference.Preference;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
public class AutoRestorePreferenceController extends TogglePreferenceController {
|
||||
private static final String TAG = "AutoRestorePrefCtrler";
|
||||
|
||||
@@ -36,10 +37,7 @@ public class AutoRestorePreferenceController extends TogglePreferenceController
|
||||
|
||||
public AutoRestorePreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
}
|
||||
|
||||
public void setPrivacySettingsConfigData(final PrivacySettingsConfigData pData) {
|
||||
mPSCD = pData;
|
||||
mPSCD = PrivacySettingsConfigData.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -17,20 +17,18 @@
|
||||
package com.android.settings.backup;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
public class BackupDataPreferenceController extends BasePreferenceController {
|
||||
private PrivacySettingsConfigData mPSCD;
|
||||
|
||||
public BackupDataPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
}
|
||||
|
||||
public void setPrivacySettingsConfigData(final PrivacySettingsConfigData pData) {
|
||||
mPSCD = pData;
|
||||
mPSCD = PrivacySettingsConfigData.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -24,7 +24,6 @@ import android.content.Intent;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.UserHandle;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -32,6 +31,8 @@ import com.android.settings.Settings.PrivacySettingsActivity;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
/**
|
||||
* Helper class for {@link BackupSettingsActivity} that interacts with {@link IBackupManager}.
|
||||
*/
|
||||
|
@@ -18,20 +18,18 @@ package com.android.settings.backup;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
public class ConfigureAccountPreferenceController extends BasePreferenceController {
|
||||
private PrivacySettingsConfigData mPSCD;
|
||||
|
||||
public ConfigureAccountPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
}
|
||||
|
||||
public void setPrivacySettingsConfigData(final PrivacySettingsConfigData pData) {
|
||||
mPSCD = pData;
|
||||
mPSCD = PrivacySettingsConfigData.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -17,21 +17,17 @@
|
||||
package com.android.settings.backup;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
public class DataManagementPreferenceController extends BasePreferenceController {
|
||||
private PrivacySettingsConfigData mPSCD;
|
||||
private boolean mManageEnabled;
|
||||
|
||||
public DataManagementPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
}
|
||||
|
||||
public void setPrivacySettingsConfigData(final PrivacySettingsConfigData pData) {
|
||||
mPSCD = pData;
|
||||
mManageEnabled = (mPSCD.getManageIntent() != null) && mPSCD.isBackupEnabled();
|
||||
mPSCD = PrivacySettingsConfigData.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -39,7 +35,8 @@ public class DataManagementPreferenceController extends BasePreferenceController
|
||||
if (!PrivacySettingsUtils.isAdminUser(mContext)) {
|
||||
return DISABLED_FOR_USER;
|
||||
}
|
||||
if (!mManageEnabled) {
|
||||
boolean manageEnabled = (mPSCD.getManageIntent() != null) && mPSCD.isBackupEnabled();
|
||||
if (!manageEnabled) {
|
||||
return DISABLED_UNSUPPORTED;
|
||||
}
|
||||
return AVAILABLE;
|
||||
@@ -47,12 +44,13 @@ public class DataManagementPreferenceController extends BasePreferenceController
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
if (mManageEnabled) {
|
||||
if (!isAvailable()) {
|
||||
return;
|
||||
}
|
||||
preference.setIntent(mPSCD.getManageIntent());
|
||||
final String manageLabel = mPSCD.getManageLabel();
|
||||
if (manageLabel != null) {
|
||||
preference.setTitle(manageLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -65,15 +65,10 @@ public class PrivacySettings extends DashboardFragment {
|
||||
}
|
||||
|
||||
private void updatePrivacySettingsConfigData(final Context context) {
|
||||
final PrivacySettingsConfigData pData = new PrivacySettingsConfigData();
|
||||
if (PrivacySettingsUtils.isAdminUser(context)) {
|
||||
PrivacySettingsUtils.updatePrivacyBuffer(context, pData);
|
||||
PrivacySettingsUtils.updatePrivacyBuffer(context,
|
||||
PrivacySettingsConfigData.getInstance());
|
||||
}
|
||||
|
||||
use(BackupDataPreferenceController.class).setPrivacySettingsConfigData(pData);
|
||||
use(ConfigureAccountPreferenceController.class).setPrivacySettingsConfigData(pData);
|
||||
use(DataManagementPreferenceController.class).setPrivacySettingsConfigData(pData);
|
||||
use(AutoRestorePreferenceController.class).setPrivacySettingsConfigData(pData);
|
||||
}
|
||||
|
||||
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
|
@@ -19,6 +19,9 @@ package com.android.settings.backup;
|
||||
import android.content.Intent;
|
||||
|
||||
public class PrivacySettingsConfigData {
|
||||
|
||||
private static PrivacySettingsConfigData sInstance;
|
||||
|
||||
private boolean mBackupEnabled;
|
||||
private boolean mBackupGray;
|
||||
private Intent mConfigIntent;
|
||||
@@ -26,7 +29,7 @@ public class PrivacySettingsConfigData {
|
||||
private Intent mManageIntent;
|
||||
private String mManageLabel;
|
||||
|
||||
public PrivacySettingsConfigData() {
|
||||
private PrivacySettingsConfigData() {
|
||||
mBackupEnabled = false;
|
||||
mBackupGray = false;
|
||||
mConfigIntent = null;
|
||||
@@ -35,6 +38,13 @@ public class PrivacySettingsConfigData {
|
||||
mManageLabel = null;
|
||||
}
|
||||
|
||||
public static PrivacySettingsConfigData getInstance() {
|
||||
if (sInstance == null) {
|
||||
sInstance = new PrivacySettingsConfigData();
|
||||
}
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
public boolean isBackupEnabled() {
|
||||
return mBackupEnabled;
|
||||
}
|
||||
|
@@ -19,7 +19,6 @@ package com.android.settings.backup;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
@@ -32,6 +31,8 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(shadows = {ShadowPrivacySettingsUtils.class})
|
||||
public class AutoRestorePreferenceControllerTest {
|
||||
@@ -44,7 +45,7 @@ public class AutoRestorePreferenceControllerTest {
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mPSCD = new PrivacySettingsConfigData();
|
||||
mPSCD = PrivacySettingsConfigData.getInstance();
|
||||
mController = new AutoRestorePreferenceController(mContext,
|
||||
PrivacySettingsUtils.AUTO_RESTORE);
|
||||
mPreference = new SwitchPreference(mContext);
|
||||
@@ -59,7 +60,7 @@ public class AutoRestorePreferenceControllerTest {
|
||||
public void updateState_backupEnabled_prefShouldBeEnabled() {
|
||||
mPSCD.setBackupEnabled(true);
|
||||
mPSCD.setBackupGray(false);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.isEnabled()).isTrue();
|
||||
}
|
||||
|
@@ -19,8 +19,6 @@ package com.android.settings.backup;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.UserManager;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
@@ -34,6 +32,8 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(shadows = {ShadowPrivacySettingsUtils.class})
|
||||
public class BackupDataPreferenceControllerTest {
|
||||
@@ -46,7 +46,7 @@ public class BackupDataPreferenceControllerTest {
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mPSCD = new PrivacySettingsConfigData();
|
||||
mPSCD = PrivacySettingsConfigData.getInstance();
|
||||
mController = new BackupDataPreferenceController(mContext,
|
||||
PrivacySettingsUtils.BACKUP_DATA);
|
||||
mPreference = new Preference(mContext);
|
||||
@@ -61,7 +61,7 @@ public class BackupDataPreferenceControllerTest {
|
||||
public void updateState_backupEnabled_prefShouldBeEnabled() {
|
||||
mPSCD.setBackupEnabled(true);
|
||||
mPSCD.setBackupGray(false);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.isEnabled()).isTrue();
|
||||
}
|
||||
@@ -70,7 +70,7 @@ public class BackupDataPreferenceControllerTest {
|
||||
public void updateState_backupEnabled_prefShouldDisplayOnSummary() {
|
||||
mPSCD.setBackupEnabled(true);
|
||||
mPSCD.setBackupGray(false);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.accessibility_feature_state_on));
|
||||
@@ -80,7 +80,7 @@ public class BackupDataPreferenceControllerTest {
|
||||
public void updateState_backupDisabled_prefShouldDisplayOffSummary() {
|
||||
mPSCD.setBackupEnabled(false);
|
||||
mPSCD.setBackupGray(false);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.accessibility_feature_state_off));
|
||||
|
@@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
@@ -35,6 +34,8 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(shadows = {ShadowPrivacySettingsUtils.class})
|
||||
public class ConfigureAccountPreferenceControllerTest {
|
||||
@@ -51,7 +52,7 @@ public class ConfigureAccountPreferenceControllerTest {
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mPSCD = new PrivacySettingsConfigData();
|
||||
mPSCD = PrivacySettingsConfigData.getInstance();
|
||||
mController = new ConfigureAccountPreferenceController(mContext,
|
||||
PrivacySettingsUtils.CONFIGURE_ACCOUNT);
|
||||
mPreference = new Preference(mContext);
|
||||
@@ -68,7 +69,7 @@ public class ConfigureAccountPreferenceControllerTest {
|
||||
mPSCD.setBackupEnabled(true);
|
||||
mPSCD.setBackupGray(false);
|
||||
mPSCD.setConfigIntent(mIntent);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.isEnabled()).isTrue();
|
||||
}
|
||||
@@ -80,7 +81,7 @@ public class ConfigureAccountPreferenceControllerTest {
|
||||
mPSCD.setBackupGray(false);
|
||||
mPSCD.setConfigIntent(mIntent);
|
||||
mPSCD.setConfigSummary(null);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.backup_configure_account_default_summary));
|
||||
@@ -93,7 +94,7 @@ public class ConfigureAccountPreferenceControllerTest {
|
||||
mPSCD.setBackupGray(false);
|
||||
mPSCD.setConfigIntent(mIntent);
|
||||
mPSCD.setConfigSummary(mTestSummary);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.getSummary()).isEqualTo(mTestSummary);
|
||||
}
|
||||
|
@@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
@@ -34,6 +33,8 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(shadows = {ShadowPrivacySettingsUtils.class})
|
||||
public class DataManagementPreferenceControllerTest {
|
||||
@@ -56,7 +57,7 @@ public class DataManagementPreferenceControllerTest {
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mPSCD = new PrivacySettingsConfigData();
|
||||
mPSCD = PrivacySettingsConfigData.getInstance();
|
||||
mController = new DataManagementPreferenceController(mContext, KEY);
|
||||
mPreference = new Preference(mContext);
|
||||
mTitle = "Title";
|
||||
@@ -68,26 +69,25 @@ public class DataManagementPreferenceControllerTest {
|
||||
mPSCD.setBackupGray(false);
|
||||
mPSCD.setManageIntent(mIntent);
|
||||
mPSCD.setManageLabel(mTitle);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.getTitle())
|
||||
.isEqualTo(mTitle);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_isAdmiUser_backupEnabled_hadManageIntent_shouldBeAvailable() {
|
||||
public void getAvailabilityStatus_isAdmin_backupEnabled_hadManageIntent_shouldBeAvailable() {
|
||||
ShadowPrivacySettingsUtils.setIsAdminUser(true);
|
||||
mPSCD.setBackupEnabled(true);
|
||||
mPSCD.setBackupGray(false);
|
||||
mPSCD.setManageIntent(mIntent);
|
||||
mPSCD.setManageLabel(mTitle);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_isnotAdmiUser_shouldBeDisabledForUser() {
|
||||
public void getAvailabilityStatus_isNotAdminUser_shouldBeDisabledForUser() {
|
||||
ShadowPrivacySettingsUtils.setIsAdminUser(false);
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
|
||||
@@ -95,13 +95,13 @@ public class DataManagementPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void
|
||||
getAvailabilityStatus_isAdmiUser_backupEnabled_nullManageIntent_shouldBeDisabledUnsupported() {
|
||||
getAvailabilityStatus_isAdminUser_backupEnabled_nullManageIntent_shouldBeDisabledUnsupported() {
|
||||
ShadowPrivacySettingsUtils.setIsAdminUser(true);
|
||||
mPSCD.setBackupEnabled(true);
|
||||
mPSCD.setBackupGray(false);
|
||||
mPSCD.setManageIntent(null);
|
||||
mPSCD.setManageLabel(mTitle);
|
||||
mController.setPrivacySettingsConfigData(mPSCD);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.DISABLED_UNSUPPORTED);
|
||||
}
|
||||
|
Reference in New Issue
Block a user