Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b60a83d4 authored by Joel Galenson's avatar Joel Galenson
Browse files

Allow clicking on individual recent usages in the widget.

Modify the recent usage widget in ManageStandardPermissionsFragment so
that clicking on an individual usage takes the user to the
AppPermissionFragment for that app and permission.

Test: Click widget.
Change-Id: If89bb98ca2729da037a2eca2fc18fb7ec3765911
parent ccf15286
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -32,11 +32,13 @@ import androidx.fragment.app.FragmentTransaction;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.AppPermissionUsage;
import com.android.packageinstaller.permission.model.AppPermissionUsage.GroupUsage;
import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp;
import com.android.packageinstaller.permission.model.PermissionGroup;
import com.android.packageinstaller.permission.model.PermissionUsages;
import com.android.packageinstaller.permission.ui.AppPermissionActivity;
import com.android.packageinstaller.permission.utils.Utils;
import com.android.permissioncontroller.R;
import com.android.settingslib.widget.AppEntitiesHeaderController;
@@ -218,10 +220,18 @@ public final class ManageStandardPermissionsFragment extends ManagePermissionsFr
        int i = 0;
        for (; i < numAppsToShow; i++) {
            Pair<PermissionApp, GroupUsage> info = usages.get(i);
            AppPermissionGroup group = info.second.getGroup();
            AppEntityInfo appEntityInfo = new AppEntityInfo.Builder()
                    .setIcon(info.first.getIcon())
                    .setTitle(info.first.getLabel())
                    .setSummary(info.second.getGroup().getLabel())
                    .setSummary(group.getLabel())
                    .setOnClickListener(v -> {
                        Intent intent = new Intent(context, AppPermissionActivity.class);
                        intent.putExtra(Intent.EXTRA_PACKAGE_NAME, group.getApp().packageName);
                        intent.putExtra(Intent.EXTRA_PERMISSION_NAME, group.getName());
                        intent.putExtra(Intent.EXTRA_USER, group.getUser());
                        context.startActivity(intent);
                    })
                    .build();
            mAppUsageController.setAppEntity(i, appEntityInfo);
        }