Use refactored RecentAppOpsAccess

Use the new class in place of the old one.

Bug: 182202223
Test: atest RecentLocationAccessPreferenceControllerTest
Change-Id: If0222e79bf8ba2ebe2b1b0a8c043ce39f5a45596
diff --git a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
index 97de4a7..a8a30b4 100644
--- a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
@@ -29,7 +29,7 @@
 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 @@
 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 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 @@
         super.displayPreference(screen);
         mCategoryRecentLocationRequests = screen.findPreference(getPreferenceKey());
         final Context prefContext = mCategoryRecentLocationRequests.getContext();
-        final List<RecentLocationAccesses.Access> recentLocationAccesses = new ArrayList<>();
+        final List<RecentAppOpsAccess.Access> 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 @@
 
         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 @@
      * 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 @@
     }
 
     /**
-     * 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 a05092d..eba6271 100644
--- a/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java
@@ -26,7 +26,7 @@
 
 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 @@
         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 @@
 
         final UserManager userManager = UserManager.get(mContext);
 
-        final List<RecentLocationAccesses.Access> recentLocationAccesses = new ArrayList<>();
-        for (RecentLocationAccesses.Access access : mRecentLocationAccesses.getAppListSorted(
+        final List<RecentAppOpsAccess.Access> recentLocationAccesses = new ArrayList<>();
+        for (RecentAppOpsAccess.Access access : mRecentLocationAccesses.getAppListSorted(
                 mShowSystem)) {
             if (isRequestMatchesProfileType(userManager, access, mType)) {
                 recentLocationAccesses.add(access);
@@ -80,7 +80,7 @@
             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 32c8627..52068c4 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 @@
 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 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.annotation.Config;
 
 import java.util.ArrayList;
-import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowDeviceConfig.class})
@@ -61,7 +58,7 @@
     @Mock
     private DashboardFragment mDashboardFragment;
     @Mock
-    private RecentLocationAccesses mRecentLocationApps;
+    private RecentAppOpsAccess mRecentLocationApps;
 
     private Context mContext;
     private RecentLocationAccessPreferenceController mController;
@@ -110,17 +107,4 @@
                 mContext.getText(R.string.location_recent_location_access_view_details));
         assertThat(details.hasOnClickListeners()).isTrue();
     }
-
-    private List<RecentLocationAccesses.Access> createMockAccesses(int count) {
-        final List<RecentLocationAccesses.Access> 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;
-    }
 }