From e6835713b657d2ce14d0ebd3217170f602d35b18 Mon Sep 17 00:00:00 2001 From: Jordan Jozwiak Date: Thu, 12 Aug 2021 14:01:47 -0700 Subject: [PATCH] Use refactored RecentAppOpsAccess Use the new class in place of the old one. Bug: 182202223 Test: atest RecentLocationAccessPreferenceControllerTest Change-Id: If0222e79bf8ba2ebe2b1b0a8c043ce39f5a45596 --- ...entLocationAccessPreferenceController.java | 22 +++++++++---------- ...ationAccessSeeAllPreferenceController.java | 12 +++++----- ...ocationAccessPreferenceControllerTest.java | 20 ++--------------- 3 files changed, 19 insertions(+), 35 deletions(-) diff --git a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java index 97de4a7f9a4..a8a30b46c93 100644 --- a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java +++ b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java @@ -29,7 +29,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.profileselector.ProfileSelectFragment; -import com.android.settingslib.location.RecentLocationAccesses; +import com.android.settingslib.applications.RecentAppOpsAccess; import com.android.settingslib.utils.StringUtil; import com.android.settingslib.widget.AppPreference; @@ -42,7 +42,7 @@ import java.util.List; public class RecentLocationAccessPreferenceController extends LocationBasePreferenceController { public static final int MAX_APPS = 3; @VisibleForTesting - RecentLocationAccesses mRecentLocationApps; + RecentAppOpsAccess mRecentLocationApps; private PreferenceCategory mCategoryRecentLocationRequests; private int mType = ProfileSelectFragment.ProfileType.ALL; @@ -71,12 +71,12 @@ public class RecentLocationAccessPreferenceController extends LocationBasePrefer } public RecentLocationAccessPreferenceController(Context context, String key) { - this(context, key, new RecentLocationAccesses(context)); + this(context, key, RecentAppOpsAccess.createForLocation(context)); } @VisibleForTesting public RecentLocationAccessPreferenceController(Context context, String key, - RecentLocationAccesses recentLocationApps) { + RecentAppOpsAccess recentLocationApps) { super(context, key); mRecentLocationApps = recentLocationApps; } @@ -86,9 +86,9 @@ public class RecentLocationAccessPreferenceController extends LocationBasePrefer super.displayPreference(screen); mCategoryRecentLocationRequests = screen.findPreference(getPreferenceKey()); final Context prefContext = mCategoryRecentLocationRequests.getContext(); - final List recentLocationAccesses = new ArrayList<>(); + final List recentLocationAccesses = new ArrayList<>(); final UserManager userManager = UserManager.get(mContext); - for (RecentLocationAccesses.Access access : mRecentLocationApps.getAppListSorted( + for (RecentAppOpsAccess.Access access : mRecentLocationApps.getAppListSorted( /* showSystemApps= */ false)) { if (isRequestMatchesProfileType(userManager, access, mType)) { recentLocationAccesses.add(access); @@ -100,7 +100,7 @@ public class RecentLocationAccessPreferenceController extends LocationBasePrefer if (recentLocationAccesses.size() > 0) { // Add preferences to container in original order (already sorted by recency). - for (RecentLocationAccesses.Access access : recentLocationAccesses) { + for (RecentAppOpsAccess.Access access : recentLocationAccesses) { mCategoryRecentLocationRequests.addPreference( createAppPreference(prefContext, access, mFragment)); } @@ -132,7 +132,7 @@ public class RecentLocationAccessPreferenceController extends LocationBasePrefer * Create a {@link AppPreference} */ public static AppPreference createAppPreference(Context prefContext, - RecentLocationAccesses.Access access, DashboardFragment fragment) { + RecentAppOpsAccess.Access access, DashboardFragment fragment) { final AppPreference pref = new AppPreference(prefContext); pref.setIcon(access.icon); pref.setTitle(access.label); @@ -145,11 +145,11 @@ public class RecentLocationAccessPreferenceController extends LocationBasePrefer } /** - * Return if the {@link RecentLocationAccesses.Access} matches current UI - * {@ProfileSelectFragment.ProfileType} + * Return if the {@link RecentAppOpsAccess.Access} matches current UI + * {@link ProfileSelectFragment.ProfileType} */ public static boolean isRequestMatchesProfileType(UserManager userManager, - RecentLocationAccesses.Access access, @ProfileSelectFragment.ProfileType int type) { + RecentAppOpsAccess.Access access, @ProfileSelectFragment.ProfileType int type) { final boolean isWorkProfile = userManager.isManagedProfile( access.userHandle.getIdentifier()); diff --git a/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java b/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java index a05092dcdbd..eba6271f5cf 100644 --- a/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java +++ b/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java @@ -26,7 +26,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.dashboard.profileselector.ProfileSelectFragment; -import com.android.settingslib.location.RecentLocationAccesses; +import com.android.settingslib.applications.RecentAppOpsAccess; import com.android.settingslib.widget.AppPreference; import java.util.ArrayList; @@ -37,14 +37,14 @@ public class RecentLocationAccessSeeAllPreferenceController extends LocationBasePreferenceController { private PreferenceScreen mCategoryAllRecentLocationAccess; - private final RecentLocationAccesses mRecentLocationAccesses; + private final RecentAppOpsAccess mRecentLocationAccesses; private boolean mShowSystem = false; private Preference mPreference; private int mType = ProfileSelectFragment.ProfileType.ALL; public RecentLocationAccessSeeAllPreferenceController(Context context, String key) { super(context, key); - mRecentLocationAccesses = new RecentLocationAccesses(context); + mRecentLocationAccesses = RecentAppOpsAccess.createForLocation(context); } @Override @@ -65,8 +65,8 @@ public class RecentLocationAccessSeeAllPreferenceController final UserManager userManager = UserManager.get(mContext); - final List recentLocationAccesses = new ArrayList<>(); - for (RecentLocationAccesses.Access access : mRecentLocationAccesses.getAppListSorted( + final List recentLocationAccesses = new ArrayList<>(); + for (RecentAppOpsAccess.Access access : mRecentLocationAccesses.getAppListSorted( mShowSystem)) { if (isRequestMatchesProfileType(userManager, access, mType)) { recentLocationAccesses.add(access); @@ -80,7 +80,7 @@ public class RecentLocationAccessSeeAllPreferenceController banner.setSelectable(false); mCategoryAllRecentLocationAccess.addPreference(banner); } else { - for (RecentLocationAccesses.Access request : recentLocationAccesses) { + for (RecentAppOpsAccess.Access request : recentLocationAccesses) { final Preference appPreference = createAppPreference( preference.getContext(), request, mFragment); diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java index 32c86276559..52068c4d7c3 100644 --- a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java @@ -18,12 +18,10 @@ package com.android.settings.location; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; -import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; @@ -34,7 +32,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.testutils.shadow.ShadowDeviceConfig; -import com.android.settingslib.location.RecentLocationAccesses; +import com.android.settingslib.applications.RecentAppOpsAccess; import org.junit.After; import org.junit.Before; @@ -48,7 +46,6 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import java.util.ArrayList; -import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = {ShadowDeviceConfig.class}) @@ -61,7 +58,7 @@ public class RecentLocationAccessPreferenceControllerTest { @Mock private DashboardFragment mDashboardFragment; @Mock - private RecentLocationAccesses mRecentLocationApps; + private RecentAppOpsAccess mRecentLocationApps; private Context mContext; private RecentLocationAccessPreferenceController mController; @@ -110,17 +107,4 @@ public class RecentLocationAccessPreferenceControllerTest { mContext.getText(R.string.location_recent_location_access_view_details)); assertThat(details.hasOnClickListeners()).isTrue(); } - - private List createMockAccesses(int count) { - final List accesses = new ArrayList<>(); - for (int i = 0; i < count; i++) { - final Drawable icon = mock(Drawable.class); - // Add mock accesses - final RecentLocationAccesses.Access access = new RecentLocationAccesses.Access( - "packageName", android.os.Process.myUserHandle(), icon, - "appTitle" + i, "appSummary" + i, 1000 - i); - accesses.add(access); - } - return accesses; - } }