Revert "Add receiver for app install/uninstall events"
This reverts commit 86e092d84a
.
Reason for revert: Probable culprit for b/278615544.
Change-Id: I5ff8730ab3e1974967b8c9f840f0ee3110dad483
This commit is contained in:
committed by
Android (Google) Code Review
parent
86e092d84a
commit
57a077f8a5
@@ -22,12 +22,10 @@ import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ServiceInfo;
|
||||
@@ -65,7 +63,6 @@ import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@@ -80,13 +77,6 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
|
||||
private static final String TAG = "CredentialManagerPreferenceController";
|
||||
private static final String ALTERNATE_INTENT = "android.settings.SYNC_SETTINGS";
|
||||
private static final int MAX_SELECTABLE_PROVIDERS = 5;
|
||||
private static final Set<String> REFRESH_CONTENTS_INTENTS =
|
||||
new HashSet<>(
|
||||
Arrays.asList(
|
||||
Intent.ACTION_PACKAGE_REMOVED,
|
||||
Intent.ACTION_PACKAGE_REPLACED,
|
||||
Intent.ACTION_PACKAGE_ADDED,
|
||||
Intent.ACTION_PACKAGE_CHANGED));
|
||||
|
||||
private final PackageManager mPm;
|
||||
private final IconDrawableFactory mIconFactory;
|
||||
@@ -96,7 +86,6 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
|
||||
private final Executor mExecutor;
|
||||
private final Map<String, SwitchPreference> mPrefs = new HashMap<>(); // key is package name
|
||||
private final List<ServiceInfo> mPendingServiceInfos = new ArrayList<>();
|
||||
private final RefreshContentsReceiver mReceiver = new RefreshContentsReceiver();
|
||||
|
||||
private @Nullable FragmentManager mFragmentManager = null;
|
||||
private @Nullable Delegate mDelegate = null;
|
||||
@@ -111,14 +100,6 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
|
||||
mExecutor = ContextCompat.getMainExecutor(mContext);
|
||||
mCredentialManager =
|
||||
getCredentialManager(context, preferenceKey.equals("credentials_test"));
|
||||
|
||||
// Register the receiver
|
||||
final IntentFilter packageIntentFilter = new IntentFilter();
|
||||
for (String action : REFRESH_CONTENTS_INTENTS) {
|
||||
packageIntentFilter.addAction(action);
|
||||
}
|
||||
packageIntentFilter.addDataScheme("package");
|
||||
context.registerReceiver(mReceiver, packageIntentFilter, Context.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
private @Nullable CredentialManager getCredentialManager(Context context, boolean isTest) {
|
||||
@@ -175,6 +156,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
|
||||
TextUtils.equals(action, Settings.ACTION_CREDENTIAL_PROVIDER);
|
||||
final boolean isExistingAction = TextUtils.equals(action, ALTERNATE_INTENT);
|
||||
final boolean isValid = isCredProviderAction || isExistingAction;
|
||||
|
||||
if (!isValid) {
|
||||
return false;
|
||||
}
|
||||
@@ -271,10 +253,6 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
|
||||
List<CredentialProviderInfo> availableServices,
|
||||
String flagOverrideForTest) {
|
||||
mFlagOverrideForTest = flagOverrideForTest;
|
||||
setAvailableServicesInternal(availableServices);
|
||||
}
|
||||
|
||||
private void setAvailableServicesInternal(List<CredentialProviderInfo> availableServices) {
|
||||
mServices.clear();
|
||||
mServices.addAll(availableServices);
|
||||
|
||||
@@ -781,24 +759,4 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
|
||||
getDialogHost().onDialogClick(which);
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
public boolean handleRefreshIntent(Intent intent) {
|
||||
if (!REFRESH_CONTENTS_INTENTS.contains(intent.getAction())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
setAvailableServicesInternal(
|
||||
mCredentialManager.getCredentialProviderServices(
|
||||
getUser(), CredentialManager.PROVIDER_FILTER_USER_PROVIDERS_ONLY));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private class RefreshContentsReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
handleRefreshIntent(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -368,71 +368,6 @@ public class CredentialManagerPreferenceControllerTest {
|
||||
assertThat(pref3.isChecked()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleRefreshIntent_packageAdded() {
|
||||
CredentialProviderInfo cpi = createCredentialProviderInfo();
|
||||
CredentialManagerPreferenceController controller =
|
||||
createControllerWithServices(Lists.newArrayList(cpi));
|
||||
String packageName = cpi.getServiceInfo().packageName;
|
||||
|
||||
// Create an intent with valid data.
|
||||
Intent intent = new Intent(Intent.ACTION_PACKAGE_ADDED);
|
||||
intent.setData(Uri.parse("package:" + packageName));
|
||||
assertThat(controller.handleRefreshIntent(intent)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleRefreshIntent_packageRemoved() {
|
||||
CredentialProviderInfo cpi = createCredentialProviderInfo();
|
||||
CredentialManagerPreferenceController controller =
|
||||
createControllerWithServices(Lists.newArrayList(cpi));
|
||||
String packageName = cpi.getServiceInfo().packageName;
|
||||
|
||||
// Create an intent with valid data.
|
||||
Intent intent = new Intent(Intent.ACTION_PACKAGE_REMOVED);
|
||||
intent.setData(Uri.parse("package:" + packageName));
|
||||
assertThat(controller.handleRefreshIntent(intent)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleRefreshIntent_packageReplaced() {
|
||||
CredentialProviderInfo cpi = createCredentialProviderInfo();
|
||||
CredentialManagerPreferenceController controller =
|
||||
createControllerWithServices(Lists.newArrayList(cpi));
|
||||
String packageName = cpi.getServiceInfo().packageName;
|
||||
|
||||
// Create an intent with valid data.
|
||||
Intent intent = new Intent(Intent.ACTION_PACKAGE_REPLACED);
|
||||
intent.setData(Uri.parse("package:" + packageName));
|
||||
assertThat(controller.handleRefreshIntent(intent)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleRefreshIntent_packageChanged() {
|
||||
CredentialProviderInfo cpi = createCredentialProviderInfo();
|
||||
CredentialManagerPreferenceController controller =
|
||||
createControllerWithServices(Lists.newArrayList(cpi));
|
||||
String packageName = cpi.getServiceInfo().packageName;
|
||||
|
||||
// Create an intent with valid data.
|
||||
Intent intent = new Intent(Intent.ACTION_PACKAGE_CHANGED);
|
||||
intent.setData(Uri.parse("package:" + packageName));
|
||||
assertThat(controller.handleRefreshIntent(intent)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleRefreshIntent_badData() {
|
||||
CredentialProviderInfo cpi = createCredentialProviderInfo();
|
||||
CredentialManagerPreferenceController controller =
|
||||
createControllerWithServices(Lists.newArrayList(cpi));
|
||||
String packageName = cpi.getServiceInfo().packageName;
|
||||
|
||||
// Create an intent with valid data.
|
||||
Intent intent = new Intent(Intent.ACTION_PACKAGE_ENABLE_ROLLBACK);
|
||||
intent.setData(Uri.parse("package:" + packageName));
|
||||
assertThat(controller.handleRefreshIntent(intent)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleIntentWithProviderServiceInfo_handleBadIntent_missingData() {
|
||||
CredentialProviderInfo cpi = createCredentialProviderInfo();
|
||||
@@ -509,8 +444,7 @@ public class CredentialManagerPreferenceControllerTest {
|
||||
CredentialManagerPreferenceController controller =
|
||||
new CredentialManagerPreferenceController(
|
||||
mContext, mCredentialsPreferenceCategory.getKey());
|
||||
controller.setAvailableServices(
|
||||
() -> mock(Lifecycle.class), availableServices, addServiceOverride);
|
||||
controller.setAvailableServices(() -> mock(Lifecycle.class), availableServices, addServiceOverride);
|
||||
controller.setDelegate(mDelegate);
|
||||
return controller;
|
||||
}
|
||||
|
Reference in New Issue
Block a user