Fix NPE during unit test

As of ag/3932176 the slice indexer now queries getSummary() for each
controller. So we need to create all necessary objects before
getSummary(). In this case, the PSCD object.

Change-Id: I0162996be37d740f1e450880bf4698acd94ca0ad
Fixes: 78897071
Test: atest
This commit is contained in:
Fan Zhang
2018-04-30 13:41:56 -07:00
parent 8efbe6e255
commit 16de45d8ec
11 changed files with 63 additions and 63 deletions

View File

@@ -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) {
preference.setIntent(mPSCD.getManageIntent());
final String manageLabel = mPSCD.getManageLabel();
if (manageLabel != null) {
preference.setTitle(manageLabel);
}
if (!isAvailable()) {
return;
}
preference.setIntent(mPSCD.getManageIntent());
final String manageLabel = mPSCD.getManageLabel();
if (manageLabel != null) {
preference.setTitle(manageLabel);
}
}
}