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

Commit 433d6038 authored by David Su's avatar David Su Committed by Android (Google) Code Review
Browse files

Merge changes from topics "framework-wifi-jarjar", "framework-wifi-jarjar-more-classes"

* changes:
  SystemService annotation: Remove import of Context
  Jarjar more classes into framework-wifi
  Jarjar utils into framework-wifi and share with wifi-service
parents dc54c4c7 7f528b9a
Loading
Loading
Loading
Loading
+34 −5
Original line number Diff line number Diff line
@@ -348,7 +348,6 @@ java_library {
        "android.hardware.vibrator-V1.1-java",
        "android.hardware.vibrator-V1.2-java",
        "android.hardware.vibrator-V1.3-java",
        "android.hardware.wifi-V1.0-java-constants",
        "devicepolicyprotosnano",

        "com.android.sysprop.apex",
@@ -506,7 +505,10 @@ java_library {
    defaults: ["framework-defaults"],
    srcs: [":framework-all-sources"],
    installable: false,
    static_libs: ["exoplayer2-core"],
    static_libs: [
        "exoplayer2-core",
        "android.hardware.wifi-V1.0-java-constants",
     ],
    apex_available: ["//apex_available:platform"],
}

@@ -604,17 +606,22 @@ gensrcs {
filegroup {
    name: "framework-annotations",
    srcs: [
        "core/java/android/annotation/CallbackExecutor.java",
        "core/java/android/annotation/CheckResult.java",
        "core/java/android/annotation/IntDef.java",
        "core/java/android/annotation/IntRange.java",
        "core/java/android/annotation/NonNull.java",
        "core/java/android/annotation/Nullable.java",
        "core/java/android/annotation/RequiresPermission.java",
        "core/java/android/annotation/SdkConstant.java",
        "core/java/android/annotation/StringDef.java",
        "core/java/android/annotation/SystemApi.java",
        "core/java/android/annotation/SystemService.java",
        "core/java/android/annotation/TestApi.java",
        "core/java/android/annotation/UnsupportedAppUsage.java",
        "core/java/com/android/internal/annotations/GuardedBy.java",
        "core/java/com/android/internal/annotations/VisibleForTesting.java",
        "core/java/com/android/internal/annotations/Immutable.java",
    ],
}

@@ -1148,13 +1155,36 @@ filegroup {
    ],
}

// utility classes statically linked into framework-wifi and dynamically linked
// into wifi-service
java_library {
    name: "framework-wifi-util-lib",
    sdk_version: "core_current",
    srcs: [
        "core/java/android/content/pm/BaseParceledListSlice.java",
        "core/java/android/content/pm/ParceledListSlice.java",
        "core/java/android/net/shared/Inet4AddressUtils.java",
        "core/java/android/os/HandlerExecutor.java",
        "core/java/com/android/internal/util/AsyncChannel.java",
        "core/java/com/android/internal/util/AsyncService.java",
        "core/java/com/android/internal/util/Protocol.java",
        "core/java/com/android/internal/util/Preconditions.java",
        "telephony/java/android/telephony/Annotation.java",
    ],
    libs: [
        "framework-annotations-lib",
        "unsupportedappusage",
        "android_system_stubs_current",
    ],
    visibility: ["//frameworks/base/wifi"],
}

// utility classes statically linked into wifi-service
filegroup {
    name: "framework-wifi-service-shared-srcs",
    srcs: [
        ":framework-annotations",
        "core/java/android/net/InterfaceConfiguration.java",
        "core/java/android/os/BasicShellCommandHandler.java",
        "core/java/android/os/HandlerExecutor.java",
        "core/java/android/util/BackupUtils.java",
        "core/java/android/util/LocalLog.java",
        "core/java/android/util/Rational.java",
@@ -1162,7 +1192,6 @@ filegroup {
        "core/java/com/android/internal/util/HexDump.java",
        "core/java/com/android/internal/util/IState.java",
        "core/java/com/android/internal/util/MessageUtils.java",
        "core/java/com/android/internal/util/Preconditions.java",
        "core/java/com/android/internal/util/State.java",
        "core/java/com/android/internal/util/StateMachine.java",
        "core/java/com/android/internal/util/WakeupMessage.java",
+3 −5
Original line number Diff line number Diff line
@@ -19,14 +19,12 @@ package android.annotation;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.SOURCE;

import android.content.Context;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * Description of a system service available through
 * {@link Context#getSystemService(Class)}. This is used to auto-generate
 * {@link android.content.Context#getSystemService(Class)}. This is used to auto-generate
 * documentation explaining how to obtain a reference to the service.
 *
 * @hide
@@ -36,9 +34,9 @@ import java.lang.annotation.Target;
public @interface SystemService {
    /**
     * The string name of the system service that can be passed to
     * {@link Context#getSystemService(String)}.
     * {@link android.content.Context#getSystemService(String)}.
     *
     * @see Context#getSystemServiceName(Class)
     * @see android.content.Context#getSystemServiceName(Class)
     */
    String value();
}
+32 −2
Original line number Diff line number Diff line
@@ -52,18 +52,43 @@ test_access_hidden_api_whitelist = [
    "//external/robolectric-shadows:__subpackages__",
]

// wifi-service needs pre-jarjared version of framework-wifi so it can reference copied utility
// classes before they are renamed.
java_library {
    name: "framework-wifi",
    name: "framework-wifi-pre-jarjar",
    // TODO(b/140299412) should be core_current once we build against framework-system-stubs
    sdk_version: "core_platform",
    static_libs: [
        "framework-wifi-util-lib",
        "android.hardware.wifi-V1.0-java-constants",
    ],
    libs: [
        // TODO(b/140299412) should be framework-system-stubs once we fix all @hide dependencies
        "framework-minus-apex",
        "unsupportedappusage",
        "framework-annotations-lib",
        "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage
        "unsupportedappusage-annotation", // for dalvik.annotation.compat.UnsupportedAppUsage
    ],
    srcs: [
        ":framework-wifi-updatable-sources",
    ],
    installable: false,
    visibility: [
        "//frameworks/opt/net/wifi/service",
        "//frameworks/opt/net/wifi/tests/wifitests",
    ],
}

// post-jarjar version of framework-wifi
java_library {
    name: "framework-wifi",
    // TODO(b/140299412) should be core_current once we build against framework-system-stubs
    sdk_version: "core_platform",
    static_libs: [
        "framework-wifi-pre-jarjar",
    ],
    jarjar_rules: ":wifi-jarjar-rules",

    installable: true,
    optimize: {
        enabled: false
@@ -122,3 +147,8 @@ java_defaults {
    ],
    visibility: test_access_hidden_api_whitelist,
}

filegroup {
    name: "wifi-jarjar-rules",
    srcs: ["jarjar-rules.txt"],
}

wifi/jarjar-rules.txt

0 → 100644
+39 −0
Original line number Diff line number Diff line
rule android.net.InterfaceConfigurationParcel* @0
rule android.net.InterfaceConfiguration* com.android.server.x.wifi.net.InterfaceConfiguration@1

# We don't jar-jar the entire package because, we still use some classes (like
# AsyncChannel in com.android.internal.util) from these packages which are not
# inside our jar (currently in framework.jar, but will be in wifisdk.jar in the future).
rule com.android.internal.util.FastXmlSerializer* com.android.server.x.wifi.util.FastXmlSerializer@1
rule com.android.internal.util.HexDump* com.android.server.x.wifi.util.HexDump@1
rule com.android.internal.util.IState* com.android.server.x.wifi.util.IState@1
rule com.android.internal.util.MessageUtils* com.android.server.x.wifi.util.MessageUtils@1
rule com.android.internal.util.State* com.android.server.x.wifi.util.State@1
rule com.android.internal.util.StateMachine* com.android.server.x.wifi.util.StateMachine@1
rule com.android.internal.util.WakeupMessage* com.android.server.x.wifi.util.WakeupMessage@1
rule com.android.internal.util.XmlUtils* com.android.server.x.wifi.util.XmlUtils@1

rule android.util.BackupUtils* com.android.server.x.wifi.util.BackupUtils@1
rule android.util.LocalLog* com.android.server.x.wifi.util.LocalLog@1
rule android.util.Rational* com.android.server.x.wifi.util.Rational@1

rule android.os.BasicShellCommandHandler* com.android.server.x.wifi.os.BasicShellCommandHandler@1

# Use our statically linked bouncy castle library
rule org.bouncycastle.** com.android.server.x.wifi.bouncycastle.@1
# Use our statically linked protobuf library
rule com.google.protobuf.** com.android.server.x.wifi.protobuf.@1
# Use our statically linked PlatformProperties library
rule android.sysprop.** com.android.server.x.wifi.sysprop.@1


# used by both framework-wifi and wifi-service
rule android.content.pm.BaseParceledListSlice* android.x.net.wifi.util.BaseParceledListSlice@1
rule android.content.pm.ParceledListSlice* android.x.net.wifi.util.ParceledListSlice@1
rule android.net.shared.Inet4AddressUtils* android.x.net.wifi.util.Inet4AddressUtils@1
rule android.os.HandlerExecutor* android.x.net.wifi.util.HandlerExecutor@1
rule android.telephony.Annotation* android.x.net.wifi.util.TelephonyAnnotation@1
rule com.android.internal.util.AsyncChannel* android.x.net.wifi.util.AsyncChannel@1
rule com.android.internal.util.AsyncService* android.x.net.wifi.util.AsyncService@1
rule com.android.internal.util.Preconditions* android.x.net.wifi.util.Preconditions@1
rule com.android.internal.util.Protocol* android.x.net.wifi.util.Protocol@1