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

Commit 6943a039 authored by Stanislav Zholnin's avatar Stanislav Zholnin
Browse files

Add logging of user views in AppPermissionFragment

Test: ./out/host/linux-x86/bin/statsd_testdrive -p com.google.android.permissioncontroller 216
Bug: 133401502
Change-Id: I35d1e48064eb986dc77497d12d7e61ee9fcd1fb9
parent 6a545bc4
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -16,6 +16,10 @@

package com.android.packageinstaller.permission.ui.handheld;

import static com.android.packageinstaller.Constants.EXTRA_SESSION_ID;
import static com.android.packageinstaller.Constants.INVALID_SESSION_ID;
import static com.android.packageinstaller.PermissionControllerStatsLog.APP_PERMISSION_FRAGMENT_VIEWED;

import static java.lang.annotation.RetentionPolicy.SOURCE;

import android.app.ActionBar;
@@ -51,7 +55,7 @@ import androidx.core.widget.NestedScrollView;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment;

import com.android.packageinstaller.Constants;
import com.android.packageinstaller.PermissionControllerStatsLog;
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.Permission;
import com.android.packageinstaller.permission.ui.AppPermissionActivity;
@@ -123,7 +127,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader {
        }
        arguments.putParcelable(Intent.EXTRA_USER, userHandle);
        arguments.putString(AppPermissionActivity.EXTRA_CALLER_NAME, caller);
        arguments.putLong(Constants.EXTRA_SESSION_ID, sessionId);
        arguments.putLong(EXTRA_SESSION_ID, sessionId);
        fragment.setArguments(arguments);
        return fragment;
    }
@@ -145,6 +149,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader {
            getActivity().setTitle(
                    getPreferenceManager().getContext().getString(R.string.app_permission_title,
                            mGroup.getFullLabel()));
            logAppPermissionFragmentViewed();
        }
    }

@@ -196,7 +201,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader {
                context.getString(R.string.app_permission_header, mGroup.getFullLabel()));

        root.requireViewById(R.id.usage_summary).setVisibility(View.GONE);
        long sessionId = getArguments().getLong(Constants.EXTRA_SESSION_ID);
        long sessionId = getArguments().getLong(EXTRA_SESSION_ID);

        TextView footer1Link = root.requireViewById(R.id.footer_link_1);
        footer1Link.setText(context.getString(R.string.app_permission_footer_app_permissions_link,
@@ -205,7 +210,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader {
            UserHandle user = UserHandle.getUserHandleForUid(mGroup.getApp().applicationInfo.uid);
            Intent intent = new Intent(Intent.ACTION_MANAGE_APP_PERMISSIONS);
            intent.putExtra(Intent.EXTRA_PACKAGE_NAME, mGroup.getApp().packageName);
            intent.putExtra(Constants.EXTRA_SESSION_ID, sessionId);
            intent.putExtra(EXTRA_SESSION_ID, sessionId);
            intent.putExtra(Intent.EXTRA_USER, user);
            context.startActivity(intent);
        });
@@ -215,7 +220,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader {
        footer2Link.setOnClickListener((v) -> {
            Intent intent = new Intent(Intent.ACTION_MANAGE_PERMISSION_APPS);
            intent.putExtra(Intent.EXTRA_PERMISSION_NAME, mGroup.getName());
            intent.putExtra(Constants.EXTRA_SESSION_ID, sessionId);
            intent.putExtra(EXTRA_SESSION_ID, sessionId);
            context.startActivity(intent);
        });

@@ -295,6 +300,15 @@ public class AppPermissionFragment extends SettingsWithLargeHeader {
        updateButtons();
    }

    void logAppPermissionFragmentViewed() {
        long sessionId = getArguments().getLong(EXTRA_SESSION_ID, INVALID_SESSION_ID);
        PermissionControllerStatsLog.write(APP_PERMISSION_FRAGMENT_VIEWED, sessionId,
                mGroup.getApp().applicationInfo.uid, mGroup.getApp().packageName, mGroup.getName());
        Log.v(LOG_TAG, "AppPermission fragment viewed with sessionId=" + sessionId + " uid="
                + mGroup.getApp().applicationInfo.uid + " packageName="
                + mGroup.getApp().packageName + " permissionGroupName=" + mGroup.getName());
    }

    @Override
    public void onStop() {
        super.onStop();