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

Commit 9e8264dc authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN
Browse files

Create ServiceConnectivityResources

Create the ServiceConnectivityResources package, which contains
resources Connectivity unbundled from platform resources.

Migrate the first few resources from ConnectivityService that have no
RRO in AOSP. To avoid boot time impact, avoid loading the resources in
the ConnectivityService constructor.

Bug: 182125649
Test: atest FrameworksNetTests
Change-Id: I77ac6f4303c54acc96f16e18ef02add30298ff3d
parent f72cf3cd
Loading
Loading
Loading
Loading
+0 −21
Original line number Diff line number Diff line
@@ -324,9 +324,6 @@
        <item>"0,1"</item>
    </string-array>

    <!-- The maximum duration (in milliseconds) we expect a network transition to take -->
    <integer name="config_networkTransitionTimeout">60000</integer>

    <!-- Whether/how to notify the user on network switches. See LingerMonitor.java. -->
    <integer translatable="false" name="config_networkNotifySwitchType">0</integer>

@@ -339,16 +336,6 @@
         Settings.Global.NETWORK_AVOID_BAD_WIFI. This is the default value of that setting. -->
    <integer translatable="false" name="config_networkAvoidBadWifi">1</integer>

    <!-- Configuration hook for the URL returned by ConnectivityManager#getCaptivePortalServerUrl.
         If empty, the returned value is controlled by Settings.Global.CAPTIVE_PORTAL_HTTP_URL,
         and if that value is empty, the framework will use a hard-coded default.
         This is *NOT* a URL that will always be used by the system network validation to detect
         captive portals: NetworkMonitor may use different strategies and will not necessarily use
         this URL. NetworkMonitor behaviour should be configured with NetworkStack resource overlays
         instead. -->
    <!--suppress CheckTagEmptyBody -->
    <string translatable="false" name="config_networkCaptivePortalServerUrl"></string>

    <!-- If the hardware supports specially marking packets that caused a wakeup of the
         main CPU, set this value to the mark used. -->
    <integer name="config_networkWakeupPacketMark">0</integer>
@@ -456,14 +443,6 @@
         apps requested it. -->
    <bool name="config_vehicleInternalNetworkAlwaysRequested">false</bool>

    <!-- Configuration of network interfaces that support WakeOnLAN -->
    <string-array translatable="false" name="config_wakeonlan_supported_interfaces">
        <!--
        <item>wlan0</item>
        <item>eth0</item>
        -->
    </string-array>

    <!-- This setting is deprecated, please use
         com.android.networkstack.tethering.R.array.config_mobile_hotspot_provision_app instead. -->
    <string-array translatable="false" name="config_mobile_hotspot_provision_app">
+0 −3
Original line number Diff line number Diff line
@@ -690,7 +690,6 @@
  <java-symbol type="string" name="not_checked" />
  <java-symbol type="array" name="config_ethernet_interfaces" />
  <java-symbol type="bool" name="config_vehicleInternalNetworkAlwaysRequested" />
  <java-symbol type="array" name="config_wakeonlan_supported_interfaces" />
  <java-symbol type="string" name="config_forceVoiceInteractionServicePackage" />
  <java-symbol type="string" name="config_mms_user_agent" />
  <java-symbol type="string" name="config_mms_user_agent_profile_url" />
@@ -1973,11 +1972,9 @@
  <java-symbol type="integer" name="config_lowBatteryCloseWarningBump" />
  <java-symbol type="integer" name="config_lowBatteryWarningLevel" />
  <java-symbol type="integer" name="config_networkPolicyDefaultWarning" />
  <java-symbol type="integer" name="config_networkTransitionTimeout" />
  <java-symbol type="integer" name="config_networkNotifySwitchType" />
  <java-symbol type="array" name="config_networkNotifySwitches" />
  <java-symbol type="integer" name="config_networkAvoidBadWifi" />
  <java-symbol type="string" name="config_networkCaptivePortalServerUrl" />
  <java-symbol type="integer" name="config_networkWakeupPacketMark" />
  <java-symbol type="integer" name="config_networkWakeupPacketMask" />
  <java-symbol type="bool" name="config_apfDrop802_3Frames" />
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ java_library {
        "services.core",
        "services.net",
        "unsupportedappusage",
        "ServiceConnectivityResources",
    ],
    static_libs: [
        "modules-utils-os",
+35 −0
Original line number Diff line number Diff line
//
// Copyright (C) 2021 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.
//

// APK to hold all the wifi overlayable resources.
package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

android_app {
    name: "ServiceConnectivityResources",
    sdk_version: "system_current",
    resource_dirs: [
        "res",
    ],
    privileged: true,
    export_package_resources: true,
    apex_available: [
        "com.android.tethering",
    ],
    // TODO: use a dedicated cert once generated
    certificate: "platform",
}
+37 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (C) 2021 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.
 */
-->
<!-- Manifest for connectivity resources APK -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.android.connectivity.resources"
          coreApp="true"
          android:versionCode="1"
          android:versionName="S-initial">
    <application
        android:label="@string/connectivityResourcesAppLabel"
        android:defaultToDeviceProtectedStorage="true"
        android:directBootAware="true">
        <!-- This is only used to identify this app by resolving the action.
             The activity is never actually triggered. -->
        <activity android:name="android.app.Activity" android:exported="true" android:enabled="true">
            <intent-filter>
                <action android:name="com.android.server.connectivity.intent.action.SERVICE_CONNECTIVITY_RESOURCES_APK" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Loading