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

Commit 90e25c71 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 5540187 from cd58d5a5 to qt-release

Change-Id: I7ffc66c574f433251506fa4b4863b364c2e20dcf
parents 29ee8839 cd58d5a5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ java_defaults {
        "core/java/android/app/IInstrumentationWatcher.aidl",
        "core/java/android/app/INotificationManager.aidl",
        "core/java/android/app/IProcessObserver.aidl",
        "core/java/android/app/IRequestFinishCallback.aidl",
        "core/java/android/app/ISearchManager.aidl",
        "core/java/android/app/ISearchManagerCallback.aidl",
        "core/java/android/app/IServiceConnection.aidl",
+15 −15
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ import "frameworks/base/core/proto/android/server/location/enums.proto";
import "frameworks/base/core/proto/android/service/procstats_enum.proto";
import "frameworks/base/core/proto/android/service/usb.proto";
import "frameworks/base/core/proto/android/stats/connectivity/network_stack.proto";
import "frameworks/base/core/proto/android/stats/connectivity/resolv_stats.proto";
import "frameworks/base/core/proto/android/stats/dnsresolver/dns_resolver.proto";
import "frameworks/base/core/proto/android/stats/devicepolicy/device_policy.proto";
import "frameworks/base/core/proto/android/stats/devicepolicy/device_policy_enums.proto";
import "frameworks/base/core/proto/android/stats/docsui/docsui_enums.proto";
@@ -5109,36 +5109,36 @@ message AppCompacted {
 * Logs a DNS lookup operation initiated by the system resolver on behalf of an application
 * invoking native APIs such as getaddrinfo() or Java APIs such as Network#getAllByName().
 *
 * The top-level message represents the entire lookup operation, which may result one or more
 * queries to the recursive DNS resolvers. Those are individually logged in DnsQueryEvent to
 * enable computing error rates and network latency and timeouts broken up by query type,
 * transport, network interface, etc.
 * The NetworkDnsEventReported message represents the entire lookup operation, which may
 * result one or more queries to the recursive DNS resolvers. Those are individually logged
 * in DnsQueryEvents to enable computing error rates and network latency and timeouts
 * broken up by query type, transport, network interface, etc.
 */
message NetworkDnsEventReported {
    optional android.stats.dnsresolver.EventType event_type = 1;

    optional android.stats.connectivity.EventType event_type = 1;

    optional android.stats.connectivity.ReturnCode return_code = 2;
    optional android.stats.dnsresolver.ReturnCode return_code = 2;

    // The latency in microseconds of the entire DNS lookup operation.
    optional int32 latency_micros = 3;

    optional android.stats.connectivity.DnsQueryEventRe dns_query_event_re = 4 [(log_mode) = MODE_BYTES];
    // Only valid for event_type = EVENT_GETADDRINFO.
    optional int32 hints_ai_flags = 4;

    // ResNSend flags defined in android/multinetwork.h
    optional int32 flags = 5;
    // Flags passed to android_res_nsend() defined in multinetwork.h
    // Only valid for event_type = EVENT_RESNSEND.
    optional int32 res_nsend_flags = 5;

    optional android.net.NetworkCapabilitiesProto.Transport network_type = 6;
    optional android.stats.dnsresolver.Transport network_type = 6;

    // The DNS over TLS mode on a specific netId.
    optional android.stats.connectivity.PrivateDnsModes private_dns_modes = 7;
    optional android.stats.dnsresolver.PrivateDnsModes private_dns_modes = 7;

    // Additional pass-through fields opaque to statsd.
    // The DNS resolver Mainline module can add new fields here without requiring an OS update.
    optional android.stats.connectivity.DnsCallEvent dns_call_event = 8 [(log_mode) = MODE_BYTES];
    optional android.stats.dnsresolver.DnsQueryEvents dns_query_events = 8 [(log_mode) = MODE_BYTES];
}


/**
 * Logs when a data stall event occurs.
 *
+19 −1
Original line number Diff line number Diff line
@@ -3666,7 +3666,25 @@ public class Activity extends ContextThemeWrapper

        FragmentManager fragmentManager = mFragments.getFragmentManager();

        if (fragmentManager.isStateSaved() || !fragmentManager.popBackStackImmediate()) {
        if (!fragmentManager.isStateSaved() && fragmentManager.popBackStackImmediate()) {
            return;
        }
        if (!isTaskRoot()) {
            // If the activity is not the root of the task, allow finish to proceed normally.
            finishAfterTransition();
            return;
        }
        try {
            // Inform activity task manager that the activity received a back press
            // while at the root of the task. This call allows ActivityTaskManager
            // to intercept or defer finishing.
            ActivityTaskManager.getService().onBackPressedOnTaskRoot(mToken,
                    new IRequestFinishCallback.Stub() {
                        public void requestFinish() {
                            finishAfterTransition();
                        }
                    });
        } catch (RemoteException e) {
            finishAfterTransition();
        }
    }
+8 −12
Original line number Diff line number Diff line
@@ -64,7 +64,6 @@ import android.os.ServiceManager;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.WorkSource;
import android.permission.PermissionManager;
import android.util.ArrayMap;
import android.util.DisplayMetrics;
import android.util.Singleton;
@@ -3739,7 +3738,6 @@ public class ActivityManager {
        }
        // Isolated processes don't get any permissions.
        if (UserHandle.isIsolated(uid)) {
            PermissionManager.addPermissionDenialHint("uid " + uid + " is isolated");
            return PackageManager.PERMISSION_DENIED;
        }
        // If there is a uid that owns whatever is being accessed, it has
@@ -3755,26 +3753,24 @@ public class ActivityManager {
            Slog.w(TAG, "Permission denied: checkComponentPermission() owningUid=" + owningUid,
                    here);
            */
            PermissionManager.addPermissionDenialHint(
                    "Target is not exported. owningUid=" + owningUid);
            return PackageManager.PERMISSION_DENIED;
        }
        if (permission == null) {
            return PackageManager.PERMISSION_GRANTED;
        }
        return checkUidPermission(permission, uid);
        try {
            return AppGlobals.getPackageManager()
                    .checkUidPermission(permission, uid);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /** @hide */
    public static int checkUidPermission(String permission, int uid) {
        try {
            List<String> hints = PermissionManager.getPermissionDenialHints();
            if (hints == null) {
                return AppGlobals.getPackageManager().checkUidPermission(permission, uid);
            } else {
            return AppGlobals.getPackageManager()
                        .checkUidPermissionWithDenialHintForwarding(permission, uid, hints);
            }
                    .checkUidPermission(permission, uid);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+19 −45
Original line number Diff line number Diff line
@@ -68,7 +68,6 @@ import android.os.Trace;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.storage.StorageManager;
import android.permission.PermissionManager;
import android.system.ErrnoException;
import android.system.Os;
import android.system.OsConstants;
@@ -99,7 +98,6 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.Executor;

@@ -1830,17 +1828,11 @@ class ContextImpl extends Context {
            }
            Slog.w(TAG, "Missing ActivityManager; assuming " + uid + " does not hold "
                    + permission);
            PermissionManager.addPermissionDenialHint("Missing ActivityManager");
            return PackageManager.PERMISSION_DENIED;
        }

        try {
            List<String> hints = PermissionManager.getPermissionDenialHints();
            if (hints == null) {
            return am.checkPermission(permission, pid, uid);
            } else {
                return am.checkPermissionWithDenialHintForwarding(permission, pid, uid, hints);
            }
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
@@ -1897,61 +1889,43 @@ class ContextImpl extends Context {
            String permission, int resultOfCheck,
            boolean selfToo, int uid, String message) {
        if (resultOfCheck != PackageManager.PERMISSION_GRANTED) {
            List<String> hints = PermissionManager.getPermissionDenialHints();
            throw new SecurityException(
                    (message != null ? (message + ": ") : "") +
                    (selfToo
                     ? "Neither user " + uid + " nor current process has "
                     : "uid " + uid + " does not have ")
                            + permission + "."
                            + (hints == null ? "" : " Hints: " + hints));
                     : "uid " + uid + " does not have ") +
                    permission +
                    ".");
        }
    }

    @Override
    public void enforcePermission(
            String permission, int pid, int uid, String message) {
        List<String> prev = PermissionManager.collectPermissionDenialHints(this, uid);
        try {
        enforce(permission,
                checkPermission(permission, pid, uid),
                false,
                uid,
                message);
        } finally {
            PermissionManager.resetPermissionDenialHints(prev);
        }
    }

    @Override
    public void enforceCallingPermission(String permission, String message) {
        List<String> prev = PermissionManager.collectPermissionDenialHints(this,
                Binder.getCallingUid());
        try {
        enforce(permission,
                checkCallingPermission(permission),
                false,
                Binder.getCallingUid(),
                message);
        } finally {
            PermissionManager.resetPermissionDenialHints(prev);
        }
    }

    @Override
    public void enforceCallingOrSelfPermission(
            String permission, String message) {
        List<String> prev = PermissionManager.collectPermissionDenialHints(this,
                Binder.getCallingUid());
        try {
        enforce(permission,
                checkCallingOrSelfPermission(permission),
                true,
                Binder.getCallingUid(),
                message);
        } finally {
            PermissionManager.resetPermissionDenialHints(prev);
        }
    }

    @Override
Loading