Loading src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java +23 −11 Original line number Diff line number Diff line Loading @@ -58,8 +58,10 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.dashboard.DashboardFragment; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.Executor; Loading @@ -76,6 +78,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl private final @Nullable CredentialManager mCredentialManager; private final CancellationSignal mCancellationSignal = new CancellationSignal(); private final Executor mExecutor; private final Map<String, SwitchPreference> mPrefs = new HashMap<>(); // key is package name private @Nullable DashboardFragment mParentFragment = null; Loading Loading @@ -125,6 +128,13 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl return; } List<ServiceInfo> services = new ArrayList<>(); for (CredentialProviderInfo cpi : CredentialProviderInfo.getAvailableServices(mContext, getUser())) { services.add(cpi.getServiceInfo()); } init(lifecycleOwner, services); mCredentialManager.listEnabledProviders( mCancellationSignal, mExecutor, Loading @@ -140,13 +150,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl } } List<ServiceInfo> services = new ArrayList<>(); for (CredentialProviderInfo cpi : CredentialProviderInfo.getAvailableServices(mContext, getUser())) { services.add(cpi.getServiceInfo()); } init(lifecycleOwner, services, enabledPackages); setEnabledPackageNames(enabledPackages); } @Override Loading @@ -157,15 +161,19 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl } @VisibleForTesting void init( LifecycleOwner lifecycleOwner, List<ServiceInfo> availableServices, Set<String> enabledPackages) { void init(LifecycleOwner lifecycleOwner, List<ServiceInfo> availableServices) { mServices.clear(); mServices.addAll(availableServices); } @VisibleForTesting void setEnabledPackageNames(Set<String> enabledPackages) { mEnabledPackageNames.clear(); mEnabledPackageNames.addAll(enabledPackages); for (String packageName : mPrefs.keySet()) { mPrefs.get(packageName).setChecked(mEnabledPackageNames.contains(packageName)); } } @Override Loading @@ -177,6 +185,9 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); // Since the UI is being cleared, clear any refs. mPrefs.clear(); PreferenceGroup group = screen.findPreference(getPreferenceKey()); Context context = screen.getContext(); Loading Loading @@ -254,6 +265,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl final SwitchPreference pref = new SwitchPreference(prefContext); pref.setTitle(title); pref.setChecked(mEnabledPackageNames.contains(packageName)); mPrefs.put(packageName, pref); if (icon != null) { pref.setIcon(Utils.getSafeIcon(icon)); Loading tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java +1 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; Loading Loading @@ -183,7 +182,7 @@ public class CredentialManagerPreferenceControllerTest { CredentialManagerPreferenceController controller = new CredentialManagerPreferenceController( mContext, mCredentialsPreferenceCategory.getKey()); controller.init(() -> mock(Lifecycle.class), availableServices, new HashSet<>()); controller.init(() -> mock(Lifecycle.class), availableServices); return controller; } Loading Loading
src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java +23 −11 Original line number Diff line number Diff line Loading @@ -58,8 +58,10 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.dashboard.DashboardFragment; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.Executor; Loading @@ -76,6 +78,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl private final @Nullable CredentialManager mCredentialManager; private final CancellationSignal mCancellationSignal = new CancellationSignal(); private final Executor mExecutor; private final Map<String, SwitchPreference> mPrefs = new HashMap<>(); // key is package name private @Nullable DashboardFragment mParentFragment = null; Loading Loading @@ -125,6 +128,13 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl return; } List<ServiceInfo> services = new ArrayList<>(); for (CredentialProviderInfo cpi : CredentialProviderInfo.getAvailableServices(mContext, getUser())) { services.add(cpi.getServiceInfo()); } init(lifecycleOwner, services); mCredentialManager.listEnabledProviders( mCancellationSignal, mExecutor, Loading @@ -140,13 +150,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl } } List<ServiceInfo> services = new ArrayList<>(); for (CredentialProviderInfo cpi : CredentialProviderInfo.getAvailableServices(mContext, getUser())) { services.add(cpi.getServiceInfo()); } init(lifecycleOwner, services, enabledPackages); setEnabledPackageNames(enabledPackages); } @Override Loading @@ -157,15 +161,19 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl } @VisibleForTesting void init( LifecycleOwner lifecycleOwner, List<ServiceInfo> availableServices, Set<String> enabledPackages) { void init(LifecycleOwner lifecycleOwner, List<ServiceInfo> availableServices) { mServices.clear(); mServices.addAll(availableServices); } @VisibleForTesting void setEnabledPackageNames(Set<String> enabledPackages) { mEnabledPackageNames.clear(); mEnabledPackageNames.addAll(enabledPackages); for (String packageName : mPrefs.keySet()) { mPrefs.get(packageName).setChecked(mEnabledPackageNames.contains(packageName)); } } @Override Loading @@ -177,6 +185,9 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); // Since the UI is being cleared, clear any refs. mPrefs.clear(); PreferenceGroup group = screen.findPreference(getPreferenceKey()); Context context = screen.getContext(); Loading Loading @@ -254,6 +265,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl final SwitchPreference pref = new SwitchPreference(prefContext); pref.setTitle(title); pref.setChecked(mEnabledPackageNames.contains(packageName)); mPrefs.put(packageName, pref); if (icon != null) { pref.setIcon(Utils.getSafeIcon(icon)); Loading
tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java +1 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; Loading Loading @@ -183,7 +182,7 @@ public class CredentialManagerPreferenceControllerTest { CredentialManagerPreferenceController controller = new CredentialManagerPreferenceController( mContext, mCredentialsPreferenceCategory.getKey()); controller.init(() -> mock(Lifecycle.class), availableServices, new HashSet<>()); controller.init(() -> mock(Lifecycle.class), availableServices); return controller; } Loading