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

Commit 08adc739 authored by Baligh Uddin's avatar Baligh Uddin Committed by Android (Google) Code Review
Browse files

Merge changes from topic "RemoveTempStatsLogWrite" into qt-dev

* changes:
  Move to lib based statslogging
  Move permission controller build to soong
parents 9d73bc5a 12020af1
Loading
Loading
Loading
Loading

Android.bp

0 → 100644
+82 −0
Original line number Diff line number Diff line
//
// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

genrule {
    name: "statslog-permissioncontroller-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module permissioncontroller --javaPackage com.android.packageinstaller --javaClass PermissionControllerStatsLog",
    out: ["com/android/packageinstaller/PermissionControllerStatsLog.java"],
}

java_library {
    name: "permissioncontroller-statsd",
    sdk_version: "system_current",

    srcs: [
        ":statslog-permissioncontroller-java-gen",
    ],
}

android_app {
    name: "PermissionController",
    sdk_version: "system_current",
    min_sdk_version: "28",
    privileged: true,
    certificate: "platform",

    srcs: [
        "src/**/*.java",
        "src/**/*.proto",
    ],

    static_libs: [
        "iconloader",
        "androidx.car_car",
        "com.google.android.material_material",
        "androidx.transition_transition",
        "androidx.core_core",
        "androidx.media_media",
        "androidx.legacy_legacy-support-core-utils",
        "androidx.legacy_legacy-support-core-ui",
        "androidx.fragment_fragment",
        "androidx.appcompat_appcompat",
        "androidx.preference_preference",
        "androidx.recyclerview_recyclerview",
        "androidx.legacy_legacy-preference-v14",
        "androidx.leanback_leanback",
        "androidx.leanback_leanback-preference",
        "androidx.lifecycle_lifecycle-extensions",
        "androidx.lifecycle_lifecycle-common-java8",
        "SettingsLibHelpUtils",
        "SettingsLibRestrictedLockUtils",
        "SettingsLibAppPreference",
        "SettingsLibSearchWidget",
        "SettingsLibLayoutPreference",
        "SettingsLibBarChartPreference",
        "SettingsLibActionBarShadow",
        "SettingsLibProgressBar",
        "androidx.annotation_annotation",
        "permissioncontroller-statsd"
    ],

    proto: {
        type: "lite",
    },

    optimize: {
        proguard_flags_files: ["proguard.flags"],
    },
}

Android.mk

deleted100644 → 0
+0 −6
Original line number Diff line number Diff line
LOCAL_PATH:= $(call my-dir)

# In order to build the apk and tests for both AOSP and other builds
# via inherit-package, the makefile for PermissionController itself must
# not include the subdir makefiles, so it is split into its own makefile.
include $(LOCAL_PATH)/PermissionController.mk $(call all-makefiles-under,$(LOCAL_PATH))

PermissionController.mk

deleted100644 → 0
+0 −51
Original line number Diff line number Diff line
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_USE_AAPT2 := true

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := \
    $(call all-java-files-under, src) \
    $(call all-proto-files-under, src)

LOCAL_STATIC_ANDROID_LIBRARIES += \
    iconloader \
    androidx.car_car \
    com.google.android.material_material \
    androidx.transition_transition \
    androidx.core_core \
    androidx.media_media \
    androidx.legacy_legacy-support-core-utils \
    androidx.legacy_legacy-support-core-ui \
    androidx.fragment_fragment \
    androidx.appcompat_appcompat \
    androidx.preference_preference \
    androidx.recyclerview_recyclerview \
    androidx.legacy_legacy-preference-v14 \
    androidx.leanback_leanback \
    androidx.leanback_leanback-preference \
    androidx.lifecycle_lifecycle-extensions \
    androidx.lifecycle_lifecycle-common-java8 \
    SettingsLibHelpUtils \
    SettingsLibRestrictedLockUtils \
    SettingsLibAppPreference \
    SettingsLibSearchWidget \
    SettingsLibLayoutPreference \
    SettingsLibBarChartPreference \
    SettingsLibActionBarShadow \
    SettingsLibProgressBar

LOCAL_STATIC_JAVA_LIBRARIES := \
    androidx.annotation_annotation

LOCAL_PACKAGE_NAME := PermissionController
LOCAL_SDK_VERSION := system_current
LOCAL_MIN_SDK_VERSION := 28
LOCAL_PRIVILEGED_MODULE := true
LOCAL_CERTIFICATE := platform
LOCAL_PROTOC_OPTIMIZE_TYPE := lite

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

include $(BUILD_PACKAGE)
+16 −21
Original line number Diff line number Diff line
@@ -17,23 +17,21 @@
package com.android.packageinstaller.permission.ui;

import static android.content.pm.PackageManager.PERMISSION_DENIED;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__AUTO_DENIED;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__AUTO_GRANTED;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__IGNORED;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__IGNORED_POLICY_FIXED;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__IGNORED_RESTRICTED_PERMISSION;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__IGNORED_USER_FIXED;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__USER_DENIED;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__USER_DENIED_WITH_PREJUDICE;
import static android.util.StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__USER_GRANTED;
import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;

import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__AUTO_DENIED;
import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__AUTO_GRANTED;
import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__IGNORED;
import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__IGNORED_POLICY_FIXED;
import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__IGNORED_RESTRICTED_PERMISSION;
import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__IGNORED_USER_FIXED;
import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__USER_DENIED;
import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__USER_DENIED_WITH_PREJUDICE;
import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__USER_GRANTED;
import static com.android.packageinstaller.permission.ui.GrantPermissionsViewHandler.DENIED;
import static com.android.packageinstaller.permission.ui.GrantPermissionsViewHandler
        .DENIED_DO_NOT_ASK_AGAIN;
import static com.android.packageinstaller.permission.ui.GrantPermissionsViewHandler.DENIED_DO_NOT_ASK_AGAIN;
import static com.android.packageinstaller.permission.ui.GrantPermissionsViewHandler.GRANTED_ALWAYS;
import static com.android.packageinstaller.permission.ui.GrantPermissionsViewHandler
        .GRANTED_FOREGROUND_ONLY;
import static com.android.packageinstaller.permission.ui.GrantPermissionsViewHandler.GRANTED_FOREGROUND_ONLY;
import static com.android.packageinstaller.permission.utils.Utils.getRequestMessage;

import android.app.Activity;
@@ -53,9 +51,6 @@ import android.text.Spanned;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Pair;
import android.util.StatsLog;
import android.util.StatsLogAtoms;
import android.util.StatsLogAtoms.PermissionGrantRequestResultReported_Result;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
@@ -66,6 +61,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.android.packageinstaller.DeviceUtils;
import com.android.packageinstaller.PermissionControllerStatsLog;
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.AppPermissions;
import com.android.packageinstaller.permission.model.Permission;
@@ -224,8 +220,7 @@ public class GrantPermissionsActivity extends Activity
     * @param permission The permission that was granted or denied
     * @param result The permission grant result
     */
    private void reportRequestResult(@NonNull String permission,
            @PermissionGrantRequestResultReported_Result int result) {
    private void reportRequestResult(@NonNull String permission, int result) {
        boolean isImplicit = !ArrayUtils.contains(mRequestedPermissions, permission);

        Log.v(LOG_TAG,
@@ -233,7 +228,8 @@ public class GrantPermissionsActivity extends Activity
                        + " callingPackage=" + mCallingPackage + " permission=" + permission
                        + " isImplicit=" + isImplicit + " result=" + result);

        StatsLog.write(StatsLogAtoms.PERMISSION_GRANT_REQUEST_RESULT_REPORTED, mRequestId,
        PermissionControllerStatsLog.write(
                PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED, mRequestId,
                mCallingUid, mCallingPackage, permission, isImplicit, result);
    }

@@ -243,8 +239,7 @@ public class GrantPermissionsActivity extends Activity
     * @param permissions The permissions that were granted or denied
     * @param result The permission grant result
     */
    private void reportRequestResult(@NonNull String[] permissions,
            @PermissionGrantRequestResultReported_Result int result) {
    private void reportRequestResult(@NonNull String[] permissions, int result) {
        for (String permission : permissions) {
            reportRequestResult(permission, result);
        }