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

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

Merge changes I2d2aa89c,Ib507b449

* changes:
  Build framework-wifi against core_current & framework-system-stubs
  WifiNetworkSpecifier: get context reflectively
parents 2db126d9 cff9adda
Loading
Loading
Loading
Loading
+15 −6
Original line number Original line Diff line number Diff line
@@ -58,19 +58,20 @@ test_access_hidden_api_whitelist = [
// classes before they are renamed.
// classes before they are renamed.
java_library {
java_library {
    name: "framework-wifi-pre-jarjar",
    name: "framework-wifi-pre-jarjar",
    // TODO(b/140299412) should be core_current once we build against framework-system-stubs
    // TODO(b/146757305): sdk_version should be "module_lib_current"
    sdk_version: "core_platform",
    sdk_version: "core_current",
    static_libs: [
    static_libs: [
        "framework-wifi-util-lib",
        "framework-wifi-util-lib",
        "android.hardware.wifi-V1.0-java-constants",
        "android.hardware.wifi-V1.0-java-constants",
    ],
    ],
    libs: [
    libs: [
        // TODO(b/140299412) should be framework-system-stubs once we fix all @hide dependencies
        "framework-minus-apex",
        "framework-annotations-lib",
        "framework-annotations-lib",
        "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage
        "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage
        "unsupportedappusage-annotation", // for dalvik.annotation.compat.UnsupportedAppUsage
        "unsupportedappusage-annotation", // for dalvik.annotation.compat.UnsupportedAppUsage
        "framework-telephony-stubs",
        "framework-telephony-stubs",
        // TODO(b/146757305): should be unnecessary once
        // sdk_version="module_lib_current"
        "android_system_stubs_current",
    ],
    ],
    srcs: [
    srcs: [
        ":framework-wifi-updatable-sources",
        ":framework-wifi-updatable-sources",
@@ -80,13 +81,21 @@ java_library {
        "//frameworks/opt/net/wifi/service",
        "//frameworks/opt/net/wifi/service",
        "//frameworks/opt/net/wifi/tests/wifitests",
        "//frameworks/opt/net/wifi/tests/wifitests",
    ],
    ],

    // TODO(b/146757305): should be unnecessary once
    // sdk_version="module_lib_current"
    aidl: {
        include_dirs: [
            "frameworks/base/core/java",
        ],
    },
}
}


// post-jarjar version of framework-wifi
// post-jarjar version of framework-wifi
java_library {
java_library {
    name: "framework-wifi",
    name: "framework-wifi",
    // TODO(b/140299412) should be core_current once we build against framework-system-stubs
    // TODO(b/146757305): sdk_version should be "module_lib_current"
    sdk_version: "core_platform",
    sdk_version: "core_current",
    static_libs: [
    static_libs: [
        "framework-wifi-pre-jarjar",
        "framework-wifi-pre-jarjar",
    ],
    ],
+21 −2
Original line number Original line Diff line number Diff line
@@ -20,7 +20,7 @@ import static com.android.internal.util.Preconditions.checkNotNull;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.app.ActivityThread;
import android.app.Application;
import android.net.MacAddress;
import android.net.MacAddress;
import android.net.MatchAllNetworkSpecifier;
import android.net.MatchAllNetworkSpecifier;
import android.net.NetworkRequest;
import android.net.NetworkRequest;
@@ -30,8 +30,11 @@ import android.os.Parcelable;
import android.os.PatternMatcher;
import android.os.PatternMatcher;
import android.os.Process;
import android.os.Process;
import android.text.TextUtils;
import android.text.TextUtils;
import android.util.Log;
import android.util.Pair;
import android.util.Pair;


import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.StandardCharsets;
import java.nio.charset.StandardCharsets;
import java.util.Objects;
import java.util.Objects;
@@ -41,6 +44,7 @@ import java.util.Objects;
 * {@link WifiNetworkSpecifier.Builder} class to create an instance.
 * {@link WifiNetworkSpecifier.Builder} class to create an instance.
 */
 */
public final class WifiNetworkSpecifier extends NetworkSpecifier implements Parcelable {
public final class WifiNetworkSpecifier extends NetworkSpecifier implements Parcelable {
    private static final String TAG = "WifiNetworkSpecifier";


    /**
    /**
     * Builder used to create {@link WifiNetworkSpecifier} objects.
     * Builder used to create {@link WifiNetworkSpecifier} objects.
@@ -436,7 +440,22 @@ public final class WifiNetworkSpecifier extends NetworkSpecifier implements Parc
                    mBssidPatternMatcher,
                    mBssidPatternMatcher,
                    buildWifiConfiguration(),
                    buildWifiConfiguration(),
                    Process.myUid(),
                    Process.myUid(),
                    ActivityThread.currentApplication().getApplicationContext().getOpPackageName());
                    getCurrentApplicationReflectively().getApplicationContext().getOpPackageName());
        }

        // TODO(b/144102365): Remove once refactor is complete
        private static Application getCurrentApplicationReflectively() {
            try {
                // reflection for static method android.app.ActivityThread#currentApplication()
                Class<?> klass = Class.forName("android.app.ActivityThread");
                Method currentApplicationMethod = klass.getDeclaredMethod("currentApplication");
                Object result = currentApplicationMethod.invoke(null);
                return (Application) result;
            } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException
                    | InvocationTargetException e) {
                Log.e(TAG, "Failed to call ActivityThread#currentApplication() reflectively!", e);
                throw new RuntimeException(e);
            }
        }
        }
    }
    }