Merge "Update BrandedAccountPreferenceController"

This commit is contained in:
TreeHugger Robot
2019-12-30 14:10:25 +00:00
committed by Android (Google) Code Review

View File

@@ -32,13 +32,13 @@ import com.android.settings.core.SubSettingLauncher;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
public class BrandedAccountPreferenceController extends BasePreferenceController { public class BrandedAccountPreferenceController extends BasePreferenceController {
private final Account[] mAccounts; private final AccountFeatureProvider mAccountFeatureProvider;
private Account[] mAccounts;
public BrandedAccountPreferenceController(Context context, String key) { public BrandedAccountPreferenceController(Context context, String key) {
super(context, key); super(context, key);
final AccountFeatureProvider accountFeatureProvider = FeatureFactory.getFactory( mAccountFeatureProvider = FeatureFactory.getFactory(mContext).getAccountFeatureProvider();
mContext).getAccountFeatureProvider(); mAccounts = mAccountFeatureProvider.getAccounts(mContext);
mAccounts = accountFeatureProvider.getAccounts(mContext);
} }
@Override @Override
@@ -56,8 +56,6 @@ public class BrandedAccountPreferenceController extends BasePreferenceController
@Override @Override
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen); super.displayPreference(screen);
final AccountFeatureProvider accountFeatureProvider = FeatureFactory.getFactory(
mContext).getAccountFeatureProvider();
final Preference accountPreference = screen.findPreference(getPreferenceKey()); final Preference accountPreference = screen.findPreference(getPreferenceKey());
if (accountPreference != null && (mAccounts == null || mAccounts.length == 0)) { if (accountPreference != null && (mAccounts == null || mAccounts.length == 0)) {
screen.removePreference(accountPreference); screen.removePreference(accountPreference);
@@ -72,7 +70,7 @@ public class BrandedAccountPreferenceController extends BasePreferenceController
args.putParcelable(AccountDetailDashboardFragment.KEY_USER_HANDLE, args.putParcelable(AccountDetailDashboardFragment.KEY_USER_HANDLE,
android.os.Process.myUserHandle()); android.os.Process.myUserHandle());
args.putString(AccountDetailDashboardFragment.KEY_ACCOUNT_TYPE, args.putString(AccountDetailDashboardFragment.KEY_ACCOUNT_TYPE,
accountFeatureProvider.getAccountType()); mAccountFeatureProvider.getAccountType());
new SubSettingLauncher(mContext) new SubSettingLauncher(mContext)
.setDestination(AccountDetailDashboardFragment.class.getName()) .setDestination(AccountDetailDashboardFragment.class.getName())
@@ -83,4 +81,13 @@ public class BrandedAccountPreferenceController extends BasePreferenceController
return true; return true;
}); });
} }
@Override
public void updateState(Preference preference) {
super.updateState(preference);
mAccounts = mAccountFeatureProvider.getAccounts(mContext);
if (mAccounts == null || mAccounts.length == 0) {
preference.setVisible(false);
}
}
} }